Single payment processing

Process a single payment through Singleview Payments API

Overview

Payment processing option in the Singleview Payments API allows you to make single as well as Bulk Payments. The authentication process involves additional identification parameters to ensure the best possible means of authorizing the payment request. The following are the required details need to be enclosed in a 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

Sample request

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

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": false,
        "comments":"Enter_Comments",
        "osvPlatformPayments": [
          {
            "companyCode": "Enter_Company_Code",
            "currency":"Enter_Currency",
            "amount" : 00.00,
            "debitAccount": {
              "accountHolderName": "Name_of_the_Account_Holder",
              "accountNumber": "Enter_Account_Number",
              "bic":"Enter_BIC",
              "address": "Enter_Address"
             },
              "creditAccount": {
              "accountHolderName": "Name_of_the_Account_Holder",
              "accountNumber": "Account_Number",
              "bic":"Enter_BIC",
              "address": "Enter_Address"
             },
            "transferType":"Type_of_Transfer",
            "por": "/X//Select_Purpose_Of_Remittance"
          },
          {
            "companyCode": "Enter_Company_Code",
            "currency":"Enter_Currency",
            "amount" : 00.00,
            "debitAccount": {
              "accountHolderName": "Name_of_the_Account_Holder",
              "accountNumber": "Enter_Account_Number",
              "bic":"Enter_BIC",
              "address": "Enter_Address"
             },
              "creditAccount": {
              "accountHolderName": "Name_of_the_Account_Holder",
              "accountNumber": "Account_Number",
              "bic":"Enter_BIC",
              "address": "Enter_Address"
             },
            "transferType":"Type_of_Transfer",
            "por": "/X//Select_Purpose_Of_Remittance"
          }
        ]
      }
    ]
  }
}'

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 option Boolean
otp
Mandatory
One-Time Password for Payment VerificationString
payToken
Mandatory
Payment Token for AuthorizationString
transactionType
Mandatory
Type of transactionsString
osvPlatformBanks
Mandatory
Array of BanksArray
bankCode
Mandatory
Bank Code as per Bank NameString
bankAccessToken
Optional
Bank access tokenString
isBulk
Mandatory
Bulk status to be false for single payment processingBoolean
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"
                    }
                ]
            }
        ]
    }
}

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