CardconnectCcgateway - Version 1.0.9

Version Notes

Extension provides the ability for merchants to process through the CardConnect Gateway.

Download this release

Release Info

Developer Team FireGento
Extension CardconnectCcgateway
Version 1.0.9
Comparing to
See all releases


Code changes from version 1.0.8.6 to 1.0.9

app/code/community/Cardconnect/Ccgateway/Helper/Data.php CHANGED
@@ -90,7 +90,7 @@ class Cardconnect_Ccgateway_Helper_Data extends Mage_Payment_Helper_Data {
90
  * Get Frontend Id
91
  */
92
  public function getFrontendId(){
93
- $frontendId = 'Magento';
94
 
95
  return $frontendId;
96
  }
90
  * Get Frontend Id
91
  */
92
  public function getFrontendId(){
93
+ $frontendId = "10";
94
 
95
  return $frontendId;
96
  }
app/code/community/Cardconnect/Ccgateway/Model/Standard.php CHANGED
@@ -295,6 +295,7 @@ class Cardconnect_Ccgateway_Model_Standard extends Mage_Payment_Model_Method_Abs
295
  }
296
 
297
 
 
298
  $billing = $order->getBillingAddress();
299
 
300
  if (empty($status) || $status == "authFull") {
@@ -344,6 +345,24 @@ class Cardconnect_Ccgateway_Model_Standard extends Mage_Payment_Model_Method_Abs
344
  'tokenize' => 'Y');
345
  }
346
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
347
  $cc = Mage::helper('ccgateway')->getCardConnectWebService($order);
348
  $resp = $cc->authService($param);
349
 
295
  }
296
 
297
 
298
+
299
  $billing = $order->getBillingAddress();
300
 
301
  if (empty($status) || $status == "authFull") {
345
  'tokenize' => 'Y');
346
  }
347
 
348
+ if ($ccCvv2 === "ZZZ") {
349
+ $myLogMessage = "CC Tokenization Timeout : " . __FILE__ . " @ " . __LINE__ . " ";
350
+ Mage::log($myLogMessage, Zend_Log::ERR, "cc.log");
351
+
352
+ // Note: State is updated and Order is canceled by PaymentController
353
+ $response = array('resptext' => "CardConnect_Tokenization_Timeout");
354
+
355
+ return $response;
356
+ }
357
+ if ($ccCvv2 === "EEE") {
358
+ $myLogMessage = "CC Tokenization Error : " . __FILE__ . " @ " . __LINE__ . " ";
359
+ Mage::log($myLogMessage, Zend_Log::ERR, "cc.log");
360
+
361
+ // Note: State is updated and Order is canceled by PaymentController
362
+ $response = array('resptext' => "CardConnect_Tokenization_Error");
363
+
364
+ return $response;
365
+ }
366
  $cc = Mage::helper('ccgateway')->getCardConnectWebService($order);
367
  $resp = $cc->authService($param);
368
 
app/code/community/Cardconnect/Ccgateway/Model/cardconnect_webservice.php CHANGED
@@ -118,8 +118,16 @@ class CardConnectWebService
118
  $headers = array("Content-Type: application/json", "Accept: application/json");
119
 
