Create Payout Batch
The first and most important step in the External Payout workflow is creating a batch. A batch acts as a container for your deposit requests, grouping them into a single, manageable unit. By organizing requests into a batch, you can easily track, process, and review them all at once, making the payout process smoother and more efficient.
When you create a batch, you have two options:
- You can create the batch first and add deposit requests to it later which will be clarified in our Adding more Request(s) to a Batch manual.
- Or, you can create a batch, add requests to this batch, and close the batch all that in the same time/request which will be clarified in this manual.
This flexibility allows you to manage your workflow based on your business needs. Grouping your deposit requests into a batch ensures they are processed consistently and efficiently, saving time and reducing manual effort.
For a full guide on managing the entire External Payout processβincluding adding and closing batchesβbe sure to check out our External Payout APIs Workflow manual.
Letβs dive into how to create your first batch and set your payouts in motion!
The Endpoint and Related Postman Collectionβ
POST | {{domain}}/payout/batch/new |
---|
Please note that not using the proper endpoint URL {domain} will lead to authentication issues within your responses. To find the your proper domain you can read ourWhat is my (Region)/(endpoint URL)?tutorial article.
- KSA
- UAE
- Egypt
- Oman
- Jordan
- Kuwait
- Global
https://secure.paytabs.sa/payout/batch/new
https://secure.paytabs.com/payout/batch/new
https://secure-egypt.paytabs.com/payout/batch/new
https://secure-oman.paytabs.com/payout/batch/new
https://secure-jordan.paytabs.com/payout/batch/new
https://secure-kuwait.paytabs.com/payout/batch/new
https://secure-global.paytabs.com/payout/batch/new
Request Parametersβ
To initiate a payment request using this service, there are minimum required parameters that need to be passed with valid information. The specification of these required parameters is clarified below:
- The Minimum Required Parameters
- The Available Optional Parameters
Parameter | Data Type | Min | Max | Required |
---|---|---|---|---|
| INT | - | β | |
PayTabs Merchant Profile ID. | ||||
| ||||
| INT | - | β | |
PayTabs Merchant Deposit Account ID. | ||||
| ||||
| STRING | - | β | |
Merchant's Batch Reference | ||||
|
Parameter | Data Type | Min | Max | Required |
---|---|---|---|---|
| OBJECT | β | ||
Transfer record requests. | ||||
| ||||
| STRING | β | ||
Deposit request's reference at the merchant side | ||||
| ||||
| DECIMAL | Numeric with support for decimals | β | |
Transfer Amount | ||||
| ||||
| STRING | β | ||
Beneficiary Name as defined in the bank. | ||||
| ||||
| STRING | β | ||
Beneficiary Country Code. | ||||
| ||||
| INT | Alphanumeric - Length as mentioned in https://www.iban.com/structure | β | |
Beneficiary account (IBAN, VIBAN). | ||||
| ||||
| STRING | β | ||
Beneficiary Bank. | ||||
| ||||
| STRING | β | ||
Beneficiary Bank Branch. | ||||
| ||||
| STRING | β | ||
Beneficiary Email address. | ||||
| ||||
| STRING | β | ||
Beneficiary Mobile Number in E164 format. | ||||
| ||||
| STRING | β | ||
Beneficiary Address Line 1. | ||||
| ||||
| STRING | β | ||
Beneficiary Address Line 2. | ||||
| ||||
| DECIMAL | 100 - Salary 101 - Pension 102 - General Cash Management 103 - Donation | β | |
Transfer Code. | ||||
| ||||
| DECIMAL | β | ||
Payout ordering party name. | ||||
| ||||
| DECIMAL | β | ||
Payout ordering party address 1. | ||||
| ||||
| DECIMAL | β | ||
Payout ordering party address 2. | ||||
| ||||
| DECIMAL | β | ||
Payout ordering party address 3. | ||||
| ||||
| BOOLEAN | β | ||
When passed "true", this will close the batch and send it to review directly once it is created. | ||||
|
Request & Response Payload Samplesβ
This section is dedicated give you a sample API request payload using both the above mentioned required and optional parameters, along with showing you the response payload received upon using each request payload.
- Required Parameters Sample Payloads
- Optional Parameters Sample Payloads
The below sample request payload will show you how you can pass the above-mentioned required parameter/s, which are needed to be passed with valid values to perform a request. Along with the response payload received after using this request payload.
- Sample Request Payload
- Sample Response Payload
{
"profile_id": 654321,
"account_id": 876543,
"order_id": "Payout-API-20220211",
}
{
"batch_id": 12,
"profile_id": 48264,
"account_id": 5154,
"currency": "SAR",
"total": "0",
"count": 0,
"order_id": "Payout-API-20220211",
"status": "New",
"trace": "PMNT0201.62376344.00074C2A"
}
The below sample request payload will show you how you can pass the above-mentioned optional parameter/s, which are needed to be passed with valid values to perform a request. Along with the response payload received after using this request payload.
- Sample Request Payload
- Sample Response Payload
{
"profile_id": 654321,
"account_id": 876543,
"order_id": "Payout-API-20220211",
"requests":
[
{
"merchant_reference":"1001",
"amount": 100,
"beneficiary_name": "John Snow",
"beneficiary_country": "SA",
"beneficiary_account_number": "SA2910000005100003144805",
"beneficiary_bank": "NCB",
"beneficiary_bank_branch": "",
"beneficiary_email": "[email protected]",
"beneficiary_mobile_number": "+971123456789",
"beneficiary_address1": "Riyadh",
"beneficiary_address2": "",
"transfer_code": 100,
"source_name": "PayTabs Technical Support Team",
"source_address1": "address1",
"source_address2": "address2",
"source_address3": "address3"
}
]
}
{
"batch_id": 12,
"profile_id": 48264,
"account_id": 5154,
"currency": "SAR",
"total": "0",
"count": 0,
"order_id": "Payout-API-20220211",
"status": "New",
"trace": "PMNT0201.62376344.00074C2A"
}
The Payment Flow Experienceβ
Reaching this point, you are now able to initiate a Split Payout request and as you now, the process involves several key steps that ensure a smooth payment and tracking experience for both you and customers. Hereβs how it works: