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:
- Interface de Pagamento HTML 2.0 (documento "Pagamento HTML")
- Interface WS de Cancelamento vers�o 2 (documento "Cancelamento REST").
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�metro | Descri��o | Tamanho | Obrigat�rio |
|---|---|---|---|
amount* | Deve ser enviado o valor total do pagamento, ou seja, o valor da transa��o principal somado com as demais. | <= 1024 N | SIM |
installments** | Ser� utilizado para todas as transa��es secund�rias. A transa��o principal ser� sempre � vista. | <= 1024 N | SIM |
(*) 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�metro | Descri��o | Tamanho | Obrigat�rio |
|---|---|---|---|
| method | Usado 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 A | SIM |
| extra_amount | Ser� utilizado para receber o valor da transa��o principal | <= 1024 N | SIM |
INNER_TRANSACTIONS (inner_transactions)
| Nome do par�metro | Descri��o | Tamanho | Obrigat�rio |
|---|---|---|---|
| merchant_id | C�digo da loja no Carat a ser utilizado em cada transa��o secund�ria. | <= 1024 A | SIM |
| amount | Deve ser enviado o valor total do pagamento de cada transa��o secund�ria, sempre respeitando o limite do valor total do pagamento. | <= 1024 N | SIM |
| order_id | C�digo do pedido na loja a ser utilizado em cada transa��o secund�ria. | <= 1024 A | N�O |
| merchant_usn | N�mero sequencial da loja a ser utilizado em cada transa��o secund�ria. | <= 1024 A | N�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�metro | Descri��o | Tamanho |
|---|---|---|
| NITTransacaoSecundaria | Campo 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"
}
]
}
}