paytm 3.0.1 icon indicating copy to clipboard operation
paytm: ^3.0.1 copied to clipboard

A Flutter plugin to use Paytm as a Payment gateway for accepting online payments in Flutter app. Paytm All-in-One SDK.

paytm #

A Flutter plugin to use the Paytm as a payment gateway for accepting online payments in Flutter app.

For Testing/Staging credentials make sure appInvokeEnabled set to FALSE or Paytm APP is not installed on the device. #

Example App in iOS #

First of all get Credentials from Paytm #

Plugin will only work with Production Keys https://dashboard.paytm.com/next/apikeys

Let’s begin #

iOS Configuration:

In case merchant don’t have callback URL, Add an entry into Info.plist

  1. LSApplicationQueriesSchemes(Array) Item 0 (String)-> paytm iosInvoke

  2. Add a URL Scheme “paytm”+”MID” app-invoke-ios-inti

Start Payment #

  void generateTxnToken(int mode) async {
    
        String orderId = DateTime.now().millisecondsSinceEpoch.toString();

        String callBackUrl = (testing
                ? 'https://securegw-stage.paytm.in'
                : 'https://securegw.paytm.in') +
            '/theia/paytmCallback?ORDER_ID=' +
            orderId;

        //Host the Server Side Code on your Server and use your URL here. The following URL may or may not work. Because hosted on free server.
        //Server Side code url: https://github.com/mrdishant/Paytm-Plugin-Server
        var url = 'https://desolate-anchorage-29312.herokuapp.com/generateTxnToken';

        var body = json.encode({
          "mid": mid,
          "key_secret": PAYTM_MERCHANT_KEY,
          "website": website,
          "orderId": orderId,
          "amount": amount.toString(),
          "callbackUrl": callBackUrl,
          "custId": "122",
          "mode": mode.toString(),
          "testing": testing ? 0 : 1
        });

        try {
          final response = await http.post(
            url,
            body: body,
            headers: {'Content-type': "application/json"},
          );
          print("Response is");
          print(response.body);
          String txnToken = response.body;
          setState(() {
            payment_response = txnToken;
          });

          var paytmResponse = Paytm.payWithPaytm(
              mid, orderId, txnToken, amount.toString(), callBackUrl, testing);

          paytmResponse.then((value) {
            print(value);
            setState(() {
              loading = false;
              print("Value is ");
              print(value);
              if(value['error']){
                payment_response = value['errorMessage'];
              }else{
                if(value['response']!=null){
                  payment_response = value['response']['STATUS'];
                }
              }
              payment_response += "\n"+value.toString();
            });
          });
        } catch (e) {
          print(e);
        }
  }
  

GENERATE TOKEN #

For SERVER CODE: Paytm Plugin Server Code

Support #

Buy Me A Coffee

For Cloning the example app code visit: Paytm Plugin

For any query : Mail me at mr.dishantmahajan@gmail.com

55
likes
110
pub points
95%
popularity

Publisher

verified publisher iconmrdishant.com

A Flutter plugin to use Paytm as a Payment gateway for accepting online payments in Flutter app. Paytm All-in-One SDK.

Repository (GitHub)
View/report issues

Documentation

API reference

License

Icon for licenses.BSD-3-Clause (LICENSE)

Dependencies

flutter

More

Packages that depend on paytm