Posted by jazzdrive3 on June 18, 2011 at 3:41pm
4 followers
Jump to:
| Project: | lm_paypal |
| Version: | 6.x-1.0 |
| Component: | LM Paypal Subscriptions |
| Category: | bug report |
| Priority: | critical |
| Assigned: | Unassigned |
| Status: | active |
Issue Summary
I have a yearly subscription set up for a node type. A user subscribes and pays. So far so good. But many users know they will not want to renew when the year is up, so they cancel the subscription in paypal. But the subscription should last through how long they already paid for.
But in Drupal, it is being marked as "dead".
It needs to be marked as "canceled" instead, and the node needs to be live until the year is up.
This issue pretty much stops it from working as needed.
Comments
#1
A little more detail. The node is techincally live, and is listed in the lm_paypal_subscribers table, however the teaser/body says "not published yet" when it should be showing in full, at least until the year is up.
#2
So when the IPN comes in that there is a cancellation, another record is put in lm_paypal_ipns. Then for some reason the status of the subscriber is set to "dead". But it should be set to cancelled instead, or status 4 instead of status 0.
Then subscriptions that are cancelled should still show up in lists and stuff, and then be moved to "dead", or status 0, when the subscription time frame runs out.
We have both the start time, and then the period the subscription is for. So this should be possible.
I showing that the ipn record marking the cancellation still has a processed field of 0.
So here is one of the main problems. Where is the record in lm_paypal_subscribers set to the "dead" status? I can't find it anywhere. Setting to "dead" needs to be delayed until the time period runs out. But I don't know where this happens.
Possible solution. Maybe on cron, check live subscriptions, and if their time period has lapsed, see if they have a corresponding cancellation ipn record. If so, mark it as "dead".
Or if we have it marked as "cancelled" at the time the ipn comes in instead of "dead", we can just check if the status is "cancelled" instead of doing a time calculation again.
Anyone have any ideas? This is a critical one.
Thanks.
#3
Didn't choose the right version for this bug. Sorry.
Does version 2.0 fix this issue?
#4
Also interested in a solution for this (7.x)
#5
Same problem. I'm using it in a production site with 500+ subscriber for half year. Among them 10 of them clicked cancel during the subscription. 8 of them clicked cancel in the first day just to prevent next payment. But Their subscription immediately ended once they clicked cancel. And they have to send email to me..And I have to manual create a expiry date field in the user profile to manual manage their account until expiry.
So could you please change the behavior of clicking user cancel:
From end immedately.
To end after expiry.
And after half year, some users credit card expired. and Im_paypal doesn't handle that. It will be good if lm_paypal can:
i .send email to the user alert them their payment failed, and their subscription will end as it is expired and payment haven't received.
ii. auto downgrade the user role from subscribed to not subscribed.
Those are the very basics function. for this module to work in a production site.....
#6
Any progress on this, especially in D7?