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

🌐Domain details

Make Multiple Payments Payout

Endpoint details

Endpoint URLMethodGrant type
/api/v1/payment/fundtransferPOST1. clientId
2. clientCode
3. Access Token
4. SVReferenceID
5. CompanyId
6. Signature

Sample Request

curl --location 'https://sandboxapi.onesingleview.com/api/payment/fundtransfer' \
--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": {
    "TransactionType": "Enter_Transaction_Type",
    "OSVPaymentTransactionRequest": [
      {
        "BankCode": "Enter_Bank_Code",
        "TransactionReferenceNumber": "Enter_Transaction_Reference_Number",
        "TransactionDescription": "Enter_Transaction_Description",
        "BulkToSingle": true,
        "TransactionData": [
          {
            "CompanyCode": "Enter_Company_Code",
            "SequenceNum": "Ente_Sequence_Number",
            "B2BAggrId": "Enter_B2B_Aggregator_ID",
            "B2BName": "Enter_B2B_Name",
            "B2BUserId": "Enter_B2B_User_ID",
            "B2BUrn": "Enter_B2B_URN",
            "B2BCRN": "Enter_B2B_CRN",
            "DateCurrencyAmount": {
              "Date": "Enter_Date",
              "Currency": "Enter_Currency_",
              "Amount": "Enter_Amount"
            },
            "OrderingCustomerNameAddress": {
              "OrderingCustomerName": "Enter_Ordering_Customer_Name",
              "OrderingCustomerAdd1": "Enter_Address_Line_1",
              "OrderingCustomerAdd2": "Enter_Address_Line_2",
              "OrderingCustomerAdd3": "Enter_Address_Line_3"
            },
            "OrderingInstitution": "Enter_Ordering_Institution_Code",
            "OrderingCustomerAccountNumber": "Ordering_Customer_Account_Number",
            "OrderingCustomerIBAN": "Ordering_Customer_IBAN",
            "OrderingCurrency": "Enter_Ordering_Currency",
            "BeneficiaryAccountWithInstitutionBIC": "Enter_Beneficiary_Account_With_Institution_BIC",
            "BeneficiaryAccountNumberNameAddress": {
              "BeneficiaryAccount": "Enter_Beneficiary_Account",
              "BeneficiaryName": "Enter_Beneficiary_Name",
              "BeneficiaryADD1": "Enter_Beneficiary_Address_Line1",
              "BeneficiaryADD2": "Enter_Beneficiary_Address_Line2",
              "BeneficiaryADD3": "Enter_Beneficiary_Address_Line3"
            },
            "PurposeOfRemittance": "Enter_Purporse_of_Remittance",
            "DetailsOfCharge": "Enter_Details_of_Charge",
            "AdditionalDetails": "Add_Additional_Details",
            "TransactionComment": "Enter_Transaction_Comment",
            "TransferType": "Enter_Transaction_Type"
          }
        ]
      },
      {
        "BankCode": "Enter_Bank_Code",
        "TransactionReferenceNumber": "Enter_Transaction_Reference_Number",
        "TransactionDescription": "Enter_Transaction_Description",
        "BulkToSingle": true,
        "TransactionData": [
          {
            "CompanyCode": "Enter_Company_Code",
            "SequenceNum": "Ente_Sequence_Number",
            "DateCurrencyAmount": {
              "Date": "Enter_Date",
              "Currency": "Enter_Currency_",
              "Amount": "Enter_Amount"
            },
            "OrderingCustomerNameAddress": {
              "OrderingCustomerName": "Enter_Ordering_Customer_Name",
              "OrderingCustomerAdd1": "Enter_Address_Line_1",
              "OrderingCustomerAdd2": "Enter_Address_Line_2",
              "OrderingCustomerAdd3": "Enter_Address_Line_3"
            },
            "OrderingInstitution": "Enter_Ordering_Institution_Code",
            "OrderingCustomerAccountNumber": "Ordering_Customer_Account_Number",
            "OrderingCustomerIBAN": "Ordering_Customer_IBAN",
            "OrderingCurrency": "Enter_Ordering_Currency",
            "BeneficiaryAccountWithInstitutionBIC": "Enter_Beneficiary_Account_With_Institution_BIC",
            "BeneficiaryAccountNumberNameAddress": {
              "BeneficiaryAccount": "Enter_Beneficiary_Account",
              "BeneficiaryName": "Enter_Beneficiary_Name",
              "BeneficiaryADD1": "Enter_Beneficiary_Address_Line1",
              "BeneficiaryADD2": "Enter_Beneficiary_Address_Line2",
              "BeneficiaryADD3": "Enter_Beneficiary_Address_Line3"
            },
            "PurposeOfRemittance": "Enter_Purporse_of_Remittance",
            "DetailsOfCharge": "Enter_Details_of_Charge",
            "AdditionalDetails": "Add_Additional_Details",
            "TransactionComment": "Enter_Transaction_Comment",
            "TransferType": "Enter_Transaction_Type"
          }
        ]
      }
    ]
  }
},
"Signature": "Enter_Signature_String"
}'

Request Description

