0

We get an error when PayPal is trying to confirm payment. In a nice letter Paypal tells us about the problem and shows the offending link, which is .../administrator/components/com_civicrm/civicrm/CRM/Core/Payment/PayPalIPN.php. Opening that link gives the following backtrace:

CRM_Core_Exception: PayPalIPN: Could not find an entry for module in ...com_civicrm/civicrm/CRM/Core/Payment/PayPalIPN.php on line 315
Exception trace
#   Function    Location
0   CRM_Core_Payment_PayPalIPN->retrieve('module', 'String')    ...com_civicrm/civicrm/CRM/Core/Payment/PayPalIPN.php:315
1   CRM_Core_Payment_PayPalIPN->main()  ...com_civicrm/civicrm/CRM/Core/Payment/PayPalImpl.php:780
2   CRM_Core_Payment_PayPalImpl::handlePaymentNotification()    ...com_civicrm/civicrm/CRM/Core/Payment.php:1379
3   CRM_Core_Payment::handlePaymentMethod('handlePaymentNot…', Array)   ...com_civicrm/civicrm/CRM/Core/Payment.php:1281
4   CRM_Core_Payment::handleIPN()   ...com_civicrm/civicrm/CRM/Core/Invoke.php:275
5   CRM_Core_Invoke::runItem(Array) ...com_civicrm/civicrm/CRM/Core/Invoke.php:84
6   CRM_Core_Invoke::_invoke(Array) ...com_civicrm/civicrm/CRM/Core/Invoke.php:52
7   CRM_Core_Invoke::invoke(Array)  ...com_civicrm/civicrm.php:96
8   civicrm_invoke()    ...com_civicrm/civicrm.php:11
9   require_once('/var/www/events/…')   ...libraries/src/Component/ComponentHelper.php:382
10  Joomla\CMS\Component\ComponentHelper::executeComponent('/var/www/events/…') ...libraries/src/Component/ComponentHelper.php:357
11  Joomla\CMS\Component\ComponentHelper::renderComponent('com_civicrm')    ...libraries/src/Application/SiteApplication.php:194
12  Joomla\CMS\Application\SiteApplication->dispatch()  ...libraries/src/Application/SiteApplication.php:233
13  Joomla\CMS\Application\SiteApplication->doExecute() ...libraries/src/Application/CMSApplication.php:195
14  Joomla\CMS\Application\CMSApplication->execute()    ...index.php:49
15  {main}

Any ideas on what to do to debug? We're using Joomla 3.8.12 and Civi 5.4.1.

Update: I'm looking at the code there which says:

$component = $this->retrieve('module', 'String');

I'm suspecting that this means that it's trying to retrieve the module part of the calling URL (/administrator/components/com_civicrm/civicrm/CRM/Core/Payment/PayPalIPN.php). So this URL is malformed for the IPN, right?

How does the retrieve() work?

UPDATE: When entering URL .../administrator/components/com_civicrm/civicrm/extern/ipn.php I get

The transaction has failed. Please review the log for more detail

and in the civicrm_system_log database table there is an entry, but with an empty "context" field, in which I suspect the transactionID etc. is supposed to be. This is natural in this case.

So I updated the IPN URL in the Paypal account to this and tried a resend of the latest failed IPN. It failed again, and even with the update URL I get a log entry in the civicrm_system_log table.

So it seems that Paypal has no "context" info for the transaction.

I've also checked that the URL does not redirect (using Redirect Checker), since this question seem to indicate that you loose POST data on redirect (which seems odd, but WTH and JIC).

4
  • Make sure the paypal is configured correctly. This error seems you aren't getting enough params from the ipn response.retrieve is only a function in Paypalipn.php which looks for the required input parameters and errors if it is not able to find them Commented Aug 29, 2018 at 9:53
  • What "paypal" are you referring to? The paypal payment processor (where there is very little that can be configured (URL:s to Paypal site and Paypal merchant account email), or the merchant info on the Paypal site (URL for the website and IPN URL which both seems to be placeholders according to the docs at docs.civicrm.org/sysadmin/en/latest/setup/payment-processors/…)?
    – thoni56
    Commented Aug 29, 2018 at 12:34
  • And here's what Paypal seem to think it used as info: {"module":"event","contactID":"12468","contributionID":661,"eventID":"93","participantID":2233}
    – thoni56
    Commented Aug 29, 2018 at 12:35
  • @thoni56 Just wondering did you solve this?
    – Demerit
    Commented Jan 30, 2023 at 13:49

1 Answer 1

0

I am also facing the same issue on my WordPress site, please let me know if you have any solution to this. It was working fine till 15th November, now I am facing issue only for organization memberships, other PayPal contributions are working smoothly.

I am getting this in CiviCRM error logs-

Dec 07 17:43:14 [debug] PayPalIPN: Could not find an entry for module

Dec 07 17:43:14 [error] ipn_payment_callback_exception

Array (

[context] => Array

(

[backtrace] => #0 /home/xyz/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Payment/PayPalIPN.php(296): CRM_Core_Payment_PayPalIPN->retrieve('module', 'String')

#1 /home/xyz/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Payment/PayPalImpl.php(740): CRM_Core_Payment_PayPalIPN->main()

#2 /home/xyz/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Payment.php(1594): CRM_Core_Payment_PayPalImpl::handlePaymentNotification()

#3 /home/xyz/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Payment.php(1485): CRM_Core_Payment::handlePaymentMethod('handlePaymentNo...', Array)

#4 /home/xyz/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(278): CRM_Core_Payment::handleIPN()

#5 /home/xyz/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(68): CRM_Core_Invoke::runItem(Array)

#6 /home/xyz/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(36): CRM_Core_Invoke::_invoke(Array)

#7 /home/xyz/public_html/wp-content/plugins/civicrm/civicrm.php(1535): CRM_Core_Invoke::invoke(Array)

#8 /home/xyz/public_html/wp-content/plugins/civicrm/includes/civicrm.basepage.php(352): CiviCRM_For_WordPress->invoke()

#9 /home/xyz/public_html/wp-includes/class-wp-hook.php(308): CiviCRM_For_WordPress_Basepage->basepage_handler(Object(WP))

#10 /home/xyz/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, Array)

#11 /home/xyz/public_html/wp-includes/plugin.php(565): WP_Hook->do_action(Array)

#12 /home/xyz/public_html/wp-includes/class-wp.php(797): do_action_ref_array('wp', Array)

#13 /home/xyz/public_html/wp-includes/functions.php(1332): WP->main('')

#14 /home/xyz/public_html/wp-blog-header.php(16): wp()

#15 /home/xyz/public_html/index.php(17): require('/home/xyz/...')

#16

{main} [message] => PayPalIPN: Could not find an entry for module )

)

1
  • StackExchange sites are not a discussion forum. It is expected that your post should be a potential answer to the question. I suggest that you create a new question describing your specific problem, what you have tried etc. Possibly referring to this question, if it is relevant or adds information that will help others provide possible answers to your question.
    – thoni56
    Commented Dec 8, 2023 at 8:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.