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).
Fluxo#
O 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ção#
Quando 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çã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 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 | 
Exemplos#
Abaixo 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
 sandbox.ecomm-bin.fiserv.com.br
Resposta:
Códigos de resposta
Veja a referencia no Códigos da API - códigos de resposta
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 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 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 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 |