O split divide automaticamente o valor de uma cobrança entre você e seus recebedores no momento do pagamento. Funciona com PIX e cartão de crédito.
Como funciona
Ao criar uma cobrança, você passa um array splits com os recebedores e o valor que cada um deve receber. A CasperPay valida os recebedores, desconta as taxas da plataforma e registra internamente quanto cada recebedor tem a receber.
Cobrança de R$ 100,00
│
├─ Recebedor A → R$ 40,00 (sem dedução de taxas)
├─ Recebedor B → R$ 20,00 (sem dedução de taxas)
└─ Você (seller) → R$ 40,00 (menos taxas da plataforma)Os recebedores precisam estar com status
activepara receber split. Cadastre-os primeiro em Recebedores.
Split via PIX
POST https://isolutionpay.com/api/pixAdicione o campo splits no body da cobrança normal de PIX:
curl -X POST https://isolutionpay.com/api/pix \
-H "Content-Type: application/json" \
-H "token: isolutionpay_sk_SUA_CHAVE_AQUI" \
-d '{
"valor": "100.00",
"nome": "Maria Souza",
"cpf": "98765432100",
"descricao": "Pedido #1234",
"splits": [
{ "sub_recipient_id": "3f2e1d0c-uuid-do-recebedor-a", "amount": 4000 },
{ "sub_recipient_id": "7a8b9c0d-uuid-do-recebedor-b", "amount": 2000 }
]
}'const res = await fetch("https://isolutionpay.com/api/pix", {
method: "POST",
headers: {
"Content-Type": "application/json",
"token": "isolutionpay_sk_SUA_CHAVE_AQUI"
},
body: JSON.stringify({
valor: "100.00",
nome: "Maria Souza",
cpf: "98765432100",
descricao: "Pedido #1234",
splits: [
{ sub_recipient_id: "3f2e1d0c-uuid-do-recebedor-a", amount: 4000 },
{ sub_recipient_id: "7a8b9c0d-uuid-do-recebedor-b", amount: 2000 }
]
})
});
const { txid, pixCopiaECola } = await res.json();PIX liquida em D0 — assim que o pagador confirmar o pagamento, os splits dos recebedores passam imediatamente para available (disponível para saque).
Split via Cartão de Crédito
POST https://isolutionpay.com/api/cardMesmo campo splits na cobrança de cartão:
curl -X POST https://isolutionpay.com/api/card \
-H "Content-Type: application/json" \
-H "token: isolutionpay_sk_SUA_CHAVE_AQUI" \
-d '{
"amount": 10000,
"installments": 1,
"customer": {
"name": "Maria Souza",
"email": "maria@email.com",
"document": "98765432100"
},
"card": {
"number": "4000000000000010",
"holder_name": "MARIA SOUZA",
"exp_month": "12",
"exp_year": "2028",
"cvv": "123"
},
"splits": [
{ "sub_recipient_id": "3f2e1d0c-uuid-do-recebedor-a", "amount": 4000 },
{ "sub_recipient_id": "7a8b9c0d-uuid-do-recebedor-b", "amount": 2000 }
]
}'Cartão liquida em D+30 — os splits ficam com status pending por 30 dias. Após esse prazo, passam para available. Se quiser antecipar, consulte a seção de Antecipação.
Campo splits
| Campo | Obrigatório | Descrição |
|---|---|---|
sub_recipient_id | ✅ | ID do recebedor retornado em POST /api/sub-recipients |
amount | ✅ | Valor em centavos (inteiro). Ex: 4000 = R$ 40,00 |
Regras:
- O
sub_recipient_iddeve pertencer à sua conta e estar com statusactive - A soma dos
amountsdeve ser menor que o valor total da cobrança (o restante fica com você, já descontadas as taxas) - Máximo de recebedores por cobrança: ilimitado, desde que a soma não ultrapasse o total
Ciclo de vida do split
Pagamento confirmado
│
▼
[pending] ←─ cartão D+30 ou PIX aguardando confirmação
│
│ PIX: confirmação imediata
│ Cartão: após D+30 ou antecipação
▼
[available] ←─ saldo disponível para saque
│
│ Seller solicita saque → admin aprova
▼
[paid] ←─ TED/PIX enviado para conta do recebedor| Status | Significado |
|---|---|
pending | Aguardando liquidação (cartão D+30 ou PIX não confirmado ainda) |
available | Saldo disponível para solicitar saque |
paid | Transferência realizada — saque aprovado pelo administrador |
Como as taxas são calculadas
PIX
Taxa percentual plana sobre o valor total. O valor do split dos recebedores é subtraído antes do cálculo da sua comissão.
Exemplo: cobrança R$ 100,00 com splits de R$ 60,00
sellerGross = R$ 100,00 - R$ 60,00 = R$ 40,00
comissão = R$ 40,00 × taxa%
sellerLíquido = R$ 40,00 - comissãoCartão de crédito
Além da margem da plataforma, o cartão inclui:
- MDR (taxa da adquirente): varia por número de parcelas
- À vista (1x): menor taxa
- 2–6x: taxa intermediária
- 7–12x: taxa maior
- Antifraude: valor fixo por transação (R$ 1,98 por padrão)
Exemplo: cobrança R$ 100,00 em 3x com split de R$ 60,00
sellerGross = R$ 100,00 - R$ 60,00 = R$ 40,00
MDR estimado = R$ 40,00 × 3,49% = R$ 1,40
antifraude = R$ 1,98
margem = R$ 40,00 × margem%
comissão = MDR + antifraude + margem
sellerLíquido = R$ 40,00 - comissãoAs taxas exatas dependem da sua categoria de faturamento e configuração da conta. Consulte seu painel em Finanças para ver o breakdown de cada transação.
Os recebedores do split não pagam taxas — eles recebem o valor exato que você definiu em amount. Todas as taxas (MDR, antifraude, margem) são descontadas da sua parte.
Antecipação de cartão (D+30)
Splits de cartão ficam pending por 30 dias. A antecipação move splits selecionados para available antes do prazo, descontando uma taxa proporcional ao prazo escolhido.
Taxas de antecipação
| Prazo | Taxa |
|---|---|
| D+2 | 2,38% |
| D+7 | 2,00% |
| D+15 | 1,50% |
As taxas podem variar conforme configuração da sua conta. Consulte o endpoint de antecipação para os valores exatos aplicados à sua chave.
Consultar recebíveis antecipáveis
GET https://isolutionpay.com/api/dashboard/sub-recipients/{id}/anticipateRetorna todos os splits de cartão com status: pending e balance_available_at no futuro, com o breakdown de taxas para cada prazo.
{
"items": [
{
"id": "split-uuid",
"amount_cents": 2500,
"payment_method": "credit_card",
"balance_available_at": "2025-02-14T00:00:00.000Z",
"payment_nome": "Carlos Lima",
"fees": {
"d2": { "target_days": 2, "rate_percent": 2.38, "fee_cents": 60, "net_cents": 2440 },
"d7": { "target_days": 7, "rate_percent": 2.0, "fee_cents": 50, "net_cents": 2450 },
"d15": { "target_days": 15, "rate_percent": 1.5, "fee_cents": 38, "net_cents": 2462 }
}
}
],
"rates": { "d2": 2.38, "d7": 2.0, "d15": 1.5 }
}Solicitar antecipação
POST https://isolutionpay.com/api/dashboard/sub-recipients/{id}/anticipatecurl -X POST https://isolutionpay.com/api/dashboard/sub-recipients/3f2e1d0c-.../anticipate \
-H "Content-Type: application/json" \
-H "token: isolutionpay_sk_SUA_CHAVE_AQUI" \
-d '{
"split_ids": ["split-uuid-1", "split-uuid-2"],
"target_days": 7
}'{
"success": true,
"anticipated_count": 2,
"original_cents": 5000,
"fee_cents": 100,
"net_cents": 4900,
"target_days": 7,
"rate_percent": 2.0
}Após a antecipação os splits passam imediatamente para available com o valor líquido (já descontada a taxa). O saldo para saque é atualizado na hora.
Resposta das cobranças com split
A resposta é igual à de uma cobrança normal, com um campo extra breakdown:
{
"success": true,
"txid": "abc123xyz",
"pixCopiaECola": "00020126580014br.gov.bcb.pix...",
"status": "pending",
"breakdown": {
"amount": 10000,
"sellerAmount": 3800,
"commission": 200,
"feePercent": 2.0
}
}| Campo | Descrição |
|---|---|
breakdown.amount | Valor total cobrado (centavos) |
breakdown.sellerAmount | O que você recebe líquido (centavos) |
breakdown.commission | Comissão ISolutionPay (centavos) |
breakdown.feePercent | Taxa efetiva aplicada (%) |
Erros comuns
| Código | Motivo |
|---|---|
400 | sub_recipient_id não encontrado ou não pertence à sua conta |
400 | Recebedor com status diferente de active (aguarda aprovação) |
400 | Soma dos amounts maior ou igual ao valor total da cobrança |
422 | Sua conta não está configurada para split (entre em contato) |