flutter 无法从Android和IOS打开UPI应用程序

mwkjh3gx  于 2022-11-17  发布在  Flutter
关注(0)|答案(1)|浏览(178)

我正在尝试添加此URL启动程序。但是我得到upi://pay?pa=dinesh@dlanzer&pn=Dinesh&am=1&tn=hello&cu=INR的组件名称为空错误。短信和电子邮件工作正常。

os8fio9y

os8fio9y1#

首先你必须在flutter中使用URL启动器插件

dependencies:
  flutter:
    sdk: flutter

  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.

  # url launcher
  url_launcher: ^6.1.4

现在,我使UPI启动助手功能,我可以启动我的UPI在多个应用程序,如paytm,phonePay,Gpay,BHIM,WhatsappPay等。
这里我传递upiID,(必需)名称(可选)金额(可选)备注(可选)
您仍然可以根据需要传递更多数据
显示帮助函数

paymentUrlLaunch({
  required String upi,
  String? amount,
  String? name,
  String? note,
}) async {
  String nameUrl = (name != null && name.isNotEmpty) ? "&pn=$name" : "";
  String amountUrl = (amount != null && amount.isNotEmpty) ? "&am=$amount" : "";
  String noteUrl = (note != null && note.isNotEmpty) ? "&tn=$note" : "";
  String link = 'upi://pay?pa=$upi' +
      nameUrl +
      amountUrl +
      noteUrl +
      "&cu=INR" ;

  Uri url = Uri.parse(link);

  var willLaunch = await canLaunchUrl(url);  // from url launcher plugIN
  if (willLaunch) {
    launchUrl(url);
  } else {
    upiToaster(msg: 'Url not launch'); // if failed notified by toaster
  }

 
}

请注意此处使用TextFormField和控制器通过验证传递的UPID、名称、金额和注解
我希望这对你有帮助

相关问题