Serviço de criação de cancelamento
O consumo desse serviço é obrigatório no fluxo de cancelamento. Como resultado dessa operação, o lojista obterá um NIT que será necessário para o próximo passo do fluxo.
O NIT possui um tempo limite para sua utilização. Este prazo está configurado no e-SiTef, e caso seja excedido, a transação de cancelamento passará do status NOV
(nova) para EXP
(expirada), o que impede futuras operações com essa transação, tornando necessário consumir novamente o serviço de criação de cancelamento.
POST de autenticidade x assinatura
O e-SiTef possui duas formas de autenticação da loja na interface de cancelamento REST: POST de autenticidade ou assinatura.
No método de POST de autenticidade, o e-SiTef enviará os dados da transação de cancelamento recém-criada para a URL de autenticidade cadastrada da loja.
No método de assinatura, a loja deve ter uma chave pública de criptografia RSA cadastrada no e-SiTef e deverá montar uma assinatura JWT (JSON Web Tokens) a ser enviada no cabeçalho Authorization
. Neste caso, as informações da transação de cancelamento serão retornadas diretamente na resposta do serviço. Saiba mais.
Detalhes da chamada
- Recurso:
/v1/cancellations
- Método HTTP:
POST
- Formato da requisição:
JSON
- Formato da resposta:
JSON
- Parâmetros de cabeçalho:
Parâmetro | Descrição | Formato | Obrigatório |
---|---|---|---|
merchant_id | Código da loja no e-SiTef. Os códigos de produção e certificação serão diferentes. | < 15 AN | SIM |
merchant_key | Chave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes. | < 80 AN | SIM |
Content-Type | Deve ser enviado com o valor application/json . | = 15 AN | SIM |
Authorization | Deve ser enviada a assinatura de autenticação da loja no formato Bearer {assinatura} . Exemplo: Bearer JHVGytfdgauygdauiw78264284527852897hagdg . | < 2000 AN | NÃO |
Exemplos
Abaixo estão alguns exemplos de chamada do serviço de criação de cancelamento utilizando a ferramenta cURL.
Criação de cancelamento com POST de autenticidade
Requisição:
curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/cancellations"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"esitef_usn":"123451234512345"
}
--verbose
Em seguida, o e-SiTef irá enviar uma requisição POST HTTPS (x-www-form-urlencoded) para a URL cadastrada, este POST contém as informações necessárias para o prosseguimento do cancelamento:
POST de autenticidade:
curl -X POST \
https://dominiodaloja.com.br \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'Postman-Token: 8306e1f9-dc45-4cb9-926e-8aeef97229b1' \
-H 'cache-control: no-cache' \
-d 'nsu=9055020677&nit=1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr&pedido=09055020677&codigoLoja=xxxxxxxxxxxxxxx'
Resposta:
{
"code":"0",
"message":"OK. Transaction successful."
}
Criação de cancelamento com assinatura
Requisição:
curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/cancellations"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--header "Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJtZXJjaGFudF9pZCI6IkxPFGFURVNURSIsIm1lcmNoYW50X2tleSI6IkYxOURFMDAxNzdDMzAxREYyNEE4NjVGMTFBQTlCMjU2N0Y2MDQ4OTFGMEY0NEREQUVGRDY5RTMzOTlFMEI3RTEiLCJvcmRlcl9pZCI6IjEzMDE0ODU4NjYzIiwibWVyY2hhbnRfdXNuIjoiMTQ0NjY4MTAxNiIsInRpbWVzdGFtcCI6IjE2MDUzMDM1ODA5MzEifQ.JoYz8mQ8PZ8MCr5QXygbivAy2x9fvdUEGu_jSeOYF-BtSGm7ZSYWFVokyowabk1FM2NCklubb5eEB_-g9lCi1ntRQ9iqKhdldm-U8pl0V98u7Mv_hR-pcp6MHfqql0T-mhkOv1WkfYO1igck4N6EfsNu9iO126BwgvJQC456WjAUW5jgjRHboc6htvaak9NBs6yRVLNZY03cR9gKtQXMoHeXiCGeNU55_2W1SOeRJPk-OsyBzvVlZBX5RdfUjB2BOdRI7H2TDBBS-GZaMV3b2eS5_84JTySFnriCTXJ-Y1FzBnH60e4fTfAiYy1P_J-j9hyXjLYgtRu8jQd8ITfiFG3h4ZIysb4CA_lJNg_d4YuCqhBiZcpculcbfXlcrcfPV-CpDytfiLz34FDWH0Q7Vlna1YuSNOKPzDIUx1MOMZO9bpwaE6Q3kClkqri92-42yeLoUKH6PUrlMpE3JrfuBelALE4ce7QzCrNjcvoqR_KVmCm6ozBjPn9qY0s7x7qe6ZLur7hNUoX79JdWGZy1-bx8dSqqpLrU0SXbMBqtvch5FvdUkktbkJpZAr7q6e0nR13_mK3RTV7adOEw03E_ocUk__rEmjGDAHMSWGmiPowu14jD1-VZ2Yf8FeoKzHYcXmIbEReTVHshk9faBICMQzMS3SXaqow4WXqULZiLTwc"
--data-binary
{
"esitef_usn":"123451234512345"
}
--verbose
Resposta:
{
"code":"0",
"message":"OK. Transaction successful.",
"cancellation":{
"nit":" 1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
"order_id":"09062259711",
"merchant_usn":"9062259711"
}
}
Parâmetros de requisição
Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de criação de cancelamento:
Parâmetro | Descrição | Formato | Obrigatório |
---|---|---|---|
esitef_usn | NSU do pagamento a ser cancelado. Essa informação é retornada pelo e-SiTef após o pagamento ser aprovado. Este campo não deve ser enviado para cancelamento de transação original gerada externamente ao e-Sitef. | = 15 N | COND |
order_id | Código de pedido do pagamento a ser cancelado. Este campo só deve ser enviado em caso de cancelamento via host ou origem externa. | < 40 AN | NÃO |
merchant_usn | NSU gerado pela loja do pagamento a ser cancelado. Este campo só deve ser enviado em caso de cancelamento via host ou origem externa. | < 12 N | NÃO |
is_transaction_origin_external | Indica se a transação foi originada fora do e-SiTef. É obrigatório o envio deste campo com valor 'true' para cancelamento origem externa. | < 5 AN | COND |
Parâmetros do POST de autenticidade
Na tabela abaixo está a descrição dos parâmetros enviados pelo e-SiTef no POST de autenticidade:
Parâmetro | Descrição | Formato |
---|---|---|
nit | Identificador da transação de cancelamento a ser utilizado na próxima etapa do fluxo. | = 64 AN |
pedido | Código de pedido do pagamento a ser cancelado. | < 20 AN |
nsu | NSU gerado pela loja do pagamento a ser cancelado. | < 12 N |
codigoLoja | Código da loja no e-SiTef. | < 15 AN |
O e-SiTef também pode enviar novos parâmetros sem aviso prévio, o que significa que a aplicação do lojista deve estar preparada para receber campos extras e simplesmente ignorá-los.
Parâmetros de resposta
Em caso de sucesso, o código de resposta HTTP será 201
. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de criação de cancelamento:
Parâmetro | Descrição | Formato |
---|---|---|
code | Código de resposta do e-SiTef. Qualquer código diferente de 0 (zero) significa falha. Saiba mais. | < 4 N |
message | Mensagem de resposta do e-SiTef. | < 500 AN |
cancellation | Estes campos só são retornados ao usar autenticação com assinatura. | |
nit | Identificador da transação de cancelamento a ser utilizado na próxima etapa do fluxo. | = 64 AN |
order_id | Código de pedido do pagamento a ser cancelado. | < 20 AN |
merchant_usn | NSU gerado pela loja do pagamento a ser cancelado. | < 12 N |