#oleg-codaio
1 messages · Page 1 of 1 (latest)
Hi there, let me take a look.
From your logs I can see there are a few invoice.payment_failed events. For example
https://dashboard.stripe.com/events/evt_1MATIIAegRHrUhUq4GsgyI7t and https://dashboard.stripe.com/events/evt_1M8etrAegRHrUhUqunj7RGPv
There's also a invoice.paid https://dashboard.stripe.com/events/evt_1MATNPAegRHrUhUq56g494nU
Thanks for taking a look. So those other events are actually associated with different charges.
If you look at the events associated with that invoice: https://dashboard.stripe.com/events?related_object=in_1M8dj4AegRHrUhUqdzBOvIx4
The API call occurred at 12/1/22 10:58:59 AM PST. The subsequent invoice.payment_failed event happened 12 hours later at but it was for a different charge (initiated by Stripe)
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
You'll see that the charge in question does not have an associated event https://dashboard.stripe.com/events?related_object=ch_3M8djHAegRHrUhUq0GWTDGBQ
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
The charges are different, but the invoice is the same.
Right, but in this case what happened is that charge failed, and no subsequent invoice event was generated. So in our system, the customer object was locked for half a day
It seems odd to me that I initiated payment for the invoice using invoice.pay, and there was a charge.failed event, but no invoice.payment_failed event
Hmm? I thought I just sent you two invoice.payment_failed event IDs?
Yeah you did, but those were for different payment attempts
For the payment attempt at 12/1/22 10:58:59 AM PST, there was no invoice.payment_failed event
Can you share me the charge ID?
ch_3M8djHAegRHrUhUq0GWTDGBQ
OK. the invoice.payment_failed is fired if the invoice payment is triggered by Stripe subscription engine. So since this ch_3M8djHAegRHrUhUq0GWTDGBQ is triggered manually, no invoice.payment_failed is fired.
Hmm, but I've definitely seen invoice.payment_failed events for invoice payments initiated by us before. Here's an example: https://dashboard.stripe.com/logs/req_22VKwGhKLCQKkb and charge ch_3MAthWAegRHrUhUq0ux6Z3AX
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
The only thing that's unique about this case is there was a processing_error. So it seems that processing_errors aren't resulting in the same error handling logic as other kinds of errors like card_declined, which smells like a bug to me (or is at least unexpected)
Hence my original question if processing_errors are special (and need to be handled differently)