Bus Ticket
This API enables third-party systems or apps to integrate bus services into their systems via CellPay.
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": {
"routes": [
"Beni",
"Delhi",
"Naudanda",
"Pokhara",
"Manakamana",
"Lumle/Kande",
"Narayanghad",
"Kushma",
"Dimuwa",
"Raxaul",
"Baglung",
"Kathmandu",
"Lumle",
"Motihari"
]
}
}
}
Retrieve Possible Bus Trips
Endpoint:
{base-url}/payments/possibleTrips/{transferTypeId}
Method: POST
Request Headers:
The following HTTP headers are required when calling the API:
Content-Type: application/json
Cellpay-Access-Token: {{accessToken}}
Retrieve Possible Bus Trips – Request Example
{
"fromSector": "Kathmandu",
"toSector": "Pokhara",
"departureDate": "2021-07-10",
"shift": "both"
}
Retrieve Possible Bus Trips – Successful Response (Sample)
{
"status": true,
"sessionExpired": false,
"payload": {
"possibleTrips": {
"trips": [
{
"status": 0,
"id": "NDU3MDE1OjQzMzU4NDM6MA==",
"date": "2078-Aashad-26",
"dateEn": "2021-07-10",
"departureTime": "07:00 AM",
"lockStatus": false,
"operator": "Dhaulagiri AC",
"busNo": "n/a",
"busType": "Ac Deluxe",
"multiPrice": false,
"ticketPrice": 615,
"noOfColumn": 5,
"seatLayout": [
{
"displayName": "A2",
"bookingStatus": "No"
},
{
"displayName": "A1",
"bookingStatus": "No"
},
{
"displayName": "A3",
"bookingStatus": "No"
},
{
"displayName": "B",
"bookingStatus": "No"
},
{
"displayName": "C",
"bookingStatus": "No"
},
{
"displayName": "D",
"bookingStatus": "No"
},
{
"displayName": "E",
"bookingStatus": "No"
}
],
"amenities": [
"AC",
"Mobile Charger",
"Water Bottle"
],
"inputTypeCode": 1
}
]
}
}
}
Reserve Ticket
Endpoint:
{base-url}/payments/bookingDetails/{transferTypeId}
Method: POST
Request Headers:
The following HTTP headers are required when calling the API:
Content-Type: application/json
Cellpay-Access-Token: {{accessToken}}
Reserve Ticket – Request Example
{
"seats": [
"A1",
"A2"
],
"busId": "NDU3MDE1OjQzMzU4NDM6MA=="
}
Reserve Ticket – Successful Response (Sample)
{
"status": true,
"sessionExpired": false,
"payload": {
"bookingDetails": {
"bookingDetails": {
"ticketSrlNo": "656231-B",
"boardingPoints": [
"Gongabu Bus Park(07:00 AM)",
"Balaju(07:05 AM)",
"Swayambhu(07:10 AM)",
"Dhungeadda(07:20 AM)",
"Kalanki(07:20 AM)"
],
"timeout": "550"
}
}
}
}
Save Passenger Details
Endpoint:
{base-url}/payments/passengerDetail/{transferTypeId}
Method: POST
Request Headers:
The following HTTP headers are required when calling the API:
Content-Type: application/json
Cellpay-Access-Token: {{accessToken}}
Save Passenger Details – Request Example
{
"inputTypeCode": "1",
"busId": "NDU3MDE1OjQzMzU4NDM6MA==",
"contactName": "test user",
"contactNumber": "{{passengerContactNumber}}",
"contactEmail": "test@gmail.com",
"boardingPoint": "Swayambhu(07:10 AM)",
"ticketNo": "656232-B"
}
Save Passenger Details – Successful Response (Sample)
{
"status": true,
"sessionExpired": false,
"payload": {
"savePassengerDetails": "Passenger's Information Added"
}
}
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": "615",
"description": "ok",
"currencyId": "1",
"webRequest": true,
"customValues": [
{
"internalName": "BUS_ID",
"fieldId": "198",
"value": "NDU3MDE1OjQzMzU4NDM6MA=="
},
{
"internalName": "TICKET_ID",
"fieldId": "199",
"value": "656232-B"
},
{
"internalName": "FROM_TO",
"fieldId": "201",
"value": "KATHMANDU-POKHARA"
},
{
"fieldId": "15",
"internalName": "PAYMENTMETHOD",
"value": "Mobile Wallet"
}
]
}
Book Payment – Successful Response (Sample)
{
"status": true,
"sessionExpired": false,
"payload": {
"DoPaymentResult": {
"wouldRequireAuthorization": false,
"from": {
"id": {{fromMemberId}},
"name": "{{fromMemberName}}",
"username": "{{fromMemberUsername}}",
"mobileNo": "{{fromMemberPrincipal}}"
},
"finalAmount": 615.00,
"formattedFinalAmount": "Rs. 615.00",
"transferType": {
"id": 428,
"name": "Wallet Bus Sewa Ticket Payment",
"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": "BUS_ID",
"fieldId": 198,
"value": "NDU3MDE1OjQzMzU4NDM6MA=="
},
{
"internalName": "TICKET_ID",
"fieldId": 199,
"value": "656232-B"
},
{
"internalName": "FROM_TO",
"fieldId": 201,
"value": "KATHMANDU-POKHARA"
},
{
"internalName": "PAYMENTMETHOD",
"fieldId": 15,
"value": "Mobile Wallet"
}
],
"isOtpEnable": false,
"showConsolidateAmount": false,
"bookingId": 22
}
}
}
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": "615",
"description": "ok",
"traceNumber": "CEL-123456", //Use consistent transaction IDs like CELL-001 or PRV-001 per your company's standard. Trace Number must be unique.
"currencyId": "1",
"webRequest": true,
"bookingId": 22,
"transactionPin": "XXXXXX",
"customValues": [
{
"internalName": "BUS_ID",
"fieldId": "198",
"value": "NDU3MDE1OjQzMzU4NDM6MA=="
},
{
"internalName": "TICKET_ID",
"fieldId": "199",
"value": "656232-B"
},
{
"internalName": "FROM_TO",
"fieldId": "201",
"value": "KATHMANDU-POKHARA"
},
{
"fieldId": "15",
"internalName": "PAYMENTMETHOD",
"value": "Mobile Wallet"
}
]
}
Confirm Payment – Successful Response (Sample)
{
"status": true,
"sessionExpired": false,
"payload": {
"ConfirmPaymentResult": {
"id": 137916,
"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 | Parameter Type | Required? | Description |
|---|---|---|---|
fromSector | String | Yes | Departure sector (origin location). |
toSector | String | Yes | Arrival sector (destination location). |
shift | String | Yes | Travel shift. Possible values: DAY or NIGHT (pricing may vary by shift). |
departureDate | Date | Yes | Date of departure. |
seats | Array / String | Yes | Selected seat number(s) for the journey. |
busId | Integer | Yes | Unique bus identifier generated during bus ticket booking. |
inputTypeCode | Integer | Yes | Travel type code: 1 for domestic, 2 for international (Kathmandu–Delhi only). |
boardingPoint | String | Yes | Boarding location for the passenger. |
ticketNo | String | Yes | Reserved bus ticket number. |