latest stable versions: v150827 (changelog)

Old Forums (READ-ONLY): The community now lives at WP Sharks™. If you have an s2Member® Pro question, please use our new Support System.

HELP – New subscription NOT replacing old one

Home Forums Community Forum HELP – New subscription NOT replacing old one

This topic contains 32 replies, has 5 voices. Last updated by  cassel 4 years, 2 months ago.

Topic Author Topic
Posted: Sunday Oct 7th, 2012 at 10:26 am #27714
cassel
Username: cassel

I have offered a GOLD subscription to my members which includes an additional ccap than the regular membership. I had the members start that GOLD subscription just days before they were due to pay the regular one so they would not end up paying twice in a month. That was with the assumption that the GOLD membership would REPLACE the old one. It did in s2M but it didn’t in Paypal, and the person ended up with paying the GOLD monthly payment (as expected) and then the regular scheduled payment of the old membership, the next day.

Is there a way to automatically replace the old membership by the new one? Or will i have to tell the members to go cancel their old membership in addition to subscribing to the new one? It seems a bit complicated for some members!

List Of Topic Replies

Viewing 25 replies - 1 through 25 (of 32 total)
Author Replies
Author Replies
Posted: Monday Oct 8th, 2012 at 3:37 am #27771
Raam Dev
Username: Raam
Staff Member

If you use the Billing Modification form (Dashboard -› s2Member® -› PayPal® Pro Forms -› Billing Modification Forms), s2Member automatically cancels the old PayPal Subscription and replaces it with the new one. The thing to remember is that the user must be logged in when using the Upgrade Form, otherwise s2Member won’t know about the old subscription.

Posted: Monday Oct 8th, 2012 at 8:31 am #27786
cassel
Username: cassel

Oh,. i knew a detail had escaped me. And in my case, the upgrade button is ONLY available to specific members with particular ccaps so they HAVE to be logged in to see the button. That would work. I’ll check that and report back if it does work as intended. Thanks.

Posted: Monday Oct 8th, 2012 at 9:53 am #27792
cassel
Username: cassel

Ok a few details here.
1- I dont need the pro-form. I have a special php code i need to insert to ensure that only FUTURE workshops will be included with the new subscription, not all. So i need a php code for it, and the pro-form does not seem to offer a php version. So i have to stick with the Paypal BUTTON. Which is ok as it also has the Subscriber Modification.

2- problem is: it only offers modification for changing level, not changing ccaps. In my case, i need to ADD ccaps to offer a more expensive membership, not change level. It seems to be the same whether using the button or the pro-form.

Any other alternative to ask the member to manually go and cancel their old subscription on Paypal?

Posted: Tuesday Oct 9th, 2012 at 3:23 am #27852
Raam Dev
Username: Raam
Staff Member

The PayPal Buttons for Subscriber Modification (Dashboard -› s2Member® -› PayPal® Buttons -› Subscr. Modification Buttons) does allow you to add/remove Custom Capabilities.

If you click on the little question mark next to the Custom Capabilities field when generating a Subscriber Modification button, you’ll see the following:

Optional. This is VERY advanced.
See: s2Member -> API Scripting -> Custom Capabilities.

*ADVANCED TIP: You can specifiy a list of Custom Capabilities that will be (Added) with this purchase. Or, you could tell s2Member to (Remove All) Custom Capabilities that may or may not already exist for a particular Member, and (Add) only the new ones that you specify. To do this, just start your list of Custom Capabilities with `-all`.

So instead of just (Adding) Custom Capabilities:
music,videos,archives,gifts

You could (Remove All) that may already exist, and then (Add) new ones:
-all,calendar,forums,tools

Or to just (Remove All) and (Add) nothing:
-all

Posted: Tuesday Oct 9th, 2012 at 10:30 am #27895
cassel
Username: cassel

