Payment split v2
Split payment is a method of accepting payments when the payment amount is distributed among multiple recipients. For example, in the case of a marketplace, the transaction request is initiated by the marketplace operator. The transaction parameters include the information about the payment recipients: marketplace partners and stores, as well as the corresponding bank account details (optional).
Info
If payment split v2 is used, the customer is charged once and the payment amount is split when the payment is settled with the payment recipients.
To split the payment during the transaction (the number of charges from the customer's card will equal the number of the payment recipients), use payment split v1.
Contact the Tech Support Team to activate split payments for your shop.
Split payment flows
- payment +
splitarray OR payment token request withtransaction_typeset topayment+splitarray; - if necessary, one or more refund transactions +
splitarray.
- authorization without
splitarray OR payment token request withtransaction_typeset toauthorizationwithoutsplitarray; - if necessary, void without
splitarray; - capture +
splitarray; - if necessary, refund +
splitarray.
Info
To save the card data, send additional_data.contract array with the value ["contract", "card_on_file"] in the payment, authorization or a payment token request. The card token will be sent in the response or in the webhook notification in the credit_card.token parameter.
Request
To split the payment, send the information about the recipients in the additional_data.split array.
The following card transactions support split payments:
Payment request example with the split array
{
"request": {
"amount": 1500,
"currency": "USD",
"test": true,
"description": "Test transaction",
"tracking_id": "tracking_id_000",
"notification_url": "https://notification_url",
"credit_card": {
"number": "4242424242424242",
"verification_value": "123",
"holder": "John Doe",
"exp_month": 10,
"exp_year": 2030
},
"customer": {
"device_id": "",
"birth_date": ""
},
"additional_data": {
"split": [
{
"company_name": "Generic Company LLC",
"bank_account": "IBAN000000000000000000000000",
"bank_bic": "GENBANKXX",
"tax_id": "171234567890",
"amount": 500
},
{
"company_name": "Best Restaurant Inc.",
"bank_account": "IBAN111111111111111111111111",
"bank_bic": "GENBANKYY",
"tax_id": "222222222",
"amount": 700
},
{
"company_name": "Courier Services Ltd.",
"bank_account": "IBAN222222222222222222222222",
"bank_bic": "GENBANKZZ",
"tax_id": "333333333",
"amount": 300
}
],
"contract": [
"recurring",
"card_on_file"
]
}
}
}
Payment token request example with the split array
{
"checkout": {
"test": true,
"transaction_type": "payment",
"settings": {
"return_url": "http://127.0.0.1:4567/return",
"success_url": "http://127.0.0.1:4567/success",
"notification_url": "http://your_shop.com/notification"
},
"order": {
"tracking_id": "your_uniq_number",
"currency": "USD",
"amount": 1400,
"expired_at": "2025-11-29T05:33:38Z",
"description": "description",
"additional_data": {
"split": [
{
"company_name": "Generic Company LLC",
"bank_account": "IBAN000000000000000000000000",
"bank_bic": "GENBANKXX",
"tax_id": "111111111",
"amount": 500
},
{
"company_name": "Best Restaurant Inc.",
"bank_account": "IBAN111111111111111111111111",
"bank_bic": "GENBANKYY",
"tax_id": "222222222",
"amount": 600
},
{
"company_name": "Courier Services Ltd.",
"bank_account": "IBAN222222222222222222222222",
"bank_bic": "GENBANKZZ",
"tax_id": "333333333",
"amount": 300
}
]
}
}
}
}
Capture request example with the split array
{
"request": {
"parent_uid": "1-310b0da80b",
"amount": 1500,
"additional_data": {
"split": [
{
"company_name": "Generic Company LLC",
"bank_account": "IBAN000000000000000000000000",
"bank_bic": "GENBANKXX",
"tax_id": "111111111",
"amount": 500
},
{
"company_name": "Best Restaurant Inc.",
"bank_account": "IBAN111111111111111111111111",
"bank_bic": "GENBANKYY",
"tax_id": "222222222",
"amount": 700
},
{
"company_name": "Courier Services Ltd.",
"bank_account": "IBAN222222222222222222222222",
"bank_bic": "GENBANKZZ",
"tax_id": "333333333",
"amount": 300
}
]
}
}
}
Refund request example with the split array
{
"request": {
"parent_uid": "ef84f54b-a0d6-4bcb-813f-864a3cd9a44d",
"amount": 1300,
"reason": "Client request",
"additional_data": {
"split": [
{
"tax_id": "171234567",
"amount": 500
},
{
"tax_id": "333333333",
"amount": 800
}
]
}
}
}
split parameters
|
|||||||||||||||||||||||||||||||||||||
Response
Response example with the split array
{
"uid": "ef84f54b-a0d6-4bcb-813f-864a3cd9a44d",
"code": "S.0000",
"friendly_message": "The transaction is successfully processed.",
"status": "successful",
"amount": 1500,
"currency": "USD",
"description": "Test transaction",
"type": "payment",
"payment_method": {
"payment_method_type": "credit_card",
"holder": "John Doe",
"stamp": "b3efde4d54bfda63f43c7bb5b1ca5bb93f9f16ed29590a70c190a7454f167679",
"brand": "visa",
"last_4": "4242",
"first_1": "4",
"bin": "424242",
"bin_8": "42424242",
"issuer_country": null,
"issuer_name": null,
"product": null,
"exp_month": 10,
"exp_year": 2030,
"token_provider": null,
"token": "657bb3ad-5f13-488d-bf9c-8305141dcd13"
},
"tracking_id": "tracking_id_000",
"message": "Transaction is successful.",
"test": true,
"created_at": "2025-11-12T12:35:10.321Z",
"updated_at": "2025-11-12T12:35:12.958Z",
"paid_at": "2025-11-12T12:35:12.845Z",
"expired_at": null,
"recurring_type": "initial",
"closed_at": null,
"settled_at": null,
"manually_corrected_at": null,
"language": "en",
"redirect_url": "https://demo-gateway.begateway.com/process/ef84f54b-a0d6-4bcb-813f-864a3cd9a44d",
"status_code": null,
"links": {
"receipt_url": "https://demo-backoffice.begateway.com/customer/transactions/ef84f54b-a0d6-4bcb-813f-864a3cd9a44d/20e4a187c3dd9e18085a43fac9b7c7ab73a4c933bf9154ef2a3ef73f6ea9bfc2?language=en"
},
"gateway": {
"iframe": true
},
"mute_notifications": null,
"version": 4,
"psp_settled_at": null,
"registry_id": null,
"three_ds_expired_at": null,
"additional_data": {
"split": [
{
"tax_id": "171234567",
"amount": 500
},
{
"tax_id": "222222222",
"amount": 500
},
{
"tax_id": "333333333",
"amount": 500
}
],
"contract": [
"recurring",
"card_on_file"
]
},
"customer": {
"ip": null,
"email": null,
"device_id": null,
"birth_date": null,
"external_id": null,
"first_name": null,
"last_name": null,
"address": null,
"country": null,
"city": null,
"zip": null,
"state": null,
"phone": null
},
"transaction": {
"auth_code": "654321",
"bank_code": "05",
"rrn": "999",
"ref_id": "777888",
"message": "Payment was approved",
"amount": 1500,
"currency": "USD",
"billing_descriptor": "TEST GATEWAY BILLING DESCRIPTOR",
"gateway_id": 3549,
"status": "successful"
},
"avs_cvc_verification": {
"avs_verification": {
"result_code": "1"
},
"cvc_verification": {
"result_code": "1"
}
}
}
Response example with a validation error: the sum of amount values in the split array does not equal the overall transaction amount
{
"code": "E.1025",
"friendly_message": "Invalid request params",
"message": "Split {:total_amount=>[\"Total amount in the 'split' section must equal the transaction amount.\"]}.",
"errors": {
"additional_data": {
"split": {
"total_amount": [
"Total amount in the 'split' section must equal the transaction amount."
]
}
}
}
}