Recurring Payment Option Missing

9 months 4 weeks ago - 9 months 4 weeks ago #334340 by AlexRag
Replied by AlexRag on topic Recurring Payment Option Missing
Hi Kyle.  No need to apologize.   I know you have to work within the confines of what Stripe sets.

I just have some follow-up questions/comments to make sure I update configuration settings properly going forward.

--- 1 ---

If I want to allow users who sign up within one month of the renewal date of June 30 (eg. if someone signs up on June 1 expiration would be 1 month + 1 year later) then the recurring payment option is NOT possible.    Is that correct?

If so the only solution is (correct me if I am wrong)
a. Remove the "Bonus time when reactivating expired subscriptions" so if someone signs up before the membership renewal date (July 1 - June 30) which means if someone joined say m June 1, 2023, the membership would expire June 30, 2023 instead of June 30, 2024. (not ideal)

b. Only allow Single payments and forget about the subscription option (except when its outside the Bonus time)


--- 2 ---

I think I may have misunderstood what the "Manual renewal extends expiration date as follows" setting does.  

I had it set to:  "Renewal starts at expiration date or at payment date - whichever happens last (allows free gap)."

So if I changed it to "Renewal starts at expiration date or at payment date - whichever happens first (allow overlap but no free gap)"  then even if people renew early the new membership term would still start on July 1 and the current membership would lapse on June 30?

If I remove the subscription as a payment option does this setting affect the single payment option?

--- 3 ---

There were no error messages in the logs regarding these users.   I will wait to see what happens when the subscription is set to expire tonight (June 30) to see if Stripe does process the payment.

It worked because we previously didn't error or your plan setup didn't result in an overage. Stripe would accept it, but would stop it at 365 days if it didn't outright error. So whatever overage days there were just didn't exist.

So, does that mean the payment should get processed tonight still?    I suppose that since the user sign-up was literally one day before (June 29th) it got through without incident.
Perhaps Stripe allows some within a day or so of 365 to go through?

This has me thinking that perhaps I can disable the recurring payment option during the "Bonus" time I set (1 month) and then turn it back on the rest of the time.  Does this make sense?

--- 4 ---  

Also, another issue I've discovered since March 2023 is Stripe had no problem adding the user's name in the Customer section to align with the users on the website. Now they are coming through as "Guest", which will make it more difficult to monitor.

A Stripe customer account isn't required for single payments. Recurring payments will always create a customer account. You can enable it to create customer accounts for single payments and checkout payments within your Stripe gateway settings. Specifically the below parameters.

Customer Accounts (Single Payments)
Customer Accounts (Checkout)


The thing is all the previous single payments from the website show up as customers in Stripe.  It's only the most recent that shows up as a Guest.   I gather this is some kind of update on Stripe's end within the last couple of months.

Is it okay to turn off "Accept Stripe Checkout Payments" and still be able to have Stripe create a customer for single payments?   Otherwise, I am seeing confusing duplication in the options.

 


 
Attachments:

Please Log in to join the conversation.

9 months 4 weeks ago #334341 by krileon
Replied by krileon on topic Recurring Payment Option Missing

If I want to allow users who sign up within one month of the renewal date of June 30 (eg. if someone signs up on June 1 expiration would be 1 month + 1 year later) then the recurring payment option is NOT possible.    Is that correct?

Correct.

a. Remove the "Bonus time when reactivating expired subscriptions" so if someone signs up before the membership renewal date (July 1 - June 30) which means if someone joined say m June 1, 2023, the membership would expire June 30, 2023 instead of June 30, 2024. (not ideal)

Correct, you cannot have bonus time that would put the recurring duration over 1 year.

b. Only allow Single payments and forget about the subscription option (except when its outside the Bonus time)

That's basically automated for you with the protection in place. Effectively if the recurring duration is within Stripe's limit it will allow them to subscribe.

So if I changed it to "Renewal starts at expiration date or at payment date - whichever happens first (allow overlap but no free gap)"  then even if people renew early the new membership term would still start on July 1 and the current membership would lapse on June 30?

That setting would prevent a free gap. So it wouldn't alter the recurring duration. So for example a 1 year duration plan with no free gap would work perfectly fine with Stripe and they would always renew for a year. This is irrelevant to their existing subscription as they'd just have time added to their existing subscription. We're strictly having to limit when Stripe handles billing the recurring payment, which is a maximum of 1 year. This is the default setting for all new plans.

If I remove the subscription as a payment option does this setting affect the single payment option? 

I'm not sure what you mean. Single payments have no duration limits as they're not managed by Stripe at all.

So, does that mean the payment should get processed tonight still?    I suppose that since the user sign-up was literally one day before (June 29th) it got through without incident.
Perhaps Stripe allows some within a day or so of 365 to go through?

The subscription will process whenever Stripe says it will within your subscription area of your Stripe account.

This has me thinking that perhaps I can disable the recurring payment option during the "Bonus" time I set (1 month) and then turn it back on the rest of the time.  Does this make sense?

I personally just don't recommend having bonus time at all. If you need bonus time flip it. Give it to them at the end with a grace period, which won't impact subscription recurring dates.

The thing is all the previous single payments from the website show up as customers in Stripe.  It's only the most recent that shows up as a Guest.   I gather this is some kind of update on Stripe's end within the last couple of months.

I wouldn't know. We of course always send the customer id with recurring payments as we have to since the API doesn't work without it. Only single payments can be guest payments, which our Stripe gateway by default does not create customers for, but those parameters will let them do so.

Is it okay to turn off "Accept Stripe Checkout Payments" and still be able to have Stripe create a customer for single payments?   Otherwise, I am seeing confusing duplication in the options.

