Remove PaymentExpress ipn class
authoreileen <emcnaughton@wikimedia.org>
Mon, 6 Jul 2020 04:46:54 +0000 (16:46 +1200)
committereileen <emcnaughton@wikimedia.org>
Mon, 6 Jul 2020 04:46:54 +0000 (16:46 +1200)
commit7b3e2900c9b39c7767efff2a653105de47777a83
treed920d98a7026a8c17f356406c0e3e97cd0e3decc
parent5faf437d09f21ca24185640b46547062f40b343a
Remove PaymentExpress ipn class

I was able to establish that this was accidentally broken five years ago with this commit
https://github.com/civicrm/civicrm-core/commit/204c86d59f0cfc4c4d917cc245fb41633d36916e#diff-b00e65c9829c27da8b34e35f2e64d9b6L114

Resulting in the ipn url of
http://dmaster.local/sites/all/modules/civicrm/extern/pxIPN.php?result=00003100032465271fc8c82d94ad434d&userid=Fuzion_Dev

dying with the fatal error

 Uncaught Error: Call to undefined method CRM_Core_Payment_PaymentExpressIPN::singleton() in /Users/eileenmcnaughton/buildkit/build/dmaster/sites/all/modules/civicrm/CRM/Core/Payment/PaymentExpressIPN.php on line 391

This means we can be sure the ipn code does not work & hence can't be in use and can remove it.

Can we remove the main class too? My thinking is that there could be old instances of the payment processor in
people's installs and that if we remove or de-activate the payment processor instance it could cause
other breakage.

However, I think we could alter the processor type in the upgrade script to have
CRM_Core_Manual as the class_name in place of 'Payment_PaymentExpress'
CRM/Core/Payment/PaymentExpress.php
CRM/Core/Payment/PaymentExpressIPN.php [deleted file]
extern/pxIPN.php [deleted file]