Serviço de confirmação de pagamento com dois cartões
Após criar e efetuar um pagamento com dois cartões pendente de confirmação, o lojista deve chamar o serviço de confirmação com dois cartões para confirmá-lo ou desfazê-lo utilizando o mesmo NIT obtido na primeira etapa do fluxo (ou seja, o NIT da primeira transação).
#
FluxoO fluxo de confirmação de pagamento com dois cartões 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 Carat com mais detalhes.
#
Caso de sucesso#
Caso de falha na confirmação da primeira transaçãoQuando a primeira confirmação falha, a segunda transação será desfeita. Uma ocorrência é gerada para a equipe de suporte do Carat e o lojista, caso deseje, pode entrar em contato.
#
Exemplo de resposta#
Caso de falha na confirmação da segunda transaçãoQuando 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 Carat e o lojista, caso deseje, pode entrar em contato.
#
Exemplo de resposta#
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 Carat. Os códigos de produção e certificação serão diferentes. | < 15 AN | SIM |
merchant_key | Chave de autenticação da loja no Carat. As chaves de produção e certificação serão diferentes. | < 80 AN | SIM |
#
ExemplosAbaixo está um exemplo de chamada do serviço de confirmação de pagamento utilizando a ferramenta cURL.
Requisição:
Para usar este exemplo, não esquecer de definir a variável {{url}}
com o valor
esitef-homologacao.softwareexpress.com.br
Resposta:
Códigos de resposta
Veja a referencia no Códigos da API - códigos de resposta
#
Parâmetros de requisiçãoNa tabela abaixo está a descrição dos parâmetros de requisição do serviço de confirmação de pagamento com dois cartões:
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 respostaEm 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 Carat para a operação de pagamento com dois cartões. Qualquer código diferente de 0 significa falha. Saiba mais. | < 4 N |
message | Mensagem de resposta do Carat. | < 500 AN |
confirmations[] | ||
code | Código de resposta do Carat 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 Carat. | < 500 AN |
payment | ||
status | Status da transação de pagamento no Carat. 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 |