Skip to Content Skip to Menu

PayPal Instant Payment Notification Warning

  • fede312
  • fede312
  • OFFLINE
  • Posts: 166
  • Thanks: 28
  • Karma: 1
3 years 2 months ago #326168 by fede312
I keep getting the Warnings from PayPal. (I have PayPal Standard)

The warning says:

Please check your server that handles PayPal Instant Payment Notifications (IPN). IPNs sent to the following URL(s) are failing:

mydomain.com/index.php?option=com_comprofiler&view=pluginclass&plugin=cbpaidsubscriptions&cbpgacctno=1&cbpbasket=932&do=gw&result=notify&cbpid=cbp5fe5abc8e082c287608678&format=raw

mydomain.com/index.php?option=com_comprofiler&view=pluginclass&plugin=cbpaidsubscriptions&cbpgacctno=1&cbpbasket=1017&do=gw&result=notify&cbpid=cbp6088a142e3eb2210342795&format=raw


PayPal is sending the IPN link to the Root
mydomain.com (followed by: /index.php?.....)

But I do not have any Joomla installations on the root.
The root is just an HTML5 front-page website.

Below is my setup:

Root mydomain.com (HTML5 Website)

Then I have 2 separate Joomla installations.

Joomla Store English:
mydomain.com/members

Joomla Store Spanish:
mydomain.com/es

Since PayPal is sending the URL to the Root mydomain.com/index.php ........ is probably why it's failing.
As the link should be sent to
mydomain.com/members/index.php ........ or mydomain.com/es/index.php ........

Now, on PayPal I have the notifications setup as
Notification URL: mydomain.com
Message Delivery: Enable

Those are the only settings I have on PayPal.
Now, I'm going to change the setting to point to the english Joomla Installation mydomain.com/members

But then what will happen to the notifications coming from the Spanish Site?

What would be the right way to set that up?

Thanks again.

Please Log in or Create an account to join the conversation.

  • krileon
  • krileon
  • ONLINE
  • Posts: 48541
  • Thanks: 8290
  • Karma: 1445
3 years 2 months ago #326183 by krileon
Replied by krileon on topic PayPal Instant Payment Notification Warning
What URL we send will entirely depend on Joomla. We're just using whatever Joomla gives us via JUri::base() API call. This will either be the live_site as configured in configuration.php or whatever the domain is at the time of purchase. Sounds like either live_site is incorrectly set or may need to be set for each of your Joomla installs. Were these purchases made before you split your site into 2 different installs?

But then what will happen to the notifications coming from the Spanish Site?

That setting doesn't matter since we send the IPN URL with the payment info.


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM CST to 4:00 PM CST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.
The following user(s) said Thank You: fede312

Please Log in or Create an account to join the conversation.

  • fede312
  • fede312
  • OFFLINE
  • Posts: 166
  • Thanks: 28
  • Karma: 1
3 years 2 months ago - 3 years 2 months ago #326189 by fede312
Replied by fede312 on topic PayPal Instant Payment Notification Warning
I always had two different installs, from the very beginning. What I did is re-design the front end of the website as a static html5. Joomla is too slow as a front end website, and does not pass google speed requirements for SEO. So I've just put the english site into a subfolder. But this 'out of sync account problem' was happening way before that. Basically recurring subscriptions wouldn't work either on Stripe or PayPal. The subscribers will get charged, but CBSubs will go out of sync and expire the subscriber's account.

At first, all of the Stripe Recurring Subscriptions went out of sync, so I have to manually activate the accounts for each and every single transaction on the website. Now, since last you have me unsetting the web-hook, most of them go through, I get a MISMATCH now and, then. I will keep checking out the behavior for now.

But now, all of the PayPal recurring Subscriptions went out of sync on both sites, so I have to manually re-activate every single PayPal transaction on CBSubs. The problem is on both installations, Spanish and English.

I thought it might have been the 'SiteLock Firewall Trueshield,' blocking APIs. Also, I thought It could have been hostagator with the old MySql 5.6. But I've got rid of all that, and as you suggested I move the site out of Hostgator. I switched to a VPS with AWS, with a PHP 7.4.22 and 5.5.5-10.3.31 MariaDB. Everything runs smoothly. But I still can't solve that sync issue, now is PayPal.
Last edit: 3 years 2 months ago by fede312.

