Make Multiple Payments
Disburse multiple payments through Payouts API
SingleView Payouts API V2.0 allows multiple payment facilities through JSON requests and responses. The request in the specified format is posted to the concerned end-point. Based on the validity of the request, SingleView Payouts API processes the request and reflects a response accordingly. The authentication process involves additional identification parameters to ensure the best way to authorize the payment request.
Mandatory information
- The user must provide the valid credentials in the header
- Encrypted and valid Signature and an active "Access Token"
- Request format as specified with all the mandatory details with appropriate request tags
- Ensure that the
SequenceNumandTransactionReferenceNumberare unique for each transaction. Payments with same sequence number or transaction reference number appear as duplicate transactions and affects their processing and enquiry operations.
Domain details
Environment Domain Rate/Limit Sandbox sandboxapi.onesingleview.com 10 Calls per Minute Production/LIVE To be provided upon onboarding Based on contract
Make Multiple Payments - V2.0
Endpoint details
Endpoint URL | Method | Authentication requirements |
|---|---|---|
| POST |
|
Sample Request
curl --location 'https://sandboxapi.onesingleview.com/api/v2/bulk/payment' \
--header 'SVReferenceID: SV123456' \
--header 'CompanyId: SINGLEVIEW1234' \
--header 'Device: web' \
--header 'DateTimeStamp: 2025-07-22T10:20:39' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjoiTDNyMmpxV29JS2I4MTNodDBNaVN4MzdCZHREWlNGdTFad3B5QnlkOVpHelZXR2ZwUmFQNUYrZzB5YVg5bi9KVE5wK1FucERJMEZXWWN6VGJsOEc5cXhaUkVxQTBaM2dqYmZNMjQ0cGYvbnRTc1FMd3RJVnBBN2xuczZ4USIsImlhdCI6MTc1MzE3Njg2OSwiZXhwIjoxNzUzMTgwNDY5fQ.InwxIoDGBhyPWwijISVDRi2UMbW4V0qRVSnm3oJp9Ls' \
--header 'Content-Type: application/json' \
--data '{
"Message": {
"OSVPaymentMessageRequest": {
"TransactionType": "MT100",
"OSVPaymentTransactionRequest": [
{
"BankCode": "ALRAJHI",
"TransactionReferenceNumber": "41870234567",
"TransactionDescription": "Invoice Payment",
"CompanyCode": "SV12345",
"OrderingCustomerAccountNumber": "204678915123123",
"OrderingCustomerIBAN": "SA8081234204678915123123",
"OrderingInstitution": "RJHISARI",
"OrderingCurrency": "SAR",
"OrderingCustomerNameAddress": {
"OrderingCustomerName": "SingleView",
"OrderingCustomerAdd1": "Suite 4444, B-Tower, Alawwal Street",
"OrderingCustomerAdd2": "Riyadh",
"OrderingCustomerAdd3": "Saudi Arabia"
},
"TransactionData": [
{
"SequenceNum": "123456789",
"DateCurrencyAmount": {
"Currency": "SAR",
"Amount": "2500",
"Date": "260105"
},
"BeneficiaryAccountWithInstitutionBIC": "RJHISARI",
"BeneficiaryAccountNumberNameAddress": {
"BeneficiaryName": "Abdul Rahman",
"BeneficiaryAccount": "SA8881234567808010110301",
"BeneficiaryAdd1": "Suite 1234, Q-Tower, Business Street,",
"BeneficiaryAdd2": "Riyadh",
"BeneficiaryAdd3": "Saudi Arabia"
},
"TransferType": "interbank",
"TransactionComment": "First Payment",
"PurposeOfRemittance": "01",
"B2BCRN": "",
"DetailsOfCharge": "SHA",
"AdditionalDetails": ""
},
{
"SequenceNum": "123456788",
"DateCurrencyAmount": {
"Currency": "SAR",
"Amount": "2500",
"Date": "260105"
},
"BeneficiaryAccountWithInstitutionBIC": "SABBSARI",
"BeneficiaryAccountNumberNameAddress": {
"BeneficiaryName": "Abdul Raheem",
"BeneficiaryAccount": "SA2745123456727277763001",
"BeneficiaryAdd1": "Suite 1234, Q-Tower, Business Street,",
"BeneficiaryAdd2": "Riyadh",
"BeneficiaryAdd3": "Saudi Arabia"
},
"TransferType": "sarie",
"TransactionComment": "Second Payment",
"PurposeOfRemittance": "01",
"B2BCRN": "",
"DetailsOfCharge": "SHA",
"AdditionalDetails": ""
}
]
}
]
}
},
"Signature": "j2f/C9vmioZA9oXBVjDv/AZQvXXgbaw3FCfjq/uwfJ6ifJMZw4a0wAUf0sGVIPuRqM7hnN31ZqTTXwa2NbELURIDM3uFROoS3bR4p2M19Zr5tnzosCGMp23/LjKBtkflydIlp7Reffmt6+u2BQ4AjqYlaXQMIBNC0wQtiG3cC0YgdIFaXiRRGp3z7ky6yOIt2qR83dESDDw+51qN9jf7kYcZmWBsVj0khIW846d0bwRwdFvZM1pOhhYlXWeYoETko62LA9r9hg3EqnC22m0HeGZ4VnltkUATkUWdHv54y+XB3wfk1PkTHfTZVk3V8RSKG3FaYa/M0haG/LdjAELgzw=="
}'Request Description
JSON Tag | Requirement | Description | Data type |
|---|---|---|---|
Message | Mandatory | Header information (client credentials) | Object |
OSVPaymentMessageRequest | Mandatory | Root node containing all the payment transaction messages | Object |
TransactionType | Mandatory | To be always mentioned as | Alphanumeric |
OSVPaymentTransactionRequest | Mandatory | This tag contains multiple banks requests | Object/Array |
BankCode | Mandatory | Unique bank identification code
| Alphabet |
TransactionReferenceNumber | Mandatory | Unique reference number generated by the customer for each transaction Maximum length : 16 numeric characters | Numeric |
TransactionDescription | Mandatory | Payment Description Maximum length : 35 characters | String |
CompanyCode | Mandatory | Unique identification code of the company provided by the bank | Alphanumeric |
OrderingCustomerAccountNumber | Conditional | Ordering Customer’s account number (Any one is mandatory Account Number or IBAN Number) Input size: Min - 11 Characters Max - 24 Characters | Alphanumeric |
OrderingCustomerIBAN | Conditional | Ordering Customer’s IBAN number | Alphanumeric |
OrderingInstitution | Mandatory | Ordering Institution Ex: SABBSARI, RJHISARI Maximum length: 8 or 11 characters | Alphanumeric |
OrderingCurrency | Optional | This is the currency code used in the transaction. Maximum length : 3 digit currency code | Alphabet |
OrderingCustomerNameAddress | Mandatory | Element root containing details of Ordering customer | Object/Array |
OrderingCustomerName | Mandatory | Ordering Customer’s Name Input size: 3-35 Characters | Alphabet |
OrderingCustomerAdd1 | Mandatory | Ordering Customer’s Address Line 1 Input size: 3-35 Characters | String |
OrderingCustomerAdd2 | Mandatory | Ordering Customer’s Address Line 2 ( | String |
OrderingCustomerAdd3 | Mandatory | Ordering Customer’s Address Line 3 Input size: 3-35 Characters | String |
TransactionData | Mandatory | This tag contains the payment details | Object/Array |
SequenceNum | Mandatory | Unique number representing each transaction generated by the client Length of input: 16 characters | Numeric |
DateCurrencyAmount | Mandatory | Element root containing details of Date, Currency and Amount | Object |
Currency | Mandatory | This is the currency code used in the transaction. Length of input: 3 characters | Alphabet |
Amount | Mandatory | This is the amount used in the transaction | Numeric |
Date | Mandatory | Value date Transactions will be performed on this date. Date must be expressed as YYMMDD Maximum length : 6 numeric characters | Date |
BeneficiaryAccountWithInstitutionBIC | Mandatory | Beneficiary BIC Code Ex: SABBSARI, RJHISARI Maximum length: 8 or 11 characters | Alphanumeric |
BeneficiaryAccountNumberNameAddress | Mandatory | Element root containing details of Beneficiary | Object/Array |
BeneficiaryName | Mandatory | Beneficiary Name Input size: 3-35 Characters | Alphabet |
BeneficiaryAccount | Mandatory | Beneficiary Customer’s account number Input size: 3-35 Characters | String |
BeneficiaryAdd1 | Mandatory | Beneficiary Address Line 1 Input size: 3-35 Characters | String |
BeneficiaryAdd2 | Mandatory | Beneficiary Address Line 2 ( | String |
BeneficiaryAdd3 | Mandatory | Beneficiary Address Line 3 Input size: 3-35 Characters | String |
TransferType | Mandatory | Same Bank : | Alphabet |
TransactionComment | Mandatory | Additional comments for the payments Max size of input: 35 Characters | String |
PurposeOfRemittance | Conditional | Code representing the purpose of remittance View all POR codes | Numeric |
DetailsOfCharge | Mandatory | To be mentioned as | Alphabet |
AdditionalDetails | Optional | Additional details about the payment Max size of input: 35 Characters | String |
B2BCRN | Conditional | Unique Commercial Registration Number for Client provided by Al Rajhi Bank | String |
Signature Mandatory | Mandatory | Encrypted string generated using a Private Key/CA-Signed Certificate with SHA-256 and RSA (JCE Signature) | String |
Sample responses
{
"OSVPaymentMessageResponse": {
"OSVPaymentTransactionResponse": [
{
"BankCode": "ALRAJHI",
"CompanyCode": "SV12345",
"ReferenceNumber": "41870234567",
"Status": "Processing",
"StatusMessage": "File is being processed",
"TransactionData": []
}
]
}
}{
"OSVPaymentMessageResponse": {
"OSVPaymentTransactionResponse": [
{
"BankCode": "RIYADH",
"CompanyCode": "SV12345",
"ReferenceNumber": "41870234567",
"Status": "Completed",
"StatusMessage": "File processing completed successfully",
"TransactionData": [
{
"SequenceNum": "5390088903799909",
"StatusCode": "Completed",
"StatusDetail": "Payment processed successfully"
},
{
"SequenceNum": "5390088903799909",
"StatusCode": "Completed",
"StatusDetail": "Payment processed successfully"
}
]
}
]
}
}Response description
JSON Tag | Description | Data type |
|---|---|---|
OSVPaymentMessageResponse | Root node | Object |
OSVPaymentTransactionResponse | Element root containing response of every bank transactions | Object/Array |
BankCode | Unique bank identification code
| String |
CompanyCode | Sender company Code/Identifier | String |
ReferenceNumber | Unique reference number assigned for transaction tracking and further operations | String |
Status | Unique code displaying the current status of the payment request | String |
StatusMessage | Description of the status code to convey information about the payment request | String |
TransactionData | This tag contains the status of the transactions included in the payment request | Object/Array |
SequenceNum | Unique number representing each transaction generated by the client | Numeric |
StatusCode | Code representing status of the individual transaction in the request | String |
StatusDetail | Details of the status code represented for individual transaction the request | String |
Status Codes & Information
File Status
| Status | StatusMessage |
|---|---|
| Processing | File is being processed |
| Completed | File processing completed successfully |
| Failed | Bulk payment failed. Transactions are rejected. |
| Partially_Completed | Bulk payment request is partial success. Check individual transactions for more details. |
| Response_Timeout | Unable to get response from the bank. Please contact SingleView support. |
Transaction Status
| StatusCode | StatusDetail |
|---|---|
| Processing | Bank response description |
| Completed | Bank response description |
| Failed | Bank response description |
Updated 3 days ago