Regra de divisão (split rules)
As regras aqui apresentadas valem para transações CP, CNP, boleto é Pix
Split por valor cobrando as taxas do seller principal da venda
Os exemplos abaixo de split, podem ser aplicados para transações de crédito e boleto.
Lembrando que a estrutura do split a priori é um lista (array) e necessita que esteja entre chaves.
{
"currency": "BRL",
"description": "venda",
"capture": true,
"on_behalf_of": "{{SELLER_ID}}",
"source": {
"usage": "reusable",
"amount": 4000,
"currency": "BRL",
"description": "Teste de Transacao",
"type": "card",
"card": {
"id": "e8b7b2de959149f9ad52c6de3dbd8678"
}
},
"payment_type": "credit",
"split_rules": [{
"recipient": "1318982b82564c6ea1691cf0f1f82395",
"liable": 1,
"charge_processing_fee": 0,
"amount": 1000
}]
}
Split por porcentagem dividindo as taxas proporcionalmente.
O que faz a divisão de taxas entre o seller principal e o recipient é quando o charge_processing_fee é informado como 1 ou true, podendo ser divido 1 ou mais recipient até que o valor da venda esgote.
Atenção!!
No split por percentual dividindo as taxas proporcionalmente entre 2 ou mais participantes e a distribuição for de 100% da venda, pode haver sobra para o seller principal (on_behalf_of).
{
"currency": "BRL",
"description": "venda",
"capture": true,
"on_behalf_of": "{{SELLER_ID}}",
"source": {
"usage": "reusable",
"amount": 4000,
"currency": "BRL",
"description": "Teste de Transacao",
"type": "card",
"card": {
"id": "e8b7b2de959149f9ad52c6de3dbd8678"
}
},
"payment_type": "credit",
"split_rules": [{
"recipient": "1318982b82564c6ea1691cf0f1f82395",
"liable": 1,
"charge_processing_fee": 1,
"percentage": 10
}]
}
{
"amount": 5000,
"currency": "BRL",
"description": "venda",
"capture": true,
"on_behalf_of": "{{SELLER_ID}}",
"source": {
"usage": "reusable",
"amount": 10000,
"currency": "BRL",
"description": "Teste de Transacao",
"type": "card",
"card": {
"id": "63967e1002f645579167f50143057e80"
}
},
"payment_type": "credit",
"split_rules": [
{
"recipient": "452949d6785a47c6b34a90b0a67a15f7",
"liable": 1,
"charge_processing_fee": 1,
"percentage": 10
},
{
"recipient": "07bcef4e52ce4ec2a88edbb8b8a7d9fd",
"liable": 1,
"charge_processing_fee": 1,
"percentage": 10
}
]
}
Sobre divisão de taxas.
A divisão da taxa só pode ser realizada quando utilizado o split com "percentage" (percentual).
Split onde recipient assume o valor total da taxa.
Nessa condição, as taxas são pagas integralmente pelo recipient. Para isso, basta informar no split o charge_processing_fee é informado como 0 (zero) ou false e charge_recipient_processing_fee igual a 1 ou true. Pode ser aplicado tanto para percentual como para valor.
{
"currency": "BRL",
"description": "venda",
"capture": true,
"on_behalf_of": "{{SELLER_ID}}",
"source": {
"usage": "reusable",
"amount": 5000,
"currency": "BRL",
"description": "Teste de Transacao",
"type": "card",
"card": {
"id": "e8b7b2de959149f9ad52c6de3dbd8678"
}
},
"payment_type": "credit",
"split_rules": [{
"recipient": "1318982b82564c6ea1691cf0f1f82395",
"liable": 1,
"charge_processing_fee": 0,
"charge_recipient_processing_fee": true,
"percentage": 10
}]
}
Split por valor (amount) - caso especifico (is_gross_amount).
Existe a possibilidade de o parceiro realizar o split de 100% do valor transacionado mas, utilizando o atributo amount no split. A maior causa de erros nesse tipo de split, acontece quando o amount (split) é passado exatamente igual ao valor da transação ocasionando erro pois, o parceiro esquece da taxa Zoop.
Para evitar esse tipo de problema, existe o atributo is_gross_amount que deve ser usando em conjunto com charge_processing_fee confome o exemplo abaixo.
{
"currency": "BRL",
"description": "venda",
"capture": true,
"on_behalf_of": "{{SELLER_ID}}",
"source": {
"usage": "reusable",
"amount": 12000,
"currency": "BRL",
"description": "Teste de Transacao",
"type": "card",
"card": {
"id": "e8b7b2de959149f9ad52c6de3dbd8678"
}
},
"payment_type": "credit",
"split_rules": [
{ "recipient": "1318982b82564c6ea1691cf0f1f82395",
"liable": 1,
"charge_processing_fee": 1,
"is_gross_amount": 1,
"amount": 12000
}
]
}
Dicas
Quando usamos o charge_processing_fee com valor 1 ou true e is_gross_amount com o valor 1 ou true, o motor irá identificar que antes de realizar o split, ele precisará descontar a taxa para realizar o split com valor líquido.
Fazendo uma analogia, seria a mesma coisa de passar charge_processing_fee com o valor 1 ou true em um split por percentual, que neste caso, é realizado pelo valor liquido.charge_processing_fee define se vai ser feito split em cima do valor bruto (0) ou do valor líquido (1) da transação.
charge_recipient_processing_fee carrega o valor da taxa da venda para o recipient quando definido como 1 ou true.
liable define se o recebedor arca com prejuízo em caso de chargeback ou não. 1 arca; 0 não arca.
Não utilizar o on_behalf_of na divisão, pois na plataforma da Zoop o vendedor principal sempre recebe o valor que restar do split.
Importante!
- Só serão possível realizar 20 Splits por transações.
- Caso a regra possua mais de um participante por transação, é de suma importância que todos os envolvidos estejam declarados na mesma regra conforme o exemplo:
"split_rules": [
{
"liable": false,
"charge_processing_fee": false,
"charge_recipient_processing_fee": false,
"recipient": "{{seller_id}}",
"amount": 34679
},
{
"liable": true,
"charge_processing_fee": false,
"charge_recipient_processing_fee": true,
"recipient": "{{seller_id}}",
"amount": 1387
}
Updated 10 months ago