Skip to main content

System Payment Endpoints

The following endpoints are used for System Payment transactions:

Book Payment Endpoint:

{base-url}/payments/systemPayment

Confirm Payment Endpoint:

{base-url}/payments/confirmSystemPayment

Both endpoints use the POST method and require authenticated access.

System Book Payment Request​

The System Book Payment request is used to validate service-specific details before executing the payment.

Key characteristics:

  • Does not require recipient identification (toMemberPrincipal or toMemberId)
  • Validates service availability and input parameters
  • May return service-specific data such as packages or outstanding amounts
  • Generates a Booking ID
  • No wallet balance deduction occurs at this stage

The Booking ID generated during this step is mandatory for the Confirm Payment request.

Sample Request Example

{
"transferTypeId": "{{transferTypeId}}",
"amount": "{{amount}}",
"description": "test",
"currencyId": "1",
"webRequest": "true",
"traceNumber": "CELL-001", //**Use consistent transaction IDs like CELL-001 or PRV-001 per your company's standard. Trace Number must be unique.**//
"customValues": [
{
"internalName": "PAYMENTMETHOD",
"fieldId": 15,
"value": "Account"
},
{
"internalName": "SELECTBANK",
"fieldId": 35,
"value": "{{senderBankCode}}"
},
{
"internalName": "ACCOUNTNUMBER",
"fieldId": 14,
"value": "{{senderBankAccountNumber}}"
}

]
}

System Confirm Payment Request​

The System Confirm Payment request is used to finalize the utility or service payment. The API consumer submits the Booking ID, user authorization details, and any required service-specific parameters.

Upon successful execution:

  • Funds are debited from the sender’s wallet
  • The amount is credited to the CellPay system account
  • CellPay handles settlement with the respective service provider
  • A final transaction status is returned

Sample Request Example

{
"transferTypeId": "{{transferTypeId}}",
"amount": "1",
"description": "test",
"currencyId": "1",
"webRequest": "true",
"traceNumber": "CELL-001", //Use consistent transaction IDs like CELL-001 or PRV-001 per your company's standard. Trace Number must be unique.
"bookingId": 1,
"transactionPin": "XXXXXX",
"customValues": [
{
"internalName": "PAYMENTMETHOD",
"fieldId": 15,
"value": "Account"
},
{
"internalName": "SELECTBANK",
"fieldId": 35,
"value": " {{senderBankCode}} "
},
{
"internalName": "ACCOUNTNUMBER",
"fieldId": 14,
"value": " {{senderBankAccountNumber}} "
}
]
}

Service Parameters​

Parameter NameParameter TypeDescription
transferTypeIdIntegerUnique identifier for the payment type or service
amountStringAmount to be paid (in NPR)
descriptionStringPayment description
currencyIdInteger1 = Account/Wallet, 2 = Loyalty
webRequestBooleantrue for web-based requests, false for mobile
traceNumberStringUnique transaction reference (e.g., CELL-001). Must be unique per request and per transaction
transactionPinString8-digit PIN, same as user login PIN
bookingIdIntegerID returned from Book Payment request; required for Confirm Payment
internalNameStringInput field name (e.g., PAYMENTMETHOD, SELECTBANK)
fieldIdIntegerSystem-defined ID for the custom field
valueStringValue provided by the user for the specific field