| 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); |