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

获取条纹错误:没有这样的支付意图:“我的支付意图id”

关苗宣
2023-03-14

对不起,我对编码很陌生,所以我不知道很多缩写/速记的东西。所以我正在使用React和C#尝试使用Stripe来处理付款,我已经到了取回payment_intentidclient_secret和付款方式Id的地步,但是当我运行代码时:

const result = await stripe.confirmCardPayment(this.state.clientSecret, {
      payment_method: paymentMethodRQ.paymentMethod.id,
    });

我得到了一个错误:

没有这样的支付意图。这是一个404,用于/v1/payment\u intent/confirm

我猜这意味着支付意图实际上没有被创建,因为它也没有出现在Stripe仪表板上。我不知道该怎么解决这个问题。其他大多数类似的问题要么使用不同的语言,要么不涉及如何解决我的特定问题。我按照文件的要求收取款项,然后付款,在https://stripe.com/docs/connect/collect-then-transfer-guide#setup

这是我提交的反应代码:

handleSubmit = async (event) => {
    event.preventDefault();

    const { stripe, elements } = this.props;

    if (!stripe || !elements) {
      _logger("Stripe.js has not yet loaded.");
      // Make  sure to disable form submission until Stripe.js has loaded.
      return;
    }
    const paymentMethodRQ = await stripe.createPaymentMethod({
      type: "card",
      card: elements.getElement(CardElement),
    });

    const result = await stripe.confirmCardPayment(this.state.clientSecret, {
      payment_method: paymentMethodRQ.paymentMethod.id,
    });

    if (result.error) {
      toast.error("payment not processed");
      _logger(result.error.message, "payment not processed");
    } else {
      toast.success("The payment processing!");
      if (result.paymentIntent.status === "succeeded") {
        _logger("payument successful");
        // havent gotten to this part yet
      }
    }
  };

我正在为React的PaymentIntentCreateOptions传递金额和货币。这是我在Visual Studio中的支付意图控制器:

[HttpPost("paymentintent")]
        public async Task<IActionResult> PaymentIntent(PaymentIntentCreateOptions options)
        {
            StripeConfiguration.ApiKey = "my test secret key";

            ItemResponse<PaymentIntentModel> response = new ItemResponse<PaymentIntentModel>();
            var service = new PaymentIntentService();
            var paymentIntent = service.Create(options);

            Logger.LogInformation(paymentIntent.ToString());

            var paymentIntentModel = new PaymentIntentModel();
            paymentIntentModel.Id = paymentIntent.Id;
            paymentIntentModel.ClientSecretKey = paymentIntent.ClientSecret;
            response.Item = paymentIntentModel;

            return Ok200(response);
        }

共有1个答案

牛华皓
2023-03-14

您必须确保您在前端声明的公钥与您的stripe帐户中的公钥匹配,否则将出现此错误。

 类似资料:
  • 我正在尝试使用PaymentIntent执行带区支付。我在stripe网站上读到了以下内容(链接) 在服务器上使用金额和货币创建PaymentIntent。始终要决定在服务器端(一个受信任的环境)而不是客户端收取多少费用。这就防止了恶意客户能够自行选择价格。 我不明白如何决定在服务器端收取多少费用。我的应用程序有一系列的项目要买,每一个项目都有价格应用程序是一个市场和价格清单在客户端,所以我决定多

  • 下面的代码在javascript工作,它返回的响应的付款方式,例如'PM_1HZDPTHMQMK5H2YU0KAI****',我用这个付款方式收取付款,下面是条带的响应。 “提供的PaymentMethod以前与没有客户附件的PaymentIntent一起使用,与没有客户附件的连接帐户共享,或者与客户分离。它不能再次使用。若要多次使用PaymentMethod,必须先将其附加到客户”。 问题是,我

  • 有人能告诉我Stripe CLI应用程序的语法吗 只有代表另一个帐户(使用OAuth密钥、条带帐户头或目标参数)提出请求时,才能申请费用 我无法破译目标参数语法,例如 条带支付计划创建--金额2000--申请费金额500--客户客户测试用户--货币=欧元--支付方式pm_卡_visa--确认=真-d转账_数据[]=账户测试用户

  • 我最近将Stripe iOS SDK和API从2019-05-16版本更新为最新版本。以前,我的代码在Charges API上运行良好,但现在PaymentIntent出现了问题。 我使用Stripe Connect和自定义帐户,同时创建单独的费用和转账。 问题是,当我尝试进行初始付款时,我没有收到这样的付款意图:(null)错误。但实际上,正在创建付款意图。付款“不完整”和“PaymentInt

  • 用户可能在使用App过程中可能会出现不能正常唤起支付宝的情况。 处理方式:请在webview中设置允许打开alipays或alipay协议。 示例代码: - (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler

  • 由于变现猫接入的支付宝支付类型为支付宝手机网站支付,如果app(安卓)没有接入过支付宝支付,可能存在在app中无法唤起支付宝客户端问题,如果出现这种情况则: 在客户端加入以下代码,重写webview加载方法,以下代码为安卓处理方式: //android WebView相关设置 mWebView.setWebViewClient(new PayWebViewClient()); //实现代码 cla