JSON TagDescriptionData type
Message
Mandatory
Header information (client credentials)Object & String
OSVPaymentMessageRequest
Mandatory
Root node containing all the payment transaction messagesObject
TransactionType
Mandatory
Always it should be "MT100"String
OSVPaymentTransactionRequest
Mandatory
This tag contains multiple banks requestsObject
BankCode
Mandatory
Bank Code (Identifier)
Ex: “ALRAJHI”, “SABB”
String
TransactionReferenceNumber
Mandatory
It is a unique reference number generated by the customer for each transaction
Maximum length : 16 numeric characters
String
TransactionDescription
Mandatory
Payment Description
Maximum length : 35 characters
String
BulkToSingle
Mandatory
Boolean indication of payment type (Bulk/Single)Boolean (True/False)
TransactionData
Mandatory
This tag contains the payment detailsObject/Array
CompanyCode
Mandatory
Sender company code/Identifier provided by the bankString
SequenceNum
Mandatory
Unique number representing each transactionString
B2BAggrId
Conditional
Unique B2B aggregator identification details. Mandatory only for ICICI Bank.String
B2BName
Conditional
Unique B2B name. Mandatory only for ICICI Bank.String
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
DateCurrencyAmount
Mandatory
Element root containing details of Date, Currency and AmountString
Date
Mandatory
Value date
(Transactions will be performed on this date.
Date must be expressed as YYMMDD <year, month, day>.)
Maximum length : 6 numeric characters
String
Currency
Mandatory
This is the currency code used in the transaction.
Maximum length: 3 digit currency code
String
Amount
Mandatory
This is the amount used in the transaction.
Maximum length : 15 digit amount
Numerical
OrderingCustomerNameAddress
Mandatory
Element root containing details of Ordering customerObject/Array
OrderingCustomerName
Mandatory
Ordering Customer’s Name String
OrderingCustomerAdd1
Mandatory
Ordering Customer’s AddressString
OrderingCustomerAdd2
Mandatory
Ordering Customer’s AddressString
OrderingCustomerAdd3
Mandatory
Ordering Customer’s AddressString
OrderingInstitution
Mandatory
Ordering Institution
Ex: SABBSARI, RJHISARI
String
OrderingCustomerAccountNumber
Mandatory
Ordering Customer’s account number (Any one is mandate Account Number or IBAN Number)String
OrderingCustomerIBAN
Mandatory
Ordering Customer’s IBAN number (Any one is mandate Account Number or IBAN Number)String
OrderingCurrency
Mandatory
This is the currency code used in the transaction.
Maximum length : 3 digit currency code
String
BeneficiaryAccountWithInstitutionBIC
Mandatory
Beneficiary BIC Code
Ex: SABBSARI, RJHISARI
Maximum length: 8 or 11 characters
String
BeneficiaryAccountNumberNameAddress
Mandatory
Element root containing details of Beneficiary Object/Array
BeneficiaryAccount
Mandatory
Beneficiary Customer’s NameString
BeneficiaryName
Mandatory
Beneficiary NameString
BeneficiaryADD1
Mandatory
Beneficiary Address Line 1String
BeneficiaryADD2
Mandatory
Beneficiary Address Line 2String
BeneficiaryADD3
Mandatory
Beneficiary Address Line 3String
PurposeOfRemittance
Mandatory
Always should be “99”String
DetailsOfCharge
Mandatory
Always should be “SHA”String
AdditionalDetails
Mandatory
Additional detailsString
TransactionComment
Mandatory
Additional comments for the payments
Min Length: 5 Characters, Max Length : 30 Chars
String
TransferType
Mandatory
Same Bank : interbank,
Local Bank: sarie,
International : swift
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

✅ Successful response

{
  "OSVPaymentMessageResponse": {
    "OSVPaymentTransactionResponse": [
      {
        "BankCode": "Bank_Code",
        "BankReferenceNumber": "",
        "TransactionReferenceNumber": "Transaction_Reference_Number",
        "TransactionData": [
          {
            "CompanyCode": "Company_Code",
            "SequenceNum": "Sequence_Number",
            "StatusCode": "Status",
            "StatusDetail": "Status_Message"

          }
        ]
      },
      {
        "BankCode": "Bank_Code",
        "BankReferenceNumber": "",
        "TransactionReferenceNumber": "Transaction_Reference_Number",
        "TransactionData": [
          {
            "CompanyCode": "Company_Code",
            "SequenceNum": "Sequence_Number",
            "StatusCode": "Status",
            "StatusDetail": "Status_Message"

          }
        ]
      }
    ]
  }
}

Response description

JSON TagDescriptionData type
OSVPaymentMessageResponseRoot nodeObject
OSVPaymentTransactionResponseElement root containing response of every bank transactionsObject/Array
BankCodeName of the bank.
Ex: “ALRAJHI”, “SABB”
String
BankReferenceNumberBankReferenceNumberString
TransactionReferenceNumberIt is a unique reference number generated by the customer by the time of transaction)
Maximum length : 16 numeric characters
String
TransactionDataThis tag contains the status of the paymentsString
CompanyCodeSender company Code/IdentifierString
SequenceNumValue of “SequenceNum” tag in the request message.
Maximum Length :16 digits numeric
String