[#6552] Duplicate running subscriptions with PayPal

7 years 1 week ago #292393 by micheleq
Replied by micheleq on topic Duplicate running subscriptions with PayPal
Hi Kyle,

The cancellation happens from the "Mass expiry settings" in CBSubs settings. They are not cancelled manually by me or the user. When I log in to the CBsubs back end, the mass expiration runs and cancels the subscriptions of all those whose subscription was not renewed and are past the grace period.

I have not tried to with the manual cancellation yet, as I have not run into that scenario yet.

I see no errors in the History logs, only "User subscription deactivated with status Expired".

The other trigger to be aware, as far as I can see, because I'm guessing it's a different cronjob, though I don't really know, is when the user signs in and their membership has expired so they are deactivated at that point. If the PayPal subscription is not cancelled here as well, we'd still have the same problem.

Hoping this helps,
Tomás

Please Log in to join the conversation.

7 years 1 week ago #292422 by krileon
Replied by krileon on topic Duplicate running subscriptions with PayPal
I'm confused, how are they expiring if they're recurring payments? The payment should automatically come through and renew the basket to prevent expiration. If it's not then there's no recurring payment to begin with. For PayPal recurring payments a 3 day grace period on your plans is recommended as IPNs could be delayed due to any number of issues (e.g. card on their account expired, error, sever downtime, etc..).


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM CST to 4:00 PM CST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.

Please Log in to join the conversation.

7 years 1 week ago #292426 by micheleq
Replied by micheleq on topic Duplicate running subscriptions with PayPal
Hi Kyle,

I've set my grace period to 4 days. This issue is because their payments fail at PayPal twice.

So the order of events is:
  1. New user signs up January 1st & pays with recurring PayPal payments for the first instance.
  2. On Feb 1, PayPal charges the recurring subscription and IPN notifies my site.
  3. My site receives the notification and extends the expiration date another month for that subscription.
  4. On March 1 PayPal tries to charge the subscription but the payment fails (for whatever reason: card expiration, lack of funds, etc.)
  5. Since I set a 4 day grace period, nothing happens on my site just yet.
  6. On March 4 (3 days after the first payment failed) PayPal tries to charge the subscription again, but fails again. PayPal keeps the subscription alive and will try one more time in 5 days to collect the recurring payment.
  7. On March 5, my site sees that the subscription has past it's expiration date plus the grace period, so it cancels the subscription as expired.
  8. On March 6 the user tries to log into my site and sees that their membership has expired so they renew the subscription.
  9. When the user is in PayPal, they see that either the card expired or they need to add funds, so they update their payments and the new subscription is activated, and he's charged on March 6 on the new subscription.
  10. The user is unaware that the original subscription with PayPal is still active and latent.
  11. On March 9 PayPal tries to collect again on the old subscription and this time there are funds (or credit card updated) and the payment is charged successfully.
  12. My site receives the IPN and adds a month to the subscription (which was already active) making the expiration May 6 (2 months ahead).
  13. From then on double payments happen, every 1st and 6th of the month they will be charged until someone looks.

Of course subscribers SHOULD be aware of their subscriptions and payments, but may times they are not. I've posted detailed instructions on the site, but they are not read. A possible solution would be to extend the grace period to 10 days but that would allow for people to take unfair advantage of the grace period.

By having the API cancel the subscription at PayPal upon expiration, this would be adverted. I understand there are several different places where this happens. It seems to me that the script that runs the automatic expiration does not consider cancelling the subscription in PayPal as it logical to assume that if the Payment has not been made, there's no active subscription in PayPal, and this is true almost every time. It's rare, but the example above happens to me at least once a month and it's getting more common.

If this could be fixed it would save me a few headaches!

Thank you,

Tomás

Please Log in to join the conversation.

7 years 6 days ago - 7 years 5 days ago #292447 by krileon
Replied by krileon on topic Duplicate running subscriptions with PayPal
Yup, that sounds like a bug. Automated expiration should be running the stop subscription API call which would cancel the PayPal subscription. For the time being I recommend increasing your grace period to cover those additional days that PayPal will retry (so I guess 2 weeks?). Have added a bug ticket for further investigation.

#6552


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM CST to 4:00 PM CST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.
The following user(s) said Thank You: micheleq

Please Log in to join the conversation.

7 years 5 days ago #292454 by micheleq
Thank you!

Please Log in to join the conversation.

Moderators: beatnantkrileon
Time to create page: 0.270 seconds

Facebook Twitter LinkedIn