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 Date tag in YYMMDD format should have an upcoming date. Transaction with a past date gets failed.
  • Ensure that the SequenceNum is unique for each transaction. Payments with same sequence number appear as duplicate transactions and affects their processing and enquiry operations.
🌐

Domain details

EnvironmentDomainRate/Limit
Sandboxsandboxapi.onesingleview.com10 Calls per Minute
Production/LIVETo be provided upon onboardingBased on contract

Make a Single Payment - V2.0

Endpoint details

Endpoint URL

Method

Authentication requirements

/api/v2/single/payment

POST

  1. CompanyId
  2. SVReferenceID
  3. DateTimeStamp
  4. Device
  5. Authorization: Bearer (Token)

Sample request

curl --location 'https://sandboxapi.onesingleview.com/api/v2/single/payment' \
--header 'SVReferenceID:  sv123456' \
--header 'CompanyId: SINGLEVIEW0001' \
--header 'Device: web' \
--header 'DateTimeStamp: 2025-08-04T10:20:39' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjoiTDNyMmpxV29JS2I4MTNodDBNaVN4MzdCZHREWlNGdTFad3B5QnlkOVpHelZXR2ZwUmFQNUYrZzB5YVg5bi9KVE5wK1FucERJMEZXWWN6VGJsOEc5cXhaUkZhSXphSEVuWmZnMTdZckV1SlFwRGQ2UTczd1Z0a3dFaCtFUSIsImlhdCI6MTc1NDMwOTEyMSwiZXhwIjoxNzU0MzEyNzIxfQ.bHTDX5yJChHXJCA6futcLGDdBW2ln0_szAJcGTVa7oY' \
--header 'Content-Type: application/json' \
--data '{
"Message": {
  "OSVPaymentMessageRequest": {
    "TransactionType": "MT100",
    "OSVPaymentTransactionRequest": [
      {
        "TransactionDescription": "Service Payment",
        "BankCode": "ANB",
        "TransactionData": [
          {
            "PurposeOfRemittance": "38",
            "TransferType": "interbank",
            "SequenceNum": "2112123",
            "OrderingCustomerIBAN": "SA8431234567890386290038",
            "OrderingCustomerAccountNumber": "0123456786290038",
            "OrderingInstitution": "ARNBSARI",
            "OrderingCurrency": "SAR",
            "OrderingCustomerNameAddress": {
              "OrderingCustomerName": "SingleView",
              "OrderingCustomerAdd1": "Suite 4444, B-Tower, Alawwal Street",
              "OrderingCustomerAdd2": "Riyadh",
              "OrderingCustomerAdd3": "Saudi Arabia"
            },
            "BeneficiaryAccountWithInstitutionBIC": "ARNBSARI",
            "BeneficiaryAccountNumberNameAddress": {
              "BeneficiaryName": "Yusuf Muhammad",
              "BeneficiaryADD1": "Suite 1234, Q-Tower, Business Street",
              "BeneficiaryADD2": "Riyadh",
              "BeneficiaryADD3": "Saudi Arabia",
              "BeneficiaryAccount": "SA5330412345678986290014"
            },
            "TransactionComment": "Regular service payment",
            "DateCurrencyAmount": {
              "Currency": "SAR",
              "Amount": "122",
              "Date": "250804"
            },
            "CompanyCode": "SV0001",
            "DetailsOfCharge": "SHA",
            "AdditionalDetails": ""
          }
        ],
        "TransactionReferenceNumber": "913123456"
      }
    ]
  }
},
"Signature": "D1vI4wPa25IoUC25sTWcNoiO8m7v5/v22YfET9ZsclhVRT6RbK7jP85tUFt794jN4tdJaDLW8xMiCkSZz97gas+8VBWt42wSJ8a+TDJjOpptHRjzw2cHx6drO/l+bsO0uKsgnLyw9TR7fyxSjrQd670dcppivrl1550wbHReEjAqBpjiNJsmhyBq62SSyXYR+ykjIdRcpejJHCR/p0fuYTUVGzIKgVkJkdJRteXqwRBk/KmhrrDf+T6BMP/1O4yN/IuoRvMErHKT2AvkIYrVh9XlhVowohMSAcIoNLm3MZFQGFhuBpVNtiUaeWi+mUDbfyBvSeoWaepE4wUwfcD9yQ=="
}'

