Post-Payment Enquiry
Fetch updated status of the processed Payouts payments
Introduction
SingleView Post-Payment Enquiry services connect Corporate users via a secure channel and enable them to enquire about the status of their transactions quickly and easily. The key feature of the service allows the user to get immediate acknowledgment about the most recent status of their payments.
Important information
This service can be used to verify the status of the following types of payment transactions made by the user:
- Within own accounts
- Local payments (SARIE)
- International payments (SWIFT)
The client needs to initiate a Post-Payment Transaction Enquiry request via the B2B system for the following banks:
- Al Rajhi Bank
- Arab National Bank (ANB)
- Saudi Awwal Bank (SAB)
Payment enquiry not required
There is no need to initiate a post-payment transaction enquiry request, as the user will receive an instant confirmation for the following banks:
- Alinma Bank
- Banque Saudi Fransi (BSF)
- Saudi National Bank (SNB)
- Riyad Bank
πDomain details
- Sandbox API - https://sandboxapi.onesingleview.com
- Production/LIVE API - To be provided upon onboarding
Post-payment Enquiry
Endpoint details
Endpoint URL | Method | Authentication requirements |
---|---|---|
/api/v1/batch/paymentenquiry | POST | 1. clientid 2. clientsecret 3. Authorization: Bearer (Token) 4. SVReferenceID 5. CompanyId 6. Signature |
Synchronous Method
Sample request
curl --location 'https://sandboxapi.onesingleview.com/api/batch/paymentenquiry' \
--header 'clientsecret: Enter-Client-Secret' \
--header 'clientid: Enter-Client-Id' \
--header 'SVReferenceID: Enter-SV-Reference-Id' \
--header 'Device: Device-type' \
--header 'DateTimeStamp: YYYY-MM-DDTHH:MM:SS' \
--header 'CompanyId: Enter-Company-Id' \
--header 'BaseCurrency: SAR' \
--header 'Authorization: Bearer <Enter-Token>' \
--header 'Content-Type: application/json' \
--data '{
"Message": {
"OSVPaymentMessageRequest": {
"SVReferenceID": "Enter_SingleView_Reference_ID",
"OSVPaymentStatusRequest": [
{
"Transactions": [
{
"B2BUrn": "Enter_B2B_URN",
"B2BUserId": "Enter_B2B_User_ID",
"PaymentMessageType": "MT100-Others",
"CompanyCode": "Enter_Company_Code",
"TransactionReferenceNumber": "Enter_Transaction_Reference_Number",
"SequenceNum": "Enter_Sequence_Number",
"B2BAggrId": "Enter_B2B_Aggregator_ID"
}
],
"BankCode": "Enter_Bank_Code",
"MessageType": "SINGLEREQ"
}
]
}
},
"Signature": "Enter_Signature"
}'
Request description
JSON Tag | Description | Data type |
---|---|---|
Message Mandatory | Header information (client credentials) | Object & Strings |
OSVPaymentMessageRequest Mandatory | Root node containing all the payment enquiry message | Object |
SVReferenceID Mandatory | Unique SingleView reference identification details of the transaction | String |
OSVPaymentStatusRequest Mandatory | Tag carrying information on the payment enquiry request | Object |
Transactions Mandatory | Tag carrying information of transactions to be requested for payment enquiry | Object |
B2BUrn Mandatory | Unique B2B reference number | String |
B2BUserId Mandatory | Unique B2B user identification details | String |
PaymentMessageType Mandatory | Details on the payment type to be mentioned as MT100 | String |
CompanyCode Mandatory | Sender company code or identifier provided by the bank at the time of on-boarding | |
TransactionReferenceNumber Mandatory | Unique transaction reference number | String |
SequenceNum Mandatory | Unique sequence number of the transaction | Array |
B2BAggrId Mandatory | Unique B2B aggregator identification details | String |
BankCode Mandatory | Unique code of the bank. Ex: βALRAJHIβ, βSABBβ | String |
MessageType Mandatory | Details on the type of message request to be mentioned as SINGLEREQ | String |
Signature Mandatory | Encrypted string obtained by processing request body with Private Key/Certificate through SHA-256 with RSA Algorithm (Crypto : JCE Sign) | String |
Sample Responses
{
"OSVPaymentEnquiryResponse": [
{
"MessageType": "SINGLEREQ",
"OSVPaymentStatusResponse": [
{
"CompanyCode": "Company_Code",
"SequenceNum": "Sequence_Number",
"StatusCode": "SUCCESS",
"StatusDesc": "Payment Posted Successfully",
"TransactionReferenceNumber": "Transaction_Reference_Number",
"FTReferenceNumber": "FT_Reference_Number",
"BankReferenceNumber": "Bank_Reference_Number",
"TransactionType": "Transaction_Type",
"DebitAccountNo": "Debit_Account_Number",
"AccountName1": "Account_Name_1",
"DebitCurrency": "SAR",
"DebitTheirRef": "Debit_Their_Ref",
"CreditTheirRef": "Credit_Their_Ref",
"CreditAccountNo": "Credit_Account_Number",
"AccountName2": "Account_Name_2",
"CreditCurrency": "SAR",
"CreditAmount": "Credit_Amount",
"AmountDebited": "Debit_Amount",
"CustomerRate": "Customer_Rate",
"AmountCredited": "Amount_Credited",
"BenCustomer1": "Beneficiary_Customer_1",
"DebitValueDate": "YYYY-MM-DD",
"CreditValueDate": "YYYY-MM-DD",
"PaymentDetails1": "Payment details",
"PaymentDetails2": "payment details",
"UniqueId": "Unique_Identification",
"UtrNumber": "Unique_UTR_Number"
}
]
}
]
}
{
"OSVPaymentEnquiryResponse": [
{
"MessageType": "SINGLEREQ",
"OSVPaymentStatusResponse": [
{
"CompanyCode": "Company_Code",
"SequenceNum": "Sequence_Number",
"StatusCode": "PENDING",
"StatusDesc": "Received and Under process (PAQ - OT)",
"TransactionReferenceNumber": "Transaction_Reference_Number",
"FTReferenceNumber": "FT_Reference_Number",
"BankReferenceNumber": "Bank_Reference_Number",
"TransactionType": "Transaction_Type",
"DebitAccountNo": "Debit_Account_Number",
"AccountName1": "Account_Name_1",
"DebitCurrency": "SAR",
"DebitTheirRef": "Debit_Their_Ref",
"CreditTheirRef": "Credit_Their_Ref",
"CreditAccountNo": "Credit_Account_Number",
"AccountName2": "Account_Name_2",
"CreditCurrency": "SAR",
"CreditAmount": "Credit_Amount",
"AmountDebited": "Debit_Amount",
"CustomerRate": "Customer_Rate",
"AmountCredited": "Amount_Credited",
"BenCustomer1": "Beneficiary_Customer_1",
"DebitValueDate": "YYYY-MM-DD",
"CreditValueDate": "YYYY-MM-DD",
"PaymentDetails1": "Payment details",
"PaymentDetails2": "payment details",
"UniqueId": "Unique_Identification",
"UtrNumber": "Unique_UTR_Number"
}
]
}
]
{
"OSVPaymentEnquiryResponse": [
{
"MessageType": "SINGLEREQ",
"OSVPaymentStatusResponse": [
{
"CompanyCode": "Company_Code",
"SequenceNum": "Sequence_Number",
"StatusCode": "Failed",
"StatusDesc": "No Transaction Found",
"TransactionReferenceNumber": "Transaction_Reference_Number",
"FTReferenceNumber": "FT_Reference_Number",
"BankReferenceNumber": "Bank_Reference_Number",
"TransactionType": "Transaction_Type",
"DebitAccountNo": "Debit_Account_Number",
"AccountName1": "Account_Name_1",
"DebitCurrency": "SAR",
"DebitTheirRef": "Debit_Their_Ref",
"CreditTheirRef": "Credit_Their_Ref",
"CreditAccountNo": "Credit_Account_Number",
"AccountName2": "Account_Name_2",
"CreditCurrency": "SAR",
"CreditAmount": "Credit_Amount",
"AmountDebited": "Debit_Amount",
"CustomerRate": "Customer_Rate",
"AmountCredited": "Amount_Credited",
"BenCustomer1": "Beneficiary_Customer_1",
"DebitValueDate": "YYYY-MM-DD",
"CreditValueDate": "YYYY-MM-DD",
"PaymentDetails1": "Payment details",
"PaymentDetails2": "payment details",
"UniqueId": "Unique_Identification",
"UtrNumber": "Unique_UTR_Number"
}
]
}
]
}
Responses description
JSON Tag | Description | Data type |
---|---|---|
OSVPaymentEnquiryResponse | Root node | Object |
MessageType | Type of message response indicated as SINGLEREQ | String |
OSVPaymentStatusResponse | Element root containing response of every bank transaction | Object |
CompanyCode | Sender company Code/Identifier | String |
SequenceNum | Value of βSequenceNumβ tag in the request message | String |
StatusCode | Status code of the response SUCCESS- For successfully settled payment PENDING- For a pending payment FAILED- For a payment failed processing | String |
StatusDesc | Status description of the response | String |
TransactionReferenceNumber | Unique number representing the transactions | String |
FTReferenceNumber | File Reference Number | String |
BankReferenceNumber | Bank Reference Number | String |
TransactionType | Transaction Type | String |
DebitAccountNo | Debit Account Number | String |
AccountName1 | Account Name 1 | String |
DebitCurrency | Debit Currency | String |
DebitTheirRef | Debit Their Reference | String |
CreditTheirRef | Credit Their Reference | String |
CreditAccountNo | Credit Account Number | String |
AccountName2 | Account Name 2 | String |
CreditCurrency | Credit Currency | String |
CreditAmount | Credit Amount | String |
AmountDebited | Amount Debited | String |
CustomerRate | Customer Rate | String |
AmountCredited | Amount Credited | String |
BenCustomer1 | Beneficiary Customer 1 | String |
DebitValueDate | Debit Value Date | String |
CreditValueDate | Credit Value Date | String |
PaymentDetails1 | Payment Details 1 | String |
PaymentDetails2 | Payment Details 2 | String |
UniqueId | Unique identification details | String |
UtrNumber | Unique transaction reference number | String |
Asynchronous Method
Sample request
curl --location 'https://sandboxapi.onesingleview.com/api/batch/paymentenquiry' \
--header 'clientsecret: Enter-Client-Secret' \
--header 'clientid: Enter-Client-Id' \
--header 'SVReferenceID: Enter-SV-Reference-Id' \
--header 'Device: Device-type' \
--header 'DateTimeStamp: YYYY-MM-DDTHH:MM:SS' \
--header 'CompanyId: Enter-Company-Id' \
--header 'BaseCurrency: SAR' \
--header 'Authorization: Bearer <Enter-Token>' \
--header 'Content-Type: application/json' \
--data '{
"Message":
{
"OSVPaymentenquiryRequest": {
"OSVPaymentStatusRequest": [
{
"BankCode": "Enter_Bank_Code",
"Transactions": [
{
"CompanyCode": "Enter_Company_Code",
"SequenceNum": "Enter_Sequence_Number",
"TransactionReferenceNumber": "Enter_Transaction_Reference_Number"
}
]
},
{
"BankCode": "Enter_Bank_Code",
"Transactions": [
{
"CompanyCode": "Enter_Company_Code",
"SequenceNum": "Enter_Sequence_Number",
"TransactionReferenceNumber": "Enter_Transaction_Reference_Number"
}
]
}
]
}
},
"Signature": "Enter_Signature_String"
}
Request description
JSON Tag | Description | Data type |
---|---|---|
Message Mandatory | Header information (client credentials) | Object & Strings |
OSVPaymentenquiryRequest Mandatory | Root node containing all the payment enquiry messages | Object |
OSVPaymentStatusRequest Mandatory | This tag contains multiple banks payment requests | Object |
BankCode Mandatory | Code of the bank. Ex: βALRAJHIβ, βSABBβ | String |
Transactions Mandatory | Tag containing the payment status details | Array |
CompanyCode Mandatory | Sender company code or identifier provided by the bank at the time of on-boarding | String |
SequenceNum Mandatory | Unique number representing each transaction | String |
TransactionReferenceNumber Mandatory | Unique number representing the transactions | String |
Signature Mandatory | Encrypted string obtained by processing request body with Private Key/Certificate through SHA-256 with RSA Algorithm (Crypto : JCE Sign) | String |
Sample Responses
{
"OSVPaymentEnquiryResponse": {
"OSVPaymentStatusResponse": [
{
"BankCode": "Bank_Code",
"TransactionStatus": [
{
"CompanyCode": "Company_Code",
"SequenceNum": "Sequence_Number",
"TransactionReferenceNumber": "Transaction_Reference_Number",
"FTReferenceNumber": "FT_Reference_Number",
"BankReferenceNumber": "Bank_Reference_Number",
"TransactionType": "Transaction_Type",
"DebitAccountNo": "Debit_Account_Number",
"AccountName1": "Account_Name_1",
"DebitCurrency": "SAR",
"DebitTheirRef": "Debit_Their_Ref",
"CreditTheirRef": "Credit_Their_Ref",
"CreditAccountNo": "Credit_Account_Number",
"AccountName2": "Account_Name_2",
"CreditCurrency": "SAR",
"CreditAmount": "Credit_Amount",
"AmountDebited": "Debit_Amount",
"CustomerRate": "Customer_Rate",
"AmountCredited": "Amount_Credited",
"BenCustomer1": "Beneficiary_Customer_1",
"DebitValueDate": "YYYY-MM-DD",
"CreditValueDate": "YYYY-MM-DD",
"PaymentDetails1": "Payment details",
"PaymentDetails2": "payment details",
"StatusCode": "SUCCESS",
"StatusDesc": "Payment Posted Successfully"
}
]
},
{
"BankCode": "Bank_Code",
"TransactionStatus": [
{
"CompanyCode": "Company_Code",
"SequenceNum": "Sequence_Number",
"TransactionReferenceNumber": "Transaction_Reference_Number",
"FTReferenceNumber": "FT_Reference_Number",
"BankReferenceNumber": "Bank_Reference_Number",
"TransactionType": "Transaction_Type",
"DebitAccountNo": "Debit_Account_Number",
"AccountName1": "Account_Name_1",
"DebitCurrency": "SAR",
"DebitTheirRef": "Debit_Their_Ref",
"CreditTheirRef": "Credit_Their_Ref",
"CreditAccountNo": "Credit_Account_Number",
"AccountName2": "Account_Name_2",
"CreditCurrency": "SAR",
"CreditAmount": "Credit_Amount",
"AmountDebited": "Debit_Amount",
"CustomerRate": "Customer_Rate",
"AmountCredited": "Amount_Credited",
"BenCustomer1": "Beneficiary_Customer_1",
"DebitValueDate": "YYYY-MM-DD",
"CreditValueDate": "YYYY-MM-DD",
"PaymentDetails1": "Payment details",
"PaymentDetails2": "payment details",
"StatusCode": "SUCCESS",
"StatusDesc": "Payment Posted Successfully"
}
]
}
]
}
}
{
"OSVPaymentEnquiryResponse": {
"OSVPaymentStatusResponse": [
{
"BankCode": "Bank_Code",
"TransactionStatus": [
{
"CompanyCode": "Company_Code",
"SequenceNum": "Sequence_Number",
"TransactionReferenceNumber": "Transaction_Reference_Number",
"FTReferenceNumber": "FT_Reference_Number",
"BankReferenceNumber": "Bank_Reference_Number",
"TransactionType": "Transaction_Type",
"DebitAccountNo": "Debit_Account_Number",
"AccountName1": "Account_Name_1",
"DebitCurrency": "SAR",
"DebitTheirRef": "Debit_Their_Ref",
"CreditTheirRef": "Credit_Their_Ref",
"CreditAccountNo": "Credit_Account_Number",
"AccountName2": "Account_Name_2",
"CreditCurrency": "SAR",
"CreditAmount": "Credit_Amount",
"AmountDebited": "Debit_Amount",
"CustomerRate": "Customer_Rate",
"AmountCredited": "Amount_Credited",
"BenCustomer1": "Beneficiary_Customer_1",
"DebitValueDate": "YYYY-MM-DD",
"CreditValueDate": "YYYY-MM-DD",
"PaymentDetails1": "Payment details",
"PaymentDetails2": "payment details",
"StatusCode": "PENDING",
"StatusDesc": "Received and Under process (PAQ - OT)"
}
]
},
{
"BankCode": "Bank_Code",
"TransactionStatus": [
{
"CompanyCode": "Company_Code",
"SequenceNum": "Sequence_Number",
"TransactionReferenceNumber": "Transaction_Reference_Number",
"FTReferenceNumber": "FT_Reference_Number",
"BankReferenceNumber": "Bank_Reference_Number",
"TransactionType": "Transaction_Type",
"DebitAccountNo": "Debit_Account_Number",
"AccountName1": "Account_Name_1",
"DebitCurrency": "SAR",
"DebitTheirRef": "Debit_Their_Ref",
"CreditTheirRef": "Credit_Their_Ref",
"CreditAccountNo": "Credit_Account_Number",
"AccountName2": "Account_Name_2",
"CreditCurrency": "SAR",
"CreditAmount": "Credit_Amount",
"AmountDebited": "Debit_Amount",
"CustomerRate": "Customer_Rate",
"AmountCredited": "Amount_Credited",
"BenCustomer1": "Beneficiary_Customer_1",
"DebitValueDate": "YYYY-MM-DD",
"CreditValueDate": "YYYY-MM-DD",
"PaymentDetails1": "Payment details",
"PaymentDetails2": "payment details",
"StatusCode": "PENDING",
"StatusDesc": "Received and Under process (PAQ - OT)"
}
]
}
]
}
}
{
"OSVPaymentEnquiryResponse": {
"OSVPaymentStatusResponse": [
{
"BankCode": "Bank_Code",
"TransactionStatus": [
{
"CompanyCode": "Company_Code",
"SequenceNum": "Sequence_Number",
"TransactionReferenceNumber": "Transaction_Reference_Number",
"FTReferenceNumber": "FT_Reference_Number",
"BankReferenceNumber": "Bank_Reference_Number",
"TransactionType": "Transaction_Type",
"DebitAccountNo": "Debit_Account_Number",
"AccountName1": "Account_Name_1",
"DebitCurrency": "SAR",
"DebitTheirRef": "Debit_Their_Ref",
"CreditTheirRef": "Credit_Their_Ref",
"CreditAccountNo": "Credit_Account_Number",
"AccountName2": "Account_Name_2",
"CreditCurrency": "SAR",
"CreditAmount": "Credit_Amount",
"AmountDebited": "Debit_Amount",
"CustomerRate": "Customer_Rate",
"AmountCredited": "Amount_Credited",
"BenCustomer1": "Beneficiary_Customer_1",
"DebitValueDate": "YYYY-MM-DD",
"CreditValueDate": "YYYY-MM-DD",
"PaymentDetails1": "Payment details",
"PaymentDetails2": "payment details",
"StatusCode": "FAILED",
"StatusDesc": "No transaction found for the requested reference number"
}
]
},
{
"BankCode": "Bank_Code",
"TransactionStatus": [
{
"CompanyCode": "Company_Code",
"SequenceNum": "Sequence_Number",
"TransactionReferenceNumber": "Transaction_Reference_Number",
"FTReferenceNumber": "FT_Reference_Number",
"BankReferenceNumber": "Bank_Reference_Number",
"TransactionType": "Transaction_Type",
"DebitAccountNo": "Debit_Account_Number",
"AccountName1": "Account_Name_1",
"DebitCurrency": "SAR",
"DebitTheirRef": "Debit_Their_Ref",
"CreditTheirRef": "Credit_Their_Ref",
"CreditAccountNo": "Credit_Account_Number",
"AccountName2": "Account_Name_2",
"CreditCurrency": "SAR",
"CreditAmount": "Credit_Amount",
"AmountDebited": "Debit_Amount",
"CustomerRate": "Customer_Rate",
"AmountCredited": "Amount_Credited",
"BenCustomer1": "Beneficiary_Customer_1",
"DebitValueDate": "YYYY-MM-DD",
"CreditValueDate": "YYYY-MM-DD",
"PaymentDetails1": "Payment details",
"PaymentDetails2": "payment details",
"StatusCode": "FAILED",
"StatusDesc": "No transaction found for the requested reference number"
}
]
}
]
}
}
Responses description
JSON Tag | Description | Data type |
---|---|---|
OSVPaymentEnquiryResponse | Root node | Object |
OSVPaymentStatusResponse | Element root containing response of every bank transaction | Object |
BankCode | Name of the bank Ex: βALRAJHIβ, βSABBβ | String |
TransactionStatus | This tag contains the status of the payments | String |
CompanyCode | Sender company Code/Identifier | String |
SequenceNum | Value of βSequenceNumβ tag in the request message | String |
TransactionReferenceNumber | Unique number representing the transactions | String |
FTReferenceNumber | File Reference Number | String |
BankReferenceNumber | Bank Reference Number | String |
TransactionType | Transaction Type | String |
DebitAccountNo | Debit Account Number | String |
AccountName1 | Account Name 1 | String |
DebitCurrency | Debit Currency | String |
DebitTheirRef | Debit Their Reference | String |
CreditTheirRef | Credit Their Reference | String |
CreditAccountNo | Credit Account Number | String |
AccountName2 | Account Name 2 | String |
CreditCurrency | Credit Currency | String |
CreditAmount | Credit Amount | String |
AmountDebited | Amount Debited | String |
CustomerRate | Customer Rate | String |
AmountCredited | Amount Credited | String |
BenCustomer1 | Beneficiary Customer 1 | String |
DebitValueDate | Debit Value Date | String |
CreditValueDate | Credit Value Date | String |
PaymentDetails1 | Payment Details 1 | String |
PaymentDetails2 | Payment Details 2 | String |
StatusCode | Status code of the response SUCCESS- For successfully settled payment PENDING- For a pending payment FAILED- For a payment failed processing | String |
StatusDesc | Status description of the response | String |
Updated about 2 months ago