Cionsidering that the member is currently on Level 1 and i dont need to CHANGE that level, would the “upgrade to Level1” be useable? Or is that “upgrade to level 1” only available to Level 0 members? (which would not make sense since a paid subscription would not be a Level0 would it?)

If i can use the Level 1 to modify a subscription to another Level 1, that would solve the problem. And if it is the case, it might be a good idea to add that tidbit of information since using ccaps is very powerful and probably used a lot, instead of levels.

Posted: Wednesday Oct 10th, 2012 at 4:27 am #27954
Raam Dev
Username: Raam
Staff Member

Yes, you should be able to use the Upgrade to Level 1 form for a Level 1 subscriber to modify their Custom Capabilities.

Posted: Wednesday Oct 10th, 2012 at 6:08 am #27969
cassel
Username: cassel

That would solve my problem!! Thanks.

Posted: Sunday Oct 14th, 2012 at 8:30 am #28378
cassel
Username: cassel

How do i know someone DID, in fact, upgrade? Am i supposed to get a notification of subscription change from paypal? One member said she “paid” for the GOLD upgrade but i could not see the added ccap in her profile, and i didn’t get anything from Paypal either.

EDIT: the user tried again and it worked. Somehow, maybe she didn’t do it right. I got a notification of change, and also a notification of payment. I am unsure if the payment was due today (maybe it was) or if it because of the upgrade, in which case, it would be for less than a month. At least, i offer the upgrade to the members about 4 days before their next scheduled payment so it is close enough to one month.

I’ll update if anything seems odd, or if they get charged more than once.

  • This reply was modified 4 years, 2 months ago by  cassel.
  • This reply was modified 4 years, 2 months ago by  cassel.
Posted: Monday Oct 15th, 2012 at 8:48 am #28412

Got it. Thanks for the update. :)

Posted: Thursday Oct 18th, 2012 at 10:34 am #28841
cassel
Username: cassel

Well, something might not be right. The user UPGRADED her subscription with that button. The ccaps were changed correctly. I got a $15 payment (which i thought was the scheduled payment, upgraded) and a notification of a recurring payment being set up. That was Sunday. Today, a recurring payment of $10 goes through for that customer for the previous subscription (meaning she now paid $25 for this month). Somehow, it seems to have updated in s2M (with ccaps) but not in Paypal.

Any idea what the problem might be? I know she can now cancel the old subscription but i am unsure how it might affect her account in s2M with the ccaps.

Posted: Thursday Oct 18th, 2012 at 6:14 pm #28926
Raam Dev
Username: Raam
Staff Member

If she actually used a Billing Modification button/form (Dashboard -› s2Member® -› PayPal® Pro Forms -› Billing Modification Forms), s2Member cancels the old PayPal subscription before creating the new one, so assuming that user had the correct PayPal Subscription ID in the Paid Subscr. ID field on their account, s2Member would’ve canceled that old subscription and then created the new one.

If that didn’t happen, it’s possible the users account didn’t have the old PayPal Subscription ID on their account.

The best way to see what happened is to look at the logs to see what s2Member actually did.

Posted: Thursday Oct 18th, 2012 at 9:20 pm #28952
cassel
Username: cassel

Which log should i look in?
Also, how can the Paypal subscription ID be the same or different? How or where is it entered?

Posted: Friday Oct 19th, 2012 at 8:03 pm #29081
Raam Dev
Username: Raam
Staff Member

The two logs that may hold relevant information are paypal-ipn.log and paypal-rtn.log. You can search by Subscription/Transaction ID and/or the email/name of the person who signed up.

The Paid Subscr. ID is set by s2Member when someone signs up, so it shouldn’t change. However, s2Member uses that to cancel the previous subscription, so if it was wrong or if it didn’t exist, then s2Member wouldn’t have been able to cancel the previous subscription. The log should indicate what s2Member did.

Posted: Friday Oct 19th, 2012 at 10:33 pm #29093
cassel
Username: cassel

