Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Code=50 “No such payment_intent” when confirm payment intent for stripe

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
    }
}
})
like image 594
Kelly White Avatar asked Jun 15 '19 12:06

Kelly White


2 Answers

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 }}" });
like image 170
Kaushal Avatar answered Oct 02 '22 03:10

Kaushal


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.

like image 36
FrankvR Avatar answered Oct 02 '22 04:10

FrankvR