Concepts
- Parent: the account whose credentials create the charge. The parent pays all PayMee fees and is the only account that can refund the sale.
- Recipient: an account linked to the parent by PayMee operations. Recipients cannot be created or linked through the API. Contact PayMee to enable split for your account and to link recipients.
- Leg: the share of one recipient in a charge. Each leg creates a recipient-side transaction, owned by the recipient account and identified by
transactionId.
recipientId of each linked recipient.
Creating a split charge
Send the optionalsplit array in POST /v1.1/checkout/transparent. Each item is one leg:
Example: split by fixed amounts
amount of 100.00, these legs resolve to 33.33 and 12.50, and the parent keeps 54.17.
You can mix legs by amount and legs by percentage in the same charge.
Rules
- PIX only.
paymentMethodmust bePIX. Split is not supported withBOLETO,BOLETO_PIX,CREDIT_CARDorINITIATOR, and cannot be combined withrecurrence, scheduled payments,taxDataor the legacysellersTransactionsfield. - Enablement. Split must be enabled for your account.
- Recipients. Up to 20 recipients per charge by default. PayMee can configure this limit. Each recipient can appear only once, cannot be your own account and must be active and linked to your account.
amountorpercentage. Each leg must have exactly one of them.- Rounding. Percentage legs are calculated on the charge
amountand rounded down to cents. The rounding remainder stays with the parent. Each resolved leg must be at least0.01. - Total. The sum of all legs must be less than or equal to the charge
amount. - Fees. PayMee fees are calculated on the full charge
amountand charged to the parent only. The parent remainder (amountminus all legs) must cover these fees, otherwise the request is rejected withsplit.parentAmountInsufficientForFees. Recipients receive their full leg amount, without fees. - Refunds. Refunds are requested only on the parent sale, through the refund endpoint, and are debited from the parent balance. Recipient balances are not debited, so the parent balance plus its overdraft limit must cover the full refund amount, including the recipients’ shares. The sum of all non-cancelled refunds of the sale cannot exceed the sale total (
grossAmount). A refund requested on a recipient-side transaction is rejected withsplit.childRefundNotAllowed.
Response
The checkout response includes asplit block at the root of the body, next to response:
Without
split in the request, the response does not change.
Querying split sales
GET /v1.1/transactions/{transactionUUID} and GET /v1.1/transactions return the same split block for parent sales. Query the parent sale to follow the settlement of each leg.
A recipient-side transaction belongs to the recipient account and is returned only with the recipient’s credentials. It has the leg amount as its total, the parent transaction UUID as its referenceCode, and a recipient variant of the split block:
Settlement status
Recipients are credited asynchronously, after the parent sale is paid. No recipient is credited while the parent sale is unpaid.Webhooks
- Parent. When the sale is paid, the payment confirmation for the parent sale is sent to the charge
callbackURL, or to the webhook URL configured for your account. It includes the parentsplitblock, with the same content as the checkout response. ItssettlementStatusvalues are a snapshot taken when the notification was first built, usuallyPENDING; automatic delivery retries resend that same snapshot. Query the transaction for the current status. - Recipients. Each recipient account receives a payment confirmation (
newStatus: PAID) for its own recipient-side transaction, at the webhook URL configured for the recipient account. The request has no per-recipient callback URL, so a recipient without a configured webhook URL receives no notification. It includes the recipientsplitblock, usually withsettlementStatusPROCESSING, and itsreferenceCodeis the parent transaction UUID. - No notification is sent when a leg’s
settlementStatuschanges later. Poll the parent sale, or the recipient-side transaction with the recipient’s credentials, using the transaction query to follow settlement. - Payment confirmations for sales without
splitdo not change.
Errors
Split errors use the standard error envelope, with the split code inerrors[].message. For split.* checkout errors, errors[].field is split (or split[n].<field> for field format errors); the split and tax data conflict is reported as taxData.unsupportedSaleType in errors[].code on field taxData. The recipient refund rejection (split.childRefundNotAllowed) uses saleToken, and the recipients endpoints use split for split.notEnabled and recipientId for split.recipientNotFound.

