このメソッドを使用してお支払いの意図を確認しながら、次のエラーが発生していますSTPAPIClient.shared().confirmPaymentIntent()
エラードメイン= com.stripe.lib code = 50 "NOそのような決済_inncq7y59" userinfo = {com.stripe.lib:errorMessageKey = noこのような決算:pi_1elaqpfsnncq7y59、com.stripe.lib:stripeerra.codekey = resource_missing、com.stripe.lib :stripeerRortypeKey = invalid_request_error、com.stripe.lib:ErrorParameterKey = Intent、NSLocalizedDescription = no spy payment_intent:pi_1elaqpfsnncq7y59}
実行しているコード:
STPAPIClient.shared().confirmPaymentIntent(with: paymentIntentParams, completion: { (paymentIntent, error) in
if let error = error {
// handle error
} else if let paymentIntent = paymentIntent {
// see below to handle the confirmed PaymentIntent
if paymentIntent.status == .requiresAction {
guard let redirectContext = STPRedirectContext(paymentIntent: paymentIntent, completion: { clientSecret, redirectError in
// Fetch the latest status of the Payment Intent if necessary
STPAPIClient.shared().retrievePaymentIntent(withClientSecret: clientSecret) { paymentIntent, error in
// Check paymentIntent.status
}
})else{
// This PaymentIntent action is not yet supported by the SDK.
return;
}
redirectContext.startRedirectFlow(from: self)
}else{
// Show success message
}
}
})
_
このメソッドをコードに追加し、このSourceIDをPaymentIntentParams.paymentMethodid = sourceIDのレッサに設定します。
STPAPIClient.shared().createPaymentMethod(with: paymentMethodParams) { paymentMethod, error in
if error == nil {
let data = paymentMethod as? STPSource
sourceid = paymentMethod?.stripeId ?? ""
print(paymentMethod)
self.intentMakePayment(sourceid)
}
}
_
だから私はと同じ問題を得ましたStripe ConnectとiOS。クライアントシークレットまたはマイケースのEpheMerrySeyProviderと共にそれを使用するには、Stripe Connectアカウントパラメータを注入するための呼び出しがあります。
STPAPIClient.shared().stripeAccount = "KEY_PROVIDED_HERE"
_
これにより、支払い方法を確認するためにStripe Connectが許可されます。