Multiple Payments

Disburse multiple payments through Payouts API

SingleView Payouts API 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 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 Multiple Payments Payout

Endpoint details

Endpoint URL

Method

Authentication requirements

/api/v1/payment/fundtransfer?transferType=

POST

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

transferType=

Query Parameter

  1. Same Bank : interbank if all payments are interbank
  2. Local Bank: sarie if all payments are sarie
  3. International : swift if all payments are swift
  4. To be left blank if request has various transfer types

Sample Request

curl --location 'https://sandboxapi.onesingleview.com/api/v1/payment/fundtransfer?transferType=' \
--header 'CompanyId: MYCOMPANY'
--header 'SVReferenceID: SV150619940615'
--header 'DateTimeStamp	:2025-01-02T10:20:39'
--header 'Device: Web'
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjoiTDNyMmpxV29JS2I4MTNodDBNMlZ4WGpFZmR6WFNWaTFad3B5QnlkOVpHelZXR2ZwUmFQNUV1TXl6S1Aybi94Y0lwR2V5STNNMkdPL1pqakd4ZG0yclJKUkdhRXlaWGNpWnZnOHArMWIyOGtOQTVkZ0VKajVVSEdiTmtNPSIsImlhdCI6MTczNTgwMTQ3NywiZXhwIjoxNzM1ODA1MDc3fQ.Bh7LFkvxNFrLe9dmH5rURWjGpES-u4z2EGeyrNM7z6E'
--header 'Content-Type: application/json' \
--data '
{
  "Message": {
    "OSVPaymentMessageRequest": {
      "TransactionType": "MT100",
      "OSVPaymentTransactionRequest": [
        {
          "TransactionDescription": "522 sar",
          "BulkToSingle": "true",
          "BankCode": "ANB",
          "TransactionData": [
            {
              "AdditionalDetails": "/99/SA/Others",
              "OrderingCustomerIBAN": "SA5330400108057386290014",
              "BeneficiaryAccountWithInstitutionBIC": "ARNBSARI",
              "PurposeOfRemittance": "22",
              "TransferType": "interbank",
              "SequenceNum": "977777285462521",
              "BeneficiaryAccountNumberNameAddress": {
                "BeneficiaryADD2": "riyadh",
                "BeneficiaryADD3": "riyadh",
                "BeneficiaryADD1": "Arab national Bank Same bank",
                "BeneficiaryName": "محمد رمضان سالم عاشور",
                "BeneficiaryAccount": "SA8430400108057386290038"
              },
              "OrderingCustomerNameAddress": {
                "OrderingCustomerAdd3": "riyadh",
                "OrderingCustomerAdd1": "Treasury Department, Riyadh",
                "OrderingCustomerAdd2": "riyadh",
                "OrderingCustomerName": "OSV Company"
              },
              "OrderingCurrency": "SAR",
              "TransactionComment": "522 sar",
              "DateCurrencyAmount": {
                "Currency": "SAR",
                "Amount": "49",
                "Date": "250325"
              },
              "OrderingCustomerAccountNumber": "0108057386290014",
              "OrderingInstitution": "ARNBSARI",
              "CompanyCode": "SingleView",
              "DetailsOfCharge": "SHA"
            },
            {
              "AdditionalDetails": "/99/SA/Others",
              "OrderingCustomerIBAN": "SA5330400108057386290014",
              "BeneficiaryAccountWithInstitutionBIC": "ARNBSARI",
              "PurposeOfRemittance": "22",
              "TransferType": "interbank",
              "SequenceNum": "977777225462551",
              "BeneficiaryAccountNumberNameAddress": {
                "BeneficiaryADD2": "riyadh",
                "BeneficiaryADD3": "riyadh",
                "BeneficiaryADD1": "Arab national Bank Same bank",
                "BeneficiaryName": "محمد رمضان سالم عاشور",
                "BeneficiaryAccount": "SA8930400108057386290045"
              },
              "OrderingCustomerNameAddress": {
                "OrderingCustomerAdd3": "riyadh",
                "OrderingCustomerAdd1": "Treasury Department, Riyadh",
                "OrderingCustomerAdd2": "riyadh",
                "OrderingCustomerName": "OSV Company"
              },
              "OrderingCurrency": "SAR",
              "TransactionComment": "522 sar",
              "DateCurrencyAmount": {
                "Currency": "SAR",
                "Amount": "49",
                "Date": "250325"
              },
              "OrderingCustomerAccountNumber": "0108057386290014",
              "OrderingInstitution": "ARNBSARI",
              "CompanyCode": "SingleView",
              "DetailsOfCharge": "SHA"
            }
          ],
          "TransactionReferenceNumber": "977777364313450"
        }
      ]
    }
  },
  "Signature": "luD/Ks4hBQs1+IW78G4Aj5c03acU9dZaT/BZ+O7VVfzyDAut//dUD7RU1nYuaqQnpypwgZiTm78C44C8PkpgNExBSJLK1FrE4yLGXOfBttrSSuyi+5L/Z6kXOwboHVsh5GE5PYgfQfDm0X80FNyBHo5709o8PRV3GXFcCLXGx1h/50uR8FUhTD+LMpJqZPHb5++pfUa/Rq85iXalITYxxI0jLBBe2lSG1snMbepPsdCJ9DVebCR5yOLxwkK10slYqYOlSAjMHw9KAODx2bvLxOgElDhpu5lkt8yJ5SjSLzmpTd7AWPdQ9mi5RGfrTasW18RpT/589Z+z3fxElEIJqA=="
}'

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

