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"
      }
    ]
  }
}