Single Payment Processing
Process a single payment through SingleView Payments API
Overview
The payment processing option in the SingleView Payments API allows you to make single and Bulk Payments. The authentication process involves additional identification parameters to ensure the best way to authorize the payment request. The following are the required details that 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
Process Single Payment
Endpoint details
Endpoint URL | Method | Authentication requirements |
---|---|---|
/v1/api/osvPlatform/payment | POST | 1. clientId 2. clientCode 3. signature 4. sid 5. Authorization: Bearer 6. otp |
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 Tag | Description | Data type |
---|---|---|
clientId Mandatory | Client ID | String |
clientCode Mandatory | Client Code | String |
signature Mandatory | Signature | String |
sid Mandatory | Session ID | String |
Authorization: Bearer Mandatory | Authorization Bearer Code i.e., Access Token | String |
osvPlatformPaymentRQ Mandatory | Process Payment Request Tag | Object |
userName Mandatory | Account Username | String |
skipOTP Mandatory | True or False to enable or disable OTP verification option | Boolean |
otp Mandatory | One-Time Password for Payment Verification | String |
payToken Mandatory | Payment Token for Authorization | String |
transactionType Mandatory | Type of transactions | String |
osvPlatformBanks Mandatory | Array of Banks | Array |
bankCode Mandatory | Bank Code as per Bank Name | String |
bankAccessToken Optional | Bank access token | String |
isBulk Mandatory | Bulk status to be false for single payment processing | Boolean |
comments Mandatory | Comments about the payment | String |
osvPlatformPayments Mandatory | Array of Payment to process | Array |
companyCode Mandatory | Company Code | String |
currency Mandatory | Currency of the payment | String |
amount Mandatory | Amount to be paid | String |
debitAccount Mandatory | Debit account details | Object |
accountHolderName Mandatory | Name of the account holder | String |
accountNumber Mandatory | Account Number | String |
bic Mandatory | BIC Code of the bank | String |
address Mandatory | Address | String |
creditAccount Mandatory | Crediting account details | Object |
transferType Mandatory | Type of transfer | String |
por Mandatory | Purpose of remittance | String |
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 Tag | Description | Data type |
---|---|---|
osvPlatformPaymentRS | Payment Response Tag | Object |
status | Status of the process | String |
transactionReferenceNumber | Transaction Reference Number by SV | String |
osvPlatformBanks | Array of Banks | Array |
bankCode | Bank Code | String |
bankReferenceNumber | Bank Reference Number | String |
osvPlatformPayments | Payment processed tag | String |
status | Status of the process | String |
companyCode | Company Code | String |
sequenceNum | Sequence Number | String |
statusCode | Code of the status | String |
statusDetail | Process Status Details | String |
ackReference | Acknowledgement reference number | String |
transactionDate | Date of transaction | String |
transferType | Type of transfer | String |
transferTypeReferenceNumber | Transfer Type Reference Number | String |
bankReferenceNumber | Bank Reference Number | String |
debitCurrency | Currency in which the amount has been debited | String |
debitAmount | Amount debited | String |
amountCredited | Amount credited to the account | String |
chargeAmount | Charged amount | String |
customerRate | Rate provided to the customer | String |
b2bUrn | B2B URN with respect to Bank | String |
b2bAggrId | B2B Aggregate ID with respect to Bank | String |
b2bAggrName | B2B Aggregate name with respect to Bank | String |
b2bUserId | B2B User ID with respect to Bank | String |
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 Tag | Description | Data type |
---|---|---|
status | Status of the Process | String |
errorCode | Error Code | String |
message | Response Message | String |
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 Tag | Description | Data type |
---|---|---|
status | Status of the Process | String |
errorCode | Error Code | String |
message | Response Message | String |
Updated 5 months ago