Serviço de pagamento múltiplas transações

O Pagamento Múltiplas Transações é uma funcionalidade voltada para estabelecimentos que vendem um produto / serviço de terceiros. Possibilitando, através de uma única requisição, a separação do valor principal e do produto / serviço, de tal forma que o montante é diretamente destinado aos estabelecimentos envolvidos.

O valor total de uma venda qualquer é dividido em N partes e enviado (via POST/HTML) para N empresas distintas (N merchantId's distintos) definidas pela aplicação web e devidamente cadastradas no Carat.

Exemplo: Tomando como exemplo uma venda de R$ 100,00 podemos efetuar uma única requisição para enviar a quantia de R$ 60,00 para a fabricante do produto principal, R$20 para a fabricante de um acessório e R$ 20,00 para a prestadora do serviço.

Interfaces Carat suportadas para integração com pagamento múltiplas transações#

A interface utilizada é POST HTML com JSON.

É possível utilizar as seguintes interfaces para a integração com o pagamento múltiplas transações:

Observação: Caso a loja esteja iniciando a primeira integração com o Carat, recomenda-se a integração via Pagamento HTML, por oferecer uma melhor experiência ao usuário e uma interface mais moderna para a integração com o sistema da loja.

Funcionalidades Carat NÃO permitidas para integração com pagamento múltiplas transações#

O Carat não permite integração (na mesma transação) entre um pagamento múltiplas transações e as seguintes funcionalidades do Carat:

  • Transação de análise de risco manual (onde o pagamento HTML fica pendente de confirmação posterior pela loja enquanto esta faz a análise de risco separada do Carat);
  • Transação de Recarga de crédito de celulares pré-pagos associada ao pagamento;
  • Armazenamento de cartão durante o pagamento.

Configurações necessárias no Carat#

O lojista que deseja efetuar pagamentos múltiplas transações deve solicitar à equipe de cadastro para que a permissão para este tipo de pagamento seja ativada.

Parâmetros utilizados para efetuar um pagamento múltiplas transações#

Na realização de pagamentos múltiplas transações, os parâmetros POST abaixo possuem os seguintes conceitos:

Nome do parâmetroDescriçãoTamanhoObrigatório
amount*Deve ser enviado o valor total do pagamento, ou seja, o valor da transação principal somado com as demais.<= 1024 NSIM
installments**Será utilizado para todas as transações secundárias. A transação principal será sempre à vista.<= 1024 NSIM

(*) O Carat realizará a validação dos valores com o total enviado (amount). Caso ocorra alguma diferença, a transação será invalidada.

(**) Em caso de pagamento parcelado, a transação principal sempre será a vista e as transações secundárias serão parceladas, com o mesmo número de parcelas entre elas.

As transações secundárias são todas as transações vinculadas à transação principal. Para requisição, é possível ter um máximo de 16 (dezesseis) transações secundárias. Quanto maior o número de transações enviadas, maior será a demora na resposta devido ao aumento no processamento de várias transações.

Caso ocorra algum problema durante o fluxo completo do Pagamento múltiplas transações, o Carat irá desfazer todas as transações já aprovadas daquele fluxo de pagamento. Ex.: A aplicação realizou um fluxo de pagamento contendo 3 merchantId’s, a transação do 1° merchantId foi aprovada, porém a transação do 2° merchantId foi negada. Como no fluxo de pagamento ocorreu um erro na segunda transação (status=NEG), o Carat irá desfazer a primeira (status= PPN) e negará o fluxo por completo, retornando NEG também para a terceira transação, mesmo que nenhuma tentativa de pagamento tenha sido realizada. Em casos em que o Carat nega umas das transações, além do comportamento descrito acima (negar todas as transações), é apresentado no relatório de transações (Portal do Lojista) a mensagem “Negada Split” no campo “Mensagem”.

Os parâmetros JSON abaixo possuem os seguintes conceitos:

ADDITIONAL_DATA (additional_data)#

Nome do parâmetroDescriçãoTamanhoObrigatório
methodUsado para realizar uma transação diferenciada. Caso se deseje fazer uma transação múltiplas transações, este campo deve receber o texto "SPLIT".<= 1024 ASIM
extra_amountSerá utilizado para receber o valor da transação principal<= 1024 NSIM

INNER_TRANSACTIONS (inner_transactions)#

Nome do parâmetroDescriçãoTamanhoObrigatório
merchant_idCódigo da loja no Carat a ser utilizado em cada transação secundária.<= 1024 ASIM
amountDeve ser enviado o valor total do pagamento de cada transação secundária, sempre respeitando o limite do valor total do pagamento.<= 1024 NSIM
order_idCódigo do pedido na loja a ser utilizado em cada transação secundária.<= 1024 ANÃO
merchant_usnNúmero sequencial da loja a ser utilizado em cada transação secundária.<= 1024 ANÃO

IMPORTANTE 1: As autorizadoras configuradas de uma loja secundária devem ser as mesmas configuradas na loja enviada na transação principal. Entretanto, não há impedimentos para que os roteamentos sejam diferentes entre as lojas. Exemplo: loja 1 configurado com Visa e rede adquirente Cielo, loja 2 configurada com Visa e rede adquirente Rede é um cenário válido.

IMPORTANTE 2: Caso qualquer uma das transações seja negada, seja qual for o motivo (falha de comunicação, saldo insuficiente, etc.), o comportamento padrão será de desfazer / negar todas as transações envolvidas. A funcionalidade foi desenvolvida com a premissa de confirmar todas ou negar todas as transações.

Aviso de status#

O aviso de status enviado pelo Carat para a URL de aviso de status da loja possui um campo adicional no caso de transações Split.

Nome do parâmetroDescriçãoTamanho
NITTransacaoSecundariaCampo composto de merchantIds e NIT’s das transações secundárias, no formato (merchantId1:nit1|merchantId2:nit2)<= 1296 A

O campo NITTransacaoSecundaria é enviado no aviso de status da transação principal, indicando os NIT’s das transações secundárias e permitindo, assim, a consulta de status de todas elas.

Exemplo de campo NITTransacaoSecundaria para 2 transações secundárias:

NITTransacaoSecundaria=LOJATESTE:95f386518449f6be6b4d25449989b5cee7736eb93ce96901ea2338a76fd01ad8|LOJATESTE2:95f386518449f6bea6fed3e03f7326fbe7736eb93ce96901dc1d6fba16d8f011

Exemplos de chamada#

Exemplo de chamada com os parâmetros da transação do Carat + dados do pagamento múltiplas transações em formato JSON para Pagamento HTML:

{
"merchant_id": "CODIGO_LOJA1",
"amount": "15000",
"order_id": "654321",
"additional_data": {
"method": "split",
"extra_amount": "1000",
"inner_transactions": [
{
"merchant_id": "CODIGO_LOJA2",
"merchant_usn": "12341234",
"order_id": "654321",
"amount": "10000"
},
{
"merchant_id": "CODIGO_LOJA3",
"merchant_usn": "3456789",
"order_id": "654321",
"amount": "4000"
}
]
}
}