So what specific information should i look at or what part should i post?

Another issue that has come up twice so far is that some members say they cannot upgrade as they get a message from Paypal that it is too close to the next payment. One even got the message that it was within 72 hours of her next payment. That seems kind of an annoyance if they have to upgrade more than 3 days before.

  • This reply was modified 4 years, 2 months ago by  cassel.
Posted: Monday Oct 22nd, 2012 at 1:11 pm #29280
Raam Dev
Username: Raam
Staff Member

Each event has a collection of information associated with it. If you search the logs for the events related to the Subscription ID or email address in question, you can post all of those entries here (please hide any private info by Xing-out any email addresses). If you open the log files in a text editor, you can search them for the email address of the person who tried to upgrade and then copy/paste all those entries here.

Regarding the upgrade message: I’ve never heard of that before. Do you have the exact message, or perhaps a screenshot that you could show us?

Posted: Monday Oct 22nd, 2012 at 3:58 pm #29327
cassel
Username: cassel

I already got a problem with EVERY customer who tried to upgrade:
– either they cannot because it is within that 72 hour period before the next payment
– either it works but charging the customer for a NEW payment, even if the previous payment was the same day (today, both payments went through within 10 minutes)
– the upgraded payment goes through without cancelling the previous rate which still goes through on the due date.

Maybe my code is wrong? Could you check?

<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
 <input type="hidden" name="business" value="admin@digiscrapcampus.com" />
 <input type="hidden" name="cmd" value="_xclick-subscriptions" />
 <!-- Instant Payment Notification & Return Page Details -->
 <input type="hidden" name="notify_url" value="http://scrapbookcampus.com/?s2member_paypal_notify=1" />
 <input type="hidden" name="cancel_return" value="http://scrapbookcampus.com/" />
 <input type="hidden" name="return" value="http://scrapbookcampus.com/?s2member_paypal_return=1" />
 <input type="hidden" name="rm" value="2" />
 <!-- Configures Basic Checkout Fields -->
 <input type="hidden" name="lc" value="" />
 <input type="hidden" name="no_shipping" value="1" />
 <input type="hidden" name="no_note" value="1" />
 <input type="hidden" name="custom" value="scrapbookcampus.com" />
 <input type="hidden" name="currency_code" value="USD" />
 <input type="hidden" name="page_style" value="paypal" />
 <input type="hidden" name="charset" value="utf-8" />
 <input type="hidden" name="item_name" value="Element Creation Tutorial - GOLD" />
 <input type="hidden" name="item_number" value="1:wm<?php echo 
date('Ym'); ?>,element,forum" />
 <!-- Configures s2Member's Unique Invoice ID/Code  -->
 <input type="hidden" name="invoice" value="<?php echo S2MEMBER_VALUE_FOR_PP_INV(); ?>" />
 <!-- Identifies/Updates An Existing User/Member ( when/if applicable )  -->
 <input type="hidden" name="on0" value="<?php echo S2MEMBER_CURRENT_USER_VALUE_FOR_PP_ON0; ?>" />
 <input type="hidden" name="os0" value="<?php echo S2MEMBER_CURRENT_USER_VALUE_FOR_PP_OS0; ?>" />
 <!-- Identifies The Customer's IP Address For Tracking -->
 <input type="hidden" name="on1" value="<?php echo S2MEMBER_CURRENT_USER_VALUE_FOR_PP_ON1; ?>" />
 <input type="hidden" name="os1" value="<?php echo S2MEMBER_CURRENT_USER_VALUE_FOR_PP_OS1; ?>" />
 <!-- Controls Modify Behavior At PayPal® Checkout -->
 <input type="hidden" name="modify" value="1" />
 <!-- Customizes Prices, Payments & Billing Cycle -->
 <!--<input type="hidden" name="amount" value="15" />-->
 <input type="hidden" name="src" value="1" />
 <input type="hidden" name="srt" value="" />
 <input type="hidden" name="sra" value="1" />
 <!--<input type="hidden" name="a1" value="0" />-->
 <!--<input type="hidden" name="p1" value="0" />-->
 <!--<input type="hidden" name="t1" value="D" />-->
 <input type="hidden" name="a3" value="15" />
 <input type="hidden" name="p3" value="1" />
 <input type="hidden" name="t3" value="M" />
 <!-- Displays The PayPal® Image Button -->
 <input type="image" src="http://scrapbookcampus.com/Images/BuyNow-01-200.png" style="width:auto; height:auto; border:0;" />
