Skip to content

Commit

Permalink
Fix legacy IPN endpoint for Drupal (gitlab issue 973)
Browse files Browse the repository at this point in the history
  • Loading branch information
Rich Lott committed May 20, 2019
1 parent 2cb21b0 commit 4b54135
Showing 1 changed file with 32 additions and 1 deletion.
33 changes: 32 additions & 1 deletion extern/ipn.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,29 @@
* @package CRM
* @copyright CiviCRM LLC (c) 2004-2019
* $Id$
*
* This script processes "Instant Payment Notifications" (IPNs). Modern
* Payment Processors use the /civicrm/payment/ipn/123 endpoint instead (where
* 123 is the payment processor ID), however a quirk in the way PayPal works
* means that we need to maintain this script.
*
* Note on PayPal.
*
* Using PayPal Website Standard (which uses the old PayPal button API) the IPN
* endpoint is passed to PayPal with every transaction, and it is then stored
* by PayPal who unhelpfully do not give you any way to retrieve or change
* this.
*
* This means that if you provide URL1 when setting up a recurring
* contribution, then you will always need to maintain URL1 because all
* recurring payments against that will be sent to URL1.
*
* Note that this also affects you if you were to move your CiviCRM instance to
* another domain (if you do, get the webserver at the original domain to emit
* a 307 redirect to the new one, PayPal will re-send).
*
* Therefore, for the sake of these old recurring contributions, CiviCRM should
* maintain this script as part of core.
*/

if (defined('PANTHEON_ENVIRONMENT')) {
Expand All @@ -53,8 +76,16 @@
}
try {
//CRM-18245
if ($config->userFramework == 'Joomla') {
switch ($config->userFramework) {
case 'Joomla':
CRM_Utils_System::loadBootStrap();
break;

case 'Drupal':
// Gitlab issue: #973
CRM_Utils_System::loadBootStrap([], FALSE);
break;

}
$paypalIPN->main();
}
Expand Down

0 comments on commit 4b54135

Please sign in to comment.