【发布时间】: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