Multiple Payments
Disburse multiple payments through Fund Transfer API
Singleview Fund Transfer allow multiple payments facility through JSON request and responses. The request in the specified format is posted to concerned end-point. Based on the validity of the request, Singleview Fund Transfer API processes the request and reflects a response accordingly. The authentication process involves additional identification parameters to ensure the best possible means of authorizing 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
- Sandbox API - https://sandboxapi.onesingleview.com
- Production/LIVE API - To be provided upon onboarding
End-point & Header authentication requirements
Endpoint | Method | Grant type | Service Validations |
---|---|---|---|
/api/v1/payment/fundtransfer | POST | The header should include: 1. clientId 2. clientCode 3. Access Token 4. SVReferenceID 5. CompanyId | Refer validations |
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"
},
"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"
},
"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 Tag | Description | Data type |
---|---|---|
Message Mandatory | Header information (client credentials) | Object & String |
OSVPaymentMessageRequest Mandatory | Root node containing all the payment transaction messages | Object |
TransactionType Mandatory | Always it should be "MT100" | String |
OSVPaymentTransactionRequest Mandatory | This tag contains multiple banks requests | Object |
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 details | Object/Array |
CompanyCode Mandatory | Sender company code/Identifier provided by the bank | String |
SequenceNum Mandatory | Unique number representing each transaction | String |
DateCurrencyAmount Mandatory | Element root containing details of Date, Currency and Amount | String |
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 customer | Object/Array |
OrderingCustomerName Mandatory | Ordering Customer’s Name | String |
OrderingCustomerAdd1 Mandatory | Ordering Customer’s Address | String |
OrderingCustomerAdd2 Mandatory | Ordering Customer’s Address | String |
OrderingCustomerAdd3 Optional | Ordering Customer’s Address | String |
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 Name | String |
BeneficiaryName Mandatory | Beneficiary Name | String |
BeneficiaryADD1 Mandatory | Beneficiary Address | String |
BeneficiaryADD2 Optional | Beneficiary Address | String |
PurposeOfRemittance Mandatory | Always should be “99” | String |
DetailsOfCharge Mandatory | Always should be “SHA” | String |
AdditionalDetails Mandatory | Additional details | String |
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 Tag | Description | Data type |
---|---|---|
OSVPaymentMessageResponse | Root node | Object |
OSVPaymentTransactionResponse | Element root containing response of every bank transactions | Object/Array |
BankCode | Name of the bank. Ex: “ALRAJHI”, “SABB” | String |
BankReferenceNumber | BankReferenceNumber | String |
TransactionReferenceNumber | It is a unique reference number generated by the customer by the time of transaction) Maximum length : 16 numeric characters | 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. Maximum Length :16 digits numeric | String |
❌ Invalid/Failed response
{
status: "FAILURE",
errorCode: "Failed_Code",
message: "Failed_Message"
}
Invalid/failed response description:
JSON Tag | Description | Data type |
---|---|---|
status | Status of the Process | String |
errorCode | Error Code | String |
message | Response Message | String |
⚠️ Technical error
{
status: "TECHERROR",
errorCode: "Error_Code",
message: "Error_Message"
}
Error response description:
JSON Tag | Description | Data type |
---|---|---|
status | Status of the Process | String |
errorCode | Error Code | String |
message | Response Message | String |
Updated about 2 months ago