Multiple/bulk payments processing

Process a multiple/bulk payment through Singleview Payments API

Overview

Just like processing a single payment, the multiple or bulk payments processing requires the following details to be enclosed in the payment request:

πŸ“˜

Mandatory information

  • The user must provide the valid credentials in the header
  • Valid Signature, Access code as "Authorization: Bearer" and Session ID
  • Payment Token has to be generated and assigned from the user end
  • OTP has to be requested and a valid OTP has to be mentioned
  • The request should be in the specified format
  • The request should include all the mandatory details with appropriate request tags

A Process Payment request (Multiple/Bulk) in the following format should be posted to the URL https://servicesuat.onesingleview.com/v1/api/osvPlatform/payment.

🚧

"isBulk" status

  • If "True", then payments with the same debiting account number will be considered as a bulk payment and a single transaction will be considered
  • If "False", then payments included in the request will be considered as single payments and individual transactions

Process Bulk Payments

Endpoint details

Endpoint URLMethodAuthentication requirements
/v1/api/osvPlatform/paymentPOST1. clientId
2. clientCode
3. signature
4. sid
5. Authorization: Bearer
6. otp

Sample request

curl --location --request POST 'https://servicesuat.onesingleview.com/v1/api/osvPlatform/payment' \
--header 'clientId: Enter_Client_ID' \
--header 'clientcode: Enter_Client_Code' \
--header 'signature: Enter_Signature' \
--header 'sid: Enter_Session_ID' \
--header 'Authorization: Bearer Enter_Authorization_Key' \
--header 'Content-Type: application/json' \
--header 'Cookie: _redisPractice=s%3AZCBGJUQpUkodCfQzjQKS8FVNocn21g2p.jbPbPmfogwh2nDlTq6zjN5PihTC7oFWyrFVWASXiVas' \
--data-raw '{
  "osvPlatformPaymentRQ": {
    "userName":"Enter_Username",
    "skipOTP": true,
    "otp":"Enter_OTP",
    "payToken":"Enter_Payment_Token",
    "transactionType": "MT100",
        "osvPlatformBanks": [
      {
       "bankCode": "Enter_Bank_Code",
       "bankAccessToken": "Enter_Bank_Access_Token"
       "isBulk" : true,
       "comments":"Enter_Comments",
       "osvPlatformPayments": [
          {
            "companyCode": "Company_Code",
            "currency":"Enter_Currency",
            "amount" : 00.00,
            "debitAccount": {
              "accountHolderName": "Enter_Account_Holder_Name",
              "accountNumber": "Enter_Account_Number",
              "bic":"Enter_BIC",
              "address": "Enter_Address"
             },
              "creditAccount": {
              "accountHolderName": "Enter_Account_Holder_Name",
              "accountNumber": "Enter_Account_Number",
              "bic":"Enter_BIC",
              "address": "Enter_Address"
             },
            "transferType":"Type_of_Transfer",
            "por": "/XX//Select_POR"
          },
          {
            "companyCode": "Company_Code",
            "currency":"Enter_Currency",
            "amount" : 00.00,
            "debitAccount": {
              "accountHolderName": "Enter_Account_Holder_Name",
              "accountNumber": "Enter_Account_Number",
              "bic":"Enter_BIC",
              "address": "Enter_Address"
             },
              "creditAccount": {
              "accountHolderName": "Enter_Account_Holder_Name",
              "accountNumber": "Enter_Account_Number",
              "bic":"Enter_BIC",
              "address": "Enter_Address"
             },
            "transferType":"Type_of_Transfer",
            "por": "/XX//Select_POR"
          }
        ]
      },
      {
        "bankCode": "Enter_Bank_Code",
        "bankAccessToken": "Enter_Bank_Access_Token"
        "isBulk" : true,
        "comments":"Enter_Comments",
        "osvPlatformPayments": [
          {
            "companyCode": "Company_Code",
            "currency":"Enter_Currency",
            "amount" : 00.00,
            "debitAccount": {
              "accountHolderName": "Enter_Account_Holder_Name",
              "accountNumber": "Enter_Account_Number",
              "bic":"Enter_BIC",
              "address": "Enter_Address"
             },
              "creditAccount": {
              "accountHolderName": "Enter_Account_Holder_Name",
              "accountNumber": "Enter_Account_Number",
              "bic":"Enter_BIC",
              "address": "Enter_Address"
             },
            "transferType":"Type_of_Transfer",
            "por": "/XX//Select_POR"
          },
          {
            "companyCode": "Company_Code",
            "currency":"Enter_Currency",
            "amount" : 00.00,
            "debitAccount": {
              "accountHolderName": "Enter_Account_Holder_Name",
              "accountNumber": "Enter_Account_Number",
              "bic":"Enter_BIC",
              "address": "Enter_Address"
             },
              "creditAccount": {
              "accountHolderName": "Enter_Account_Holder_Name",
              "accountNumber": "Enter_Account_Number",
              "bic":"Enter_BIC",
              "address": "Enter_Address"
             },
            "transferType":"Type_of_Transfer",
            "por": "/XX//Select_POR"
          }
        ]
      }
    ]
  }
}'

