Single Payment

Make a single payment through Payouts API

SingleView Payouts API 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

🌐Domain details

Make a single payment

Endpoint details

Endpoint URLMethodAuthentication requirements
/api/v1/payment/fundtransferPOST1. clientid
2. clientsecret
3. Authroization: Bearer (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",
            "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 & Strings
OSVPaymentMessageRequest
Mandatory
Root node containing all the payment transaction messagesTag
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
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
Optional
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 response

✅ Successful response

{
  "OSVPaymentMessageResponse": {
    "OSVPaymentTransactionResponse": [
      {
        "BankCode": "ALRAJHI",
        "BankReferenceNumber": "",
        "TransactionReferenceNumber": "882537611",
        "TransactionData": [
          {
            "CompanyCode": "125001291",
            "SequenceNum": "8825376008111",
            "StatusCode": "OK",
            "StatusDetail": "Your Payment file has been accepted, Kindly attempt to do a Payment Inquiry in a few minutes to know the Final status."
          }
        ]
      }
    ]
  }
}

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
StatusCodeCode representing status of the requestString
StatusDetailDetails about the status of the requestString