</form>

The wm is the code used (with a hack) to determine the starting date of the upgrade so the member will only get access to the future classes, even with the same ccaps (that is what the programmer calls his “secret code”) and it does work in changing the ccaps, AND used with a conditional, grants access to the sections the member is supposed to. The rest of the code was generated by s2M.

And here is a screenshot:

  • This reply was modified 4 years, 2 months ago by  cassel.
  • This reply was modified 4 years, 2 months ago by  cassel.
Posted: Tuesday Oct 23rd, 2012 at 12:41 pm #29417
Raam Dev
Username: Raam
Staff Member

I’ve never seen that error, but I’m forwarding it to Cristian to see if he’s ever seen it.

Regarding the button code: Did you generate that button from Dashboard -› s2Member® -› PayPal® Buttons -› Subscr. Modification Buttons?

Posted: Tuesday Oct 23rd, 2012 at 2:17 pm #29438
cassel
Username: cassel

Yes, i did generate the button from there, but i edited the button graphic and added the “special code” for the timestamp. The rest was left as provided by the button generator.

The 72 hours error was reported by at least 3 customers who tried to upgrade.

Posted: Wednesday Oct 24th, 2012 at 6:54 am #29487

It seems to be a limit in the Express Checkout API. I forwarded this to Jason for his input.

Posted: Wednesday Oct 24th, 2012 at 7:44 am #29497
cassel
Username: cassel

Other than that, was the code ok? Since the 72 hours error is not the only problem and other members upgrade yet get charged instead of just changing their subscription on the next payment OR get charged for the OLD subscription anyways in addition to the new one i am wondering if something was wrong with the code. Unless, as you say, it is a limitation of the Express Checkout API that causes all those issues?

Posted: Friday Oct 26th, 2012 at 8:49 am #29766
Staff Member
Thanks for the heads up on this thread.
~ Investigating now (thanks for your patience).
Posted: Friday Oct 26th, 2012 at 12:08 pm #29811
Staff Member

Hi Carole. Thanks for reporting this important issue.

Yes, I have seen this error before, among many others that PayPal may introduce during a PayPal Standard Button integration, where there is a Modification of an existing Subscription taking place.

Just to clarify something mentioned earlier in this thread…
This is NOT related to PayPal Express Checkout. So far as I can tell, you’ve integrated PayPal Standard Buttons, instead of using PayPal Pro Forms (Express Checkout works only with Pro Forms, and is NOT the same thing as PayPal Standard Buttons). Express Checkout uses an entirely different (more powerful) API offered by PayPal.

With PayPal Standard Buttons, the Subscription Modification process is NOT nearly as customer-friendly as we’d like it to be. Due entirely to the fact that PayPal Standard has all of these rules about how much more you can charge, how close to the next billing period the customer is, when the new terms will take affect, etc, etc. All of these things are completely out of your/our control, as they are dictated entirely by PayPal via the UI during the customer’s modification.

With PayPal Standard, s2Member does have control over a useful behavior on the PayPal side of things, and we hand that control to you as well, so that site owners can make an informed decision about how they’d prefer to handle this with PayPal Standard Buttons. By default, s2Member sets the shortcode modify="1". I recommend that in your case you change this to modify="2", to ensure that modifications take place always, and that there’s never a chance for new subscriptions to be created this way by mistake.

