Skip to main content
Split payments let you divide a single PIX charge between your account (the parent) and one or more recipients. The payer sees and pays one charge. After payment, PayMee credits each recipient with its share and credits the remainder to the parent.

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.
Use the recipients endpoints to find the recipientId of each linked recipient.

Creating a split charge

Send the optional split array in POST /v1.1/checkout/transparent. Each item is one leg: Example: split by fixed amounts
Example: split by percentage
For an 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. paymentMethod must be PIX. Split is not supported with BOLETO, BOLETO_PIX, CREDIT_CARD or INITIATOR, and cannot be combined with recurrence, scheduled payments, taxData or the legacy sellersTransactions field.
  • 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.
  • amount or percentage. Each leg must have exactly one of them.
  • Rounding. Percentage legs are calculated on the charge amount and rounded down to cents. The rounding remainder stays with the parent. Each resolved leg must be at least 0.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 amount and charged to the parent only. The parent remainder (amount minus all legs) must cover these fees, otherwise the request is rejected with split.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 with split.childRefundNotAllowed.

Response

The checkout response includes a split 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 parent split block, with the same content as the checkout response. Its settlementStatus values are a snapshot taken when the notification was first built, usually PENDING; 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 recipient split block, usually with settlementStatus PROCESSING, and its referenceCode is the parent transaction UUID.
  • No notification is sent when a leg’s settlementStatus changes 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 split do not change.
See Webhook Notifications for the payloads.

Errors

Split errors use the standard error envelope, with the split code in errors[].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.