Request description:

JSON TagDescriptionData type
clientId
Mandatory
Client IDString
clientCode
Mandatory
Client CodeString
signature
Mandatory
SignatureString
sid
Mandatory
Session IDString
Authorization: Bearer
Mandatory
Authorization Bearer Code i.e., Access TokenString
osvPlatformPaymentRQ
Mandatory
Process Payment Request TagObject
userName
Mandatory
Account UsernameString
"skipOTP
Mandatory
True or False to enable or disable OTP verification optionBoolean
otp
Mandatory
One-Time Password for Payment VerificationString
payToken
Mandatory
Payment Token for AuthorizationString
transactionType
Mandatory
Type of transactionsString
osvPlatformBanks
Mandatory
Array of BanksArray
isBulk
Mandatory
Bulk processing status to be true for bulk payments processingBoolean
bankCode
Mandatory
Bank Code as per Bank NameString
bankAccessToken
Optional
Bank access tokenString
comments
Mandatory
Comments about the paymentString
osvPlatformPayments
Mandatory
Array of Payment to processArray
companyCode
Mandatory
Company CodeString
currency
Mandatory
Currency of the paymentString
amount
Mandatory
Amount to be paidString
debitAccount
Mandatory
Debit account detailsObject
accountHolderName
Mandatory
Name of the account holderString
accountNumber
Mandatory
Account NumberString
bic
Mandatory
BIC Code of the bankString
address
Mandatory
AddressString
creditAccount
Mandatory
Crediting account detailsObject
transferType
Mandatory
Type of transferString
por
Mandatory
Purpose of remittanceString

Sample responses

Valid/Successful response

βœ”οΈ If Valid information in the header and body of a request is processed successfully

