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:

NeedContent
Split a one-time chargeSplit in single payments
Split the amounts of an installment planSplit into installments
Apply Split to the charges of a subscriptionSplit on subscriptions
Anticipate a charge that has a SplitSplit in anticipated payments
View Splits through the interfaceSplit query via interface
Use Split without developing your own integrationUsing Split without API
Configure through WooCommerceSplit in WooCommerce
Configure through PlugaSplit 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 walletId of the accounts that will receive the amounts;
  • define whether each transfer will be fixed or percentage-based;
  • do not provide the walletId of 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.

⚠️

Attention

Do not provide the walletId of 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%:

  1. João creates the charge in his own account;
  2. the Split specifies Marcelo's walletId and the 20% percentage;
  3. after the payment is received, Asaas calculates the Split on the charge's net amount;
  4. the corresponding amount is transferred to Marcelo;
  5. the undistributed net balance remains with João.
How a split works
📘

Important

The 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:

FieldHow it worksDecimal places limit
fixedValueDefines a fixed amount for the recipient2
percentualValueDefines a percentage of the netValue4

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.00

In 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_DONE

is 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"
  }
}

See Payment events.

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_BLOCK

The 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_FINISHED

Refunds

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:

StatusInterpretation
PENDINGSplit pending
AWAITING_CREDITAwaiting credit
DONESplit completed
CANCELLEDSplit canceled
REFUSEDSplit refused
REFUNDEDSplit 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 reason

When the status of a payment split is CANCELLED, check the cancellationReason field to identify the reason for the cancellation. For deactivated subscription splits, check the disabledReason field.

The reason WALLET_REMOVED_FROM_OUTSIDE_ARRANGEMENT_ALLOW_LIST indicates 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


Did this page help you?