Bug #7172


Stripe: duplicate subscriptions on failed payment

Added by krileon about 4 years ago. Updated about 3 years ago.

Target version:
Start date:
29 May 2018
Due date:
% Done:


Estimated time:


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.

Actions #1

Updated by beat about 4 years ago

  • Target version changed from CBSubs 4.2.1 to CbSubs 4.4.1
Actions #2

Updated by krileon over 3 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.

Actions #3

Updated by krileon over 3 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

Actions #4

Updated by beat about 3 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF