Serviço de confirmação de pagamento com múltiplos meios de pagamento
Após criar e efetuar um pagamento com múltiplos meios de pagamento pendente de confirmação, o lojista deve chamar o serviço de confirmação com múltiplos meios de pagamento para confirmá-lo ou desfazê-lo utilizando o mesmo NIT obtido na primeira etapa do fluxo (ou seja, o NIT da primeira transação).
Fluxo
O fluxo de confirmação de pagamento com múltiplos meios de pagamento difere da confirmação normal por duas razões.
A primeira razão é que temos duas transações para uma mesma chamada e cada uma delas é usada para efetuar a confirmação de um dos meios de pagamento informados.
A segunda razão é que a resposta da confirmação de múltiplos pagamentos é composta pelas respostas de cada uma das transações. Sendo assim, haverá situações em que a resposta de uma transação afetará a resposta da outra.
A seguir, iremos abordar os cenários previstos no e-SiTef com mais detalhes.
Caso de sucesso
Caso de falha na confirmação da primeira transação
Quando a primeira confirmação falha, a segunda transação será desfeita. Uma ocorrência é gerada para a equipe de suporte do e-SiTef e o lojista, caso deseje, pode entrar em contato.
Exemplo de resposta
{
"code": "255",
"message": "Transaction Denied",
"confirmations": [
{
"code": "259",
"message": "Denied transaction",
"payment": {
"authorizer_code": "409",
"authorizer_message": "Brand / card type is invalid or not supported [Cód.: 5996]",
"status": "PPC",
"acquirer_id": "414"
}
},
{
"code": "0",
"message": "OK. Transaction successful.",
"payment": {
"authorizer_code": "200",
"authorizer_message": "Function performed error-free [Cód.: 00]",
"status": "PPN",
"acquirer_id": "414"
}
}
]
}
Caso de falha na confirmação da segunda transação
Quando a segunda confirmação falha, a primeira transação já está confirmada e o cancelamento, caso seja desejado, deve ser feito manualmente, seja usando o cancelamento REST ou o Portal do Lojista. Uma ocorrência é gerada para a equipe de suporte do e-SiTef e o lojista, caso deseje, pode entrar em contato.
Exemplo de resposta
{
"code": "255",
"message": "Transaction Denied",
"confirmations": [
{
"code": "0",
"message": "OK. Transaction successful.",
"payment": {
"authorizer_code": "200",
"authorizer_message": "Function performed error-free [Cód.: 00]",
"status": "CON",
"acquirer_id": "414"
}
},
{
"code": "259",
"message": "Denied transaction",
"payment": {
"authorizer_code": "409",
"authorizer_message": "Brand / card type is invalid or not supported [Cód.: 5996]",
"status": "PPC",
"acquirer_id": "414"
}
}
]
}
Detalhes da chamada
- Recurso:
/v1/payments/multiple/{nit}
- Método HTTP:
PUT
- Formato da requisição:
query string
- 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 |
Exemplos
Abaixo está um exemplo de chamada do serviço de confirmação de pagamento utilizando a ferramenta cURL.
Requisição:
curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/multiple/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr?confirm=true"
--header "merchant_id:xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--verbose
Resposta:
{
"code": "0",
"message": "OK. Transaction successful.",
"confirmations": [
{
"code": "0",
"message": "OK. Transaction successful.",
"payment": {
"authorizer_code": "130",
"status": "CON",
"acquirer_id": "5"
}
},
{
"code": "0",
"message": "OK. Transaction successful.",
"payment": {
"authorizer_code": "130",
"status": "CON",
"acquirer_id": "5"
}
}
]
}
Parâmetros de requisição
Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de confirmação de pagamento com múltiplos meios de pagamento:
Parâmetro | Descrição | Formato | Obrigatório |
---|---|---|---|
confirm | Este campo deve ser enviado com o valor true caso se deseje confirmar a transação, ou false , caso queira desfazer o pagamento. | < 5 T/F | SIM |
Parâmetros de resposta
Em caso de sucesso, o código de resposta HTTP será 200
. 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 confirmação de pagamento:
Parâmetro | Descrição | Formato |
---|---|---|
code | Código de resposta do e-SiTef para a operação de múltiplos meios de pagamento. Qualquer código diferente de 0 significa falha. Saiba mais. | < 4 N |
message | Mensagem de resposta do e-SiTef. | < 500 AN |
confirmations[] | ||
code | Código de resposta do e-SiTef para a operação de confirmação de um dos meios de pagamento. Qualquer código diferente de 0 significa falha. Saiba mais. | < 4 N |
message | Mensagem de resposta do e-SiTef. | < 500 AN |
payment | ||
status | Status da transação de pagamento no e-SiTef. Saiba mais. | = 3 AN |
authorizer_code | Código de resposta do autorizador. Em caso de repetição da confirmação ou do desfazimento, este campo não é devolvido. | < 10 AN |
authorizer_message | Mensagem de resposta do autorizador. Em caso de repetição da confirmação ou do desfazimento, este campo não é devolvido. | < 500 AN |
acquirer_id | Código do adquirente utilizado na transação. Em caso de repetição da confirmação ou do desfazimento, este campo não é devolvido. | < 4 N |