Merge pull request #4898 from monishdeb/CRM-15619-fix
[civicrm-core.git] / CRM / Core / Payment / eWAY.php
index ddeb1abaa304c0199255810db6652548c802dfc4..71457de839318fb0df9410358449dafe609165bd 100644 (file)
 */
 
 /**
- -----------------------------------------------------------------------------------------------
- From the eWAY supplied 'Web.config' dated 25-Sep-2006 - check date and update links if required
- -----------------------------------------------------------------------------------------------
-
- LIVE gateway with CVN
- https://www.eway.com.au/gateway_cvn/xmlpayment.asp
-
- LIVE gateway without CVN
- https://www.eway.com.au/gateway/xmlpayment.asp
-
-
- Test gateway with CVN
- https://www.eway.com.au/gateway_cvn/xmltest/TestPage.asp
-
- Test gateway without CVN
- https://www.eway.com.au/gateway/xmltest/TestPage.asp
-
-
- LIVE gateway for Stored Transactions
- https://www.eway.com.au/gateway/xmlstored.asp
-
-
- -----------------------------------------------------------------------------------------------
- From the eWAY web-site - http://www.eway.com.au/Support/Developer/PaymentsRealTime.aspx
- -----------------------------------------------------------------------------------------------
- The test Customer ID is 87654321 - this is the only ID that will work on the test gateway.
- The test Credit Card number is 4444333322221111
- - this is the only credit card number that will work on the test gateway.
- The test Total Amount should end in 00 or 08 to get a successful response (e.g. $10.00 or $10.08)
- ie - all other amounts will return a failed response.
-
- -----------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------
From the eWAY supplied 'Web.config' dated 25-Sep-2006 - check date and update links if required
-----------------------------------------------------------------------------------------------
+ *
LIVE gateway with CVN
https://www.eway.com.au/gateway_cvn/xmlpayment.asp
+ *
LIVE gateway without CVN
https://www.eway.com.au/gateway/xmlpayment.asp
+ *
+ *
Test gateway with CVN
https://www.eway.com.au/gateway_cvn/xmltest/TestPage.asp
+ *
Test gateway without CVN
https://www.eway.com.au/gateway/xmltest/TestPage.asp
+ *
+ *
LIVE gateway for Stored Transactions
https://www.eway.com.au/gateway/xmlstored.asp
+ *
+ *
-----------------------------------------------------------------------------------------------
From the eWAY web-site - http://www.eway.com.au/Support/Developer/PaymentsRealTime.aspx
-----------------------------------------------------------------------------------------------
The test Customer ID is 87654321 - this is the only ID that will work on the test gateway.
The test Credit Card number is 4444333322221111
- this is the only credit card number that will work on the test gateway.
The test Total Amount should end in 00 or 08 to get a successful response (e.g. $10.00 or $10.08)
ie - all other amounts will return a failed response.
+ *
-----------------------------------------------------------------------------------------------
  **/
 class CRM_Core_Payment_eWAY extends CRM_Core_Payment {
   # (not used, implicit in the API, might need to convert?)
@@ -106,14 +106,15 @@ class CRM_Core_Payment_eWAY extends CRM_Core_Payment {
   /**********************************************************
    * Constructor
    *
-   * @param string $mode the mode of operation: live or test
+   * @param string $mode
+   *   The mode of operation: live or test.
    *
    * @param $paymentProcessor
    *
    * @return \CRM_Core_Payment_eWAY *******************************************************
    */
   public function __construct($mode, &$paymentProcessor) {
-    // require Standaard eWAY API libraries
+    // require Standard eWAY API libraries
     require_once 'eWAY/eWAY_GatewayRequest.php';
     require_once 'eWAY/eWAY_GatewayResponse.php';
 
@@ -123,26 +124,6 @@ class CRM_Core_Payment_eWAY extends CRM_Core_Payment {
     $this->_processorName = ts('eWay');
   }
 
-  /**
-   * Singleton function used to manage this object
-   *
-   * @param string $mode the mode of operation: live or test
-   *
-   * @param object $paymentProcessor
-   * @param null $paymentForm
-   * @param bool $force
-   *
-   * @return object
-   * @static
-   */
-  public static function &singleton($mode, &$paymentProcessor, &$paymentForm = NULL, $force = false) {
-    $processorName = $paymentProcessor['name'];
-    if (self::$_singleton[$processorName] === NULL) {
-      self::$_singleton[$processorName] = new CRM_Core_Payment_eWAY($mode, $paymentProcessor);
-    }
-    return self::$_singleton[$processorName];
-  }
-
   /**********************************************************
    * This function sends request and receives response from
    * eWAY payment process
@@ -185,12 +166,11 @@ class CRM_Core_Payment_eWAY extends CRM_Core_Payment {
        $country        = $params['country'];
        */
 
-
     //-------------------------------------------------------------
     // Prepare some composite data from _paymentProcessor fields
     //-------------------------------------------------------------
     $fullAddress = $params['street_address'] . ", " . $params['city'] . ", " . $params['state_province'] . ".";
-    $expireYear  = substr($params['year'], 2, 2);
+    $expireYear = substr($params['year'], 2, 2);
     $expireMonth = sprintf('%02d', (int) $params['month']);
     // CiviCRM V1.9 - Picks up reasonable description
     //$description = $params['amount_level'];
@@ -316,12 +296,14 @@ class CRM_Core_Payment_eWAY extends CRM_Core_Payment {
       $errorDesc = curl_error($submit);
 
       // Paranoia - in the unlikley event that 'curl' errno fails
-      if ($errorNum == 0)
-      $errorNum = 9005;
+      if ($errorNum == 0) {
+        $errorNum = 9005;
+      }
 
       // Paranoia - in the unlikley event that 'curl' error fails
-      if (strlen($errorDesc) == 0)
-      $errorDesc = "Connection to eWAY payment gateway failed";
+      if (strlen($errorDesc) == 0) {
+        $errorDesc = "Connection to eWAY payment gateway failed";
+      }
 
       return self::errorExit($errorNum, $errorDesc);
     }
@@ -403,12 +385,12 @@ class CRM_Core_Payment_eWAY extends CRM_Core_Payment {
            $trxn_id           = str_replace( 'test', '', $trxn_id );
            $trxn_id           = intval($trxn_id) + 1;
            $params['trxn_id'] = sprintf('test%08d', $trxn_id);
-       } else {
+       }
+       else {
            $params['trxn_id'] = $eWAYResponse->TransactionNumber();
        }
        */
 
-
     //=============
     // Success !
     //=============
@@ -427,9 +409,11 @@ class CRM_Core_Payment_eWAY extends CRM_Core_Payment {
   /**
    * Checks to see if invoice_id already exists in db
    *
-   * @param  int     $invoiceId   The ID to check
+   * @param int $invoiceId
+   *   The ID to check.
    *
-   * @return bool                 True if ID exists, else false
+   * @return bool
+   *   True if ID exists, else false
    */
   public function _checkDupe($invoiceId) {
     $contribution = new CRM_Contribute_DAO_Contribution();
@@ -518,7 +502,6 @@ class CRM_Core_Payment_eWAY extends CRM_Core_Payment {
     // Initialization call is required to use CiviCRM APIs.
     civicrm_initialize(TRUE);
 
-
     list($fromName, $fromEmail) = CRM_Core_BAO_Domain::getNameAndEmail();
     $from = "$fromName <$fromEmail>";
 
@@ -556,12 +539,12 @@ The CiviCRM eWAY Payment Processor Module
     $params = array();
 
     $params['groupName'] = 'eWay Email Sender';
-    $params['from']      = $from;
-    $params['toName']    = $toName;
-    $params['toEmail']   = $toEmail;
-    $params['subject']   = $subject;
-    $params['cc']        = $cc;
-    $params['text']      = $message;
+    $params['from'] = $from;
+    $params['toName'] = $toName;
+    $params['toEmail'] = $toEmail;
+    $params['subject'] = $subject;
+    $params['cc'] = $cc;
+    $params['text'] = $message;
 
     CRM_Utils_Mail::send($params);
   }