(Flutter) Paytm 支付网关集成

(Flutter) Paytm Payment Gateway integration

我正在构建一个涉及应用程序用户在线支付的 flutter 应用程序。

我打算使用 Paytm 支付网关。我打算使用 WebView 来实现这一点。我知道为此我需要设置一个服务器来生成校验和。

现在我想了解的是如何设置服务器? 根据这篇文章:https://medium.com/@iqan/flutter-payments-using-paytm-7c48539dfdee 我必须克隆这个 github 项目:https://github.com/iqans/paytm-checksum-api-nodejs

我在哪里上传这个 node.js 项目?这可以上传到 Firebase 吗?

还是必须上传到hostgator之类的网站托管平台?

请解释一下,我现在对服务器了解不多,刚开始使用flutter。

为了您的方便,使用webview实现支付网关更容易。

在您的服务器上托管支付SDK提供的文件来计算校验和。

然后您可以从您的移动应用程序启动交易并通过调用您的服务器端脚本来计算校验和。然后将这些值传递给支付 SDK。

我认为 paytm sdk 的 webview 对您来说是最好的选择,因为当您开始横切时,它会从安装在客户移动设备中的 paytm 应用程序中获取数据。

有一个名为 paytmkaro 的插件可用于执行此操作,但它仅适用于生产密钥。

在开始将服务器端代码上传到服务器上之前,这些代码可在他们可用的文档中找到here请不要对用于在 paytm 服务器上生成 txn 令牌的服务器端代码进行任何更改。

将最低 sdk 版本更改为 19

然后复制粘贴此代码

` try {
  PaytmResponse paymentResponse = await _paytmKaro.startTransaction(
    url: serverside code url e.g. https://arcane-temple-61754.herokuapp.com/intiateTansection.php,
    mid: your Production merchant id,
    mkey: your merchant key,
    customerId:customer id (must be unique for every customer),
    amount: transection amount,
    orderId: Order Id (Order id must be unique Everytime for every order),
  );

  if(paymentResponse.status=="TXN_SUCCESS"){
    Navigator.push(context, MaterialPageRoute(builder: (context)=>txnSuccessful(paytmResponse: paymentResponse,)));
  }
  else if(paymentResponse.status=="TXN_FAILURE"){
    Navigator.push(context, MaterialPageRoute(builder: (context)=>txnFailed(paytmResponse: paymentResponse,)));
  }
} 
catch(e){
  print(e);
  key.currentState.showSnackBar(SnackBar(content: Text(e.toString())));      // platformVersion = 'Failed to get platform version.'
}`

大功告成。