CellPay Payment Gateway

CellPay Payment Gateway for Flutter

CellPay is a payment service powered by Cellcom Private Limited, a Payment Service Provider licensed by Nepal Rastra Bank. Use CellPay Payment Gateway solution in your app to simplify payment for your customers.

Payment Types

Payment Types Type Usage Description
ONE ENUM CellPayPayemntType.ONE Merchant regsitered at CellPay having Bank Link Account and wants to receive payment directly to the linked Account.
TWO ENUM CellPayPayemntType.TWO Merchants registered at CellPay with/without Bank Linked but wants to receive payments in Wallet.
THREE ENUM CellPayPayemntType.THREE Not registered in CellPay, but CellPay will collect the payments and will be settled in t+1

note: this is important and can be sent according to liking of Merchant.


  • Flavours

    Development - CellPayFlavour.test
    Release - CellPayFlavour.live

  • Parameters

Parameter Type Mandatory Description
amount String M Amount should be in Rupees, no Rs. or comma needed (e.g. 1000) for Rs.1,000
invoice String M Invoice Number or your system's generated Number
description String O This is used as Remarks in CellPay, User's can write themselves
flavour ENUM M See Usage > Flavours
traceNumber String M this is used for tracing the transaction
type ENUM M See Payment Types
memberId String M/O If Payment Type is ONE or TWO then eithr memberId or memberPrincipal is mandatory, else memberPrincipal is mandatory
memberPrincipal String M/O If Payment Type is ONE or TWO then eithr memberId or memberPrincipal is mandatory, else if type THREE memberPrincipal is mandatory
onSuccess function M When payment is complete, return back with json data
onCancelled function O When user does not want to pay and cancel the payment.

Code Example

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  State<MyHomePage> createState() => _MyHomePageState();

class _MyHomePageState extends State<MyHomePage> {
  void onSuccess(CellPayPaymentResponse data) {
    Navigator.of(context).popUntil((route) => route.isFirst);
    print("OnSuccess ${data}");

  void onError(String data) {

  Widget build(BuildContext context) {

    return CellPayLoginScreen(
        cellPayConfig: CellPayConfig(
            memberId: "1008",
            traceNumber: "123414645234123445",
            invoice: "123123",
            flavor: CellPayFlavor.test,
            amount: '500',
            onSuccess: onSuccess,
            onError: onError,
            description: "This is test description",
            memberPrincipal: "9841000020",
            type: CellPayPaymentType.ONE));


For Queries, feel free to call us at:

Contact Our Support Team

(For payment gateway integration support.)