当前位置: 首页 > 知识库问答 >
问题:

如何使用React对存储的卡进行条带充电?

柳深
2023-03-14

我目前正在将Stripe支付网关集成到Meteor应用程序中。该应用程序需要保存客户卡以供以后使用。我能够创建客户对象,然后创建支付意图。我第一次能够创造出这个电荷。现在我想重新加载保存的卡,我已将客户Id传递给paymentIntent,但出现了一个错误。下面是我的客户端和服务器代码。

客户端

// code to retrieve customerObj

customerId = getCustomerDetails() // 

// Generate Paymentintent with this customer id.

let paymentIntent = generatePaymentIntent(cusomterId) ; // calls server functions and generates payment intent 
      try {
        const someAsync = await new Promise((resolve, reject) =>
          Meteor.call(
            "v1/handleGetPaymentIntent",
            { customerId },
            (err, res) => {
              if (err) return reject(err);
              resolve(res);
            }
          )
        );

        clientSecret = someAsync.result.client_secret;

        const rs = await stripe.confirmCardPayment(clientSecret);
        // OPTION 1: I have tried this without payment_method option(Since I am trying to load a saved card) but I am getting an error. 

    // OPTION 2 : I have even tried the below 
    const rs = await stripe.confirmCardPayment(clientSecret, {
          payment_method: {
            card: card,
            billing_details: {
              name: "Jenny Rosen",
            },
          },
        });


        if (rs.error) {
          // Show error to your customer (e.g., insufficient funds)
          console.log("final message from ", rs.error.message);
        } else {
          // The payment has been processed!
          if (rs.paymentIntent.status === "succeeded") {
            console.log("success");
             
          }
        }

// 

错误

**OPTION1 ERROR:** a final message from  A payment method of type card was expected to be present, but this PaymentIntent does not have a payment method and none was provided. Try again providing either the payment_method or payment_method_data parameters.


**OPTION2 ERROR**
IntegrationError: Invalid value for confirmCardPayment: payment_method.card should be object or element. You specified: null.
    at new o (https://js.stripe.com/v3:1:2923)
    at y (https://js.stripe.com/v3:1:25332)
    at https://js.stripe.com/v3:1:146495
    at Y (https://js.stripe.com/v3:1:29214)
    at https://js.stripe.com/v3:1:149075
    at Y (https://js.stripe.com/v3:1:29214)
    at Z (https://js.stripe.com/v3:1:30560)
    at ui (https://js.stripe.com/v3:1:153621)
    at https://js.stripe.com/v3:1:167556
    at https://js.stripe.com/v3:1:15358

不知道如何继续。需要帮助。

共有1个答案

吕胤
2023-03-14

客户机密来自支付意图,您必须首先在服务器端使用客户ID及其附带的支付方法ID创建支付意图。

https://stripe.com/docs/payments/save-and-reuse#web-创建付款意向关闭会话

 类似资料:
  • 我正在使用PayflowPro API的PayflowNETAPI类(Payflow_dotnet.dll)来提交一个存储信用卡的事务,这样我的公司就不必这样做了(对于符合PCI的reassons)。我正在使用来自信用卡商店事务的PNREF来进行引用事务,但是我一直得到“result=2&PNREF=&respmsg=invalid tender”我尝试了授权、捕获和销售事务,它们都给出了相同的结

  • 问题内容: 我需要在React JS中使用Stripe.js创建令牌,但找不到任何简单方法。在node.js中,我将执行以下操作: 但是Stripe npm模块在React JS中对我不起作用。我收到错误消息: 无法解析模块“ child_process” 因此,既然这显然是节点库,我想使用 但是我不确定在React中实现外部库的最佳实践是什么 问题答案: 您可以像其他客户端库一样继续添加它,就像

  • 我需要将数据从一个azure表存储迁移,基本上是从一个表迁移到另一个表(两个表既可以在同一订阅中,也可以在不同订阅中)。 在Azure表存储中是否有任何方法可以像在SQL存储中那样实现上述要求,在SQL存储中用户可以生成整个数据库或单个表的脚本或备份。

  • 这是在Windows Server 2012机器上安装的Google Cloud SDK。如果任何人有任何想法,如何做多个排除,这将是伟大的! 谢谢你。

  • 方法一:PC端 1.管理员登陆滴滴企业版用车管理后台,点击左侧边栏“充值对账”选项; 2.在此可查看余额,若余额不足,请点击“立即充值” 3.若选择支付宝、微信付款,请输入充值金额,最低1000元; 4.若选择线下付款,请参照提示进行汇款(PC端不支持网银支付); 5.充值成功后,即可继续用车。 方法二:企业版APP 1.管理员登陆滴滴企业版APP,点击左侧边栏“管理企业”→“充值”选项; 2.若

  • 我正在使用react native camera为Android和iOS构建条形码扫描仪。 我可以在iOS中扫描条形码,但问题是扫描边界没有视觉效果。我希望整个屏幕能够扫描条形码,而不仅仅是屏幕中间。 有什么办法吗?如果有其他图书馆也适合我。