See: Dashboard -› s2Member® -› PayPal® Buttons -› Shortcode Attributes (Explained)

Shortcode Attributes (Explained)
modify="0" Modification directive. Only valid w/ Membership Level Access. Possible values: 0 = allows Customers to only create a new Subscription, 1 = allows Customers to modify their current Subscription or sign up for a new one, 2 = allows Customers to only modify their current Subscription.

If you’d like to enhance this entire process, I recommend that your next integration with s2Member be done with PayPal Pro Forms, giving you a LOT more control over all of this, and s2Member Pro is (as mentioned above), able to automatically delete and replace any old previous billing profile with a new one. Anyway, a lot more control via Pro Forms all around (highly recommended).

1- I dont need the pro-form. I have a special php code i need to insert to ensure that only FUTURE workshops will be included with the new subscription, not all. So i need a php code for it, and the pro-form does not seem to offer a php version. So i have to stick with the Paypal BUTTON. Which is ok as it also has the Subscriber Modification.

Gotchya. Don’t forget that any shortcode can be processed via PHP code like this:

<?php echo do_shortcode('&#91;s2Member-PayPal-Pro-Form .... /&#93;'); ?>

2- problem is: it only offers modification for changing level, not changing ccaps. In my case, i need to ADD ccaps to offer a more expensive membership, not change level. It seems to be the same whether using the button or the pro-form.

This is possible with Independent Custom Capability Buttons/Forms.
The level attribute is passed through as level="*", indicating no change. That is, you’re only modifying the Custom Capabilities e.g. ccaps="". I recommend this method over the Subscription Modification Buttons. It’s easier to implement, and is more customer-friendly in many respects.

See: Dashboard -› s2Member® -› PayPal® Buttons -› Capability (Buy Now) Buttons

Posted: Thursday Nov 1st, 2012 at 11:38 am #30324
cassel
Username: cassel

Thanks for the reply. I will have to “study” it closely as there is a lot of information. I didn`t see the reply as i never get notifications (even if i am set to receive them).

Using Paypal Pro is a bit of an overkill for me due to the costs, so i would love to avoid it as much as i can.

For the php version of the proform, i dìdn`t know it was possible. This will be useful. You might want to add that information somewhere, or make it more obvious if it is already somewhere as i never saw that.

Anyways, i also need to add another “problem” that a few customers encountered during their try to upgrade.

Posted: Thursday Nov 1st, 2012 at 12:58 pm #30333
Eduan
Username: Eduan
Moderator

Could that error be caused because of the 20% rule that PayPal has? s2Member recommends you check these links regarding that:
https://www.x.com/thread/41748
http://www.s2member.com/paypal-20p-rule

Hope this helps. :)

Posted: Thursday Nov 1st, 2012 at 1:05 pm #30335
cassel
Username: cassel

Gotchya. Don’t forget that any shortcode can be processed via PHP code like this:

Even if the shortcode is wrapped within php code, how do i add a php code inside the shortcode? that is the function i need to generate the timestamp for the particular transaction (no matter the time of registration, or level change). I need to insert that wm, as a “ccap”. Is there a way i can insert that somewhere in the pro-form code in any way?

This is possible with Independent Custom Capability Buttons/Forms.

Reading the documentation on it, it does not allow for recurring payments, at least in the generation of the button/form. Does it keep the current payment by default? That is not what i need since i need the monthly payments to go from $10 to $15, and i cannot see anywhere how to enter that with the Independent Custom Capability Buttons/Forms.

Viewing 25 replies - 1 through 25 (of 32 total)

This topic is closed to new replies. Topics with no replies for 2 weeks are closed automatically.

Old Forums (READ-ONLY): The community now lives at WP Sharks™. If you have an s2Member® Pro question, please use our new Support System.

Contacting s2Member: Please use our Support Center for bug reports, pre-sale questions & technical assistance.