Fund Transfer
This API enables third-party systems or apps to integrate Fund Transfer services into their systems via CellPay.
Fund Transfer Transfer Type ID
| Service Name | Transfer Type ID (Test) | Transfer Type ID (Production) |
|---|---|---|
| Fund Transfer (Partner Bank) | 498 | 498 |
| Fund Transfer (Non- Partner Bank) | 499 | 499 |
A value of 498 indicates that the transaction was performed using a partnered bank wallet. Partnered bank wallets are those issued by banks that have a direct integration partnership with CellPay.
A value of 499 indicates that the transaction was performed using a non-partnered bank wallet. These wallets are supported but do not belong to CellPay’s partnered banking network.
When processing responses, developers should always validate the walletTypeId to correctly determine the wallet source and apply any partner-specific business rules, fees, or transaction handling logic.
Partnered Bank List
| S.N. | Bank / Financial Institution |
|---|---|
| 1 | Citizen Bank Limited |
| 2 | Everest Bank Limited |
| 3 | Global IME Bank Ltd |
| 4 | ICFC Finance Limited |
| 5 | Kamana Sewa Bikash Bank |
| 6 | Kumari Bank Limited |
| 7 | Muktinath Bikash Bank Ltd |
| 8 | NIC ASIA Bank Limited |
| 9 | Nepal Investment Mega Bank Limited |
| 10 | NMB Bank Limited |
| 11 | Prime Commercial Bank Limited |
| 12 | Laxmi Sunrise Bank Limited |
| 13 | Himalayan Bank Limited |
Get Possible Values
Endpoint:
{base-url}/payments/possibleValues/{transferTypeId}
Method: GET
Request Headers:
The following HTTP headers are required when calling the API:
Content-Type: application/json
Cellpay-Access-Token: {{accessToken}}
Get Possible Values – Response Example
{
"status": true,
"sessionExpired": false,
"payload": {
"possibleValues": {
"MemberDetailsList": [
{
"memberName": "Agriculture Development Bank Ltd",
"typeId": "396",
"walletTypeId": "499",
"userName": "0301"
},
{
"memberName": "Bhargav Bikas Bank Limited",
"typeId": "396",
"walletTypeId": "499",
"userName": "8401"
},
{
"memberName": "Citizens Bank International Limited",
"typeId": "291",
"walletTypeId": "498",
"userName": "CTZN"
},
{
"memberName": "Excel Development Bank Ltd.",
"typeId": "396",
"walletTypeId": "499",
"userName": "7502"
},
{
"memberName": "Gandaki Bikas Bank Ltd",
"typeId": "396",
"walletTypeId": "499",
"userName": "7001"
},
{
"memberName": "Garima Bikas Bank Limited",
"typeId": "396",
"walletTypeId": "499",
"userName": "6601"
},
{
"memberName": "Global IME Bank Limited",
"typeId": "291",
"walletTypeId": "498",
"userName": "GIBL"
},
{
"memberName": "Goodwill Finance Limited",
"typeId": "291",
"walletTypeId": "498",
"userName": "GFCL"
},
{
"memberName": "Green Development Bank Ltd",
"typeId": "396",
"walletTypeId": "499",
"userName": "7517"
},
{
"memberName": "Gurkhas Finance Limited",
"typeId": "396",
"walletTypeId": "499",
"userName": "8301"
},
{
"memberName": "Himalayan Bank Limited",
"typeId": "291",
"walletTypeId": "498",
"userName": "HBLTD"
},
{
"memberName": "ICFC Finance Limited",
"typeId": "291",
"walletTypeId": "498",
"userName": "ICFC"
}
]
}
}
}
The username field represents the bank code associated with the wallet source. This code uniquely identifies the bank involved in the transaction and can be used for bank-level validation, reconciliation, or reporting.
When walletTypeId indicates a partnered or non-partnered bank transfer, the username value should be cross-checked against the configured bank codes to correctly identify the originating bank. This ensures accurate classification of transactions and proper handling based on partner status.
Developers should always rely on the combination of walletTypeId and username to determine the exact transfer source and avoid assumptions based on a single field.
Book Payment
Endpoint:
{base-url}/payments/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": "100",
"description": "test",
"currencyId": "1",
"webRequest": true,
"customValues": [
{
"fieldId": "137",
"internalName": "TO_BANK_CODE",
"value": "NMBB"
},
{
"fieldId": "174",
"internalName": "NAME",
"value": "Test User"
},
{
"fieldId": "136",
"internalName": "TO_ACCOUNT_NUMBER",
"value": "9818567284NMBB"
},
{
"fieldId": "15",
"internalName": "PAYMENTMETHOD",
"value": "Mobile Wallet"
},
{
"internalName": "SENDER_NUMBER",
"fieldId": "213",
"value": "{{SENDER_NUMBER}}"
},
{
"internalName": "SENDER_NAME",
"fieldId": "269",
"value": "{{SENDER_NAME}}"
}
],
"isOtpEnable": null,
"otp": null
}
Book Payment – Successful Response (Sample)
{
"status": true,
"sessionExpired": false,
"payload": {
"DoPaymentResult": {
"wouldRequireAuthorization": false,
"from": {
"id": 350244,
"name": "test user",
"username": "75453",
"mobileNo": "9860606060",
"premiumMember": false
},
"finalAmount": 100.00,
"formattedFinalAmount": "Rs. 100.00",
"fees": [
{
"type": "FEE",
"name": "Fee IBFT Transfer ( 100 - 5000 )",
"amount": 2.00,
"formattedAmount": "Rs. 2.00",
"description": "Fee"
}
],
"transferType": {
"id": 400,
"name": "Wallet Direct Account Transfer",
"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": "TO_BANK_CODE",
"fieldId": 137,
"value": "NMBB"
},
{
"internalName": "NAME",
"fieldId": 174,
"value": "Test User"
},
{
"internalName": "TO_ACCOUNT_NUMBER",
"fieldId": 136,
"value": "9818567284NMBB"
},
{
"internalName": "PAYMENTMETHOD",
"fieldId": 15,
"value": "Mobile Wallet"
},
{
"internalName": "PURPOSE",
"fieldId": 202,
"value": "Family Expense"
}
{
"internalName": "SENDER_NUMBER",
"fieldId": 213,
"value": "{{SENDER_NUMBER}}"
},
{
"internalName": "SENDER_NAME",
"fieldId": "269",
"value": "{{SENDER_NAME}}"
}
],
"isOtpEnable": false,
"advanceValues": {
"receiverName": "TEST USER"
},
"showConsolidateAmount": false,
"bookingId": 291
}
}
}
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": "100",
"description": "test",
"currencyId": "1",
"webRequest": true,
"traceNumber": "CEL-123456", //Use consistent transaction IDs like CELL-001 or PRV-001 per your company's standard. Trace Number must be unique.
"traceNumber": "CELL-0001",
"customValues": [
{
"fieldId": "137",
"internalName": "TO_BANK_CODE",
"value": "NMBB"
},
{
"fieldId": "174",
"internalName": "NAME",
"value": "Test User"
},
{
"fieldId": "136",
"internalName": "TO_ACCOUNT_NUMBER",
"value": "9818567284NMBB"
},
{
"internalName": "SENDER_NUMBER",
"fieldId": "213",
"value": "{{SENDER_NUMBER}}"
},
{
"internalName": "SENDER_NAME",
"fieldId": "269",
"value": "{{SENDER_NAME}}"
},
{
"fieldId": "15",
"internalName": "PAYMENTMETHOD",
"value": "Mobile Wallet"
}
],
"isOtpEnable": null,
"otp": "",
"transactionPin": "12345678",
"bookingId": 291
}
Confirm Payment – Successful Response (Sample)
{
"status": true,
"sessionExpired": false,
"payload": {
"ConfirmPaymentResult": {
"id": 170426,
"pending": false,
"traceNumber": "CEL-123456" //Use consistent transaction IDs like CELL-001 or PRV-001 per your company's standard. Trace Number must be unique.
}
}
}
Service Parameters
| Parameter Name | Type | Required | Description |
|---|---|---|---|
transferTypeId | Integer | Yes | Unique identifier representing the type of service or fund transfer being performed. This value must match the configured service mapping in the system. |
amount | String | Yes | The amount to be paid for the bill or top-up transaction. |
description | String | Yes | A brief description of the payment or transaction purpose. |
currencyId | Integer | Yes | Indicates the payment source used for the transaction. Use 1 for Account/Wallet payments and 2 for Loyalty-based payments. |
webRequest | Boolean | Yes | Specifies the request source. Set to true for web-based requests and false for mobile application requests. |
traceNumber | String | Yes | A standard company-defined reference number used to trace and uniquely identify the transaction. |
transactionPin | String | Yes | Security PIN required to confirm the transaction. This is the same PIN used during user login. |
internalName | String | Yes | Static identifier representing the payment field type. Supported values include PAYMENTMETHOD, MOBILENUMBER, or ACCOUNT. |
fieldId | Integer | Yes | Identifier for the specific input field being submitted. This value is system-defined. |
values | String | Yes | The actual value provided by the user corresponding to the specified fieldId (for example, mobile number, account number, or payment method). |