Request Description

JSON Tag

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 MT100

Alphanumeric

OSVPaymentTransactionRequest Mandatory

This tag contains multiple banks requests

Object

TransactionDescription Mandatory

Payment Description Maximum length : 35 characters

String

BankCode Mandatory

Unique bank identification code ALRAJHI - Al Rajhi Bank ALINMA - Alinma Bank SABB - Saudi Awaal Bank BSF - Banque Saudi Fransi ANB - Arab National Bank NCB - Saudi National Bank RIYADH - Riyadh Bank GIB - Gulf International Bank BJAZ - Bank Al Jazira ALBI - Bank Al Bilad

Alphanumeric

TransactionData Mandatory

This tag contains the payment details

Array

PurposeOfRemittance Conditional Review POR list for mandatory banks

Code representing the purpose of remittance View all POR codes

Numeric

TransferType Mandatory

Same Bank : interbank Local Bank: sarie International : swift

Alphabet

SequenceNum Conditional Mandatory for SAB

Unique number representing each transaction generated by the client Length of input: 16 characters

Numeric

OrderingCustomerIBAN Conditional

Ordering Customer’s IBAN number (Any one is mandatory Account Number or IBAN Number)

Alphanumeric

OrderingCustomerAccountNumber Conditional Mandatory for SNB

Ordering Customer’s account number (Any one is mandatory Account Number or IBAN Number) Input size: Min - 11 Characters Max - 24 Characters

Alphanumeric

OrderingInstitution Mandatory

Ordering Institution Ex: SABBSARI, RJHISARI Maximum length: 8 or 11 characters

Alphanumeric

OrderingCurrency Mandatory

This is the currency code used in the transaction. Length of input : 3 digit currency code

Alphabet

OrderingCustomerNameAddress Mandatory

Element root containing details of Ordering customer

Object

OrderingCustomerName Mandatory

Ordering Customer’s Name Input size: Min - 3 Characters Max - 35 Characters

Alphabet

OrderingCustomerAdd1 Mandatory

Ordering Customer’s Address Line 1 Input size: Min - 3 Characters Max - 35 Characters

String

OrderingCustomerAdd2 Mandatory

Ordering Customer’s Address Line 2 ( city to be mentioned) Input size: Min - 3 Characters Max - 35 Characters

String

OrderingCustomerAdd3 Mandatory

Ordering Customer’s Address Line 3 Input size: Min - 3 Characters Max - 35 Characters

String

BeneficiaryAccountWithInstitutionBIC Mandatory

Beneficiary BIC Code Ex: SABBSARI, RJHISARI Maximum length: 8 or 11 characters

Alphanumeric

BeneficiaryAccountNumberNameAddress Mandatory

Element root containing details of the beneficiary

Object

BeneficiaryAccount Mandatory

Beneficiary Customer’s account number Input size: Min - 11 Characters Max - 24 Characters

String

BeneficiaryName Mandatory

Beneficiary Name Input size: Min - 3 Characters Max - 35 Characters

Alphabetic

BeneficiaryADD1 Mandatory

Beneficiary Address Line 1 Input size: Min - 3 Characters Max - 35 Characters

String

BeneficiaryADD2 Mandatory

Beneficiary Address Line 2 ( city to be mentioned) Input size: Min - 3 Characters Max - 35 Characters

String

BeneficiaryADD3 Mandatory

Beneficiary Address Line 3 Input size: Min - 3 Characters Max - 35 Characters

