有没有一种方法可以通过带有一些数据的flutter重定向到支付网关



我正在巴基斯坦使用JazzCash平台进行在线支付,我所需要做的就是制作一张地图<字符串,字符串>并使用地图将用户重定向到Jazzcash的网站。

我签出了UrlLauncher(https://pub.dev/packages/url_launcher)和Flutter的WebView(https://pub.dev/packages/webview_flutter)但他们都不接受身体作为他们的参数。

有办法在Flutter中做到这一点吗?

以下是在Android上进行本地操作的链接:https://www.youtube.com/watch?v=MsBB80UBxeU

我的地图:

var temp = {
"pp_Amount": "1599",
"pp_BillReference": "billRef",
"pp_CustomerEmail": user.email,
"pp_CustomerID": user.userId,
"pp_CustomerMobile": user.phoneNumber,
"pp_Description": "Description of transaction",
"pp_IsRegisteredCustomer": "Yes",
"pp_Language": "EN",
"pp_MerchantID": "######",
"pp_Password": "######",
"pp_ReturnURL": "http//localhost/case.php",
"pp_TxnCurrency": "PKR",
"pp_TxnDateTime": currentDate,
"pp_TxnExpiryDateTime": expDate,
"pp_TxnRefNo": refNo,
"pp_TxnType": "MPAY",
"pp_Version": "2.0",
"ppmpf_1": "1",
"ppmpf_2": "2",
"ppmpf_3": "3",
"ppmpf_4": "4",
"ppmpf_5": "5",
};

URL启动器代码,我尝试在标头中发送数据,也不起作用:

Future<void> _launchInBrowser(
String url, Map<String, String> header1) async {
print('In Launch Func: $header1');
if (await canLaunch(url)) {
await launch(
url,
forceSafariVC: false,
forceWebView: false,
headers: header1, 
);
} else {
throw 'Could not launch $url';
}
}

当我请求http.post时,它运行得很好,但我需要在浏览器中重定向它。。

这不是url_launcher或webview应该做的事情。在原生android上,使用了用于支付网关的移动SDK。

您需要的是一个用于此支付网关的flutter插件/包。前往pub.dev查看是否有可用的插件/包。如果没有非,您可以考虑在移动SDK上构建一个插件。

最新更新