Bug #7172
closedStripe: duplicate subscriptions on failed payment
Description
If a payment fails the subscription expires at CBSubs. This then allows the user to manually renew. However, if the Stripe account is set to retry (as is by default) and the user renews manually it generates a new subscription and updates the Customer object at Stripe with a valid payment method. This then causes the next retry of the OLD subscription to be successful. The result is they've 2 subscriptions and were billed twice.
Note quite sure how to best go about fixing this beyond checking if a subscription exists at Stripe already on renewal and if it does cancel it first. The failed payment IPN sent by Stripe should've caused CBSubs Stripe to cancel the subscription though so possible out-of-date issue on the users part. Needs further review.
Updated by beat over 6 years ago
- Target version changed from CBSubs 4.2.1 to CbSubs 4.4.1
Updated by krileon about 6 years ago
Steps to reproduce:
1. Subscribe for recurring
2. Recurring payment fails as card expired
3. CBSubs subscription expired
4. Payment method updated manually at Stripe
5. CBSubs does not renew
6. Manual renewal at CBSubs
This results in the old subscription being renewed because apparently updated payment source triggers this despite retry being turned off (needs verification). Then the manual renewal by the user results in a second subscription since it's a new basket.
Step 4 if in fact it renews the existing subscription SHOULD have sent an IPN that CBSubs can use to renew the plan. Review why this failed.
https://www.joomlapolis.com/forum/277-cb-paid-subscriptions-support/240216-stripe-fraud-ipn-history
Updated by krileon almost 6 years ago
- Project changed from 2 to CB Paid Subscriptions
- Status changed from Assigned to Resolved
- Target version changed from CbSubs 4.4.1 to 4.3.1
- % Done changed from 0 to 100
Fixed in MR !141