String

TransactionComment Mandatory

Additional comments for the payments Max size of input: 35 Characters

String

B2BAggrId Conditional

Unique B2B aggregator identification details. Mandatory only for ICICI Bank

Alphanumeric

B2BName Conditional

Unique B2B name Mandatory only for ICICI Bank

Alphabet

B2BUserId Conditional

Unique B2B user identification details Mandatory only for ICICI Bank

Alphanumeric

B2BUrn Conditional

Unique B2B URN Mandatory only for ICICI Bank

String

B2BCRN Conditional

Unique Commercial Registration Number for Client provided by Al Rajhi Bank Mandatory only for Al Rajhi Bank

String

DateCurrencyAmount Mandatory

Element root containing details of Date, Currency and Amount

Object

Date Mandatory

Value date Transactions will be performed on this date. Date must be expressed as YYMMDD Maximum length : 6 numeric characters

Date

Currency Mandatory

This is the currency code used in the transaction. Length of input: 3 characters

Alphabetic

Amount Mandatory

This is the amount used in the transaction

Numeric

CompanyCode Mandatory

Sender company code/Identifier provided by the bank

Alphanumeric

DetailsOfCharge Mandatory

Always should be SHA

Alphabet

AdditionalDetails Optional

Additional details Max size of input: 35 Characters

String

TransactionReferenceNumber Mandatory

It is a unique reference number generated by the customer for each transaction) Maximum length : 16 numeric characters

Numeric

Signature Mandatory

Encrypted string generated using a Private Key/CA-Signed Certificate with SHA-256 and RSA (JCE Signature)

String

Sample responses

{
  "OSVPaymentMessageResponse": {
    "OSVPaymentTransactionResponse": [
      {
        "BankCode": "ANB",
        "TransactionReferenceNumber": "913123456",
        "TransactionData": [
          {
            "CompanyCode": "SV0001",
            "SequenceNum": "2112123",
            "StatusCode": "OK",
            "StatusDetail": "OK",
            "AckReference": "BT00231152",
            "BankReferenceNumber": "e38d6ef9-13af-417c-b233-073cab4cd71f"
          }
        ]
      }
    ]
  }
}
{
  "OSVPaymentMessageResponse": {
    "OSVPaymentTransactionResponse": [
      {
        "BankCode": "ANB",
        "TransactionReferenceNumber": "913123456",
        "TransactionData": [
          {
            "CompanyCode": "SV0001",
            "SequenceNum": "2112123",
            "StatusCode": "FAILED",
            "StatusDetail": "Duplicate payment request with sequence id 2112123"
          }
        ]
      }
    ]
  }
}

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 ALRAJHI - Al Rajhi Bank ALINMA - Alinma Bank SABB - Saudi Awaal Bank BSF - Banque Saudi Fransi ANB - Arab National Bank NCB - Saudi National Bank RIYADH - Riyadh Bank GIB - Gulf International Bank BJAZ - Bank Al Jazira ALBI - Bank Al Bilad

String

TransactionReferenceNumber

It is a unique reference number generated by the customer by the time of transaction)

String

TransactionData

This tag contains the status of the payments

String

CompanyCode

Sender company Code/Identifier

String

SequenceNum

Unique sequence number of the transaction generated by the client

String

StatusCode

Code representing status of the request OK FAILED ONHOLD

Alphabet

StatusDetail

Details about the status of the request OK - Your Payment file has been accepted. Kindly attempt to do a Payment Enquiry in a few minutes to know the Final status. FAILED - Invalid Account number, Exceed Daily Limit, Account Restricted, Connectivity Error ONHOLD - Response timeout! In such case, Perform a payment enquiry. If payment enquiry cannot be performed, contact customer support

String

AckReference

Unique acknowledgement reference identification provided by the bank for the payment

String

BankReferenceNumber

Unique reference number provided by the bank for the transaction

String