CRM-13263
[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
21 /*
22 * Get the password from the Payment Processor's table based on the DPS user id
23 * being passed back from the server
24 */
25
26 $query = "
27 SELECT url_site, password, user_name, signature
28 FROM civicrm_payment_processor
29 LEFT JOIN civicrm_payment_processor_type ON civicrm_payment_processor_type.id = civicrm_payment_processor.payment_processor_type_id
30 WHERE civicrm_payment_processor_type.name = 'Payment_Express'
31 AND user_name = %1
32 ";
33 $params = array(1 => array($_GET['userid'], 'String'));
34
35 $dpsSettings = CRM_Core_DAO::executeQuery($query, $params);
36 while ($dpsSettings->fetch()) {
37 $dpsUrl = $dpsSettings->url_site;
38 $dpsUser = $dpsSettings->user_name;
39 $dpsKey = $dpsSettings->password;
40 $dpsMacKey = $dpsSettings->signature;
41 }
42
43 if ($dpsMacKey) {
44 $method = "pxaccess";
45 }
46 else {
47 $method = "pxpay";
48 }
49
50 require_once 'CRM/Core/Payment/PaymentExpressIPN.php';
51 $rawPostData = $_GET['result'];
52 CRM_Core_Payment_PaymentExpressIPN::main($method, $rawPostData, $dpsUrl, $dpsUser, $dpsKey, $dpsMacKey);