BulkToSingle
Optional

Boolean indication of payment type (Bulk/Single)
Usage depends on the volume of payments including in the request. Final parameter value will be specified later

Boolean (True/False)

BankCode
Mandatory

Unique bank identification code
Ex:ALRAJHI, SABB, BSF, ANB, SNB, ALINMA, GIB, RIYADH, ALBI, BJAZ

Alphabet

TransactionReferenceNumber
Mandatory

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

Numeric

TransactionData
Mandatory

This tag contains the payment details

Object/Array

AdditionalDetails
Optional

Additional details about the payment
Max size of input: 35 Characters

String

OrderingCustomerIBAN
Mandatory

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

Alphanumeric

BeneficiaryAccountWithInstitutionBIC
Mandatory

Beneficiary BIC Code

  • Ex: SABBSARI, RJHISARI
    Maximum length: 8 or 11 characters_

Alphanumeric

PurposeOfRemittance
Mandatory

Code representing the purpose of remittance
View all POR codes

Numeric

TransferType
Mandatory

Same Bank : interbank
Local Bank: sarie
International : swift

Alphabet

SequenceNum
Mandatory

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

Numeric

BeneficiaryAccountNumberNameAddress
Mandatory

Element root containing details of Beneficiary

Object/Array

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

BeneficiaryName
Mandatory

Beneficiary Name

  • Input size:
    Min - 3 Characters
    Max - 35 Characters_

Alphabet

BeneficiaryAccount
Mandatory

Beneficiary Customer’s account number

  • Input size:
    Min - 11 Characters
    Max - 24 Characters_

String

OrderingCustomerNameAddress
Mandatory

Element root containing details of Ordering customer

Object/Array

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

OrderingCurrency
Mandatory

This is the currency code used in the transaction.
Maximum length : 3 digit currency code

Alphabet

TransactionComment
Mandatory

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

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

B2BUserId
Conditional

Unique B2B user identification details
Mandatory only for ICICI Bank

String

B2BUrn
Conditional

Unique B2B URN
Mandatory only for ICICI Bank

String

B2BCRN
Conditional

Unique Identity for Client Will be provided by Al Rajhi Bank. Mandatory only for Al Rajhi Bank.

String

OrderingCustomerAccountNumber
Mandatory

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

CompanyCode
Mandatory

Unique identification code of the company

Alphanumeric

DetailsOfCharge
Mandatory

To be mentioned as SHA

Alphabet

Signature
Mandatory

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

String

Sample responses

✅ Successful response

{
  "OSVPaymentMessageResponse": {
    "OSVPaymentTransactionResponse": [
      {
        "BankCode": "ANB",
        "BankReferenceNumber": "",
        "TransactionReferenceNumber": "977777364313450",
        "TransactionData": [
          {
            "CompanyCode": "SingleView",
            "SequenceNum": "977777285462521",
            "StatusCode": "OK",
            "StatusDetail": "Payment processed successfully",
            "AckReference": "BT00204699",
            "TransferType": "interbank",
            "BulkToSingle": "true",
            "BankReferenceNumber": "9f417032-d9a0-4a7a-aaeb-4fbc6291ae94",
          },
          {
            "CompanyCode": "SingleView",
            "SequenceNum": "977777225462551",
            "StatusCode": "OK",
            "StatusDetail": "Payment processed successfully",
            "AckReference": "BT00204698",
            "TransferType": "interbank",
            "BulkToSingle": "true",
            "BankReferenceNumber": "fc1e02e9-5890-462e-a6e3-c9fed388d4aa"
          }
        ]
      }
    ]
  }
}

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
Ex:ALRAJHI, SABB, BSF, ANB, NCB, ALINMA, GIB, RIYADH, ALBI, BJAZ

String

BankReferenceNumber

Bank Reference Number

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

Value of SequenceNum tag in the request message generated by the client

String

StatusCode

Code representing status of the request
OK
FAILED
ONHOLD - In such case Perform a payment enquiry. If payment enquiry cannot be performed, contact customer support

Alphabetical

StatusDetail

Details of the status code represented:
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! Please perform payment enquiry to check the status after few minutes or contact support.

String

AckReference

Transaction acknowledgement reference identification details

String

TransferType

Type of transfer as interbank, sarie, swift

Alphabetic

BulkToSingle

Boolean indication of payment type (Bulk/Single)
Usage depends on the volume of payments including in the request. Final parameter value will be specified later

Boolean (True/False)

BankReferenceNumber

Unique bank reference identification details for the transaction

String