Billing modification form

Hello,

We have a question on the S2Member Billing Modification form. We’re using it to modify the monthly rate users are paying for membership. When a user fills it out, are they supposed to be charged immediately and placed on a new monthly billing cycle or will the old billing cycle remain, only with a new rate, with users being charged on the same period as before?

Is there a way for users to fill in a form, and update the amount they are paying monthly without charging them immediately upon submitting the form?

Thanks.

When you use a Billing Modification form the existing subscription is canceled and a new one created, so the billing cycle is indeed changed. You could offer a free trial period with the upgrade to delay the initial payment, but you’d have to write custom code to set the trial period equal to the number of days left on their billing cycle if you need to be precise. (Note that this is not a limitation unique to s2Member: we discussed this recently in a Slack group I belong to and not handling this type of situation easily is common to all of the Membership plugins we looked at – I’m not an expert on payment processors but it may be a limitation inherent in the recurring subscription process.)

1 Like

Hi Daniel,

I came across this one myself (using Stripe as the payment processor) and the only way to make this user-friendly (money-wise) is to write some custom code just as Pat suggested.

But remember that this can create some unwanted scenarios:
Suppose you offer two membership levels with no trial period. The levels are charged for $10 (level1) and $20 (level2) per month.
A user signs up for a level 1 membership and he is charged $10 for his first month. A day later he upgrades to level 2 for $20 per month.
If you write some custom code, as suggested by Pat, to make this upgrade happen and give him a 29 day trial period (so the billing cycle stays the same as when he signed up for level 1), this user in fact gets his (almost) first month of level 2 with a 50% discount.

This doesn’t sound fair to other paid users. So you might want to reconsider the option Pat provided.
Another solution could be that upgrading to a higher level can only occur 1 day before the current billing cycle. But you will have to write some custom code for this to happen as well.