Introduction - Payment Split
How to split part of the amounts received.
Get to know Payment Split
Payment Split automatically distributes part of the amount received in a charge among other Asaas accounts.
The charge remains in the account responsible for the sale or service, while the configured amounts are transferred to the wallets specified in the Split.
Choose the flow
The Split configuration varies according to the type of charge:
| Need | Content |
|---|---|
| Split a one-time charge | Split in single payments |
| Split the amounts of an installment plan | Split into installments |
| Apply Split to the charges of a subscription | Split on subscriptions |
| Anticipate a charge that has a Split | Split in anticipated payments |
| View Splits through the interface | Split query via interface |
| Use Split without developing your own integration | Using Split without API |
| Configure through WooCommerce | Split in WooCommerce |
| Configure through Pluga | Split in Pluga |
You can also create automations with Split using Make.
Before you start
To configure a Split:
- each recipient must have an Asaas account;
- obtain the
walletIdof the accounts that will receive the amounts; - define whether each transfer will be fixed or percentage-based;
- do not provide the
walletIdof the account creating the charge itself.
The walletId is returned when creating a subaccount and can also be retrieved via API when you have access to the destination account.
AttentionDo not provide the
walletIdof the account creating the charge. The net amount not directed to recipients automatically remains in that account.Charges used as collateral in credit operations cannot execute Split.
How it works
Consider a sale made by João's account in which Marcelo should receive 20%:
- João creates the charge in his own account;
- the Split specifies Marcelo's
walletIdand the 20% percentage; - after the payment is received, Asaas calculates the Split on the charge's net amount;
- the corresponding amount is transferred to Marcelo;
- the undistributed net balance remains with João.

ImportantThe Split is calculated on the
netValue, that is, the charge amount after deducting the applicable fees.
Define the Split amount
The transfer can be configured in two ways:
| Field | How it works | Decimal places limit |
|---|---|---|
fixedValue | Defines a fixed amount for the recipient | 2 |
percentualValue | Defines a percentage of the netValue | 4 |
You can combine fixed and percentage amounts in the same charge.
There is no priority between Split types. All of them are validated against the available net amount.
For example, for a charge with a netValue of R$ 98.00:
fixedValue = R$ 50.00
percentualValue = 50%
50% of R$ 98.00 = R$ 49.00
R$ 50.00 + R$ 49.00 = R$ 99.00In this scenario, the configuration exceeds the netValue and cannot be processed.
For percentage-only Splits, the sum cannot exceed 100%.
Specific installment rules, such as totalFixedValue, are detailed in Split into installments.
Track the Split
Use Webhooks to track settlement without making recurring API queries.
The event:
PAYMENT_SPLIT_DONEis sent individually when a Split is settled.
When a charge has more than one Split, each settlement may generate a different event.
Identify the corresponding Split by:
{
"additionalInfo": {
"splitId": "064a4957-1eee-4d06-9c96-deaf8a17534d"
}
}Block due to divergence
If, upon receipt or anticipation, the amount configured for the Splits exceeds the available net amount, the amount and the Split are blocked for adjustment.
The integration receives:
PAYMENT_SPLIT_DIVERGENCE_BLOCKThe deadline for correction is 2 business days.
If the configuration is corrected within the deadline and starts respecting the available amount, the Split is processed.
If there is no correction, the block expires, the Splits are canceled and the application receives:
PAYMENT_SPLIT_DIVERGENCE_BLOCK_FINISHEDRefunds
When a charge with Split is refunded, the related transfers are also refunded.
Take this behavior into account when reconciling the accounts that received amounts from the charge.
Split status
The available statuses are:
| Status | Interpretation |
|---|---|
PENDING | Split pending |
AWAITING_CREDIT | Awaiting credit |
DONE | Split completed |
CANCELLED | Split canceled |
REFUSED | Split refused |
REFUNDED | Split refunded |
When the status is REFUSED, the refusalReason field may indicate the reason for the refusal.
The reason RECEIVABLE_UNIT_AFFECTED_BY_EXTERNAL_CONTRACTUAL_EFFECT indicates that the Split was not executed due to the existence of contract effects.
Cancellation or deactivation reasonWhen the status of a payment split is
CANCELLED, check thecancellationReasonfield to identify the reason for the cancellation. For deactivated subscription splits, check thedisabledReasonfield.The reason
WALLET_REMOVED_FROM_OUTSIDE_ARRANGEMENT_ALLOW_LISTindicates that the destination wallet was removed from the list of wallets authorized to receive split outside the arrangement. In this scenario, pending payment splits directed to that wallet are canceled and subscription splits are deactivated.When the Split settlement is refused by the Withdrawal validation mechanism via webhooks, the Split is canceled and the reason is displayed differently for each account:
EXTERNAL_AUTHORIZATION_REFUSED: displayed to the Split's origin account (who created the Split) and indicates that the settlement was refused by the withdrawal validation configured in the account;PAYMENT_SPLIT_VALIDATION_FAILED: displayed to the Split's destination account (beneficiary account) and indicates, generically, that the Split did not pass a validation, without detailing the cause.
Next steps
Updated 7 days ago
