#monove - Terminal payment error
1 messages · Page 1 of 1 (latest)
Hey there can you provide a bit more context, such as any example requests or SDK calls you're making an the exact error details you encounter?
In what context? Can you share more detail?
trying to understand the documentation
under Handle processing failures
it says
PaymentIntent is nil Request to Stripe timed out, unknown PaymentIntent status Retry processing the original PaymentIntent. Don’t create a new one, as that could result in multiple authorizations for the cardholder.
what does PaymentIntent is nil mean. what is nil? i know what null is
does it mean that theres no response.error.payment_intent?
here was my payment intent:
pi_3KlMfqK2Rid5jw0t1fQCGl4T
nil and null are the same -- just different language conventions
response was:
{
"error": {
"type": "card_error",
"code": "card_declined",
"decline_code": "generic_decline",
"doc_url": "https://stripe.com/docs/error-codes/card-declined",
"message": "Your card was declined."
}
}
essentially, undefined
ohhhh
but how could the advice be to:
Retry processing the original PaymentIntent. Don’t create a new one, as that could result in multiple authorizations for the cardholder.
this was for an expired card
we had code in place to do just that to keep retrying the submitted one and we have a headache from clients complaining, rightfully, as the card was declined
@jade quiver ?
we had code in place to do just that to keep retrying the submitted one
Not sure what you mean here, as you're referring to Temrinal payments. So you would use the same PI to re-initialize payment on the reader.
that's not what this means: "Retry processing the original PaymentIntent. Don’t create a new one, as that could result in multiple authorizations for the cardholder." is plain wrong
that's what this means: "Try collecting a different payment method by calling collectPaymentMethod again with the same PaymentIntent."
requires_payment_method
PaymentIntent is nil
"processing" means terminal.processPayment(paymentIntent), not terminal.collectPaymentMethod(token)
so the manual is wrong unless i'm misunderstanding
At which stage of teh integration are you encountering this? It's a communication error, generally, so the "process" verb might refer to either previous step.
when we run terminal.processPayment on a live card that is locked we get back:
{
"error": {
"type": "card_error",
"code": "card_declined",
"decline_code": "generic_decline",
"doc_url": "https://stripe.com/docs/error-codes/card-declined",
"message": "Your card was declined."
}
}
this would fit the "PaymentIntent is nil"?
you explained that it means that error.payment_intent would be undefined as we can see above. The advice to: "Retry processing the original PaymentIntent. Don’t create a new one, as that could result in multiple authorizations for the cardholder." is incorrect. Would you agree?
Well i don't expect the payment intent to be nil in that case, thats not a communication error thats a decline. You probably should collect a different payment method there.
from your documentation:
When processing a payment fails, the SDK returns an error that includes the updated PaymentIntent. Your application should inspect the PaymentIntent to decide how to deal with the error.
your documentation makes no mention there about this even being related to communication issues
The line you refer to says directly beside it:
Request to Stripe timed out, unknown PaymentIntent status