Yes, you don't have to use Stripe Checkout at all. The gateway was improved awhile back to allow all payment methods on a single gateway. Previously you had to create 2 gateways (1 for on-site and 1 for checkout), which was cumbersome and caused webhook issues.


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.

9 months 4 weeks ago #334342 by AlexRag
Replied by AlexRag on topic Recurring Payment Option Missing

That setting would prevent a free gap. So it wouldn't alter the recurring duration. So for example a 1 year duration plan with no free gap would work perfectly fine with Stripe and they would always renew for a year. This is irrelevant to their existing subscription as they'd just have time added to their existing subscription. We're strictly having to limit when Stripe handles billing the recurring payment, which is a maximum of 1 year. This is the default setting for all new plans.If I remove the subscription as a payment option does this setting affect the single payment option? 

I'm not sure what you mean. Single payments have no duration limits as they're not managed by Stripe at all.


I was just wondering how the "Manual renewal extends expiration date as follows" affects people renewing, no matter when they had signed up in the first place.  

The reason I ask is that no matter when people sign up the membership has to be from July 1 - June 30 annually.    I just need to make sure the expiration date is always June 30.

So setting it to:  "Renewal starts at expiration date or at payment date - whichever happens first (allow overlap but no free gap)"  should work for people renewing manually OR if they decide to renew by opting to go with recurring payments?

If the renewal starts at a payment date which is before July 1 what would happen with access?   Since they are already active members they would continue to have access and nothing really changes in that regard.   I am guessing that is what is meant by "overlap"

 

This has me thinking that perhaps I can disable the recurring payment option during the "Bonus" time I set (1 month) and then turn it back on the rest of the time.  Does this make sense?

I personally just don't recommend having bonus time at all. If you need bonus time flip it. Give it to them at the end with a grace period, which won't impact subscription recurring dates.

I'm not sure I follow.   If I set up a grace period, would that mean the membership would not really expire on June 30?   if that's the case I am not sure it would work with my scenario as all members have to expire on that date since I have set up Regular Validity duration to be this calendar year (July 1 - June 30).

If someone signs up within one month (Bonus time) of the expiration I need to allow them to be able to sign up for the next term but still expire June 30 the following year.  So they get the free month.  Otherwise, the grace period would have to be 11 months, wouldn't it?     Does that make sense?

 

Please Log in to join the conversation.

9 months 4 weeks ago - 9 months 4 weeks ago #334343 by krileon
Replied by krileon on topic Recurring Payment Option Missing

The reason I ask is that no matter when people sign up the membership has to be from July 1 - June 30 annually.    I just need to make sure the expiration date is always June 30.

Then use a By Calendar Year duration and don't allow recurring durations or don't allow free gaps. There's no other way to do this. Your requirements don't fit within Stripes limitations as you could end up with a duration more than 365 days.

So setting it to:  "Renewal starts at expiration date or at payment date - whichever happens first (allow overlap but no free gap)"  should work for people renewing manually OR if they decide to renew by opting to go with recurring payments?

If the renewal starts at a payment date which is before July 1 what would happen with access?   Since they are already active members they would continue to have access and nothing really changes in that regard.   I am guessing that is what is meant by "overlap"

Sorry I meant to advise you to use "Renewal starts at expiration date or at payment date - whichever happens last (allows free gap)", which if you're actively subscribed and renew then it will extend from their expiration date. If they're expired and renew then it will extend from when they pay. This is a bit different when dealing with By Calendar Year durations though as those have start start/end dates.

I'm not sure I follow.   If I set up a grace period, would that mean the membership would not really expire on June 30?   if that's the case I am not sure it would work with my scenario as all members have to expire on that date since I have set up Regular Validity duration to be this calendar year (July 1 - June 30).

Grace Period is an artificial extension to a users expiration date. So if you set a grace period of 1 month their plan won't deactivate until 1 month after they expire. This isn't calculated in recurring payment dates though so it won't effect Stripe renewal dates.

The bottom line is ensure your plan can never be more than 365 days if you intend to use recurring payments. You can use whatever configuration you want with the understanding of that limitation. You may not be able to use recurring payments with Stripe with your variable duration requirements.


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.

9 months 4 weeks ago #334344 by AlexRag
Replied by AlexRag on topic Recurring Payment Option Missing
Thanks, Kyle!   Looks like I am down to 2 options:

1. The simplest solution is to not allow recurring payments as an option at all
2. Only allow recurring payments if it falls outside the Bonus time. In my case, it's June 1 - June 30.    If anyone signs up or renews outside this window would always only be a 365-day or less term.     

This would be manually making sure to turn on and off the recurring payment option.  That said if there was a way to somehow have the recurring payment be programmed to turn off during the bonus period I would not have to add the task to my calendar every May 31.    (Wish list - feature request). 

 

Please Log in to join the conversation.

9 months 3 weeks ago #334349 by krileon
Replied by krileon on topic Recurring Payment Option Missing

This would be manually making sure to turn on and off the recurring payment option.  That said if there was a way to somehow have the recurring payment be programmed to turn off during the bonus period I would not have to add the task to my calendar every May 31.    (Wish list - feature request).

You don't need to manually turn it off/on. It will automatically hide itself from being a payment option if the subscription is outside the limits of Stripe. Eventually this won't really matter though as we plan to change over to a token based billing implementation and entirely handle recurring billing with an internal scheduler so then any duration will become available, but it will be awhile before we redo all of that. For now we're limited by payment providers recurring limitations and it's a bit odd Stripe limits this to only 1 year to be honest.


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.

Moderators: beatnantkrileon
Time to create page: 0.274 seconds

Facebook Twitter LinkedIn