使用此方法STPAPIClient.shared()。confirmPaymentIntent()确认付款意向时出现以下错误
Error Domain = com.stripe.lib代码= 50“没有这样的付款意图:pi_1ElaQpFSNNCQ7y59” UserInfo = {com.stripe.lib:ErrorMessageKey =没有这样的付款意图:pi_1ElaQpFSNNCQ7y59,com.stripe.lib:StripeErrorCodeKey = resource_missing,com。 stripe.lib:StripeErrorTypeKey = invalid_request_error,com.stripe.lib:ErrorParameterKey = intent,NSLocalizedDescription =没有这样的付款意图:pi_1ElaQpFSNNCQ7y59}
我正在执行的代码:
STPAPIClient.shared()。confirmPaymentIntent(带有:paymentIntentParams,完成:{(paymentIntent,错误)于
width=5
})
答案 0 :(得分:5)
我在JS api中也遇到了类似的问题(“无此付款方式”)。我的错误是我在stripe.handleCardPayment
的SetupIntent中使用stripe.handleCardSetup
而不是client_secret
。
答案 1 :(得分:3)
如果您使用的是stripe connect
(直接付费)功能,则需要在前端创建分条实例时传递分条连接的帐户ID(stripeAccount
)。参见下面的示例
var stripe = Stripe(STRIPE_PUBLIC_KEY, { stripeAccount: "{{ connected_account }}" });
答案 2 :(得分:1)
在您的代码中添加此方法,并将此sourceid设置为 paymentIntentParams.paymentMethodId =来源ID 与此相同,请将此源ID设置为Paymentid。
STPAPIClient.shared().createPaymentMethod(with: paymentMethodParams) { paymentMethod, error in
if error == nil {
let data = paymentMethod as? STPSource
sourceid = paymentMethod?.stripeId ?? ""
print(paymentMethod)
self.intentMakePayment(sourceid)
}
}
答案 3 :(得分:0)
所以我在 Stripe Connect 和iOS上遇到了同样的问题。要将其与客户机密或我的情况下的EphemeralKeyProvider一起使用,这里是注入Stripe Connect帐户参数的调用。
STPAPIClient.shared().stripeAccount = "KEY_PROVIDED_HERE"
这将允许 Stripe Connect 确认付款方式。