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

Post-payment Enquiry

Endpoint details

Endpoint URLMethodAuthentication requirements
/api/v1/batch/paymentenquiryPOST1. 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 TagDescriptionData type
Message
Mandatory
Header information (client credentials)Object & Strings
OSVPaymentMessageRequest
Mandatory
Root node containing all the payment enquiry messageObject
SVReferenceID
Mandatory
Unique SingleView reference identification details of the transactionString
OSVPaymentStatusRequest
Mandatory
Tag carrying information on the payment enquiry requestObject
Transactions
Mandatory
Tag carrying information of transactions to be requested for payment enquiryObject
B2BUrn
Mandatory
Unique B2B reference numberString
B2BUserId
Mandatory
Unique B2B user identification detailsString
PaymentMessageType
Mandatory
Details on the payment type to be mentioned as MT100String
CompanyCode
Mandatory
Sender company code or identifier provided by the bank at the time of on-boarding
TransactionReferenceNumber
Mandatory
Unique transaction reference numberString
SequenceNum
Mandatory
Unique sequence number of the transactionArray
B2BAggrId
Mandatory
Unique B2B aggregator identification detailsString
BankCode
Mandatory
Unique code of the bank.
Ex: “ALRAJHI”, “SABB”
String
MessageType
Mandatory
Details on the type of message request to be mentioned as SINGLEREQString
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 TagDescriptionData type
OSVPaymentEnquiryResponseRoot nodeObject
MessageTypeType of message response indicated as SINGLEREQString
OSVPaymentStatusResponseElement root containing response of every bank transactionObject
CompanyCodeSender company Code/IdentifierString
SequenceNumValue of “SequenceNum” tag in the request messageString
StatusCodeStatus code of the response
SUCCESS- For successfully settled payment
PENDING- For a pending payment
FAILED- For a payment failed processing
String
StatusDescStatus description of the responseString
TransactionReferenceNumberUnique number representing the transactionsString
FTReferenceNumberFile Reference NumberString
BankReferenceNumberBank Reference NumberString
TransactionTypeTransaction TypeString
DebitAccountNoDebit Account NumberString
AccountName1Account Name 1String
DebitCurrencyDebit CurrencyString
DebitTheirRefDebit Their ReferenceString
CreditTheirRefCredit Their ReferenceString
CreditAccountNoCredit Account NumberString
AccountName2Account Name 2String
CreditCurrencyCredit CurrencyString
CreditAmountCredit AmountString
AmountDebitedAmount DebitedString
CustomerRateCustomer RateString
AmountCreditedAmount CreditedString
BenCustomer1Beneficiary Customer 1String
DebitValueDateDebit Value DateString
CreditValueDateCredit Value DateString
PaymentDetails1Payment Details 1String
PaymentDetails2Payment Details 2String
UniqueIdUnique identification detailsString
UtrNumberUnique transaction reference numberString

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 TagDescriptionData type
Message
Mandatory
Header information (client credentials)Object & Strings
OSVPaymentenquiryRequest
Mandatory
Root node containing all the payment enquiry messagesObject
OSVPaymentStatusRequest
Mandatory
This tag contains multiple banks payment requestsObject
BankCode
Mandatory
Code of the bank.
Ex: “ALRAJHI”, “SABB”
String
Transactions
Mandatory
Tag containing the payment status detailsArray
CompanyCode
Mandatory
Sender company code or identifier provided by the bank at the time of on-boardingString
SequenceNum
Mandatory
Unique number representing each transactionString
TransactionReferenceNumber
Mandatory
Unique number representing the transactionsString
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 TagDescriptionData type
OSVPaymentEnquiryResponseRoot nodeObject
OSVPaymentStatusResponseElement root containing response of every bank transactionObject
BankCodeName of the bank
Ex: “ALRAJHI”, “SABB”
String
TransactionStatusThis tag contains the status of the paymentsString
CompanyCodeSender company Code/IdentifierString
SequenceNumValue of “SequenceNum” tag in the request messageString
TransactionReferenceNumberUnique number representing the transactionsString
FTReferenceNumberFile Reference NumberString
BankReferenceNumberBank Reference NumberString
TransactionTypeTransaction TypeString
DebitAccountNoDebit Account NumberString
AccountName1Account Name 1String
DebitCurrencyDebit CurrencyString
DebitTheirRefDebit Their ReferenceString
CreditTheirRefCredit Their ReferenceString
CreditAccountNoCredit Account NumberString
AccountName2Account Name 2String
CreditCurrencyCredit CurrencyString
CreditAmountCredit AmountString
AmountDebitedAmount DebitedString
CustomerRateCustomer RateString
AmountCreditedAmount CreditedString
BenCustomer1Beneficiary Customer 1String
DebitValueDateDebit Value DateString
CreditValueDateCredit Value DateString
PaymentDetails1Payment Details 1String
PaymentDetails2Payment Details 2String
StatusCodeStatus code of the response
SUCCESS- For successfully settled payment
PENDING- For a pending payment
FAILED- For a payment failed processing
String
StatusDescStatus description of the responseString