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.

{
	"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": "{{card_id}}"
		}
	},
	"payment_type": "credit",
	"split_rules": [{
		"recipient": "{{seller_id}}",
		"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.

🚧

Atenção!!

No split por percentual dividindo as taxas proporcionalmente entre participantes e a distribuição for de 100% da transação, pode ocorrer "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": "{{card_id}}"
		}
	},
	"payment_type": "credit",
	"split_rules": [{
		"recipient": "{{seller_id}}",
		"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 campocharge_processing_fee ser informado como 0 (zero) ou false e charge_recipient_processing_fee igual a 1 ou true.

Poderá ser aplicado para ambas regras, percentual ou 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": "{{card_id}}"
		}
	},
	"payment_type": "credit",
	"split_rules": [{
		"recipient": "{{seller_id}}",
		"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, utilizando o atributo amount no split.

A maior causa de erros nesse tipo de split, ocorre quando o amount (split) é passado exatamente igual ao valor da transação onde é ocasionando erro, pois o parceiro esquece da taxa Zoop.

Para evitar esse tipo de problema, existe o atributo is_gross_amount que deve ser utilizado em conjunto com charge_processing_fee conforme 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": "{{card_id}}"
        }
    },
    "payment_type": "credit",
    "split_rules": [
        {   "recipient": "{{seller_id}}",
            "liable": 1,
            "charge_processing_fee": 1,
            "is_gross_amount": 1,
            "amount": 12000
        }
    ]
}

📘

Dicas

Quando utilizamos 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, precisará descontar a taxa para realizar o comissionamento 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, será realizado com o valor líquido.

charge_processing_fee define se 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 transação 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 e 0 não arca.

Não utilizar o on_behalf_of na regra de divisão, pois na plataforma Zoop já identificará o vendedor principal automaticamente sem a necessidade de informa-lo no 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
}