Tips and Tricks HQ Support Portal › Forums › WP eStore Forum › WP eStore Troubleshooting › eStore – not processing Paypal "Cancel subscription" ipn
Tagged: subscription
- This topic has 6 replies, 3 voices, and was last updated 6 years, 6 months ago by Ariel777.
-
AuthorPosts
-
May 4, 2018 at 8:37 am #14847Ariel777Spectator
Hi,
I have a subscription product, a test product for $0.01 daily. (This is a plain eStore subscription, not an eMember thing).
When I purchase it successfully, then go to my Paypal account and cancel the subscription, the “status” field in the customer table still shows “Paid”, even after 1 or 2 days have passed.
I would expect the “status” field to change to “Cancelled” or “Unsubscribed” or whatever the proper string is, upon reaching the end of the paid subscription.
The ipn-handle-debug log shows that the subscription notice has been received from Paypal:
[05/02/2018 12:53 PM] - SUCCESS :Connection to www.paypal.com successfuly completed.
[05/02/2018 12:53 PM] - SUCCESS :IPN successfully verified.
[05/02/2018 12:53 PM] - SUCCESS :Creating product Information to send.
[05/02/2018 12:53 PM] - SUCCESS :Subscription cancellation IPN received... nothing to do here(handled by the subscription IPN handler)
[05/02/2018 12:53 PM] - SUCCESS :Paypal class finished.
… but the subscription-handle-debug log is empty.
My eStore version is 7.1.9. I have the Payment Gateway and Affiliates add-ons installed, as well as a small custom plugin you wrote for me.
May 5, 2018 at 3:32 am #77768adminKeymasterEach time you receive a subscription payment, it gets a line in the customers record menu. When you cancel a subscription, all you are doing is preventing any future transaction from happening on that subscription. You are not refunding the transactions that already happened. Those are money that has been paid to you already. So the records for those transactions are shown as paid. If you refund any of those payments, it will remove those records.
Cancelling a subscription and refunding payments that you received from a subscription are two different things.
eStore’s transaction record doesn’t hold the status of a subscription. It simply tracks all the payments. A membership plugin on the other hand will need to track the status of a subscription (so our WP eMember plugin has mechanism for it).
What are you trying to achieve?
May 5, 2018 at 5:25 pm #77769Ariel777SpectatorI see.
I’m trying to set up a simple subscription-licensing option for desktop software I sell. I was hoping I could simply check with the customer table to see whether they have an active, paid-up subscription or whether they’ve cancelled it or a cancellation is pending.
Any ideas how I could do that with eStore?
May 6, 2018 at 3:14 am #77770adminKeymasterYou want to manually check this for every customer every day and take action manually? That will be too much of a hassle for you and not very practical if you sell thousands of copies of the product. You need an automated system whereby their user account gets blocked (automatically) if they cancel the subscription. You need some user management like the account of the users paying an active subscription should have access to certain pages on your site where they can download the item and see instructions and stuff. You should look at our WP eMember plugin which has these user management features:
https://www.tipsandtricks-hq.com/wordpress-emember-easy-to-use-wordpress-membership-plugin-1706
Sorry to tell you about another plugin but I can see that it will be hugely beneficial to have that system for what you are trying to do to.
If you wanted to do it manually, you could use the paypal’s subscription cancellation email. Everytime someone subscribes or cancels a subscription, you get an email. You could use that to manually maintain a list of active users.
May 6, 2018 at 6:48 am #77771Ariel777SpectatorThanks. No, of course I didn’t mean manually. I meant that the software would check the eStore customer table to see whether the user is an active subscriber. But it seems that the Payapl cancellation IPN isn’t recorded anywhere in the eStore tables.
I have no problem buying the emember plugin, but I’m worried about slowing down the website with too many plugins.
Based on what you said previously, that each subscription payment is recorded separately in the Customer table, it may work to simply check whether a particular customer (based on their email and product purchased) has paid in the last 30 days. If not, presumably they have cancelled.
May 6, 2018 at 1:39 pm #77772wzpModeratorThere is no-such-thing as an eStore membership. People who buy things from eStore are “just customers.” It’s the difference between Walmart and Sam’s Club. People “subscribe” to Sam’s Club, but are just Walmart customers. You need eMember, if you want to add a membership component to eStore.
This is where you have to separate the person wearing the “business income hat” from the guy wearing the “geek nirvana hat.” As a business person; your primary concern is that members with “Active” accounts are paying. In that respect, eMember is doing what it is designed to do.
- As long as PayPal is able to charge each member the appropriate amount for each subscription period (Payment IPN received); the “Membership Status” of each member remains “Active,” and the payment is recorded in the appropriate eMember logs.
- At the end of each subscription period, if PayPal hasn’t received payment from a particular member; eMember changes their status to “Expired.” You can configure eMember to either deny access, or “downgrade” them to another (usually lessor privileged) membership level.
- During a subscription period, if a member cancels their subscription (through PayPal), a Cancellation IPN is sent, and eMember changes their status to “Unsubscribed.” At the end of the current subscription period, their status is then changed to “Expired.” You can configure eMember to either continue allowing “Unsubscribed” members access until the end of the currently (pre-paid) paid-for subscription period, or to immediately behave as if their status has gone “Expired.”
- Concerning site performance, using the “Sam’s Club” analogy; all eMember is doing is “checking your membership card (browser cookie)” before seeing each page.
Does that explanation help? You use eStore to sell normal products and subscriptions, but if you want some kind of membership like access to your site then emember can handle that.
May 7, 2018 at 8:02 am #77773Ariel777SpectatorThanks for your clear answer.
eMember might be overkill for this one issue, but I will definitely consider it.
Thanks for your help.
- As long as PayPal is able to charge each member the appropriate amount for each subscription period (Payment IPN received); the “Membership Status” of each member remains “Active,” and the payment is recorded in the appropriate eMember logs.
-
AuthorPosts
- You must be logged in to reply to this topic.