Skip to main content

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 NameTransfer Type ID (Test)Transfer Type ID (Production)
Fund Transfer (Partner Bank)498498
Fund Transfer (Non- Partner Bank)499499
Notes for Developers

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
1Citizen Bank Limited
2Everest Bank Limited
3Global IME Bank Ltd
4ICFC Finance Limited
5Kamana Sewa Bikash Bank
6Kumari Bank Limited
7Muktinath Bikash Bank Ltd
8NIC ASIA Bank Limited
9Nepal Investment Mega Bank Limited
10NMB Bank Limited
11Prime Commercial Bank Limited
12Laxmi Sunrise Bank Limited
13Himalayan 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"
}
]
}
}
}

Notes for Developers

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 NameTypeRequiredDescription
transferTypeIdIntegerYesUnique identifier representing the type of service or fund transfer being performed. This value must match the configured service mapping in the system.
amountStringYesThe amount to be paid for the bill or top-up transaction.
descriptionStringYesA brief description of the payment or transaction purpose.
currencyIdIntegerYesIndicates the payment source used for the transaction. Use 1 for Account/Wallet payments and 2 for Loyalty-based payments.
webRequestBooleanYesSpecifies the request source. Set to true for web-based requests and false for mobile application requests.
traceNumberStringYesA standard company-defined reference number used to trace and uniquely identify the transaction.
transactionPinStringYesSecurity PIN required to confirm the transaction. This is the same PIN used during user login.
internalNameStringYesStatic identifier representing the payment field type. Supported values include PAYMENTMETHOD, MOBILENUMBER, or ACCOUNT.
fieldIdIntegerYesIdentifier for the specific input field being submitted. This value is system-defined.
valuesStringYesThe actual value provided by the user corresponding to the specified fieldId (for example, mobile number, account number, or payment method).