我正在我的 Flutter 应用程序中实现支付网关。所以 Razorpay 推荐我使用 Orders API。但是我没有任何方法来实现 Orders API。
我引用了以下文档。它包含 java、PHP 等的示例。但没有找到 Flutter/Dart 的示例。
https://razorpay.com/docs/payment-gateway/orders/integration/#example
提前致谢。
最佳答案
Future<void> generate_ODID() async {
var orderOptions = {
'amount': 50000, // amount in the smallest currency unit
'currency': "INR",
'receipt': "order_rcptid_11"
};
final client = HttpClient();
final request =
await client.postUrl(Uri.parse('https://api.razorpay.com/v1/orders'));
request.headers.set(
HttpHeaders.contentTypeHeader, "application/json; charset=UTF-8");
String basicAuth = 'Basic ' +
base64Encode(utf8.encode(
'${'YourKEY'}:${'YourSECRET'}'));
request.headers.set(HttpHeaders.authorizationHeader, basicAuth);
request.add(utf8.encode(json.encode(orderOptions)));
final response = await request.close();
response.transform(utf8.decoder).listen((contents) {
print('ORDERID'+contents);
String orderId = contents.split(',')[0].split(":")[1];
orderId = orderId.substring(1, orderId.length - 1);
Fluttertoast.showToast(
msg: "ORDERID: " +orderId,
toastLength: Toast.LENGTH_SHORT);
Map<String, dynamic> checkoutOptions = {
'key': 'YourKEY',
'amount': 11100,
'name': 'Demo',
'description': 'Fssai Registrtion Charge',
'prefill': {'contact': '8910407549', 'email': 'xx.xx@gmail.com'},
'external': {
'wallets': ['paytm']
}
};
try {
_razorpay.open(checkoutOptions);
} catch (e) {
print(e.toString());
}
});
}
我正在使用相同的代码片段,但是当我尝试使用 google pay 付款时,它将失败并显示“您的钱未被扣款,您的服务器正忙”错误,但是当我尝试提供 UPI Id 时手动然后交易顺利进行,否则交易不会使用 UPI 完成。有什么办法可以解决吗?
关于flutter - 如何在 Flutter 中使用 Razorpay Orders API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61320329/