Bug with PayPal subscription events

9 years 11 months ago #103608 by Talal
Hi,

one user chose a monthly paypal subscription a month ago on a given plan and today is the first renewal date.

PayPal automatically made the payment (user's account correctly debited), but CBSubs did not process the update. The user's expiry date is still today and the sql plugins did not fire.

Looks as if CBSubs does not process PayPal subscription update events or somehow there are no events send/received.

How can we fix that ? Is there more settings to do ?

I hope it's not a bug of some kind as it would really defeat the purpose of subscriptions....

Regards,
Talal.
9 years 11 months ago #103611 by beat
Should work fine if you have Paypal IPN enabled at paypal.

Please check in backend in Notifications if your server has received an IPN notification for this payment, and if yes, what's the record.

Beat - Community Builder Team Member

Before posting on forums: Read FAQ thoroughly -- Help us spend more time coding by helping others in this forum, many thanks :)
CB links: Our membership - CBSubs - Templates - Hosting - Forge - Send me a Private Message (PM) only for private/confidential info
9 years 11 months ago #103628 by Talal
Hi Beat,

thanks for the fast reply.

We have IPN enabled alright (we receive normal payment notifications fine). There is no Notification events in the back end for this auto-renewal however.

Looks like either paypal did not send any event in this case (unlikely) or CBSubs did not process the events.

What shall I do next ?

regards,
Talal.
9 years 11 months ago #103630 by Talal
I checked the apache logs, we did not receive any notification from paypal for this renewal. We did however received notifications for the first time subscriptions(of the form 66.211.170.66 - - [30/Jun/2009:XXXX +0000] "POST /index2.php?option=com_comprofiler&task=pluginclass&user=XXXX&plugin=cbpaidsubscriptions&cbpaidsubscriptionsmethod=
paypal&cbpaidsubscriptionsgacctno=3&cbpaidsubscriptionspdtback=XXXX&cbpaidsubscriptionsbasket=XXXX&result=notify&cbpid=XXXX&no_html=1&
format=raw HTTP/1.0" 200 11 "-" "-").

Is the problem with the params sent to paypal when the user subscribed the first time that make paypal not nofify on updates ?

Thanks
Talal.

Post edited by: nant, at: 2009/07/02 07:27
9 years 11 months ago #103633 by beat
Problem can be paypal-side.

Sometimes IPNs take "some" time to get sent. Specially subscription renewal ones. Maybe give it a day...

You can login in paypal, and go to history -> IPN history. There you will see exactly which IPNs have been sent where by paypal and corresponding server responses.

Just to try to exclude another hypothsesis:

Another possibility would be that you changed website URL-address since subscription, as Paypal will keep the complete URL for the IPNs for each subscription individually during the entire lifetime of the payment-subscription.

Beat - Community Builder Team Member

Before posting on forums: Read FAQ thoroughly -- Help us spend more time coding by helping others in this forum, many thanks :)
CB links: Our membership - CBSubs - Templates - Hosting - Forge - Send me a Private Message (PM) only for private/confidential info
9 years 11 months ago #103709 by Talal
Hi Beat,

good point. I did change the url. Checked with/in PayPal and the problem is with the Notify_URL field.

Is there a way to overwrite the CBSubs subscription expiry date manually ? The paypal transaction is valid, can we just change the expiry date for the corresponding subscription in the DB to reflect the payment ? Will it break anything else ?

For future unlucky people who have the same problem:

In the PayPal account, under IPN history, there is a list of all events sent with return status, etc...

Unfortunetly in my case the event status in question was at "retrying" and the return status was empty. I contacted PayPal support and after few exchanges they told where the problem was and the status was (magically...) set to 404, which pointed to the pb straight away, or almost....

PayPal tried the return url, i.e www.myhost.com/index2.php and it returned 404 all the time. That was the red herring but was enough to spot the problem. If you type ..../index2.php it yields a 404, however when you add the query string params it works, so don't be fooled.

PayPal keeps, as beat suggested, the subscription information at the time of creation (logical) and cannot change any params after nor do they support http redirects, only a http status 200. The only option left is to either keep the old hostname properly configured and pointed to the same joomla or cancel the subscription and ask the user to recreate it.

In a nutshell, CBSubs works like a clock, PayPal favour performance to flexibility and I am going to contact the user.

Thanks for the support
Cheers,
Talal.
Moderators: beatnantkrileon
Time to create page: 0.400 seconds
Facebook Twitter Google LinkedIn