One purchase cancels a recurring payment
Tagged: cancellation, Paypal, recurring payment
- This topic has 22 replies, 3 voices, and was last updated 7 years ago by
Cristián Lávaque.
-
AuthorPosts
-
2016-01-05 at 20:32 #549
Carole Asselin
ParticipantThis has happened 3 times at least, so far, and twice to the same person. They have a monthly recurring payment, set through Paypal, for $10/month. This has been active for years now. The members purchases a one-time fee product, and by doing that, within seconds gets a notice from Paypal that *I* cancelled her membership (i also get a similar notice). We have NO IDEA why it happens, and it has happened several time, yet, it does not happen all the time (another customer with the same recurring payment, made the exact same purchase minutes before, and had no problem, and another one, a few minutes after).
Has that ever been documented or reported?
What might you need to troubleshoot the cause of this?
I am lucky those clients are long time clients so they don’t mind the inconvenience, but it is still quite an inconvenience.2016-01-05 at 21:17 #550Cristián Lávaque
KeymasterWas the one-time payment for a level or a custom capability?
I ask because subscriptions are only for levels, and the user buys a different level, the subscription for the one he had gets cancelled.
I don’t think that this should happen when it’s just the purchase of a custom capability without the level.
Could you show me the shortcode for the form/button the user got when he paid the one-time and got his subscription cancelled?
I look forward to your update.
2016-01-05 at 21:30 #551Carole Asselin
ParticipantSure, this is the code:
[s2Member-Pro-PayPal-Form level="1" ccaps="wjan2016" desc="Patchwork Scrapping" ps="paypal" lc="" cc="USD" dg="0" ns="1" custom="scrapbookcampus.com" ra="9.99" rp="1" rt="L" rr="BN" accept="paypal" coupon="" accept_coupons="0" default_country_code="" captcha="0" /]
I used a level = “1” so i would not require people to register first, and log in to get the form to show up. I only use two levels: Free (0) and paid (1).
As i said, i had two other customers, use the same form, minutes before and minutes after who also had a recurring membership and didn’t experience this, so i can’t see the code being the culprit.
2016-01-06 at 11:09 #552Krum Cheshmedjiev
ParticipantPlease also show the code of the form/button which cancels this recurring payment.
2016-01-06 at 11:39 #553Carole Asselin
ParticipantI am not sure what the code was because i had to redo it, but back then, i used the php code from you, Krum (years ago). But again, i would assume it is quite similar to this one:
`<input name=”business” value=”admin@digiscrapcampus.com” type=”hidden”>
<input name=”cmd” value=”_xclick-subscriptions” type=”hidden”>
<!– Instant Payment Notification & Return Page Details –>
<input name=”notify_url” value=”http://scrapbookcampus.com/?s2member_paypal_notify=1″ type=”hidden”><input name=”cancel_return” value=”http://scrapbookcampus.com/” type=”hidden”>
<input name=”return” value=”http://scrapbookcampus.com/?s2member_paypal_return=1″ type=”hidden”><input name=”rm” value=”2″ type=”hidden”>
<!– Configures Basic Checkout Fields –>
<input name=”lc” value=”” type=”hidden”>
<input name=”no_shipping” value=”1″ type=”hidden”>
<input name=”no_note” value=”1″ type=”hidden”>
<input name=”custom” value=”scrapbookcampus.com” type=”hidden”><input name=”currency_code” value=”USD” type=”hidden”>
<input name=”page_style” value=”paypal” type=”hidden”><input name=”charset” value=”utf-8″ type=”hidden”>
<input name=”item_name” value=”Custom Scrap Course” type=”hidden”>
<input type=”hidden” name=”item_number” value=”1:element,forum,element<?php echo date(‘Ymd’); ?>” />
<input name=”invoice” value=”” type=”hidden”>
<!– Identifies/Updates An Existing User/Member ( when/if applicable ) –>
<input name=”on0″ value=”” type=”hidden”><input name=”os0″ value=”” type=”hidden”>
<!– Identifies The Customer’s IP Address For Tracking –>
<input name=”on1″ value=”” type=”hidden”>
<input name=”os1″ value=”” type=”hidden”>
<!– Controls Modify Behavior At PayPal® Checkout –>
<input name=”modify” value=”0″ type=”hidden”>
<!– Customizes Prices, Payments & Billing Cycle –>
<input name=”src” value=”1″ type=”hidden”><input name=”srt” value=”” type=”hidden”>
<input name=”sra” value=”1″ type=”hidden”><input name=”a1″ value=”59″ type=”hidden”>
<input name=”p1″ value=”3″ type=”hidden”><input name=”t1″ value=”M” type=”hidden”>
<input name=”a3″ value=”10″ type=”hidden”><input name=”p3″ value=”1″ type=”hidden”>
<input name=”t3″ value=”M” type=”hidden”>
<!– Displays The PayPal® Image Button –>
<p>
<input src=”http://scrapbookcampus.com/Images/Button-I-want-to-500.jpg” style=”border: 0pt none ; width: auto; height: auto;” alt=”Buy Now” type=”image”>
</p></center>2016-01-07 at 09:35 #555Cristián Lávaque
KeymasterI used a level = “1”
That may be the reason, as I explained in my previous reply… I’d try having a conditional so it only adds the level for a visitor, but logged in users only get the custom capability, without the level, in the pro-form.
Try that with the user that had the problem and see if you can reproduce it then.
2016-01-07 at 13:54 #556Carole Asselin
ParticipantOK, i can do that, but then, that would not explain why other members who had the same recurring payment, and used the same form, didn’t see their recurring payment stopped?
I really don’t like to use a conditional to have 2 pro-forms (one for logged in and one for not logged in) because i have to rely on the registered members to log in before making the purchase. If they don’t, it causes other issues (that is why i suggested that an additional feature would check the email and associate ccaps based on the email, no matter what).
2016-01-08 at 10:34 #557Krum Cheshmedjiev
ParticipantOther member can have different EOT, so this can be a reason, I think.
In “Buy now” buttons must not set a level, so the form you show is for subscription, actually, not for “buy once”. (And I am forget that I create it, and what we think at this time… :-/ )
2016-01-08 at 10:50 #559Carole Asselin
ParticipantOther member can have different EOT, so this can be a reason, I think.
They don’t have a EOT as it is “ongoing”.
2016-01-08 at 16:19 #561Cristián Lávaque
Keymasterthat would not explain why other members who had the same recurring payment, and used the same form, didn’t see their recurring payment stopped?
I’m not sure why it was different for them. The form you showed me isn’t selling just a ccap, it’s selling Level 1 plus the ccap for a one-time payment. That’s why the Level 1 subscription ended when your customer purchased it again for a one-time payment.
Did the other customers follow the same steps under the same situation as this one with the problem? Did they use the same form to purchase that ccap or is there another form that just sells the ccap somewhere in the site? Had they started their subscriptions with s2Member and were they tied to their WP accounts? Just guessing a couple of situations where they’d not have that behavior happen.
I really don’t like to use a conditional to have 2 pro-forms (one for logged in and one for not logged in) because i have to rely on the registered members to log in before making the purchase. If they don’t, it causes other issues
You’d have the same situation with the current form without the coditional… If they’re not logged in and purchase, it’ll go towards a new account instead of the existing one. It’s better to always try to make sure that the existing user is logged in when he purchases.
The safest way may be to always only sell to logged in users, and visitors only have free registration as the next possible action, and then upgrade.
that is why i suggested that an additional feature would check the email and associate ccaps based on the email, no matter what
Yeah, that’d be a nice feature to have. I’ve suggested it before as well. I don’t know when/if it’ll be implemented, though, so I wouldn’t count on it. It’ll be better to make this work with what you have, in my opinion.
2016-01-08 at 16:48 #563Carole Asselin
ParticipantYes, all three customers used the exact same form (there is only ONE place to make that purchase) and all three had the same ccap for the recurring subscription. I had set the level 1 as the only paid level i am using. I don`t use any other level so whether they buy a recurring subscription or a “buy now” product, they all end up with a level 1, so why would one affect the other?
The safest way may be to always only sell to logged in users, and visitors only have free registration as the next possible action, and then upgrade.
Technically yes, the practically, it means a longer process for the user, therefore a less desirable experience for the user who will feel like they have to jump through hoops. That is why i made that suggestion to Jason: on my zencart store, it knows if you are an existing customer or not, and will do the work in the backend instead of requiring the client to do all of it.
2016-01-08 at 19:46 #567Cristián Lávaque
KeymasterI agree that it’d be best if it told the user the email is being used, and to login instead of signing up again. That said, it doesn’t prevent an existing user from signing up with a second account if he uses a different email address then the first time by mistake.
I think it’s important to have a message reminding the existing user to login.
I mentioned selling only to logged in users because then you eliminate the problem of selling to an existing user while he’s logged out. I know it adds the step of registration first, and it’d seem it will cause loses, but you could make that free registration attractive with a freebie, and not hard asking only the bare minimum of fields (similar to an email opt-in).
But that’s a separate issue from the one where the existing subscription for level 1 is ended when he then purchases level 1 with a one-time payment. We were talking about existing users, which is when that issue would happen.
The reason why the logged in/out topic came up is because I’m suggesting selling the ccap individually, without the level. That works for the logged in user, but isn’t possible for a logged out user, so it requires the level to be added to the form.
When selling individual ccaps, I think it’s fine to have a conditional that doesn’t add a level to the form when the user is logged in, so it doesn’t affect existing subscriptions, but adds the level when the person is logged out so the ccap can be sold to him. Not perfect, but works.
2016-01-08 at 19:52 #568Carole Asselin
ParticipantWhen selling individual ccaps, I think it’s fine to have a conditional that doesn’t add a level to the form when the user is logged in, so it doesn’t affect existing subscriptions, but adds the level when the person is logged out so the ccap can be sold to him.
Is there a way other than by having two forms?
My other question would be whether it would solve the problem if i just used a regular Buy now button instead of a form? Thinking of it, i don`t really need a form.Right now, the form allows a new member to register and purchase in one step, but it might be causing more issues than it saves. Can a button give a level 1 without affecting a level 1 recurring subscription?
2016-01-08 at 20:02 #570Cristián Lávaque
KeymasterCan a button give a level 1 without affecting a level 1 recurring subscription?
No.
Is there a way other than by having two forms?
No, individual capabilities can only be sold to logged in users. To sell to a visitor you’d need to add the level too. This is a limitation with the existing implementation.
You could create a feature improvement request making it possible to sell an independent custom capability to a visitor, so it’ll register him and assign him level 0, but work for logged in users as well not touching their level. https://github.com/websharks/s2member/issues
solve the problem if i just used a regular Buy now button instead of a form?
It’s the same for buttons to sell capabilities. WP Admin -> s2Member -> PayPal Buttons -> Capability: “you can sell one or more Custom Capabilities using Buy Now functionality, to existing Users/Members”.
2016-01-08 at 20:24 #572Carole Asselin
ParticipantWith all that, i still don’t get why someone with a level 1, buying something with a level 1, would see any change in a recurring subscription. The subscription and the level are not really related, are they? I guess i don’t understand the path behind that (and i guess i don’t need to either).
2016-01-08 at 20:34 #573Carole Asselin
ParticipantYou know, something else is odd now. If a user is already registered to the site, but has a level 0, buying a ccap without a level (level = “0”) should keep the user at level 0, correct? But then, BUYING something changes from level 0 to at least 1. How is that done?
– A user has level 0 (free subscriber) and wants to buy a ccap that would bring him to a paid member level (level 1)
– A user has level 1 (paid member) and wants to buy a ccap that would keep him to a paid member level (level 1)
– A visitor who has never purchased or subscribed and wants to buy a ccap that would bring him to a paid member level (level 1)If i use a pro-form and ask for registered members to login, that is so the form with level = “*” be applied, but how does the free member gets his level 1?
I am confused now.
2016-01-09 at 00:28 #576Cristián Lávaque
KeymasterThe subscription and the level are not really related, are they?
They are completely related. The subscription is created when selling a level, and when the user buys a level again, the existing subscription gets terminated. Even if he purchases the same level, s2Member will end the existing subscription. If he purchases the new one with recurring payments, then a new subscription gets created, but if it’s a single payment, then that’s that.
If a user is already registered to the site, but has a level 0, buying a ccap without a level (level = “0”) should keep the user at level 0, correct? But then, BUYING something changes from level 0 to at least 1.
If you sell it with the pro-form’s level set to 1 (
level="1"
) yes, but if you are selling a independent ccap, level would be set to * (level="*"
), so the member’s level would not change.If i use a pro-form and ask for registered members to login, that is so the form with level = “*” be applied, but how does the free member gets his level 1?
You can sell the independent capability to level 0 users too, the level doesn’t matter, only that he’s logged in. So the free user can purchase the capability and he’d remain at level 0.
See the documentation here WP Admin -> s2Member -> PayPal Forms -> Capability: “regardless of which Membership Level they have on your site (i.e., you could even sell Independent Custom Capabilities to Users at Membership Level #0, normally referred to as Free Subscribers, if you like)”
2016-01-09 at 10:43 #578Carole Asselin
ParticipantHum… ok.. i think s2M has evolved faster than i followed. Level 0 used to be Free and levels 1+ were paid. That was IT. So ALL my “buy now” buttons and forms have been set for level 1 so i could immediately sort out who were the “customers” (level 1) and who were the “leads” (level 0), so this improvement is actually limiting a previous feature, which i didn’t realize.
The subscription is created when selling a level, and when the user buys a level again, the existing subscription gets terminated. Even if he purchases the same level, s2Member will end the existing subscription. If he purchases the new one with recurring payments, then a new subscription gets created, but if it’s a single payment, then that’s that.
Maybe there should be a differentiation between recurring payments and buy now INSTEAD of basing it on levels vs ccaps. Something i might suggest, if it can prevent awkwarness of the system mixing things while we try to make them simple.
2016-01-09 at 12:04 #583Carole Asselin
ParticipantLooking into what i might have missed in the “improvement” of s2M, i see this is still there:
Level #0 (Free Subscribers):
Visitor
This is the Label for Level #0 (Free Subscribers).That might lead to confusion in others if it is not exactly the case!
2016-01-09 at 16:08 #586Carole Asselin
ParticipantSo, to summarize, would you say that unless i have NO option for ANY recurring subscription, i should ALWAYS use the level = “*” instead of level = “1” because any Buy now purchase with a level 1 would mess up any subscription?
2016-01-09 at 18:15 #590Cristián Lávaque
KeymasterWhat you could do is use the conditional to check for the level, instead of whether he’s logged in. So if the user already is level 1, then change the level to asterisk in the pro-form. E.g.
[s2If current_user_can(access_s2member_level1)] [s2Member-Pro-PayPal-Form level="*" ccaps="wjan2016" desc="Patchwork Scrapping" ps="paypal" lc="" cc="USD" dg="0" ns="1" custom="scrapbookcampus.com" ra="9.99" rp="1" rt="L" rr="BN" accept="paypal" coupon="" accept_coupons="0" default_country_code="" captcha="0" /] [else] [s2Member-Pro-PayPal-Form level="1" ccaps="wjan2016" desc="Patchwork Scrapping" ps="paypal" lc="" cc="USD" dg="0" ns="1" custom="scrapbookcampus.com" ra="9.99" rp="1" rt="L" rr="BN" accept="paypal" coupon="" accept_coupons="0" default_country_code="" captcha="0" /] [/s2If]
2016-01-09 at 18:39 #592Carole Asselin
ParticipantWith this code, if a user is level 1 but has not logged in, what will happen?
If they fill the form with their correct information, it will be rejected as their email address will be known as already in use. OR it can be a situation where the user might be using a different email address, creating a different account, and having some ccaps associated with one account, and others to another account (pretty confusing).
2016-01-09 at 18:58 #594Cristián Lávaque
KeymasterThat’s correct.
That’s why I recommend reminding users to login if they already have an account, or only sell to logged in users.
-
AuthorPosts
- You must be logged in to reply to this topic.