Payment splitting
How to implement the payment splitting feature?
Account activation and configuration is required before development
A configured merchant relationship is required to use the Split Payment feature. If you need assistance, please reach out to [email protected].
Overview
The Payment Splitting feature enables merchants to split payments to multiple connected accounts. It is designed to support flexible payment distribution across various parties.

Available Split Features
- Transfer To: Either the full net amount or the remaining amount after the split would be deposited to the merchant or sub-account specified.
- Percentage Net: A type of split where a percentage of the net amount is defined to be deposited to the merchant or sub-account specified.
- Fixed Amount: A type of split where an exact value is defined to be deposited to the merchant or sub-account specified.
Use Cases
The Split Payments API is ideal for scenarios such as:
- Marketplaces that need to allocate payments to sellers and service providers.
- Platforms that facilitate transactions between multiple parties and require automatic fund distribution.
How to use the Split Payment feature
The Split Payments API can be utilized with both the Payment Intent workflow and the Checkout API workflow . The key distinction is that you must specify the payment split during the creation of the payment intent or the checkout session by utilizing the split_payment
attribute found in the respective creation process.
{
"data": {
"attributes": {
"amount": 10000,
"payment_method_allowed": [
"gcash"
],
"payment_method_options": {
"card": {
"request_three_d_secure": "automatic"
}
},
"description": "Payment Intent with split payments",
"statement_descriptor": "Company 1",
"currency": "PHP",
"split_payment": {
"transfer_to": "org_RXm2cKMjjG88qriue913mhG3",
"recipients": [
{
"merchant_id": "org_aw5CNAR7HSOnsa1923Wwsm",
"split_type": "percentage_net",
"value": 100 // 1%
},
{
"merchant_id": "org_Xs7JUHY7I7bKY1BgFhAIJ2uWsq1",
"split_type": "fixed",
"value": 500 // 5.00
}
]
}
}
}
}
{
"data": {
"attributes": {
"billing": {
"address": {
"line1": "address line 1",
"line2": "address line 2",
"city": "Taguig",
"state": "Metro Manila",
"postal_code": "1234",
"country": "PH"
},
"name": "John doe",
"email": "[email protected]",
"phone": "09111111111"
},
"cancel_url": "https://paymongo.com",
"description": "Checkout Session with split payment",
"payment_method_types": [
"gcash"
],
"line_items": [
{
"amount": 10000,
"quantity": 10,
"name": "Sample Product",
"description": "Sample Product",
"currency": "PHP",
},
],
"merchant": "Test Store",
"reference_number": "test_ref_1234",
"send_email_receipt": false,
"show_description": true,
"show_line_items": true,
"split_payment": {
"transfer_to": "org_RXm2cKMjjG88qriue913mhG3",
"recipients": [
{
"merchant_id": "org_aw5CNAR7HSOnsa1923Wwsm",
"split_type": "percentage_net",
"value": 100 // 1%
},
{
"merchant_id": "org_Xs7JUHY7I7bKY1BgFhAIJ2uWsq1",
"split_type": "fixed",
"value": 500 // 5.00
}
]
},
"success_url": "https://paymongo.com"
}
}
}
Newly Introduced Attributes
transfer_to
- The transfer_to field specifies the recipient of the remaining net amount after the payment has been split.
- The merchant assigned to this field will also be responsible for any associated fees.
- If no recipient is provided, the entire net amount will be transferred to the specified merchant.
- If the transfer_to field is left blank but a recipient is defined, the system defaults to transferring the net amount to the merchant who created the resource.
recipients[].merchant_id
- The identifier for the associated recipient merchant.
recipients[].split_type
- Determines the method of payment splitting. Possible values for now are
fixed
andpercentage_net
. If left blank, this would automatically be set tofixed
.
recipients[].value
- Defines the values of the split payment.
- For
fixed
split type, this field expects an integer in cents (e.g., 100 equals 1.00 in the respective currency). - For
percentage_net
, this field expects an integer representing a percentage in basis points (bps) (e.g., 100 equals 1%).
- For
To see these in action, refer to some sample split payment computations
Ensure Proper Split Configuration
If the total defined payment split exceeds the net amount of the payment, the payment will proceed; however, the splitting mechanism will fail, resulting in no allocated amounts to the recipients. In this case, the entire net amount will be received solely by the merchant who created the resource. Note: There is currently no automated way to proceed with the split in such cases, so the merchant will need to handle and settle the splitting manually.
Updated 5 days ago