首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Flutter中使用Razorpay Orders API?

如何在Flutter中使用Razorpay Orders API?
EN

Stack Overflow用户
提问于 2020-04-20 18:31:53
回答 3查看 1.7K关注 0票数 1

我正在我的flutter应用程序中实现一个支付网关。所以Razorpay推荐我使用Orders API。但是我没有得到任何实现Orders API的方法。

我参考了下面的文档。它包含java、PHP等的示例,但没有找到Flutter / Dart的示例。

https://razorpay.com/docs/payment-gateway/orders/integration/#example

提前谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-04-20 18:48:13

值得庆幸的是,Razorpay有Flutter软件包,你可以使用它。下面的代码片段可能会有所帮助:

代码语言:javascript
复制
import 'package:razorpay_flutter/razorpay_flutter.dart';

_razorpay = Razorpay();

var options = {
      'key': '<YOUR_KEY_ID>',
      'amount': 100, //in the smallest currency sub-unit.
      'name': 'Acme Corp.',
      'order_id': 'order_EMBFqjDHEEn80l', // Generate order_id using Orders API
      'description': 'Fine T-Shirt',
      'prefill': {
        'contact': '9123456789',
        'email': 'gaurav.kumar@example.com'
      }
    };

_razorpay.open(options);

请通过this页面了解更多详细信息。this YouTube视频也会有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2021-11-26 12:31:34

代码语言:javascript
复制
  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());
        }
    });
    }

我正在使用这个相同的代码片段,但当我试图用谷歌支付付款时,它将失败与“您的钱没有借记,您的服务器忙”错误,但当我试图手动提供UPI Id然后交易顺利进行,否则交易不使用UPI完成。有什么办法可以解决这个问题吗?

票数 2
EN

Stack Overflow用户

发布于 2021-09-27 10:08:12

代码语言:javascript
复制
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(
          '${dotenv.env['RAZORPAY_KEY']!}:${dotenv.env['RAZORPAY_SECRET']!}'));
  request.headers.set(HttpHeaders.authorizationHeader, basicAuth);
  request.add(utf8.encode(json.encode(orderOptions)));
  final response = await request.close();
  response.transform(utf8.decoder).listen((contents) {
    String orderId = contents.split(',')[0].split(":")[1];
    orderId = orderId.substring(1, orderId.length - 1);
    Map<String, dynamic> checkoutOptions = {
      'key': dotenv.env['RAZORPAY_KEY']!,
      'amount': total * 100,
      "currency": "INR",
      'name': 'E Drives',
      'description': 'E Bike',
      'order_id': orderId, // Generate order_id using Orders API
      'timeout': 300,
    };
    try {
      _razorpay.open(checkoutOptions);
    } catch (e) {
      log.e(e.toString());
    }

您可以使用HttpClient并向Razorpay Orders API发送请求。希望这能回答你的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61320329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档