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çõesA 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çõesO 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 CaratO 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çõesNa 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.
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 statusO 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 chamadaExemplo de chamada com os parâmetros da transação do Carat + dados do pagamento múltiplas transações em formato JSON para Pagamento HTML: