openfoodfoundation / openfoodnetwork

Connect suppliers, distributors and consumers to trade local produce.
https://www.openfoodnetwork.org
GNU Affero General Public License v3.0
1.1k stars 717 forks source link

Subscription Payment Failed : processing #7536

Open lbwright22 opened 3 years ago

lbwright22 commented 3 years ago

Description

Stripe Card payment for order ID R426726270 is stuck in 'Processing' state. Shopper and Hub manager informed that there was a problem processing the payment but no further information given. No payment attempt recorded in Stripe Customer card is within date. Unable to find bugsnag record.

processing

Expected Behavior

Card payment failure for a subscription order results in an error message so that the shopper and hub manager are aware of the steps they need to take for the payment to go through.

Actual Behaviour

Card payment failure does not generate an error message. Shopper unaware of the steps they need to complete to amend their details

Steps to Reproduce

1. 2. 3. 4.

Animated Gif/Screenshot

Workaround

Severity

S2 payments can't be automatically collected

Your Environment

Possible Fix

andrewpbrett commented 3 years ago

Thanks for reporting this @lbwright22. We've undertaken some work to refactor the SubscriptionPlacementJob, but I think this is also demonstrating that the ConfirmJob (that actually runs the payment) needs some attention as well.

lbwright22 commented 3 years ago

@andrewpbrett in terms of this one payment, are you able to confirm that this definitely won't go through now?
I just need the info in order to get back to the shopper and hub manager regarding collecting payment for the shopping this week.

Glad to help find more systems which need tweaking to make them more robust (sorry it is more work for you, but better in the long term ;-) )

andrewpbrett commented 3 years ago

Hi Louise - once the payment is in the "processing" state, we don't try to process it again as far as I can tell (we check the payment state before trying to collect and if it's already "processing" we stop the attempt).

We could probably manually get around this, or if the hub manager wants, it looks like they could also create a payment directly in Stripe.