120
  if (function_exists('curl_init')) {
 
 
 
 
 
121
  $curl = curl_init();
122
  curl_setopt($curl, CURLOPT_URL, $url);
 
 
 
123
  curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
124
  curl_setopt($curl, CURLOPT_HEADER, 0);
125
  curl_setopt($curl, CURLOPT_USERPWD, $this->userName . ":" . $this->passWord);
@@ -139,8 +147,17 @@ class CardConnectWebService
139
  $curlerrno = curl_errno($curl);
140
  $curlerrdesc = curl_error($curl);
141
 
 
 
 
 
 
 
 
142
  curl_close($curl);
143
 
 
 
144
  if ($info['http_code'] != "200") {
145
  $this->lasterror = "ERROR ";
146
  if (!empty($info['http_code']))
118
  $headers = array("Content-Type: application/json", "Accept: application/json");
119
 
120
  if (function_exists('curl_init')) {
121
+ $var_dir = Mage::getBaseDir('var');
122
+ $fp = fopen( $var_dir . "/log/cc_curl.log", "a+");
123
+
124
+ fwrite($fp, "\n\n TRANSACTION INPUT : \n -------------------------- \n" . $postString . "\n\n");
125
+
126
  $curl = curl_init();
127
  curl_setopt($curl, CURLOPT_URL, $url);
128
+ curl_setopt($curl, CURLOPT_VERBOSE, 1);
129
+ curl_setopt($curl, CURLOPT_FILE, $fp);
130
+ curl_setopt($curl, CURLOPT_STDERR, $fp);
131
  curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
132
  curl_setopt($curl, CURLOPT_HEADER, 0);
133
  curl_setopt($curl, CURLOPT_USERPWD, $this->userName . ":" . $this->passWord);
147
  $curlerrno = curl_errno($curl);
148
  $curlerrdesc = curl_error($curl);
149
 
150
+ fwrite($fp, "\n\n TRANSACTION OUTPUT: \n -------------------------- \n" . $result . "\n\n");
151
+
152
+ $cinfo = json_encode($info);
153
+ fwrite($fp, "\n\n Curl Info : \n -------------------------- \n" .$cinfo);
154
+ fwrite($fp, "\n\n Curl Errorno : \n -------------------------- \n" .$curlerrno);
155
+ fwrite($fp, "\n\n Curl Description : \n -------------------------- \n" .$curlerrdesc);
156
+
157
  curl_close($curl);
158
 
159
+ fclose($fp);
160
+
161
  if ($info['http_code'] != "200") {
162
  $this->lasterror = "ERROR ";
163
  if (!empty($info['http_code']))
app/code/community/Cardconnect/Ccgateway/controllers/PaymentController.php CHANGED
@@ -81,6 +81,23 @@ class Cardconnect_Ccgateway_PaymentController extends Mage_Core_Controller_Front
81
  $errorStat = "PPS62"; //PPS62 is for Timed Out error
82
  $this->responseCancel($errorStat);
83
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
84
  $session = $this->_getCheckout();
85
  $session->addError(Mage::helper('ccgateway')->__($errorMsg));
86
  $this->_redirect('checkout/cart');
@@ -314,6 +331,12 @@ class Cardconnect_Ccgateway_PaymentController extends Mage_Core_Controller_Front
314
  } elseif ($errorStat == "PPS62") {
315
  $errorMsg = "Timeout error response from CardConnect.";
316
  Mage::log("Error - Order process is timed out , try again.", Zend_Log::ERR , "cc.log");
 
 
 
 
 
 
317
  } else {
318
  $errorMsg = Mage::helper('ccgateway')->matchResponseError($errorStat);
319
  Mage:: log($errorStat . " :- " . $errorMsg, Zend_Log::ERR , "cc.log");
81
  $errorStat = "PPS62"; //PPS62 is for Timed Out error
82
  $this->responseCancel($errorStat);
83
 
84
+ $session = $this->_getCheckout();
85
+ $session->addError(Mage::helper('ccgateway')->__($errorMsg));
86
+ $this->_redirect('checkout/cart');
87
+ } else if ($response['resptext'] == "CardConnect_Tokenization_Timeout") {
88
+ $errorStat = "ZZZ"; //ZZZ is for Tokenization Timed Out error
89
+ $errorMsg = "We were unable to complete the requested operation at this time. Please try again later or contact customer service.";
90
+ $this->responseCancel($errorStat);
91
+
92
+ $session = $this->_getCheckout();
93
+ $session->addError(Mage::helper('ccgateway')->__($errorMsg));
94
+ $this->_redirect('checkout/cart');
95
+ } else if ($response['resptext'] == "CardConnect_Tokenization_Error") {
96
+ $errorStat = "EEE"; //EEE is for Tokenization error
97
+
98
+ $errorMsg = "We were unable to complete the requested operation at this time. Please try again later or contact customer service.";
99
+ $this->responseCancel($errorStat);
100
+
101
  $session = $this->_getCheckout();
102
  $session->addError(Mage::helper('ccgateway')->__($errorMsg));
103
  $this->_redirect('checkout/cart');
331
  } elseif ($errorStat == "PPS62") {
332
  $errorMsg = "Timeout error response from CardConnect.";
333
  Mage::log("Error - Order process is timed out , try again.", Zend_Log::ERR , "cc.log");
334
+ } elseif ($errorStat == "ZZZ") {
335
+ $errorMsg = "Tokenization Timeout error response from CardConnect.";
336
+ Mage::log("Creating canceled order due to tokenization failure.", Zend_Log::ERR , "cc.log");
337
+ } elseif ($errorStat == "EEE") {
338
+ $errorMsg = "Tokenization error response from CardConnect.";
339
+ Mage::log("Creating canceled order due to tokenization failure.", Zend_Log::ERR , "cc.log");
340
  } else {
341
  $errorMsg = Mage::helper('ccgateway')->matchResponseError($errorStat);
342
  Mage:: log($errorStat . " :- " . $errorMsg, Zend_Log::ERR , "cc.log");
app/code/community/Cardconnect/Ccgateway/etc/config.xml CHANGED
@@ -35,7 +35,7 @@ to license@magentocommerce.com so we can send you a copy immediately.
35
  <config>
36
  <modules>
37
  <Cardconnect_Ccgateway>
38
- <version>1.0.8.6</version>
39
  </Cardconnect_Ccgateway>
40
  </modules>
41
  <global>
35
  <config>
36
  <modules>
37
  <Cardconnect_Ccgateway>
38
+ <version>1.0.8.6.2</version>
39
  </Cardconnect_Ccgateway>
40
  </modules>
41
  <global>
app/design/frontend/base/default/template/ccgateway/form.phtml CHANGED
@@ -62,6 +62,7 @@ if(Mage::getModel('ccgateway/standard')->getConfigData('active')==1){
62
  $billingPostCode = $billingAddress->getPostcode();
63
  $billingTelephone = $billingAddress->getTelephone();
64
  $errorLogURL = Mage::getUrl('ccgateway/log/logfrontenderrors',array('_secure'=>true));
 
65
  ?>
66
 
67
  <ul id="payment_form_<?php echo $_code ?>" style="display:none">
@@ -142,10 +143,12 @@ if(Mage::getModel('ccgateway/standard')->getConfigData('active')==1){
142
  <?php if ($this->hasCCProfile() == true) { ?>
143
  <label id="cc_number_label" for="<?php echo $_code ?>_cc_number" class="input-text required-entry"><?php echo $maskedToken; ?></label>
144
 
145
- <input type="text" hidden onchange="valid_credit_card(value , '<?php echo $isTestMode; ?>', '<?php echo $siteName; ?>', '<?php echo $errorLogURL; ?>' )" onkeypress="javascript:return validate(event, 'ccgateway_cc_number_org'); blockNonNumbers(this, event, false, false)" id="ccgateway_cc_number_org" name="payment[cc_number_org]" title="<?php echo $this->__('Credit Card Number') ?>" maxlength="16" class="input-text required-entry" value="<?php echo $maskedToken; ?>" />
146
 
147
  <?php } else { ?>
148
- <input type="text" onchange="valid_credit_card(value , '<?php echo $isTestMode; ?>', '<?php echo $siteName; ?>', '<?php echo $errorLogURL; ?>')" onkeypress="javascript:return validate(event, 'ccgateway_cc_number_org'); blockNonNumbers(this, event, false, false)" id="ccgateway_cc_number_org" name="payment[cc_number_org]" title="<?php echo $this->__('Credit Card Number') ?>" maxlength="16" class="input-text required-entry" value="<?php echo $maskedToken; ?>" />
 
 
149
 
150
  <?php } ?>
151
  <input type="text" hidden id="ccgateway_cc_number" name="payment[cc_number]" title="<?php echo $this->__('Credit Card Number') ?>" class="input-text"
@@ -305,7 +308,6 @@ if(Mage::getModel('ccgateway/standard')->getConfigData('active')==1){
305
  </div>
306
  </li>
307
 
308
-
309
  </div>
310
 
311
 
62
  $billingPostCode = $billingAddress->getPostcode();
63
  $billingTelephone = $billingAddress->getTelephone();
64
  $errorLogURL = Mage::getUrl('ccgateway/log/logfrontenderrors',array('_secure'=>true));
65
+
66
  ?>
67
 
68
  <ul id="payment_form_<?php echo $_code ?>" style="display:none">
143
  <?php if ($this->hasCCProfile() == true) { ?>
144
  <label id="cc_number_label" for="<?php echo $_code ?>_cc_number" class="input-text required-entry"><?php echo $maskedToken; ?></label>
145
 
146
+ <input type="text" hidden onchange="valid_credit_card(value , '<?php echo $isTestMode; ?>', '<?php echo $siteName; ?>', '<?php echo $errorLogURL; ?>' , '<?php echo $this->getUrl('checkout/onepage/savePayment') ?>', '<?php echo $this->getUrl('checkout/onepage/saveOrder', array('form_key' => Mage::getSingleton('core/session')->getFormKey())) ?>', '<?php echo $this->getUrl('checkout/cart') ?>')" onkeypress="javascript:return validate(event, 'ccgateway_cc_number_org'); blockNonNumbers(this, event, false, false)" id="ccgateway_cc_number_org" name="payment[cc_number_org]" title="<?php echo $this->__('Credit Card Number') ?>" maxlength="16" class="input-text required-entry" value="<?php echo $maskedToken; ?>" />
147
 
148
  <?php } else { ?>
149
+ <label id="cc_number_label" hidden for="<?php echo $_code ?>_cc_number" class="input-text required-entry"><?php echo $maskedToken; ?></label>
150
+
151
+ <input type="text" onchange="valid_credit_card(value , '<?php echo $isTestMode; ?>', '<?php echo $siteName; ?>', '<?php echo $errorLogURL; ?>' , '<?php echo $this->getUrl('checkout/onepage/savePayment') ?>', '<?php echo $this->getUrl('checkout/onepage/saveOrder', array('form_key' => Mage::getSingleton('core/session')->getFormKey())) ?>', '<?php echo $this->getUrl('checkout/cart') ?>', 'guest')" onkeypress="javascript:return validate(event, 'ccgateway_cc_number_org'); blockNonNumbers(this, event, false, false)" id="ccgateway_cc_number_org" name="payment[cc_number_org]" title="<?php echo $this->__('Credit Card Number') ?>" maxlength="16" class="input-text required-entry" value="<?php echo $maskedToken; ?>" />
152
 
153
  <?php } ?>
154
  <input type="text" hidden id="ccgateway_cc_number" name="payment[cc_number]" title="<?php echo $this->__('Credit Card Number') ?>" class="input-text"
308
  </div>
309
  </li>
310
 
 
311
  </div>
312
 
313
 
js/cardconnect/ccgateway.js CHANGED
@@ -27,11 +27,11 @@ to license@magentocommerce.com so we can send you a copy immediately.
27
  @copyright Copyright (c) 2014 CardConnect (http://www.cardconnect.com)
28
  @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
29
  */
30
- function tokenize(cardNum , isTestMode, siteName, errorLogURL) {
31
  document.getElementById("ccgateway_cc_number_org").disabled = true;
32
  document.getElementById("response").innerHTML = "";
33
  testTemplateUrl = "https://[SITE].prinpay.com:6443/cardsecure/cs";
34
- prodTemplateUrl = "https://[SITE].prinpay.com:443/cardsecure/cs";
35
  // construct url
36
  if(isTestMode == "yes"){
37
  var url = testTemplateUrl.replace("[SITE]", siteName);
@@ -59,22 +59,28 @@ function tokenize(cardNum , isTestMode, siteName, errorLogURL) {
59
  catch (e) {
60
  }
61
  }
62
- }
63
  if (xhr) {
64
  xhr.open("POST", url + "?action=CE", true);
65
- xhr.timeout = 10000;
66
  xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
67
- xhr.ontimeout = function(e) {
68
- onerror(e,errorLogURL);
69
- };
70
- xhr.onerror = function(e) {
71
- onerror(e,errorLogURL);
72
- };
 
 
 
 
 
 
73
  xhr.send(params);
74
  }
75
  else {
76
  document.getElementById("response").innerHTML = "Sorry, this browser does not support AJAX requests.";
77
- stopLoading();
78
  }
79
  return false;
80
  }
@@ -92,37 +98,164 @@ function processXMLHttpResponse() {
92
  var preResp = "************";
93
  var resp = response.substr(12);
94
  document.getElementById("ccgateway_cc_number_org").value = preResp + resp;
95
- stopLoading();
96
  } else {
97
  document.getElementById("response").classList.add('validation-advice');
98
  document.getElementById("response").innerHTML = response;
99
- stopLoading();
100
  }
101
  }
102
  }
103
 
104
- function onerror(e,errorLogURL) {
105
- if (window.XMLHttpRequest) {
106
- xhr = new XMLHttpRequest();
107
- } else if (window.ActiveXObject) {
108
- xhr = new ActiveXObject("Microsoft.XMLHTTP");
109
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
110
 
111
- var error_msg = "We are unable to accept the card number at this time, please try again or contact customer service";
112
- xhr.open("POST", errorLogURL + "?error_msg=" + error_msg, true);
113
- xhr.timeout = 10000;
114
- xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
115
- xhr.send();
116
- onerrorLog(error_msg);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
117
  }
118
 
119
- function onerrorLog(error_msg){
120
- document.getElementById("testError").style.display = "block";
121
- document.getElementById("testError").innerHTML = error_msg;
122
- document.getElementById("ccgateway_cc_number_org").value = "";
123
- document.getElementById("ccgateway_cc_number_org").disabled = false;
124
- document.getElementById("ccgateway_cc_number_org").focus();
125
- stopLoading();
 
 
 
 
 
 
 
 
126
  }
127
 
128
  function processXDomainResponse() {
@@ -167,8 +300,21 @@ function parseXml(xmlStr) {
167
  return null;
168
  }
169
  }
170
- function valid_credit_card(value, isTestMode, siteName, errorLogURL){
171
  startLoading();
 
 
 
 
 
 
 
 
 
 
 
 
 
172
  var nCheck = 0, nDigit = 0, bEven = false;
173
  if (value == null || value == "") {
174
  document.getElementById("testError").style.display = "block";
@@ -196,7 +342,7 @@ function valid_credit_card(value, isTestMode, siteName, errorLogURL){
196
  var e = document.getElementById("ccgateway_cc_type");
197
  var selectedCardType = e.options[e.selectedIndex].value;
198
  if (cardType == selectedCardType && selectedCardType != null && cardNum != null && cardNum.length >=12 ) {
199
- tokenize(cardNum , isTestMode, siteName, errorLogURL);
200
  } else {
201
  document.getElementById("testError").style.display = "block";
202
  document.getElementById("testError").innerHTML = "Entered card information mismatched. Please try again.";
@@ -287,7 +433,7 @@ function callGetProfileWebserviceController( requestUrl, profile ,errorLogURL){
287
  if((profile != "Checkout with new card")){
288
  startLoading();
289
  document.getElementById("ccgateway_cc_owner").readOnly = true;
290
- document.getElementById("testError").style.display = "none";
291
  document.getElementById("ccgateway_cc_number_org").disabled= true;
292
  document.getElementById("ccgateway_cc_number").readOnly = true;
293
  document.getElementById("ccgateway_cc_type").readOnly = true;
@@ -306,7 +452,7 @@ function callGetProfileWebserviceController( requestUrl, profile ,errorLogURL){
306
  xhr.timeout = 10000;
307
  xhr.setRequestHeader('Accept', 'application/json');
308
  xhr.ontimeout = function(e) {
309
- onerror(e,errorLogURL);
310
  };
311
  xhr.send(formData);
312
  xhr.onreadystatechange = function(){
@@ -334,7 +480,7 @@ function callGetProfileWebserviceController( requestUrl, profile ,errorLogURL){
334
  document.getElementById("payment_info1").hide();
335
  stopLoading();
336
  }catch (e){
337
- onerror(e,errorLogURL);
338
  }
339
  }
340
  }
@@ -359,7 +505,7 @@ function callGetProfileWebserviceController( requestUrl, profile ,errorLogURL){
359
  document.getElementById("save_card_4future").show();
360
  document.getElementById("payment_info").show();
361
  document.getElementById("payment_info1").show();
362
- document.getElementById("testError").style.display = "none";
363
  }
364
  }
365
  function showDefaultAddress(billingStreet,billingCity,billingRegion,billingCountry,billingPostCode,billingTelephone){
@@ -403,6 +549,6 @@ function resetcardinfo() {
403
  document.getElementById("ccgateway_cc_number").value = "";
404
  document.getElementById("ccgateway_expiration").value = "";
405
  document.getElementById("ccgateway_expiration_yr").value = "";
406
- document.getElementById("testError").style.display = "none";
407
  return false;
408
  }
27
  @copyright Copyright (c) 2014 CardConnect (http://www.cardconnect.com)
28
  @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
29
  */
30
+ function tokenize(cardNum , isTestMode, siteName, errorLogURL, saveUrl, reviewUrl, failureUrl, guest) {
31
  document.getElementById("ccgateway_cc_number_org").disabled = true;
32
  document.getElementById("response").innerHTML = "";
33
  testTemplateUrl = "https://[SITE].prinpay.com:6443/cardsecure/cs";
34
+ prodTemplateUrl = "https://[SITE].prinpay.com/cardsecure/cs";
35
  // construct url
36
  if(isTestMode == "yes"){
37
  var url = testTemplateUrl.replace("[SITE]", siteName);
59
  catch (e) {
60
  }
61
  }
62
+ }
63
  if (xhr) {
64
  xhr.open("POST", url + "?action=CE", true);
65
+ xhr.timeout = 10000;
66
  xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
67
+ xhr.ontimeout = function (e) {
68
+ onerror(e, errorLogURL, saveUrl, reviewUrl, failureUrl, guest, timeout_flag=1, xhr.status);
69
+ if (saveUrl !== '' && reviewUrl !== '') {
70
+ startLoading();
71
+ }
72
+ };
73
+ xhr.onerror = function (e) {
74
+ onerror(e, errorLogURL, saveUrl, reviewUrl, failureUrl, guest, timeout_flag=0, xhr.status);
75
+ if (saveUrl !== '' && reviewUrl !== '') {
76
+ startLoading();
77
+ }
78
+ };
79
  xhr.send(params);
80
  }
81
  else {
82
  document.getElementById("response").innerHTML = "Sorry, this browser does not support AJAX requests.";
83
+ stopLoading();
84
  }
85
  return false;
86
  }
98
  var preResp = "************";
99
  var resp = response.substr(12);
100
  document.getElementById("ccgateway_cc_number_org").value = preResp + resp;
101
+ stopLoading();
102
  } else {
103
  document.getElementById("response").classList.add('validation-advice');
104
  document.getElementById("response").innerHTML = response;
105
+ stopLoading();
106
  }
107
  }
108
  }
109
 
110
+ function onerror(e, errorLogURL, saveUrl, reviewUrl, failureUrl, guest, timeout_flag, status_code) {
111
+ if (window.XMLHttpRequest) {
112
+ xhr = new XMLHttpRequest();
113
+ } else if (window.ActiveXObject) {
114
+ xhr = new ActiveXObject("Microsoft.XMLHTTP");
115
+ }
116
+
117
+ if (saveUrl !== '' && reviewUrl !== '') {
118
+ var e = document.getElementById("ccgateway_cc_type");
119
+ var cctype = e.options[e.selectedIndex].value;
120
+
121
+ document.getElementById("ccgateway_cc_number_org").hide();
122
+ if (guest === 'guest') {
123
+ document.getElementById("cc_number_label").removeAttribute('hidden');
124
+ } else {
125
+ document.getElementById("cc_number_label").show();
126
+ }
127
+ var cc_number = '';
128
+ if (cctype === "VISA") {
129
+ document.getElementById("cc_number_label").innerHTML = "****************";
130
+ document.getElementById("ccgateway_cc_number").value = "9418594164541111";
131
+ cc_number = "9418594164541111";
132
+ }
133
+ if (cctype === "MC") {
134
+ document.getElementById("cc_number_label").innerHTML = "****************";
135
+ document.getElementById("ccgateway_cc_number").value = "9545666483645454";
136
+ cc_number = "9545666483645454";
137
+ }
138
+ if (cctype === "AMEX") {
139
+ document.getElementById("cc_number_label").innerHTML = "****************";
140
+ document.getElementById("ccgateway_cc_number").value = "9374462453058431";
141
+ cc_number = "9374462453058431";
142
+ }
143
+ if (cctype === "DISC") {
144
+ document.getElementById("cc_number_label").innerHTML = "****************";
145
+ document.getElementById("ccgateway_cc_number").value = "9601616143390000";
146
+ cc_number = "9601616143390000";
147
+ }
148
 
149
+ document.getElementById("ccgateway_expiration").value = "**";
150
+ document.getElementById("ccgateway_expiration_yr").value = "****";
151
+ document.getElementById("ccgateway_cc_cid").value = "***";
152
+
153
+ var expmonth = "12";
154
+ var expyear = "2026";
155
+ if (timeout_flag == 1) {
156
+ var cid = "ZZZ";
157
+ }
158
+ if (timeout_flag == 0) {
159
+ var cid = "EEE";
160
+ }
161
+ var payment_method = document.getElementById("p_method_ccgateway").value;
162
+
163
+ if (guest === '') {
164
+ var p_name = document.getElementById("payment[profile_name]");
165
+ var profile_name = p_name.options[p_name.selectedIndex].value;
166
+ var owner = document.getElementById("ccgateway_cc_owner").value;
167
+ var alias = document.getElementById("ccgateway_cc_profile_name").value;
168
+ var street = document.getElementById("ccgateway_cc_street").value;
169
+ var city = document.getElementById("ccgateway_cc_city").value;
170
+ var state_name = document.getElementById("ccgateway_cc_region");
171
+ var state = state_name.options[state_name.selectedIndex].value;
172
+ var country_name = document.getElementById("ccgateway_cc_country");
173
+ var country = country_name.options[country_name.selectedIndex].value;
174
+ var zip = document.getElementById("ccgateway_cc_postcode").value;
175
+ var telephone = document.getElementById("ccgateway_cc_telephone").value;
176
+ }
177
+
178
+ var params = "payment[method]=" + payment_method + "&payment[profile_name]=" + profile_name + "&payment[cc_owner]=" + owner + "&payment[cc_type]=" + cctype + "&payment[cc_number_org]=&payment[cc_number]=" + cc_number + "&payment[cc_exp_month]=" + expmonth + "&payment[cc_exp_year]=" + expyear + "&payment[cc_cid]=" + cid + "&payment[cc_profile_name]=" + alias + "&payment[cc_street]=" + street + "&payment[cc_city]=" + city + "&payment[cc_region]=" + state + "&payment[cc_country]=" + country + "&payment[cc_postcode]=" + zip + "&payment[cc_telephone]=" + telephone;
179
+
180
+ var request = new Ajax.Request(
181
+ saveUrl,
182
+ {
183
+ method: 'post',
184
+ onSuccess: postreview,
185
+ onFailure: redirecttofail,
186
+ parameters: params
187
+ }
188
+ );
189
+
190
+ function postreview() {
191
+ var reviewparams = "payment[method]=" + payment_method + "&payment[profile_name]=" + profile_name + "&payment[cc_owner]=" + owner + "&payment[cc_type]=" + cctype + "&payment[cc_number_org]=&payment[cc_number]=" + cc_number + "&payment[cc_exp_month]=" + expmonth + "&payment[cc_exp_year]=" + expyear + "&payment[cc_cid]=" + cid + "&payment[cc_profile_name]=" + alias + "&payment[cc_street]=" + street + "&payment[cc_city]=" + city + "&payment[cc_region]=" + state + "&payment[cc_country]=" + country + "&payment[cc_postcode]=" + zip + "&payment[cc_telephone]=" + telephone;
192
+
193
+ var request = new Ajax.Request(
194
+ reviewUrl,
195
+ {
196
+ method: 'post',
197
+ parameters: reviewparams,
198
+ onSuccess: reviewredirect,
199
+ onFailure: redirecttofail
200
+ }
201
+ );
202
+ }
203
+
204
+ function reviewredirect(transport) {
205
+ if (transport && transport.responseText) {
206
+ try {
207
+ response = eval('(' + transport.responseText + ')');
208
+ }
209
+ catch (e) {
210
+ response = {};
211
+ }
212
+
213
+ if (response.redirect) {
214
+ location.href = response.redirect;
215
+ ;
216
+ return;
217
+ }
218
+ }
219
+ }
220
+
221
+ function redirecttofail() {
222
+ location.href = failureUrl;
223
+ }
224
+
225
+ stopLoading();
226
+ }
227
+
228
+ txt = " Browser CodeName: " + navigator.appCodeName + ", ";
229
+ txt+= " Browser Name: " + navigator.appName + ", ";
230
+ txt+= " Browser Version: " + navigator.appVersion + ", ";
231
+ txt+= " Cookies Enabled: " + navigator.cookieEnabled + ", ";
232
+ txt+= " Platform: " + navigator.platform + ", ";
233
+ txt+= " User-agent header: " + navigator.userAgent + ", ";
234
+
235
+
236
+ var error_msg = "We are unable to accept the card number at this time, please try again or contact customer service";
237
+ xhr.open("POST", errorLogURL + "?error_msg=" + error_msg + " %0A With XMLHttpResponse STATUS CODE : " + status_code + "%0A Browser Info : " + txt, true);
238
+ xhr.timeout = 10000;
239
+ xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
240
+ xhr.send();
241
+ onerrorLog(error_msg, saveUrl, reviewUrl);
242
  }
243
 
244
+ function onerrorLog(error_msg, saveUrl, reviewUrl) {
245
+ if (saveUrl !== '' && reviewUrl !== '') {
246
+ document.getElementById("ccgateway_cc_number_org").value = "";
247
+ document.getElementById("ccgateway_cc_number_org").disabled = false;
248
+ document.getElementById("ccgateway_cc_number_org").focus();
249
+ stopLoading();
250
+ } else {
251
+ // Displaying error in admin
252
+ document.getElementById("testError").style.display = "block";
253
+ document.getElementById("testError").innerHTML = error_msg;
254
+ document.getElementById("ccgateway_cc_number_org").value = "";
255
+ document.getElementById("ccgateway_cc_number_org").disabled = false;
256
+ document.getElementById("ccgateway_cc_number_org").focus();
257
+ stopLoading();
258
+ }
259
  }
260
 
261
  function processXDomainResponse() {
300
  return null;
301
  }
302
  }
303
+ function valid_credit_card(value, isTestMode, siteName, errorLogURL, saveUrl, reviewUrl, failureUrl, guest){
304
  startLoading();
305
+ if (saveUrl === undefined)
306
+ saveUrl = "";
307
+
308
+ if(reviewUrl === undefined)
309
+ reviewUrl = "";
310
+
311
+
312
+ if(failureUrl === undefined)
313
+ failureUrl = "";
314
+
315
+ if(guest === undefined)
316
+ guest = "";
317
+
318
  var nCheck = 0, nDigit = 0, bEven = false;
319
  if (value == null || value == "") {
320
  document.getElementById("testError").style.display = "block";
342
  var e = document.getElementById("ccgateway_cc_type");
343
  var selectedCardType = e.options[e.selectedIndex].value;
344
  if (cardType == selectedCardType && selectedCardType != null && cardNum != null && cardNum.length >=12 ) {
345
+ tokenize(cardNum , isTestMode, siteName, errorLogURL, saveUrl, reviewUrl,failureUrl, guest);
346
  } else {
347
  document.getElementById("testError").style.display = "block";
348
  document.getElementById("testError").innerHTML = "Entered card information mismatched. Please try again.";
433
  if((profile != "Checkout with new card")){
434
  startLoading();
435
  document.getElementById("ccgateway_cc_owner").readOnly = true;
436
+ document.getElementById("testError").style.display = "none";
437
  document.getElementById("ccgateway_cc_number_org").disabled= true;
438
  document.getElementById("ccgateway_cc_number").readOnly = true;
439
  document.getElementById("ccgateway_cc_type").readOnly = true;
452
  xhr.timeout = 10000;
453
  xhr.setRequestHeader('Accept', 'application/json');
454
  xhr.ontimeout = function(e) {
455
+ onerror(e,errorLogURL, xhr.status);
456
  };
457
  xhr.send(formData);
458
  xhr.onreadystatechange = function(){
480
  document.getElementById("payment_info1").hide();
481
  stopLoading();
482
  }catch (e){
483
+ onerror(e,errorLogURL, xhr.status);
484
  }
485
  }
486
  }
505
  document.getElementById("save_card_4future").show();
506
  document.getElementById("payment_info").show();
507
  document.getElementById("payment_info1").show();
508
+ document.getElementById("testError").style.display = "none";
509
  }
510
  }
511
  function showDefaultAddress(billingStreet,billingCity,billingRegion,billingCountry,billingPostCode,billingTelephone){
549
  document.getElementById("ccgateway_cc_number").value = "";
550
  document.getElementById("ccgateway_expiration").value = "";
551
  document.getElementById("ccgateway_expiration_yr").value = "";
552
+ document.getElementById("testError").style.display = "none";
553
  return false;
554
  }
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>CardconnectCcgateway</name>
4
- <version>1.0.8.6</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
7
  <channel>community</channel>
@@ -10,9 +10,9 @@
10
  <description>The CardConnect solution is a powerful extension used for payment processing in eCommerce. We provide the option to process a payment through the Hosted Payment Page or Direct Post, in a safe and secure way. We also provide the ability of a wallet function which allows merchants to add/edit/delete card holder data for future payments. All Customer information is stored in a secured way; and allows Customers to make a secure payment as well. Please see the Integration Guide here for steps to install: http://cdn.cardconnect.com/docs/collateral/Magento-Integration_Guide_v1.2.pdf</description>
11
  <notes>Extension provides the ability for merchants to process through the CardConnect Gateway.</notes>
12
  <authors><author><name>AgileNova</name><user>Team</user><email>matt.wixson@agilenova.com</email></author></authors>
13
- <date>2016-04-15</date>
14
- <time>18:42:16</time>
15
- <contents><target name="magecommunity"><dir name="Cardconnect"><dir name="Ccgateway"><dir name="Adminhtml"><dir name="Model"><dir name="System"><dir name="Config"><dir name="Source"><file name="Cardtype.php" hash="4c6fd9bc202c33e88f515349e1cd6905"/><file name="Checkouttype.php" hash="5468ed4e35f5aabf77ea65308b40d3a7"/><file name="Transaction.php" hash="6ba9e99fda4b19de82278800eb964bfb"/></dir></dir></dir></dir></dir><dir name="Block"><file name="Addcard.php" hash="def801e9a6c9351ffd488253c137c855"/><dir name="Adminhtml"><dir name="Customer"><file name="Data.php" hash="e401db541686c46a1f1f2db29aad7baf"/><dir name="Edit"><dir name="Tab"><file name="Account.php" hash="5ac21e8e4749605d36c5a47db115acca"/></dir></dir></dir><dir name="Sales"><dir name="Order"><dir name="Creditmemo"><dir name="Create"><file name="Form.php" hash="b856fbbd63401723571efaa76553a0aa"/><file name="Items.php" hash="696a59786bcf5f164f3bce6403cfc2ff"/></dir><dir name="View"><file name="Form.php" hash="2e3b0b6fbbfa159c27961b68b8420079"/></dir></dir><dir name="Invoice"><dir name="Create"><file name="Form.php" hash="0f7c57fa076ecd33e726337501d1d95b"/><file name="Items.php" hash="9b012dfb5fdbda0c20d4e163bd9ab662"/></dir><dir name="View"><file name="Form.php" hash="f25ee3483e04963f13c5e7fb82261408"/></dir></dir><dir name="Shipment"><dir name="Create"><file name="Form.php" hash="98ab8095084b6b21cdcd5cac5774987e"/></dir><dir name="View"><file name="Form.php" hash="e60bf6d244ea31ef68467c40d35bde98"/></dir></dir><dir name="View"><dir name="Tab"><file name="Info.php" hash="6e8ad75538f75f13fd483f2774d37621"/></dir></dir></dir></dir></dir><file name="Cardmanagement.php" hash="3d6ab227b63a89c5c3a7e5ebe5eddfad"/><file name="Form.php" hash="dc8294b3d1991476de13c9b20570605d"/><file name="Info.php" hash="5a30ffdd21b8fbb470fb0e9c07e9e82c"/><dir name="Onepage"><file name="Billing.php" hash="feca88ad00382cdb623921e004ada0f4"/></dir><file name="Redirect.php" hash="cfe86bec2d699ad474ee83f7bff118bb"/></dir><dir name="Helper"><file name="Data.php" hash="6ec07fb5ccc6ab30a0948da8941cb5bd"/></dir><dir name="Model"><dir name="Cardconnect"><file name="Resp.php" hash="b84483f77f4f5878be4ef5124e1cc9b4"/><file name="Wallet.php" hash="48fae16104d290466ce68bdb0091b4cd"/></dir><file name="Observer.php" hash="b2240c6e82a175b2370d185ca2bdca04"/><dir name="Resource"><dir name="Cardconnect"><dir name="Resp"><file name="Collection.php" hash="f91a8a542c331d96e9e0601a526bd1a2"/></dir><file name="Resp.php" hash="1689bf45552bf47bba76c595ce38618a"/><dir name="Wallet"><file name="Collection.php" hash="0e6c64693766cfb5e2ec56d01082eebd"/></dir><file name="Wallet.php" hash="0ffd67bd73177bb2ad32041cd32e4284"/></dir></dir><file name="Standard.php" hash="808cc6ef0b49e4d21db2eab668f184ed"/><file name="cardconnect_webservice.php" hash="01510f7dfd4bfcd740f93de58beae3bc"/></dir><dir name="blocks"><file name="billing.phtml" hash="24674ead62565508e2739cfda86669a8"/><dir name="creditmemo"><dir name="create"><file name="form.phtml" hash="1af2e3310737f3502ba26f4d3180e565"/></dir><dir name="view"><file name="form.phtml" hash="8754184850760738a00161b25d11d2c3"/></dir></dir><file name="info.phtml" hash="5d23267579d85f77d2038065619b998c"/><dir name="invoice"><dir name="create"><file name="form.phtml" hash="a7c52f4b0430a0a8be4fab9fd8e1462b"/><file name="items.phtml" hash="bc38033a2748716ee22eb200c8f29d4f"/></dir><dir name="view"><file name="form.phtml" hash="8bdf72eda5cc2b1170aa9b5f54728da0"/></dir></dir><dir name="shipment"><dir name="create"><file name="form.phtml" hash="ef541adc6774ec54cd0fd4f58d1c4cb6"/></dir><dir name="view"><file name="form.phtml" hash="1da4fa8006abee3517f1e18d3bf7e06c"/></dir></dir></dir><dir name="cc_keys"><file name="cacert.pem" hash="060fd410fecfc10d9c229b941868090c"/><file name=".htaccess" hash="d6a6f4184696bd7c56ae76973ec3489a"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Sales"><dir name="Order"><file name="CreateController.php" hash="72e5ee75209c594f7c7d110ac3a7c308"/></dir><file name="OrderController.php" hash="d3a947e28c7dfaab5cbc5425fe5bc573"/></dir></dir><file name="CardmanagementController.php" hash="6ad38775df8386903f2a99f910dca636"/><file name="LogController.php" hash="d4a9e66b778a0b1c77a5f7dc7f3e7eb6"/><file name="PaymentController.php" hash="50c1e0cee2f041c25810d8fba76c652e"/></dir><dir name="etc"><file name="config.xml" hash="cd3badd41e952737b76090b8d13743c9"/><file name="system.xml" hash="b931b80be0fac76b5adeb481e8bd6e3d"/></dir><dir name="sql"><dir name="cardconnect_ccgateway_setup"><file name="install-1.0.0.php" hash="9f9371eec7e62f9e62bc6c262096cf25"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Cardconnect_Ccgateway.xml" hash="eac8d5ee15ec6943fefc4dbbdef74671"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><dir name="cardconnect"><file name="cardconnect.gif" hash="b0ccf9c7446efd2bb6b65eadd98a3fde"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><file name="cardconnect.css" hash="b58f299352d1bc2bebc47e3ed1ab3490"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="ccgateway.xml" hash="b84ef177b3e51da8203805b5ce094f19"/></dir><dir name="template"><dir name="ccgateway"><file name="form.phtml" hash="92127fa77e412953913615619c7fdf60"/><file name="info.phtml" hash="9f608febdf1c537eb3f4c9933429c651"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="ccgateway.xml" hash="55846fe0c9e2e2ec1ef96f196ae60843"/></dir><dir name="template"><dir name="ccgateway"><file name="blank.phtml" hash="d858f54e640d5b29bde38ed37ac3f8e8"/><dir name="cardmanagement"><file name="editcard.phtml" hash="cd2bf20840d9add16c5fd0abfc4eada0"/><file name="index.phtml" hash="4917c72bd5cf1563957f2ad0c78ac84e"/><file name="new.phtml" hash="233c24057c924335c44b36db0b3d4ddf"/></dir><file name="form.phtml" hash="523c4ab9cac38cd7f12f758e7f98dd77"/><file name="info.phtml" hash="de3d6b891ac68056b85db65c47a8f97f"/><file name="redirect.phtml" hash="4b3964b41e6e55bf54039f758e74560e"/></dir></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="cardconnect"><file name="ccgateway.js" hash="8cdc10f11ac358a464e78277a8c191a7"/></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>CardconnectCcgateway</name>
4
+ <version>1.0.9</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
7
  <channel>community</channel>
10
  <description>The CardConnect solution is a powerful extension used for payment processing in eCommerce. We provide the option to process a payment through the Hosted Payment Page or Direct Post, in a safe and secure way. We also provide the ability of a wallet function which allows merchants to add/edit/delete card holder data for future payments. All Customer information is stored in a secured way; and allows Customers to make a secure payment as well. Please see the Integration Guide here for steps to install: http://cdn.cardconnect.com/docs/collateral/Magento-Integration_Guide_v1.2.pdf</description>
11
  <notes>Extension provides the ability for merchants to process through the CardConnect Gateway.</notes>
12
  <authors><author><name>AgileNova</name><user>Team</user><email>matt.wixson@agilenova.com</email></author></authors>
13
+ <date>2016-07-26</date>
14
+ <time>10:27:28</time>
15
+ <contents><target name="magecommunity"><dir name="Cardconnect"><dir name="Ccgateway"><dir name="Adminhtml"><dir name="Model"><dir name="System"><dir name="Config"><dir name="Source"><file name="Cardtype.php" hash="4c6fd9bc202c33e88f515349e1cd6905"/><file name="Checkouttype.php" hash="5468ed4e35f5aabf77ea65308b40d3a7"/><file name="Transaction.php" hash="6ba9e99fda4b19de82278800eb964bfb"/></dir></dir></dir></dir></dir><dir name="Block"><file name="Addcard.php" hash="def801e9a6c9351ffd488253c137c855"/><dir name="Adminhtml"><dir name="Customer"><file name="Data.php" hash="e401db541686c46a1f1f2db29aad7baf"/><dir name="Edit"><dir name="Tab"><file name="Account.php" hash="5ac21e8e4749605d36c5a47db115acca"/></dir></dir></dir><dir name="Sales"><dir name="Order"><dir name="Creditmemo"><dir name="Create"><file name="Form.php" hash="b856fbbd63401723571efaa76553a0aa"/><file name="Items.php" hash="696a59786bcf5f164f3bce6403cfc2ff"/></dir><dir name="View"><file name="Form.php" hash="2e3b0b6fbbfa159c27961b68b8420079"/></dir></dir><dir name="Invoice"><dir name="Create"><file name="Form.php" hash="0f7c57fa076ecd33e726337501d1d95b"/><file name="Items.php" hash="9b012dfb5fdbda0c20d4e163bd9ab662"/></dir><dir name="View"><file name="Form.php" hash="f25ee3483e04963f13c5e7fb82261408"/></dir></dir><dir name="Shipment"><dir name="Create"><file name="Form.php" hash="98ab8095084b6b21cdcd5cac5774987e"/></dir><dir name="View"><file name="Form.php" hash="e60bf6d244ea31ef68467c40d35bde98"/></dir></dir><dir name="View"><dir name="Tab"><file name="Info.php" hash="6e8ad75538f75f13fd483f2774d37621"/></dir></dir></dir></dir></dir><file name="Cardmanagement.php" hash="3d6ab227b63a89c5c3a7e5ebe5eddfad"/><file name="Form.php" hash="dc8294b3d1991476de13c9b20570605d"/><file name="Info.php" hash="5a30ffdd21b8fbb470fb0e9c07e9e82c"/><dir name="Onepage"><file name="Billing.php" hash="feca88ad00382cdb623921e004ada0f4"/></dir><file name="Redirect.php" hash="cfe86bec2d699ad474ee83f7bff118bb"/></dir><dir name="Helper"><file name="Data.php" hash="c6087e279162fbc29253e25eb915f045"/></dir><dir name="Model"><dir name="Cardconnect"><file name="Resp.php" hash="b84483f77f4f5878be4ef5124e1cc9b4"/><file name="Wallet.php" hash="48fae16104d290466ce68bdb0091b4cd"/></dir><file name="Observer.php" hash="b2240c6e82a175b2370d185ca2bdca04"/><dir name="Resource"><dir name="Cardconnect"><dir name="Resp"><file name="Collection.php" hash="f91a8a542c331d96e9e0601a526bd1a2"/></dir><file name="Resp.php" hash="1689bf45552bf47bba76c595ce38618a"/><dir name="Wallet"><file name="Collection.php" hash="0e6c64693766cfb5e2ec56d01082eebd"/></dir><file name="Wallet.php" hash="0ffd67bd73177bb2ad32041cd32e4284"/></dir></dir><file name="Standard.php" hash="214c720463d243f5c5d71d56369546aa"/><file name="cardconnect_webservice.php" hash="42a3f8152e07afc202744a2aa453fea5"/></dir><dir name="blocks"><file name="billing.phtml" hash="24674ead62565508e2739cfda86669a8"/><dir name="creditmemo"><dir name="create"><file name="form.phtml" hash="1af2e3310737f3502ba26f4d3180e565"/></dir><dir name="view"><file name="form.phtml" hash="8754184850760738a00161b25d11d2c3"/></dir></dir><file name="info.phtml" hash="5d23267579d85f77d2038065619b998c"/><dir name="invoice"><dir name="create"><file name="form.phtml" hash="a7c52f4b0430a0a8be4fab9fd8e1462b"/><file name="items.phtml" hash="bc38033a2748716ee22eb200c8f29d4f"/></dir><dir name="view"><file name="form.phtml" hash="8bdf72eda5cc2b1170aa9b5f54728da0"/></dir></dir><dir name="shipment"><dir name="create"><file name="form.phtml" hash="ef541adc6774ec54cd0fd4f58d1c4cb6"/></dir><dir name="view"><file name="form.phtml" hash="1da4fa8006abee3517f1e18d3bf7e06c"/></dir></dir></dir><dir name="cc_keys"><file name="cacert.pem" hash="060fd410fecfc10d9c229b941868090c"/><file name=".htaccess" hash="d6a6f4184696bd7c56ae76973ec3489a"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Sales"><dir name="Order"><file name="CreateController.php" hash="72e5ee75209c594f7c7d110ac3a7c308"/></dir><file name="OrderController.php" hash="d3a947e28c7dfaab5cbc5425fe5bc573"/></dir></dir><file name="CardmanagementController.php" hash="6ad38775df8386903f2a99f910dca636"/><file name="LogController.php" hash="d4a9e66b778a0b1c77a5f7dc7f3e7eb6"/><file name="PaymentController.php" hash="f4daaf11244048432bc27d1cacd3a3b8"/></dir><dir name="etc"><file name="config.xml" hash="74fa6f3cbbdf93b21df4f1cf92294ef3"/><file name="system.xml" hash="b931b80be0fac76b5adeb481e8bd6e3d"/></dir><dir name="sql"><dir name="cardconnect_ccgateway_setup"><file name="install-1.0.0.php" hash="9f9371eec7e62f9e62bc6c262096cf25"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Cardconnect_Ccgateway.xml" hash="eac8d5ee15ec6943fefc4dbbdef74671"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><dir name="cardconnect"><file name="cardconnect.gif" hash="b0ccf9c7446efd2bb6b65eadd98a3fde"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><file name="cardconnect.css" hash="b58f299352d1bc2bebc47e3ed1ab3490"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="ccgateway.xml" hash="b84ef177b3e51da8203805b5ce094f19"/></dir><dir name="template"><dir name="ccgateway"><file name="form.phtml" hash="92127fa77e412953913615619c7fdf60"/><file name="info.phtml" hash="9f608febdf1c537eb3f4c9933429c651"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="ccgateway.xml" hash="55846fe0c9e2e2ec1ef96f196ae60843"/></dir><dir name="template"><dir name="ccgateway"><file name="blank.phtml" hash="d858f54e640d5b29bde38ed37ac3f8e8"/><dir name="cardmanagement"><file name="editcard.phtml" hash="cd2bf20840d9add16c5fd0abfc4eada0"/><file name="index.phtml" hash="4917c72bd5cf1563957f2ad0c78ac84e"/><file name="new.phtml" hash="233c24057c924335c44b36db0b3d4ddf"/></dir><file name="form.phtml" hash="65387a8db0d35f2319ed41c012067230"/><file name="info.phtml" hash="de3d6b891ac68056b85db65c47a8f97f"/><file name="redirect.phtml" hash="4b3964b41e6e55bf54039f758e74560e"/></dir></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="cardconnect"><file name="ccgateway.js" hash="53b93aee08380b6aceed68985c8e2f31"/></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
18
  </package>