Smart QR
The NepalPay QR API facilitates QR-based payments via SmartQR MyQR standard. It enables CellPay users to make secure QR payments to merchants and service providers part of the interoperable QR ecosystem.
Parse Smart QR
Endpoint:
{base-url}/payments/externalQr/validateAndParse
Method: POST
Request Headers:
The following HTTP headers are required when calling the API:
Content-Type: application/json
Cellpay-Access-Token: {{accessToken}}
Parse QR – Request Example
{
"qrMessage": "00020101021229280024NCHL000000002506185920ZM52040000530352454021056042.005802NP5922Samajik Surakchha Kosh6003KTM6232011120250618-010713SSF-101-APP-364060002en6304131F"
}
Parse QR – Successful Response (Sample)
{
"status": true,
"sessionExpired": false,
"payload": {
"data": {
"responseCode": "000",
"responseMessage": "SUCCESS",
"validationTraceId": "2506220000284929YRB",
"instructionId": "CEL69043250622113954",
"qrType": "DYNAMIC",
"acquirerId": "00000000",
"countryCode": "NP",
"merchantPan": "kntbGGuDrqcmz41AWM/baQTSrch3PQb48OFQJxfhQwSik9sK8giNiYy1LajQ45YZ3s4/RGCDfSNsn9KFG1alO1WlMw1eza/14LXR3/E4afsVESFRusOnj8IkdHk3FnlHIz65rJqHjxc08sSaDRmWKQpVjg7/Fe66sSz+2DEET9A=",
"merchantCategoryCode": 0,
"transactionAmount": "500",
"transactionFee": 2.00,
"transactionCurrency": "NPR",
"merchantName": "Samajik Surakchha Kosh",
"merchantCity": "KTM",
"merchantCountryCode": "NP",
"merchantBillNo": "cellcom02",
"merchantTxnRef": "QR Payment",
"terminal": "SSF-101-APP-3",
"encKeySerial": "592886824955520617546386",
"network": "NEPALPAY-29",
"token": "vn6MFoobe7xr0qF0PHKzJhAg0KRAkcyJbKR4R3vAxk2DovAYIJLg1jEdLr2jt9Lw/OXDVGrSoCXkO43mrWf/DjvxkbnvkDcF7t606uqbnhyDESZK74IvrgRnpWWxJYLLIzZUQmUB8kfFO5tLIJs0k1Ry9N1d1U2UVEb3Hg2p+XU=",
"tokenString": "2506220000284929YRB,CEL69043250622113954,00000000,kntbGGuDrqcmz41AWM/baQTSrch3PQb48OFQJxfhQwSik9sK8giNiYy1LajQ45YZ3s4/RGCDfSNsn9KFG1alO1WlMw1eza/14LXR3/E4afsVESFRusOnj8IkdHk3FnlHIz65rJqHjxc08sSaDRmWKQpVjg7/Fe66sSz+2DEET9A=,0000,500,2.00,NPR,Samajik Surakchha Kosh,cellcom02,SSF-101-APP-3,000",
"qrId": "260"
},
"type": "NepalPayQR"
}
}
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": "1",
"description": null,
"currencyId": "1",
"webRequest": true,
"customValues": [
{
"fieldId": "206",
"internalName": "QR_ID",
"value": "17087"
},
{
"fieldId": "213",
"internalName": "SENDER_NUMBER",
"value": "{{SENDER_NUMBER}}"
},
{
"fieldId": "15",
"internalName": "PAYMENTMETHOD",
"value": "Mobile Wallet"
}
],
"isOtpEnable": null,
"otp": null,
"transactionPin": "XXXXXX"
}
Book Payment – Successful Response (Sample)
{
"status": true,
"sessionExpired": false,
"payload": {
"DoPaymentResult": {
"wouldRequireAuthorization": false,
"from": {
"id": 350169,
"name": "test user",
"username": "75453",
"mobileNo": "9860606060",
"premiumMember": false
},
"finalAmount": 1.00,
"formattedFinalAmount": "NPR 1.00",
"transferType": {
"id": 504,
"name": "Wallet Nepal Pay QR",
"title": "Nepal Pay QR",
"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": "QR_ID",
"fieldId": 206,
"value": "17087"
},
{
"internalName": "SENDER_NUMBER",
"fieldId": 213,
"value": "{{SENDER_NUMBER}}"
},
{
"internalName": "PAYMENTMETHOD",
"fieldId": 15,
"value": "Mobile Wallet"
}
],
"isOtpEnable": false,
"showConsolidateAmount": false,
"bookingId": 89
}
}
}
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": "1",
"traceNumber": "CEL-123456", //Use consistent transaction IDs like CELL-001 or PRV-001 per your company's standard. Trace Number must be unique.
"description": null,
"currencyId": "1",
"webRequest": true,
"customValues": [
{
"fieldId": "206",
"internalName": "QR_ID",
"value": "17087"
},
{
"fieldId": "213",
"internalName": "SENDER_NUMBER",
"value": "{{SENDER_NUMBER}}"
},
{
"fieldId": "15",
"internalName": "PAYMENTMETHOD",
"value": "Mobile Wallet"
}
],
"isOtpEnable": null,
"otp": "",
"transactionPin": "XXXXXX",
"bookingId": 89
}
Confirm Payment – Successful Response (Sample)
{
"status": true,
"sessionExpired": false,
"payload": {
"ConfirmPaymentResult": {
"id": 7285364,
"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 that represents the service or transfer type for the bill payment. |
amount | String | Yes | Amount to be paid for the bill. |
description | String | Yes | Description or purpose of the payment. |
currencyId | Integer | Yes | Defines the payment method used for the transaction. Use 1 for Account/Wallet payments and 2 for Loyalty payments. |