Upgrading a membership without charging immediately

I have one recurring membership and i want to offer an upgrade to a GOLD membership, which would include additional content (that is usually sold separately). The current payment is $10/month, and i want to increase it to $15/month.

I created this code:

[s2Member-Pro-PayPal-Form level="*" ccaps=“lab,lab’.date(‘Ym’).’,wm’.date(‘Ym’).’,GOLD” desc=“GOLD Membership” ps=“paypal” lc="" cc=“USD” dg=“0” ns=“1” custom=“scrapbookcampus.com” ta=“0” tp=“2” tt=“W” ra=“15” rp=“1” rt=“M” rr=“1” rrt="" rra=“2” accept=“paypal” accept_via_paypal=“paypal” coupon="" accept_coupons=“0” default_country_code="" captcha=“0”]

Since i don’t want to force the members to pay the upgraded price NOW, i am giving them a 2 week period. But when i do that, the page displays this error message:

Invalid form configuration. Invalid “rr, tp” attributes. The “rr” (Regular Recurring) attribute is “BN” (Buy Now), and “tp” (Trial Period) is not “0”.

The strange thing is that it does not seem to match the form i have.
If i change the tp and tt values to 0, it works but i don’t want the members to start paying NOW; i would like to keep their current payment schedule, but just up it at the next payment.

Am i asking too much of s2M again?

@Cassel:

You need to use a Billing Modification Pro-Form for want you are trying to do. You’ll find these at WordPress Dashboard → s2Member → PayPal Pro-Forms → Billing Modification Forms. These Pro-Forms will always contain this attribute: modify="1".

That does not wait until the next scheduled payment to do the upgrade, but it will IMMEDIATELY cancel the previous subscription and IMMEDIATELY charge the user for the new price. That is now what I want. I want the access to be upgraded now, but the payment to continue the same schedule.

Carole (@Cassel),

If you offer the first 2 weeks free using the Billing Modification shortcode generator, your users should not be charged until the 2 weeks are over: which is the same thing that would happen with a trial period.

Yes and no. If the person still has one month until the next payment, they won`t like having a 2 week “free” period and pay after that. And if the person is due to pay the next day, then, adding a 2 week free period will be nice for her but messes up the accounting.

Carole,

So, what you really need is for s2Member to recognize that Member X has y number of days left on their membership and for the upgrade to take that into consideration? The trouble there is that many site owners don’t want to offer 1-to-1 credit for days left on a membership when a user upgrades: they believe the extra “whatever” they offer for a Level 2 membership, for example, is enough to make up for the extra charge. Then some site owners want to offer maybe 1 day free for every 2 days left on a membership, etc…

I thought I’d seen a KBA or an old forum thread about writing some code to figure out how much time is left on the membership and then dynamically setting either the price or the time period, but I can’t find it. I’m still looking and will let you know if I find it, but the bottom-line is that to do what you want, you will need custom code.

@JediShark: Pat, is this the page that you had in mind? http://www.s2member.com/forums/topic/recurring-prorating-of-billing/#post-7410

@Cassel: Carole, does that page help?

Maybe. I`ll have to study that or give it to my programmer.
Too bad it is not a simple check box to add to any button/form function.