Wallet VPA
This API enables third-party systems or apps to integrate wallet vpa services into their systems via CellPay.
Get Possible Values
Endpoint:
{base-url}/payments/possibleValues/{transferTypeId}
Method: POST
Request Headers:
The following HTTP headers are required when calling the API:
Content-Type: application/json
Cellpay-Access-Token: {{accessToken}}
Get Possible Values – Request
{
"type": "PSP"
}
Get Possible Values – Response Example
{
"status": true,
"sessionExpired": false,
"payload": {
"possibleValues": {
"types": [
{
"name": "HamroPay",
"code": "WAL-643-LEN-1",
"type": "PSP"
},
{
"name": "Namaste Pay",
"code": "WAL-796-NDPC-1",
"type": "PSP"
},
{
"name": "Khalti",
"code": "WAL-10-KHA-2",
"type": "PSP"
},
{
"name": "Moru",
"code": "WAL-407-MOR-1",
"type": "PSP"
},
{
"name": "City Pay",
"code": "WAL-2130-CITY-2",
"type": "PSP"
},
{
"name": "MyPay",
"code": "MYPAY",
"type": "PSP"
}
]
}
}
}
Book Payment
Endpoint:
{base-url}/payments/before/systemPayment
Method: POST
Request Headers:
The following HTTP headers are required when calling the API:
Content-Type: application/json
Cellpay-Access-Token: {{accessToken}}
Book Payment – Request Example
{
"transferTypeId": "{{transferTypeId}}",
"amount": "{{amount}}",
"description": "{{description}}",
"currencyId": "{{currencyId}}",
"webRequest": true,
"customValues": [
{
"fieldId": "{{fieldId}}",
"internalName": "MOBILENUMBER",
"value": "{{mobileNumber}}"
},
{
"fieldId": "{{fieldId}}",
"internalName": "PAYMENTMETHOD",
"value": "Mobile Wallet"
}
],
"isOtpEnable": null,
"otp": null,
"transactionPin": "{{transactionPin}}",
"extraParam": {
"bankId": "{{bankId}}",
"remarks": "{{remarks}}"
}
}
Book Payment – Successful Response (Sample)
{
"status": true,
"sessionExpired": false,
"payload": {
"DoPaymentResult": {
"wouldRequireAuthorization": false,
"from": {
"id": "{{userId}}",
"name": "{{userName}}",
"username": "{{username}}",
"mobileNo": "{{mobileNumber}}",
"premiumMember": false
},
"finalAmount": 2380.00,
"formattedFinalAmount": "NPR 2,380.00",
"fees": [
{
"type": "FEE",
"name": "Wallet Fee NPI (100 - above)",
"amount": 10.00,
"formattedAmount": "NPR 10.00",
"description": "Applied Fee"
}
],
"transferType": {
"id": "{{transferTypeId}}",
"name": "{{transferTypeName}}",
"title": "{{transferTypeTitle}}",
"from": {
"id": 14,
"name": "Mobile Wallet",
"currency": {
"id": 1,
"symbol": "रु",
"name": "Nepalese Rupee"
}
},
"to": {
"id": 6,
"name": "Cellcom Float Account",
"currency": {
"id": 1,
"symbol": "रु",
"name": "Nepalese Rupee"
}
}
},
"customValues": [
{
"internalName": "MOBILENUMBER",
"fieldId": 16,
"value": "{{mobileNumber}}"
},
{
"internalName": "PAYMENTMETHOD",
"fieldId": 15,
"value": "Mobile Wallet"
}
],
"isOtpEnable": false,
"advanceValues": {
"accountId": "{{accountId}}",
"accountName": "{{accountName}}",
"vpa": "{{vpa}}",
"requestIdentifier": "{{requestIdentifier}}",
"originatorUniqueId": "{{originatorUniqueId}}"
},
"showConsolidateAmount": false,
"extraParam": {
"eventId": 0,
"subEventId": 0,
"remarks": "{{remarks}}",
"bankId": "{{bankId}}",
"disableOtp": false,
"renewOption": false
}
}
}
}
Confirm Payment
Endpoint:
{base-url}/payments/confirmSystemPayment
Method: POST
Request Headers:
The following headers are required when calling the API:
Content-Type: application/json
Cellpay-Access-Token: {{accessToken}}
Confirm Payment – Request Example
{
"transferTypeId": "{{transferTypeId}}",
"amount": "{{amount}}",
"description": "{{description}}",
"currencyId": "{{currencyId}}",
"webRequest": true,
"customValues": [
{
"fieldId": "{{fieldId}}",
"internalName": "MOBILENUMBER",
"value": "{{mobileNumber}}"
},
{
"fieldId": "{{fieldId}}",
"internalName": "PAYMENTMETHOD",
"value": "Mobile Wallet"
}
],
"isOtpEnable": null,
"otp": "{{otp}}",
"transactionPin": "{{transactionPin}}",
"extraParam": {
"bankId": "{{bankId}}",
"remarks": "{{remarks}}",
"referenceId": "{{referenceId}}",
"requestIdentifier": "{{requestIdentifier}}"
}
}
Confirm Payment – Successful Response (Sample)
{
"status": true,
"sessionExpired": false,
"payload": {
"ConfirmPaymentResult": {
"id": "{{transactionId}}",
"pending": false,
"advancedValues": {
"debitStatusCode": "000",
"creditStatusCode": "000"
}
}
}
}
Service Parameters
| Parameter Name | Type | Required | Description |
|---|---|---|---|
| transferTypeId | String | Yes | Identifier of the wallet VPA payment service. |
| amount | String | Yes | Payment amount to be processed. |
| description | String | Yes | Short description or purpose of the payment. |
| currencyId | String | Yes | Currency identifier for the transaction. Use 1 for Nepalese Rupee. |
| webRequest | Boolean | Yes | Web Request for web application. |
| customValues | Array | Yes | Required additional fields such as mobile number, payment method, selected bank, and account number. |
| isOtpEnable | Boolean/Null | Conditional | Indicates whether OTP is required for the transaction. |
| otp | String/Null | Conditional | OTP value when OTP is enabled. |
| transactionPin | String | Yes | Customer transaction PIN for the payment. |
| extraParam.bankId | String | Yes | Wallet or PSP identifier for the selected provider. |
| extraParam.remarks | String | No | Optional remarks for the transaction. |
| referenceId | String | Yes (Confirm) | Reference ID received during the booking step. |
| requestIdentifier | String | Yes (Confirm) | Request identifier received during the booking step. |