Pagamento Split
O pagamento Split é 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 e-SiTef.
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 e-SiTef suportadas para integração com pagamento SPLIT
A interface utilizada é POST HTML com JSON.
É possível utilizar as seguintes interfaces para a integração com o pagamento Split:
- 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 e-SiTef, 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 e-SiTef NÃO permitidas para integração com pagamento SPLIT
O e-SiTef não permite integração (na mesma transação) entre um pagamento SPLIT e as seguintes funcionalidades do e-SiTef:
- 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 e-SiTef);
- 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 e-SiTef
O lojista que deseja efetuar pagamentos Split deve solicitar à equipe de cadastro para que a permissão para este tipo de pagamento seja ativada.
Parâmetros utilizados para efetuar um pagamento Split
Na realização de pagamentos Split, 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 e-SiTef 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 Split, o e-SiTef 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 e-SiTef 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 e-SiTef 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 SPLIT, 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 e-SiTef 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 e-SiTef 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 e-SiTef + dados do pagamento Split 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"
}
]
}
}