Merge remote-tracking branch 'origin/4.4' into 4.4-4.5-2014-09-14-13-58-42
[civicrm-core.git] / extern / pxIPN.php
1 <?php
2
3 /*
4 * PxPay Functionality Copyright (C) 2008 Lucas Baker,
5 * Logistic Information Systems Limited (Logis)
6 * PxAccess Functionality Copyright (C) 2008 Eileen McNaughton
7 * Licensed to CiviCRM under the Academic Free License version 3.0.
8 *
9 * Grateful acknowledgements go to Donald Lobo for invaluable assistance
10 * in creating this payment processor module
11 */
12
13
14 session_start();
15
16 require_once '../civicrm.config.php';
17 require_once 'CRM/Core/Config.php';
18
19 $config = CRM_Core_Config::singleton();
20 $log = new CRM_Utils_SystemLogger();
21 $log->alert('payment_notification processor_name=Payment_Express', $_REQUEST);
22 /*
23 * Get the password from the Payment Processor's table based on the DPS user id
24 * being passed back from the server
25 */
26
27 $query = "
28 SELECT url_site, password, user_name, signature
29 FROM civicrm_payment_processor
30 LEFT JOIN civicrm_payment_processor_type ON civicrm_payment_processor_type.id = civicrm_payment_processor.payment_processor_type_id
31 WHERE civicrm_payment_processor_type.name = 'Payment_Express'
32 AND user_name = %1
33 ";
34 $params = array(1 => array($_GET['userid'], 'String'));
35
36 $dpsSettings = CRM_Core_DAO::executeQuery($query, $params);
37 while ($dpsSettings->fetch()) {
38 $dpsUrl = $dpsSettings->url_site;
39 $dpsUser = $dpsSettings->user_name;
40 $dpsKey = $dpsSettings->password;
41 $dpsMacKey = $dpsSettings->signature;
42 }
43
44 if ($dpsMacKey) {
45 $method = "pxaccess";
46 }
47 else {
48 $method = "pxpay";
49 }
50
51 require_once 'CRM/Core/Payment/PaymentExpressIPN.php';
52 $rawPostData = $_GET['result'];
53 CRM_Core_Payment_PaymentExpressIPN::main($method, $rawPostData, $dpsUrl, $dpsUser, $dpsKey, $dpsMacKey);