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
-
LSApplicationQueriesSchemes(Array) Item 0 (String)-> paytm
-
Add a URL Scheme “paytm”+”MID”
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
For Cloning the example app code visit: Paytm Plugin
For any query : Mail me at mr.dishantmahajan@gmail.com