Please Log in or Create an account to join the conversation.

  • krileon
  • krileon
  • ONLINE
  • Posts: 48541
  • Thanks: 8290
  • Karma: 1445
3 years 2 months ago #326193 by krileon
Replied by krileon on topic PayPal Instant Payment Notification Warning

Joomla is too slow as a front end website, and does not pass google speed requirements for SEO

This is a statement that only applies to your site. I don't want people getting the wrong idea about Joomla here. Joomla is only as slow as you make it. Our home page for example scores a 91 on lighthouse performance test.

So I've just put the english site into a subfolder.

This will break the IPNs for any subscriptions purchased before the move to a subfolder. Their IPN URL is already stored at PayPal without the subfolder.

But this 'out of sync account problem' was happening way before that. Basically recurring subscriptions wouldn't work either on Stripe or PayPal. The subscribers will get charged, but CBSubs will go out of sync and expire the subscriber's account.

Subscriptions only go out of sync when the payment processor cannot communicate with your site. Your live_site pathing could be wrong or your site maybe unreachable by the payment processors servers (e.g. firewall could be blocking them, etc..).

But now, all of the PayPal recurring Subscriptions went out of sync on both sites, so I have to manually re-activate every single PayPal transaction on CBSubs.

Manually reactivating likely turned off recurring payments on CBSubs end. Edit their subscription in CBSubs > Subscriptions by clicking the # under the Id column and use the below to reactivate so the subscription knows it should expect IPNs.

Status: Active
Previous Status: Active
Autorenew Type: Mandatory
Autorecurring Type: Autorecurring with notifications
Previous Autorecurring Type: Autorecurring with notifications

Adjust Last renewal date, Expiration date, and Previous Expiration date as needed based off the plan they're subscribed to. This should restore the subscription back to being a auto recurring one. Otherwise it's best to cancel the recurring at the payment provider and have them resubscribe at time of renewal.

But I still can't solve that sync issue, now is PayPal.

Your previous issue was likely the firewall. This issue appears to be entirely because the site was moved to a subfolder and the IPNs are not stored with that subfolder. You should be able to workaround that issue with a mod_rewrite rule in htaccess to send IPNs from your root folder to the subfolder. It'd probably be best to rewrite any URL that isn't to your landing page to your subfolder since that use to be your root.


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM CST to 4:00 PM CST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.
The following user(s) said Thank You: fede312

Please Log in or Create an account to join the conversation.

  • fede312
  • fede312
  • OFFLINE
  • Posts: 166
  • Thanks: 28
  • Karma: 1
3 years 2 months ago - 3 years 2 months ago #326203 by fede312
Replied by fede312 on topic PayPal Instant Payment Notification Warning

You should be able to workaround that issue with a mod_rewrite rule in htaccess to send IPNs from your root folder to the subfolder. It'd probably be best to rewrite any URL that isn't to your landing page to your subfolder since that use to be your root.


Do you mean rewrite URLs with 301 redirect rules?
Where do I find the IPNs that would have to be redirected?

or something like this?

RewriteCond %{QUERY_STRING} ^page=paypal_ipn [NC]
RewriteRule ^.*$ mysite.com/members [P]

Where do i find those IPN or URLS though?

Thanks,
Last edit: 3 years 2 months ago by fede312.

Please Log in or Create an account to join the conversation.

  • krileon
  • krileon
  • ONLINE
  • Posts: 48541
  • Thanks: 8290
  • Karma: 1445
3 years 2 months ago #326211 by krileon
Replied by krileon on topic PayPal Instant Payment Notification Warning
The IPN URL will be something like the below.
Code:
/index.php?option=com_comprofiler&view=pluginclass&plugin=cbpaidsubscriptions&cbpgacctno=GATEWAY_ID&cbpbasket=BASKET_ID&do=gw&result=notify&cbpid=TOKEN&format=raw

So for example you could rewrite all URLs to your sites root beginning with /index.php?option=com_comprofiler and send them to your subfolder. I personally would just rewrite any URL that goes to your root folder that isn't to your landing page to the subfolder.


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM CST to 4:00 PM CST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.

Please Log in or Create an account to join the conversation.

Moderators: beatnantkrileon
Powered by Kunena Forum