Stripe Flutter:成功付款后获取交易id



我们在flutter中实现了条纹支付,一切都很完美。我们现在有兴趣获得成功付款后生成的交易ID。

我们已经尝试过查看文件,但无法获得支付交易ID的方法。

有人能帮我们做这个方法吗?

  • 大家好,

    您可以从API由条纹、提供

    1. 首先创建您的createPaymentIntent
    paymentIntent = await createPaymentIntent(context: context);
    
    1. 从paymentIntent获得paymentIntentId
    var paymentIntentId = paymentIntent!['id'];
    
    1. 创建另一个函数来检索需要在标头上传递secretKey的支付细节,并将支付意图作为参数

      retrieveTxnId(
      {required BuildContext context, required String paymentIntent}) async {
      try {
      http.Response response = await http.get(
      Uri.parse(
      'https://api.stripe.com/v1/charges?payment_intent=$paymentIntent'),
      headers: {
      "Authorization": "Bearer $secretKey",
      "Content-Type": "application/x-www-form-urlencoded"
      });
      if (response.statusCode == 200) {
      var data =json.decode(response.body);
      log("Transaction Id ${data['data'][0]['balanceTransaction']}");
      }
      } catch (e) {
      throw Exception(e.toString());
      }
      

      }

    您可以使用此方法获取事务id,我希望这能有所帮助您:Ameen:(

transactionId是PaymentIntent[1]或SetupIntent[2]ID,具体取决于您的集成。

使用Stripe接受付款时,您可能正在流中创建PaymentIntent

例如,根据Flutter示例[3],以下是如何在您的支付流程中跟踪PaymentIntent:

  1. 在后台创建付款意向[4]
  2. 将paymentIntent ID传递给你的flutter应用程序,就像在这里传递client_secret[5]一样

您应该在所有支付流集成中使用此ID来跟踪它。

[1]https://stripe.com/docs/api/payment_intents/object#payment_intent_object-id

[2]https://stripe.com/docs/api/setup_intents/object#setup_intent_object-id

[3]https://github.com/flutter-stripe/flutter_stripe/blob/main/example

[4]https://github.com/flutter-stripe/flutter_stripe/blob/main/example/server/src/index.ts#L544

[5]https://github.com/flutter-stripe/flutter_stripe/blob/main/example/lib/screens/payment_sheet/payment_sheet_screen.dart#L91

相关内容

  • 没有找到相关文章

最新更新