{
    "osvPlatformPaymentRS": {
        "status": "SUCCESS",
        "osvPlatformBanks": [
            {
                "bankCode": "Bank_Code",
                "transactionReferenceNumber": "Transaction_Reference_Number",
                "osvPlatformPayments": [
                    {
                        "status": "Status_of_Process",
                        "statusDetail": "Status_Details",
                        "companyCode": "Company_Code",
                        "sequenceNum": "Sequence_Number",
                        "statusCode": "Status_Code",
                        "ackReference": "Acknowledge_Reference",
                        "transactionDate": "Transaction_Date",
                        "transferType": "Transfer_Type",
                        "transferTypeReferenceNumber": "Transfer_Type_Reference_Number",
                        "bankReferenceNumber": "Bank_Reference_Number",
                        "debitCurrency": "Debit_Currency",
                        "debitAmount": 00.00,
                        "amountCredited": 00.00,
                        "chargeAmount": 00.00,
                        "customerRate": "Customer_Rate",
                        "b2bUrn": "B2B_URN",
                        "b2bAggrId": "B2B_Aggregate_ID",
                        "b2bAggrName": "B2B_Aggregate_Name",
                        "b2bUserId": "B2B_User_ID"
                    },
                    {
                        "status": "Status_of_Process",
                        "statusDetail": "Status_Details",
                        "companyCode": "Company_Code",
                        "sequenceNum": "Sequence_Number",
                        "statusCode": "Status_Code",
                        "ackReference": "Acknowledge_Reference",
                        "transactionDate": "Transaction_Date",
                        "transferType": "Transfer_Type",
                        "transferTypeReferenceNumber": "Transfer_Type_Reference_Number",
                        "bankReferenceNumber": "Bank_Reference_Number",
                        "debitCurrency": "Debit_Currency",
                        "debitAmount": 00.00,
                        "amountCredited": 00.00,
                        "chargeAmount": 00.00,
                        "customerRate": "Customer_Rate",
                        "b2bUrn": "B2B_URN",
                        "b2bAggrId": "B2B_Aggregate_ID",
                        "b2bAggrName": "B2B_Aggregate_Name",
                        "b2bUserId": "B2B_User_ID"
                    }
                ]
            },
            {
                "bankCode": "Bank_Code",
                "transactionReferenceNumber": "Transaction_Reference_Number",
                "osvPlatformPayments": [
                    {
                        "status": "Status_of_Process",
                        "statusDetail": "Status_Details",
                        "companyCode": "Company_Code",
                        "sequenceNum": "Sequence_Number",
                        "statusCode": "Status_Code",
                        "ackReference": "Acknowledge_Reference",
                        "transactionDate": "Transaction_Date",
                        "transferType": "Transfer_Type",
                        "transferTypeReferenceNumber": "Transfer_Type_Reference_Number",
                        "bankReferenceNumber": "Bank_Reference_Number",
                        "debitCurrency": "Debit_Currency",
                        "debitAmount": 00.00,
                        "amountCredited": 00.00,
                        "chargeAmount": 00.00,
                        "customerRate": "Customer_Rate",
                        "b2bUrn": "B2B_URN",
                        "b2bAggrId": "B2B_Aggregate_ID",
                        "b2bAggrName": "B2B_Aggregate_Name",
                        "b2bUserId": "B2B_User_ID"
                    }
                ]
            }
        ]
    }
}

Valid/Successful response description:

JSON TagDescriptionData type
osvPlatformPaymentRSPayment Response TagObject
statusStatus of the processString
transactionReferenceNumberTransaction Reference Number by SVString
osvPlatformBanksArray of BanksArray
bankCodeBank CodeString
bankReferenceNumberBank Reference NumberString
osvPlatformPaymentsPayment processed tagString
statusStatus of the processString
companyCodeCompany CodeString
sequenceNumSequence NumberString
statusCodeCode of the statusString
statusDetailProcess Status DetailsString
ackReferenceAcknowledgement reference numberString
transactionDateDate of transactionString
transferTypeType of transferString
transferTypeReferenceNumberTransfer Type Reference NumberString
bankReferenceNumberBank Reference NumberString
debitCurrencyCurrency in which the amount has been debitedString
debitAmountAmount debitedString
amountCreditedAmount credited to the accountString
chargeAmountCharged amountString
customerRateRate provided to the customerString
b2bUrnB2B URN with respect to BankString
b2bAggrIdB2B Aggregate ID with respect to BankString
b2bAggrNameB2B Aggregate name with respect to BankString
b2bUserIdB2B User ID with respect to BankString

Invalid/Failed response

❌ If Invalid information in the header of a request is processed successfully

{
        status: "FAILURE",
        errorCode: "Failed_Code",
        message: "Failed_Message"
      }

Invalid/failed response description:

JSON TagDescriptionData type
statusStatus of the ProcessString
errorCodeError CodeString
messageResponse MessageString

Response in case of a Technical error is encountered

⚠️ When the process encounters a technical error

{
        status: "TECHERROR",
        errorCode: "Error_Code",
        message: "Error_Message"
      }

Error response description:

JSON TagDescriptionData type
statusStatus of the ProcessString
errorCodeError CodeString
messageResponse MessageString