drupal-civicrm/sites/all/modules/civicrm/extern/pxIPN.php

56 lines
1.7 KiB
PHP
Raw Permalink Normal View History

2018-01-14 15:10:16 +02:00
<?php
/*
* PxPay Functionality Copyright (C) 2008 Lucas Baker,
* Logistic Information Systems Limited (Logis)
* PxAccess Functionality Copyright (C) 2008 Eileen McNaughton
* Licensed to CiviCRM under the Academic Free License version 3.0.
*
* Grateful acknowledgements go to Donald Lobo for invaluable assistance
* in creating this payment processor module
*/
if (defined('PANTHEON_ENVIRONMENT')) {
ini_set('session.save_handler', 'files');
}
session_start();
require_once '../civicrm.config.php';
require_once 'CRM/Core/Config.php';
$config = CRM_Core_Config::singleton();
$log = new CRM_Utils_SystemLogger();
$log->alert('payment_notification processor_name=Payment_Express', $_REQUEST);
/*
* Get the password from the Payment Processor's table based on the DPS user id
* being passed back from the server
*/
$query = "
SELECT url_site, password, user_name, signature
FROM civicrm_payment_processor
LEFT JOIN civicrm_payment_processor_type ON civicrm_payment_processor_type.id = civicrm_payment_processor.payment_processor_type_id
WHERE civicrm_payment_processor_type.name = 'Payment_Express'
AND user_name = %1
";
$params = array(1 => array($_GET['userid'], 'String'));
$dpsSettings = CRM_Core_DAO::executeQuery($query, $params);
while ($dpsSettings->fetch()) {
$dpsUrl = $dpsSettings->url_site;
$dpsUser = $dpsSettings->user_name;
$dpsKey = $dpsSettings->password;
$dpsMacKey = $dpsSettings->signature;
}
if ($dpsMacKey) {
$method = "pxaccess";
}
else {
$method = "pxpay";
}
require_once 'CRM/Core/Payment/PaymentExpressIPN.php';
$rawPostData = $_GET['result'];
CRM_Core_Payment_PaymentExpressIPN::main($method, $rawPostData, $dpsUrl, $dpsUser, $dpsKey, $dpsMacKey);