Captura com split
Captura um pagamento repartindo o valor entre sub-lojistas e consulta a divisão gravada.
Em um pedido com itens de mais de um seller, o valor pago precisa ser repartido. A captura com split envia à Braspag quanto cada sub-lojista recebe, com a taxa (mdr) e a tarifa fixa de cada um. A plataforma grava a divisão para auditoria e permite consultá-la depois. O valor capturado é a soma das partes.
Capturar com split
/api/v1/admin/braspag/payments/{paymentId}/split-captureAdminCaptura com split
Parâmetros de caminho
paymentIduuidobrigatórioGUID do pagamento na Braspag.
Corpo da requisição
splitsarrayobrigatórioUma regra por sub-lojista. Pelo menos uma; sub-lojistas não podem se repetir.
subordinate_merchant_idstringobrigatórioId do sub-lojista na Braspag (campo do cadastro do seller).
amountintegerobrigatórioParte do seller em centavos, maior que zero.
faresobjectTaxas descontadas da parte do seller.
mdrintegerTaxa de desconto do lojista em pontos-base, de 0 a 10000 (
350 = 3,50%).feeintegerTarifa fixa por transação em centavos, não negativa.
Exemplo de requisição
bash
curl -X PUT "$BASE_URL/api/v1/admin/braspag/payments/3a1f2c7e-9d0b-4e55-8a2a-0c9d5a6b7e11/split-capture" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"splits": [
{
"subordinate_merchant_id": "b6f1c0aa-1111-4222-8333-444455556666",
"amount": 7000,
"fares": {
"mdr": 350,
"fee": 10
}
},
{
"subordinate_merchant_id": "c7a2d1bb-2222-4333-9444-555566667777",
"amount": 3000,
"fares": {
"mdr": 350,
"fee": 10
}
}
]
}'Resposta
200Capturado com split
json
{
"payment_id": "3a1f2c7e-9d0b-4e55-8a2a-0c9d5a6b7e11",
"status": 2,
"captured_amount": 10000,
"split_payments": [
{
"subordinate_merchant_id": "b6f1c0aa-1111-4222-8333-444455556666",
"amount": 7000,
"fares": {
"mdr": 350,
"fee": 10
}
},
{
"subordinate_merchant_id": "c7a2d1bb-2222-4333-9444-555566667777",
"amount": 3000,
"fares": {
"mdr": 350,
"fee": 10
}
}
],
"captured_at": "2026-10-11T15:00:00Z"
}Campos da resposta
payment_idstringGUID do pagamento.
statusintegerCódigo de status do pagamento na Braspag (
2 = pago/capturado).captured_amountintegerTotal capturado em centavos.
split_paymentsarrayDivisão confirmada pela Braspag:
subordinate_merchant_id, amount e fares.mdr/fares.fee.captured_atstringMomento da confirmação (RFC 3339).
Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | Corpo não é um JSON válido. | {"error":"invalid request body"} |
| 401 | Sem token ou token inválido. | {"error":"missing authorization header"} |
| 403 | O módulo braspag está desligado na loja. | {"error":"module_disabled","module":"braspag"} |
| 403 | O usuário não tem manage_payments nem view_payments. | {"error":"insufficient privileges","privilege_required_any":["manage_payments","view_payments"]} |
| 422 | Regra inválida ou falha na Braspag. A mensagem vem em inglês. | {"error":"braspag: invalid split rules: split rule 1: amount must be positive (centavos)"} |
Consultar a divisão gravada
Lista as partes gravadas quando o pagamento foi capturado com split. Pagamento sem split devolve lista vazia.
/api/v1/admin/braspag/payments/{paymentId}/splitsAdminConsulta o split gravado
Parâmetros de caminho
paymentIduuidobrigatórioGUID do pagamento na Braspag.
Exemplo de requisição
bash
curl "$BASE_URL/api/v1/admin/braspag/payments/3a1f2c7e-9d0b-4e55-8a2a-0c9d5a6b7e11/splits" \
-H "Authorization: Bearer $TOKEN"Resposta
200Partes do split
json
[
{
"id": "0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"payment_id": "3a1f2c7e-9d0b-4e55-8a2a-0c9d5a6b7e11",
"subordinate_merchant_id": "b6f1c0aa-1111-4222-8333-444455556666",
"vendor_id": "7e1d9c20-3b3b-4f8e-9f10-1a2b3c4d5e6f",
"amount": 7000,
"mdr_rate": 350,
"fee": 10,
"net_amount": 6745,
"created_at": "2026-10-11T15:00:00Z"
}
]Campos da resposta
amountintegerParte bruta em centavos.
mdr_rateintegerTaxa em pontos-base.
feeintegerTarifa fixa em centavos.
net_amountintegerLíquido do seller em centavos, depois de
mdr_rate e fee.vendor_iduuidSeller na Venddor, quando o vínculo é conhecido.
iduuidId do registro.
payment_idstringGUID do pagamento.
subordinate_merchant_idstringSub-lojista na Braspag.
created_atstringGravação (RFC 3339).
Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Sem token ou token inválido. | {"error":"missing authorization header"} |
| 403 | O módulo braspag está desligado na loja. | {"error":"module_disabled","module":"braspag"} |
| 403 | O usuário não tem manage_payments nem view_payments. | {"error":"insufficient privileges","privilege_required_any":["manage_payments","view_payments"]} |
| 500 | Falha ao ler. | {"error":"failed to retrieve split payments"} |