Make Single Payment
Make a single payment through Payouts API
SingleView Payouts API V2.0 services allow a single payment facility to interact through JSON requests and responses. The request is posted in a format specified for 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
Datetag inYYMMDDformat should have an upcoming date. Transaction with a past date gets failed.- 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 a Single Payment - V2.0
Endpoint details
Endpoint URL | Method | Authentication requirements |
|---|---|---|
| POST |
|
Sample Request
curl --location 'https://sandboxapi.onesingleview.com/api/v2/single/payment' \
--header 'SVReferenceID: SV123456' \
--header 'CompanyId: SINGLEVIEW1234' \
--header 'Device: web' \
--header 'DateTimeStamp: 2025-01-07T10:20:39' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjoiTDNyMmpxV29JS2I4MTNodDBNeVN4WFRCZjlqUlNWQzFad3B5QnlkOVpHelZXR2ZwUmFQNUUrY3d6cVQ5bi9OV0lwR2V5STNNMkdPL1pqakd4ZG0yclJkVEZxY3lhWGNpWnZFejl0V1EySjQxK2VvSlk2ZjdJZkFsV3BKRi9VL1YydDEzMUtnRnVhcnd6MzVQY1UzbnFEV0p0UWlzIiwiaWF0IjoxNzY3NzYxODc3LCJleHAiOjE3Njc3NjU0Nzd9.lWDSB3Rk_TtdUbKyFcCdaE5XGo7UDiTu2kDcqEyU7vg' \
--header 'Content-Type: application/json' \
--data '{
"Message": {
"OSVPaymentMessageRequest": {
"TransactionType": "MT100",
"OSVPaymentTransactionRequest": [
{
"BankCode": "ALRAJHI",
"TransactionReferenceNumber": "8212099155",
"TransactionDescription": "Service Payment",
"OrderingCustomerIBAN": "SA808123420460801234123",
"OrderingCustomerAccountNumber": "20460801234123",
"OrderingInstitution": "RJHISARI",
"OrderingCurrency": "SAR",
"OrderingCustomerNameAddress": {
"OrderingCustomerName": "Abdul Kalam",
"OrderingCustomerAdd1": "Suite 4444, B-Tower, Alawwal Street",
"OrderingCustomerAdd2": "Riyadh",
"OrderingCustomerAdd3": "Saudi Arabia"
},
"TransactionData": {
"BeneficiaryAccountNumberNameAddress": {
"BeneficiaryName": "Yusuf Muhammad",
"BeneficiaryAdd1": "Suite 1234, Q-Tower, Business Street",
"BeneficiaryAdd2": "Riyadh",
"BeneficiaryAdd3": "Saudi Arabia",
"BeneficiaryAccount": "SA2745123456727277763211"
},
"BeneficiaryAccountWithInstitutionBIC": "SABBSARI",
"DateCurrencyAmount": {
"Currency": "SAR",
"Amount": "29",
"Date": "260107"
},
"CompanyCode": "SV12345",
"SequenceNum": "5390088903799909",
"TransferType": "sarie",
"TransactionComment": "Regular service payment",
"PurposeOfRemittance": "01",
"B2BCRN": "",
"DetailsOfCharge": "SHA",
"AdditionalDetails": ""
}
}
]
}
},
"Signature": "rZZ9alg/2k9B5uWSdnW3AfYswAMqA4HXyNX3jIzckWb4o37uS4eKFEQ3xRn/dBarN6EGjfaXiMSOPdKyyjjrgT80K5ReXzQ7cC1INuU79ozlLgK8yTFz+nq785geQ+He4PR+hD35DkF9qnela9qmcr3GhAXpTjZG12hmaJEyzeofh6q3p+jqLFd208eAImubnL6SbSBDEAi5SLRH1K2I1U77OmFNirrfGV8qd+gsi+lqgyF9mpNj6lzy/fJNNe0qEr2WHvG1R7E2g3EhqovDNanQt6RFgkWegtlE37Eyi5qO3xlTqu76317ZWfMI7jHxs48fOLTNtBCOwUboVze5Tw=="
}'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 |
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 |
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 |
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 |
BeneficiaryAccount | Mandatory | Beneficiary Customer’s account number Input size: 3-35 Characters | String |
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 |
CompanyCode | Mandatory | Unique identification code of the company provided by the bank | Alphanumeric |
SequenceNum | Mandatory | Unique number representing each transaction generated by the client Length of input: 16 characters | Numeric |
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 |
B2BCRN | Conditional | Unique Commercial Registration Number for Client provided by Al Rajhi Bank | String |
DetailsOfCharge | Mandatory | To be mentioned as | Alphabet |
AdditionalDetails | Optional | Additional details about the payment Max size of input: 35 Characters | String |
Signature Mandatory | Mandatory | Encrypted string generated using a Private Key/CA-Signed Certificate with SHA-256 and RSA (JCE Signature) | String |
Sample response
{
"OSVPaymentMessageResponse": {
"OSVPaymentTransactionResponse": [
{
"BankCode": "ALRAJHI",
"ReferenceNumber": "28989876123",
"CompanyCode": "125001291",
"TransactionData": {
"SequenceNum": "28989876123",
"StatusCode": "Processing",
"StatusDetail": "Your Payment file has been accepted, Kindly attempt to do a Payment Inquiry in a few minutes to know the Final status.",
"BankReferenceNumber": ""
}
}
]
}
}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 |
ReferenceNumber | Unique reference number assigned for transaction tracking and further operations | String |
CompanyCode | Sender company Code/Identifier | String |
TransactionData | This tag contains the status of the transactions included in the payment request | Object/Array |
SequenceNum | Unique number representing the transaction generated by the client | Numeric |
StatusCode | Code representing status of the transaction in the request | String |
StatusDetail | Details of the status code represented for the transaction in the request | String |
BankReferenceNumber | Unique transaction reference number provided by the bank during payment confirmation Available only for ANB, SNB, SAB, Alinma | String |
Status Codes & Information
Transaction Status
| StatusCode | StatusDetail |
|---|---|
| Processing | Bank response description |
| Completed | Bank response description |
| Failed | Bank response description |
| Response_Timeout | Timeout! Unable to get response from the bank. Please retry in few mins or contact SingleView support. |
Updated 3 days ago