【问题标题】:Stripe Client intent error swift: No such payment_intentStripe 客户端意图错误迅速:没有这样的 payment_intent
【发布时间】:2021-06-09 03:57:20
【问题描述】:

我在使用条带文档提供的支付功能时遇到问题

条带化文档:https://stripe.com/docs/payments/accept-a-payment

我所有的服务器端和客户端密钥都是相同的测试密钥。

我已成功检索到带有值的付款意图

pi_1ITiM3KCSIKL5fqUAMGk32Do_secret_cJfvlRxtnnTuU8VIScj8NCz12

错误信息:

没有这样的payment_intent:\'pi_1ITiM3KCSIKL5fqUAMGk32Do\'

不知道为什么错误信息包括:(可能是json问题)

\'

任何关于为什么会发生这种情况的帮助将不胜感激。

var paymentIntentClientSecret: String?

func pay() {
            guard let paymentIntentClientSecret = paymentIntentClientSecret else {
                return;
            }
        print(paymentIntentClientSecret) // pi_1ITiM3KCSIKL5fqUAMGk32Do_secret_cJfvlRxtnnTuU8VIScj8NCz12
        
            // Collect card details
        let cardParams = creditCardField.cardParams//cardTextField.cardParams
            let paymentMethodParams = STPPaymentMethodParams(card: cardParams, billingDetails: nil, metadata: nil)
            let paymentIntentParams = STPPaymentIntentParams(clientSecret: paymentIntentClientSecret)
            print(paymentIntentParams)
            paymentIntentParams.paymentMethodParams = paymentMethodParams

            // Submit the payment
            let paymentHandler = STPPaymentHandler.shared()
        paymentHandler.confirmPayment(paymentIntentParams, with: self) { (status, paymentIntent, error) in
                switch (status) {
                case .failed:
                    //self.displayAlert(title: "Payment failed", message: error?.localizedDescription ?? "")
                    print("failed: \(String(describing: error?.localizedDescription))")
                    break
                case .canceled:
                    //self.displayAlert(title: "Payment canceled", message: error?.localizedDescription ?? "")
                    print("cancled: \(String(describing: error?.localizedDescription))")
                    break
                case .succeeded:
                    //self.displayAlert(title: "Payment succeeded", message: paymentIntent?.description ?? "", restartDemo: true)
                    print("succeeded: \(String(describing: error?.localizedDescription))")
                    break
                @unknown default:
                    fatalError()
                    break
                }
            }
        }

响应正文:

{
  "error": {
    "code": "resource_missing",
    "doc_url": "https://stripe.com/docs/error-codes/resource-missing",
    "message": "No such payment_intent: 'pi_1ITh8QKCSIKL5fqU7VjJqHH0'",
    "param": "intent",
    "type": "invalid_request_error"
  }
}

【问题讨论】:

    标签: ios json swift stripe-payments


    【解决方案1】:

    “No such...”错误通常是由于 API 密钥不匹配(例如使用测试和实时密钥的混合)或尝试访问存在于不同帐户上的对象(例如尝试执行来自您的平台帐户对已连接帐户上创建的对象的操作)。

    您很可能正在使用来自一个帐户的可发布密钥和来自另一个帐户的密钥(假设您没有使用 Connect)。

    【讨论】:

    • 我的所有密钥都匹配并显示在正确的平台控制台中。但是,我使用另一个帐户 ID 收取申请费。这可能是我试图在另一个帐户上测试申请费的问题吗?
    猜你喜欢
    • 2019-12-28
    • 2021-01-20
    • 2016-06-24
    • 2018-07-26
    • 2022-01-10
    • 1970-01-01
    • 2021-01-06
    • 2016-06-23
    • 1970-01-01
    相关资源
    最近更新 更多