I am getting following error while confirming payment intent using this method STPAPIClient.shared().confirmPaymentIntent()
Error Domain=com.stripe.lib Code=50 "No such payment_intent: pi_1ElaQpFSNNCQ7y59" UserInfo={com.stripe.lib:ErrorMessageKey=No such payment_intent: pi_1ElaQpFSNNCQ7y59, com.stripe.lib:StripeErrorCodeKey=resource_missing, com.stripe.lib:StripeErrorTypeKey=invalid_request_error, com.stripe.lib:ErrorParameterKey=intent, NSLocalizedDescription=No such payment_intent: pi_1ElaQpFSNNCQ7y59}
Code which I am executing:
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
}
}
})
In case of if you are using stripe connect
(direct charge) feature you need to pass stripe connected account id(stripeAccount
) while creating stripe instance in frontend side. see below example
var stripe = Stripe(STRIPE_PUBLIC_KEY, { stripeAccount: "{{ connected_account }}" });
I've had a similar problem with the JS api ('No such payment_intent'). My mistake was that I was using stripe.handleCardPayment
instead of stripe.handleCardSetup
with a client_secret
of a SetupIntent.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With