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.8.4 |
Comparing to | |
See all releases |
Code changes from version 1.0.8.3 to 1.0.8.4
- app/code/community/Cardconnect/Ccgateway/Model/Observer.php +6 -2
- app/code/community/Cardconnect/Ccgateway/Model/Standard.php +61 -18
- app/code/community/Cardconnect/Ccgateway/Model/cardconnect_webservice.php +3 -0
- app/code/community/Cardconnect/Ccgateway/controllers/Adminhtml/Sales/Order/CreateController.php +13 -2
- app/code/community/Cardconnect/Ccgateway/controllers/PaymentController.php +18 -4
- app/code/community/Cardconnect/Ccgateway/etc/config.xml +349 -328
- app/code/community/Cardconnect/Ccgateway/sql/cardconnect_ccgateway_setup/install-1.0.0.php +3 -1
- js/cardconnect/ccgateway.js +70 -128
- package.xml +4 -4
app/code/community/Cardconnect/Ccgateway/Model/Observer.php
CHANGED
@@ -55,8 +55,12 @@ class Cardconnect_Ccgateway_Model_Observer
|
|
55 |
$checkout_trans = Mage::getModel('ccgateway/standard')->getConfigData('checkout_trans', $order->getStoreId());
|
56 |
if ($checkout_trans == "authorize_capture") {
|
57 |
if ($this->_getPaymentMethod($order) == 'ccgateway') {
|
58 |
-
|
59 |
-
|
|
|
|
|
|
|
|
|
60 |
}
|
61 |
}
|
62 |
|
55 |
$checkout_trans = Mage::getModel('ccgateway/standard')->getConfigData('checkout_trans', $order->getStoreId());
|
56 |
if ($checkout_trans == "authorize_capture") {
|
57 |
if ($this->_getPaymentMethod($order) == 'ccgateway') {
|
58 |
+
|
59 |
+
if($order->getState() == 'processing')
|
60 |
+
{
|
61 |
+
if ($order->canInvoice())
|
62 |
+
$this->_processOrderStatus($order);
|
63 |
+
}
|
64 |
}
|
65 |
}
|
66 |
|
app/code/community/Cardconnect/Ccgateway/Model/Standard.php
CHANGED
@@ -260,10 +260,11 @@ class Cardconnect_Ccgateway_Model_Standard extends Mage_Payment_Model_Method_Abs
|
|
260 |
}
|
261 |
|
262 |
/** For Authorization * */
|
263 |
-
public function authService($order, $authAmount = "", $status = "")
|
|
|
264 |
|
265 |
$orderId = $order->getIncrementId();
|
266 |
-
$merchid = $this->getConfigData('merchant'
|
267 |
|
268 |
if (empty($status)) {
|
269 |
$ccOwner = Mage::getSingleton('core/session')->getCcOwner();
|
@@ -282,9 +283,9 @@ class Cardconnect_Ccgateway_Model_Standard extends Mage_Payment_Model_Method_Abs
|
|
282 |
foreach ($collection as $data) {
|
283 |
$ccOwner = $data->getData("cc_owner");
|
284 |
$ccType = $data->getData("cc_type");
|
285 |
-
|
286 |
$ccExpiry = $data->getData("cc_exp_month") . substr($data->getData("cc_exp_year"), 2);
|
287 |
-
|
288 |
}
|
289 |
$price = $authAmount;
|
290 |
}
|
@@ -365,22 +366,30 @@ class Cardconnect_Ccgateway_Model_Standard extends Mage_Payment_Model_Method_Abs
|
|
365 |
|
366 |
// Save Partial Authorization Response data
|
367 |
$this->saveResponseData($response);
|
368 |
-
if($response['respcode']==00){
|
369 |
// Set custom order status
|
370 |
$order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, 'cardconnect_processing', $response['resptext'])->save();
|
371 |
-
}else{
|
372 |
-
$order->setState(Mage_Sales_Model_Order::
|
373 |
-
$response= array('resptext' => "CardConnect_Error");
|
374 |
}
|
375 |
}
|
376 |
} else {
|
377 |
-
$myLogMessage = "CC Authorization : ". __FILE__ . " @ " . __LINE__ ." "
|
378 |
-
Mage::log($myLogMessage, Zend_Log::ERR
|
|
|
379 |
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
384 |
}
|
385 |
|
386 |
|
@@ -447,11 +456,22 @@ class Cardconnect_Ccgateway_Model_Standard extends Mage_Payment_Model_Method_Abs
|
|
447 |
$myLogMessage = "CC Capture : ". __FILE__ . " @ " . __LINE__ ." ".$cc->getLastErrorMessage();
|
448 |
Mage::log($myLogMessage, Zend_Log::ERR , "cc.log" );
|
449 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
450 |
// Set custom order status
|
451 |
$order->setState(Mage_Sales_Model_Order::STATE_CANCELED, 'cardconnect_reject', "Invalid response from CardConnect.")->save();
|
452 |
$errorMsg = "Unable to perform operation. Please consult the Magento log for additional information.";
|
453 |
Mage::throwException($errorMsg);
|
454 |
-
|
455 |
}
|
456 |
}
|
457 |
|
@@ -509,17 +529,29 @@ class Cardconnect_Ccgateway_Model_Standard extends Mage_Payment_Model_Method_Abs
|
|
509 |
|
510 |
if (empty($action)) {
|
511 |
// Set custom order status
|
512 |
-
$order->setState(
|
513 |
}
|
514 |
} else {
|
515 |
$myLogMessage = "CC Void : ". __FILE__ . " @ " . __LINE__ ." ".$cc->getLastErrorMessage();
|
516 |
Mage::log($myLogMessage, Zend_Log::ERR , "cc.log" );
|
517 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
518 |
// Set custom order status
|
519 |
-
$order->setState(
|
520 |
|
521 |
$errorMsg = "Unable to perform operation. Please consult the Magento log for additional information.";
|
522 |
Mage::throwException($errorMsg);
|
|
|
523 |
|
524 |
}
|
525 |
|
@@ -548,7 +580,7 @@ class Cardconnect_Ccgateway_Model_Standard extends Mage_Payment_Model_Method_Abs
|
|
548 |
return $c_status;
|
549 |
}
|
550 |
|
551 |
-
// Check payment settlement
|
552 |
|
553 |
public function processBeforeRefund($invoice, $payment) {
|
554 |
$order = $payment->getOrder();
|
@@ -616,10 +648,21 @@ class Cardconnect_Ccgateway_Model_Standard extends Mage_Payment_Model_Method_Abs
|
|
616 |
$myLogMessage = "CC Refund : ". __FILE__ . " @ " . __LINE__ ." ".$cc->getLastErrorMessage();
|
617 |
Mage::log($myLogMessage, Zend_Log::ERR , "cc.log" );
|
618 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
619 |
// Set custom order status
|
620 |
-
$order->setState(
|
621 |
$errorMsg = "Unable to perform operation. Please consult the Magento log for additional information.";
|
622 |
Mage::throwException($errorMsg);
|
|
|
623 |
|
624 |
}
|
625 |
|
260 |
}
|
261 |
|
262 |
/** For Authorization * */
|
263 |
+
public function authService($order, $authAmount = "", $status = "")
|
264 |
+
{
|
265 |
|
266 |
$orderId = $order->getIncrementId();
|
267 |
+
$merchid = $this->getConfigData('merchant', $order->getStoreId());
|
268 |
|
269 |
if (empty($status)) {
|
270 |
$ccOwner = Mage::getSingleton('core/session')->getCcOwner();
|
283 |
foreach ($collection as $data) {
|
284 |
$ccOwner = $data->getData("cc_owner");
|
285 |
$ccType = $data->getData("cc_type");
|
286 |
+
$ccNumber = Mage::helper('core')->decrypt($data->getData("cc_number_enc"));
|
287 |
$ccExpiry = $data->getData("cc_exp_month") . substr($data->getData("cc_exp_year"), 2);
|
288 |
+
$ccCvv2 = Mage::helper('core')->decrypt($data->getData("cc_cid_enc"));
|
289 |
}
|
290 |
$price = $authAmount;
|
291 |
}
|
366 |
|
367 |
// Save Partial Authorization Response data
|
368 |
$this->saveResponseData($response);
|
369 |
+
if ($response['respcode'] == "00") {
|
370 |
// Set custom order status
|
371 |
$order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, 'cardconnect_processing', $response['resptext'])->save();
|
372 |
+
} else {
|
373 |
+
$order->setState(Mage_Sales_Model_Order::STATE_CANCELED, 'cardconnect_reject', $response['resptext'])->save();
|
374 |
+
$response = array('resptext' => "CardConnect_Error");
|
375 |
}
|
376 |
}
|
377 |
} else {
|
378 |
+
$myLogMessage = "CC Authorization : " . __FILE__ . " @ " . __LINE__ . " " . $cc->getLastErrorMessage();
|
379 |
+
Mage::log($myLogMessage, Zend_Log::ERR, "cc.log");
|
380 |
+
$timeout = strpos($myLogMessage, "errno=28");
|
381 |
|
382 |
+
if ($timeout !== false) {
|
383 |
+
Mage::log("TIMEOUT ERROR " . $myLogMessage, Zend_Log::ERR, "cc.log");
|
384 |
+
Mage::helper('ccgateway')->cancelCcOrder($order);
|
385 |
|
386 |
+
$order->setState(Mage_Sales_Model_Order::STATE_CANCELED, 'cardconnect_timeout', "Timeout error response from CardConnect.")->save();
|
387 |
+
$response = array('resptext' => "CardConnect_Timeout_Error");
|
388 |
+
} else {
|
389 |
+
// Set custom order status
|
390 |
+
$order->setState(Mage_Sales_Model_Order::STATE_CANCELED, 'cardconnect_reject', "Invalid response from CardConnect.")->save();
|
391 |
+
$response = array('resptext' => "CardConnect_Error");
|
392 |
+
}
|
393 |
}
|
394 |
|
395 |
|
456 |
$myLogMessage = "CC Capture : ". __FILE__ . " @ " . __LINE__ ." ".$cc->getLastErrorMessage();
|
457 |
Mage::log($myLogMessage, Zend_Log::ERR , "cc.log" );
|
458 |
|
459 |
+
$timeout = strpos($myLogMessage, "errno=28");
|
460 |
+
|
461 |
+
if($timeout !== false){
|
462 |
+
Mage::log( "TIMEOUT ERROR " . $myLogMessage, Zend_Log::ERR , "cc.log" );
|
463 |
+
|
464 |
+
$order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, 'cardconnect_timeout', "Timeout error response from CardConnect.")->save();
|
465 |
+
|
466 |
+
$errorMsg = "Unable to perform operation at this time. Please consult the Magento log for additional information.";
|
467 |
+
Mage::throwException($errorMsg);
|
468 |
+
} else {
|
469 |
+
|
470 |
// Set custom order status
|
471 |
$order->setState(Mage_Sales_Model_Order::STATE_CANCELED, 'cardconnect_reject', "Invalid response from CardConnect.")->save();
|
472 |
$errorMsg = "Unable to perform operation. Please consult the Magento log for additional information.";
|
473 |
Mage::throwException($errorMsg);
|
474 |
+
}
|
475 |
}
|
476 |
}
|
477 |
|
529 |
|
530 |
if (empty($action)) {
|
531 |
// Set custom order status
|
532 |
+
$order->setState($order->getState(), 'cardconnect_void', $response['resptext'])->save();
|
533 |
}
|
534 |
} else {
|
535 |
$myLogMessage = "CC Void : ". __FILE__ . " @ " . __LINE__ ." ".$cc->getLastErrorMessage();
|
536 |
Mage::log($myLogMessage, Zend_Log::ERR , "cc.log" );
|
537 |
|
538 |
+
$timeout = strpos($myLogMessage, "errno=28");
|
539 |
+
|
540 |
+
if($timeout !== false){
|
541 |
+
Mage::log( "TIMEOUT ERROR " . $myLogMessage, Zend_Log::ERR , "cc.log" );
|
542 |
+
|
543 |
+
$order->setState($order->getState(), 'cardconnect_timeout', "Timeout error response from CardConnect.")->save();
|
544 |
+
|
545 |
+
$errorMsg = "Unable to perform operation at this time. Please consult the Magento log for additional information.";
|
546 |
+
Mage::throwException($errorMsg);
|
547 |
+
} else {
|
548 |
+
|
549 |
// Set custom order status
|
550 |
+
$order->setState($order->getState(), 'cardconnect_reject', "Invalid response from CardConnect.")->save();
|
551 |
|
552 |
$errorMsg = "Unable to perform operation. Please consult the Magento log for additional information.";
|
553 |
Mage::throwException($errorMsg);
|
554 |
+
}
|
555 |
|
556 |
}
|
557 |
|
580 |
return $c_status;
|
581 |
}
|
582 |
|
583 |
+
// Check payment settlement status before refund
|
584 |
|
585 |
public function processBeforeRefund($invoice, $payment) {
|
586 |
$order = $payment->getOrder();
|
648 |
$myLogMessage = "CC Refund : ". __FILE__ . " @ " . __LINE__ ." ".$cc->getLastErrorMessage();
|
649 |
Mage::log($myLogMessage, Zend_Log::ERR , "cc.log" );
|
650 |
|
651 |
+
$timeout = strpos($myLogMessage, "errno=28");
|
652 |
+
|
653 |
+
if($timeout !== false){
|
654 |
+
Mage::log( "TIMEOUT ERROR " . $myLogMessage, Zend_Log::ERR , "cc.log" );
|
655 |
+
|
656 |
+
$order->setState($order->getState(), 'cardconnect_timeout', "Timeout error response from CardConnect.")->save();
|
657 |
+
|
658 |
+
$errorMsg = "Unable to perform operation at this time. Please consult the Magento log for additional information.";
|
659 |
+
Mage::throwException($errorMsg);
|
660 |
+
} else {
|
661 |
// Set custom order status
|
662 |
+
$order->setState($order->getState(), 'cardconnect_reject', "Invalid response from CardConnect.")->save();
|
663 |
$errorMsg = "Unable to perform operation. Please consult the Magento log for additional information.";
|
664 |
Mage::throwException($errorMsg);
|
665 |
+
}
|
666 |
|
667 |
}
|
668 |
|
app/code/community/Cardconnect/Ccgateway/Model/cardconnect_webservice.php
CHANGED
@@ -129,6 +129,9 @@ class CardConnectWebService
|
|
129 |
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
|
130 |
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
|
131 |
curl_setopt($curl, CURLOPT_COOKIESESSION, 1);
|
|
|
|
|
|
|
132 |
curl_setopt($curl, CURLOPT_POSTFIELDS, $postString);
|
133 |
|
134 |
$result = curl_exec($curl);
|
129 |
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
|
130 |
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
|
131 |
curl_setopt($curl, CURLOPT_COOKIESESSION, 1);
|
132 |
+
curl_setopt($curl, CURLOPT_NOSIGNAL, 1);
|
133 |
+
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT,30);
|
134 |
+
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
|
135 |
curl_setopt($curl, CURLOPT_POSTFIELDS, $postString);
|
136 |
|
137 |
$result = curl_exec($curl);
|
app/code/community/Cardconnect/Ccgateway/controllers/Adminhtml/Sales/Order/CreateController.php
CHANGED
@@ -128,14 +128,25 @@ class Cardconnect_Ccgateway_Adminhtml_Sales_Order_CreateController extends Mage_
|
|
128 |
$response = Mage::getModel('ccgateway/standard')->authService($order, $amount, "authFull");
|
129 |
$errorStat = $response['respproc'] . $response['respcode'];
|
130 |
|
131 |
-
if($response['resptext']=="CardConnect_Error"){
|
132 |
// Cancel the order if authorization service fails
|
133 |
Mage::helper('ccgateway')->cancelCcOrder($order);
|
134 |
$errorMsg = Mage::helper('ccgateway')->matchResponseError($errorStat);
|
135 |
// Set custom order status
|
136 |
$order->setState(Mage_Sales_Model_Order::STATE_CANCELED, 'cardconnect_reject', $errorMsg)->save();
|
137 |
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('ccgateway')->__('We are unable to perform the requested action, please contact customer service.'));
|
138 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
139 |
$order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, 'cardconnect_processing', 'Gateway has authorized the payment.');
|
140 |
$autoVoidStatus = Mage::helper('ccgateway')->checkAutoVoidStatus($order, $response['avsresp'], $response['cvvresp']);
|
141 |
if (($autoVoidStatus["STATUS_AVS"] && $autoVoidStatus["STATUS_CVV"]) == false) {
|
128 |
$response = Mage::getModel('ccgateway/standard')->authService($order, $amount, "authFull");
|
129 |
$errorStat = $response['respproc'] . $response['respcode'];
|
130 |
|
131 |
+
if ($response['resptext'] == "CardConnect_Error") {
|
132 |
// Cancel the order if authorization service fails
|
133 |
Mage::helper('ccgateway')->cancelCcOrder($order);
|
134 |
$errorMsg = Mage::helper('ccgateway')->matchResponseError($errorStat);
|
135 |
// Set custom order status
|
136 |
$order->setState(Mage_Sales_Model_Order::STATE_CANCELED, 'cardconnect_reject', $errorMsg)->save();
|
137 |
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('ccgateway')->__('We are unable to perform the requested action, please contact customer service.'));
|
138 |
+
|
139 |
+
} else if ($response['resptext'] == "CardConnect_Timeout_Error") {
|
140 |
+
// Cancel the order if authorization service fails
|
141 |
+
Mage::helper('ccgateway')->cancelCcOrder($order);
|
142 |
+
$errorStat = "PPS62"; //PPS62 is for Timed Out error
|
143 |
+
$errorMsg = Mage::helper('ccgateway')->matchResponseError($errorStat);
|
144 |
+
|
145 |
+
// Set custom order status
|
146 |
+
$order->setState(Mage_Sales_Model_Order::STATE_CANCELED, 'cardconnect_timeout', $errorMsg)->save();
|
147 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('ccgateway')->__('We are unable to perform the requested action at this time, please contact customer service.'));
|
148 |
+
|
149 |
+
} else {
|
150 |
$order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, 'cardconnect_processing', 'Gateway has authorized the payment.');
|
151 |
$autoVoidStatus = Mage::helper('ccgateway')->checkAutoVoidStatus($order, $response['avsresp'], $response['cvvresp']);
|
152 |
if (($autoVoidStatus["STATUS_AVS"] && $autoVoidStatus["STATUS_CVV"]) == false) {
|
app/code/community/Cardconnect/Ccgateway/controllers/PaymentController.php
CHANGED
@@ -71,12 +71,20 @@ class Cardconnect_Ccgateway_PaymentController extends Mage_Core_Controller_Front
|
|
71 |
if ($checkoutType == "tokenized_post") {
|
72 |
$response = Mage::getModel('ccgateway/standard')->authService($order);
|
73 |
|
74 |
-
if($response['resptext']=="CardConnect_Error"){
|
75 |
$errorMsg = "We are unable to perform the requested action, please contact customer service.";
|
76 |
$session = $this->_getCheckout();
|
77 |
$session->addError(Mage::helper('ccgateway')->__($errorMsg));
|
78 |
$this->_redirect('checkout/cart');
|
79 |
-
}else{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
$this->responseAction($response);
|
81 |
}
|
82 |
|
@@ -101,7 +109,6 @@ class Cardconnect_Ccgateway_PaymentController extends Mage_Core_Controller_Front
|
|
101 |
$cc_action = Mage::getModel('ccgateway/standard')->getConfigData('checkout_trans' , $order->getStoreId());
|
102 |
$merchid = Mage::getModel('ccgateway/standard')->getConfigData('merchant' , $order->getStoreId());
|
103 |
|
104 |
-
//$ccToken = "";
|
105 |
if (!empty($response['token'])){
|
106 |
$ccToken = $response['token'];
|
107 |
} else {
|
@@ -285,6 +292,9 @@ class Cardconnect_Ccgateway_PaymentController extends Mage_Core_Controller_Front
|
|
285 |
$session->addError(Mage::helper('ccgateway')->__('Error - Please check billing information , try again.'));
|
286 |
$errorMsg = "AVS does not match.";
|
287 |
Mage::log("Auto voided the transaction Due to AVS NO MATCH");
|
|
|
|
|
|
|
288 |
} else {
|
289 |
$errorMsg = Mage::helper('ccgateway')->matchResponseError($errorStat);
|
290 |
Mage:: log($errorStat . " :- " . $errorMsg);
|
@@ -292,7 +302,11 @@ class Cardconnect_Ccgateway_PaymentController extends Mage_Core_Controller_Front
|
|
292 |
}
|
293 |
|
294 |
// Set custom order status
|
295 |
-
$
|
|
|
|
|
|
|
|
|
296 |
|
297 |
$this->_redirect('checkout/cart');
|
298 |
}
|
71 |
if ($checkoutType == "tokenized_post") {
|
72 |
$response = Mage::getModel('ccgateway/standard')->authService($order);
|
73 |
|
74 |
+
if ($response['resptext'] == "CardConnect_Error") {
|
75 |
$errorMsg = "We are unable to perform the requested action, please contact customer service.";
|
76 |
$session = $this->_getCheckout();
|
77 |
$session->addError(Mage::helper('ccgateway')->__($errorMsg));
|
78 |
$this->_redirect('checkout/cart');
|
79 |
+
} else if ($response['resptext'] == "CardConnect_Timeout_Error") {
|
80 |
+
$errorMsg = "We were unable to complete the requested operation at this time. Please try again later or contact customer service.";
|
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 {
|
88 |
$this->responseAction($response);
|
89 |
}
|
90 |
|
109 |
$cc_action = Mage::getModel('ccgateway/standard')->getConfigData('checkout_trans' , $order->getStoreId());
|
110 |
$merchid = Mage::getModel('ccgateway/standard')->getConfigData('merchant' , $order->getStoreId());
|
111 |
|
|
|
112 |
if (!empty($response['token'])){
|
113 |
$ccToken = $response['token'];
|
114 |
} else {
|
292 |
$session->addError(Mage::helper('ccgateway')->__('Error - Please check billing information , try again.'));
|
293 |
$errorMsg = "AVS does not match.";
|
294 |
Mage::log("Auto voided the transaction Due to AVS NO MATCH");
|
295 |
+
} elseif ($errorStat == "PPS62") {
|
296 |
+
$errorMsg = "Timeout error response from CardConnect.";
|
297 |
+
Mage::log("Error - Order process is timed out , try again.");
|
298 |
} else {
|
299 |
$errorMsg = Mage::helper('ccgateway')->matchResponseError($errorStat);
|
300 |
Mage:: log($errorStat . " :- " . $errorMsg);
|
302 |
}
|
303 |
|
304 |
// Set custom order status
|
305 |
+
if ($errorStat == "PPS62") {
|
306 |
+
$order->setState(Mage_Sales_Model_Order::STATE_CANCELED, 'cardconnect_timeout', $errorMsg)->save();
|
307 |
+
} else {
|
308 |
+
$order->setState(Mage_Sales_Model_Order::STATE_CANCELED, 'cardconnect_reject', $errorMsg)->save();
|
309 |
+
}
|
310 |
|
311 |
$this->_redirect('checkout/cart');
|
312 |
}
|
app/code/community/Cardconnect/Ccgateway/etc/config.xml
CHANGED
@@ -1,328 +1,349 @@
|
|
1 |
-
<?xml version="1.0"?>
|
2 |
-
<!--
|
3 |
-
/**
|
4 |
-
* @brief Defines the xml representing extension version, model and rewrite
|
5 |
-
* @category Magento CardConnect Payment Module
|
6 |
-
* @author CardConnect
|
7 |
-
* @copyright Portions copyright 2014 CardConnect
|
8 |
-
* @copyright Portions copyright Magento 2014
|
9 |
-
* @license GPL v2, please see LICENSE.txt
|
10 |
-
* @access public
|
11 |
-
* @version $Id: $
|
12 |
-
*
|
13 |
-
**/
|
14 |
-
|
15 |
-
/**
|
16 |
-
Magento
|
17 |
-
*
|
18 |
-
NOTICE OF LICENSE
|
19 |
-
*
|
20 |
-
This source file is subject to the Open Software License (OSL 3.0)
|
21 |
-
that is bundled with this package in the file LICENSE.txt.
|
22 |
-
It is also available through the world-wide-web at this URL:
|
23 |
-
http://opensource.org/licenses/osl-3.0.php
|
24 |
-
If you did not receive a copy of the license and are unable to
|
25 |
-
obtain it through the world-wide-web, please send an email
|
26 |
-
to license@magentocommerce.com so we can send you a copy immediately.
|
27 |
-
*
|
28 |
-
@category Cardconnect
|
29 |
-
@package Cardconnect_Ccgateway
|
30 |
-
@copyright Copyright (c) 2014 CardConnect (http://www.cardconnect.com)
|
31 |
-
@license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
32 |
-
*/
|
33 |
-
-->
|
34 |
-
|
35 |
-
<config>
|
36 |
-
<modules>
|
37 |
-
<Cardconnect_Ccgateway>
|
38 |
-
<version>1.0.8.
|
39 |
-
</Cardconnect_Ccgateway>
|
40 |
-
</modules>
|
41 |
-
<global>
|
42 |
-
<models>
|
43 |
-
<ccgateway>
|
44 |
-
<class>Cardconnect_Ccgateway_Model</class>
|
45 |
-
</ccgateway>
|
46 |
-
</models>
|
47 |
-
<helpers>
|
48 |
-
<ccgateway>
|
49 |
-
<class>Cardconnect_Ccgateway_Helper</class>
|
50 |
-
</ccgateway>
|
51 |
-
</helpers>
|
52 |
-
<blocks>
|
53 |
-
<ccgateway>
|
54 |
-
<class>Cardconnect_Ccgateway_Block</class>
|
55 |
-
</ccgateway>
|
56 |
-
</blocks>
|
57 |
-
|
58 |
-
<blocks>
|
59 |
-
<adminhtml>
|
60 |
-
<rewrite>
|
61 |
-
<sales_order_view_tab_info>Cardconnect_Ccgateway_Block_Adminhtml_Sales_Order_View_Tab_Info</sales_order_view_tab_info>
|
62 |
-
<sales_order_invoice_create_form>Cardconnect_Ccgateway_Block_Adminhtml_Sales_Order_Invoice_Create_Form</sales_order_invoice_create_form>
|
63 |
-
<sales_order_invoice_create_items>Cardconnect_Ccgateway_Block_Adminhtml_Sales_Order_Invoice_Create_Items</sales_order_invoice_create_items>
|
64 |
-
<sales_order_shipment_create_form>Cardconnect_Ccgateway_Block_Adminhtml_Sales_Order_Shipment_Create_Form</sales_order_shipment_create_form>
|
65 |
-
<sales_order_creditmemo_create_form>Cardconnect_Ccgateway_Block_Adminhtml_Sales_Order_Creditmemo_Create_Form</sales_order_creditmemo_create_form>
|
66 |
-
<sales_order_invoice_view_form>Cardconnect_Ccgateway_Block_Adminhtml_Sales_Order_Invoice_View_Form</sales_order_invoice_view_form>
|
67 |
-
<sales_order_shipment_view_form>Cardconnect_Ccgateway_Block_Adminhtml_Sales_Order_Shipment_View_Form</sales_order_shipment_view_form>
|
68 |
-
<sales_order_creditmemo_view_form>Cardconnect_Ccgateway_Block_Adminhtml_Sales_Order_Creditmemo_View_Form</sales_order_creditmemo_view_form>
|
69 |
-
<sales_order_creditmemo_create_items>Cardconnect_Ccgateway_Block_Adminhtml_Sales_Order_Creditmemo_Create_Items</sales_order_creditmemo_create_items>
|
70 |
-
<customer_edit_tab_account>Cardconnect_Ccgateway_Block_Adminhtml_Customer_Edit_Tab_Account</customer_edit_tab_account>
|
71 |
-
</rewrite>
|
72 |
-
</adminhtml>
|
73 |
-
</blocks>
|
74 |
-
|
75 |
-
|
76 |
-
<models>
|
77 |
-
<ccgateway_adminhtml>
|
78 |
-
<class>Cardconnect_Ccgateway_adminhtml_Model</class>
|
79 |
-
</ccgateway_adminhtml>
|
80 |
-
</models>
|
81 |
-
<models>
|
82 |
-
<cardconnect_ccgateway>
|
83 |
-
<class>Cardconnect_Ccgateway_Model</class>
|
84 |
-
<resourceModel>cardconnect_ccgateway_resource</resourceModel>
|
85 |
-
</cardconnect_ccgateway>
|
86 |
-
<cardconnect_ccgateway_resource>
|
87 |
-
<class>Cardconnect_Ccgateway_Model_Resource</class>
|
88 |
-
<entities>
|
89 |
-
<cardconnect_resp>
|
90 |
-
<table>cardconnect_resp</table>
|
91 |
-
</cardconnect_resp>
|
92 |
-
</entities>
|
93 |
-
<entities>
|
94 |
-
<cardconnect_wallet>
|
95 |
-
<table>cardconnect_wallet</table>
|
96 |
-
</cardconnect_wallet>
|
97 |
-
</entities>
|
98 |
-
</cardconnect_ccgateway_resource>
|
99 |
-
</models>
|
100 |
-
<resources>
|
101 |
-
<cardconnect_ccgateway_setup>
|
102 |
-
<setup>
|
103 |
-
<module>Cardconnect_Ccgateway</module>
|
104 |
-
<connection>
|
105 |
-
<use>core_setup</use>
|
106 |
-
</connection>
|
107 |
-
</setup>
|
108 |
-
</cardconnect_ccgateway_setup>
|
109 |
-
<cardconnect_ccgateway_write>
|
110 |
-
<connection>
|
111 |
-
<use>core_write</use>
|
112 |
-
</connection>
|
113 |
-
</cardconnect_ccgateway_write>
|
114 |
-
<cardconnect_ccgateway_read>
|
115 |
-
<connection>
|
116 |
-
<use>core_read</use>
|
117 |
-
</connection>
|
118 |
-
</cardconnect_ccgateway_read>
|
119 |
-
</resources>
|
120 |
-
<events>
|
121 |
-
<controller_action_postdispatch_checkout_onepage_savePayment>
|
122 |
-
<observers>
|
123 |
-
<ccgateway>
|
124 |
-
<type>model</type>
|
125 |
-
<class>ccgateway/observer</class>
|
126 |
-
<method>savePaymentAction</method>
|
127 |
-
</ccgateway>
|
128 |
-
</observers>
|
129 |
-
</controller_action_postdispatch_checkout_onepage_savePayment>
|
130 |
-
<sales_order_place_after>
|
131 |
-
<observers>
|
132 |
-
<ccgateway>
|
133 |
-
<type>singleton</type>
|
134 |
-
<class>ccgateway/observer</class>
|
135 |
-
<method>implementOrderStatus</method>
|
136 |
-
</ccgateway>
|
137 |
-
</observers>
|
138 |
-
</sales_order_place_after>
|
139 |
-
</events>
|
140 |
-
|
141 |
-
<sales>
|
142 |
-
<order>
|
143 |
-
<statuses>
|
144 |
-
<cardconnect_processing>
|
145 |
-
<label>CardConnect Processing</label>
|
146 |
-
<description>CardConnect Processing</description>
|
147 |
-
</cardconnect_processing>
|
148 |
-
</statuses>
|
149 |
-
<states>
|
150 |
-
<cardconnect_processing>
|
151 |
-
<statuses>
|
152 |
-
<cardconnect_processing/>
|
153 |
-
</statuses>
|
154 |
-
<visible_on_front>1</visible_on_front>
|
155 |
-
</cardconnect_processing>
|
156 |
-
<processing>
|
157 |
-
<statuses>
|
158 |
-
<cardconnect_processing/>
|
159 |
-
</statuses>
|
160 |
-
<visible_on_front>1</visible_on_front>
|
161 |
-
</processing>
|
162 |
-
</states>
|
163 |
-
|
164 |
-
<statuses>
|
165 |
-
<cardconnect_capture>
|
166 |
-
<label>CardConnect Capture</label>
|
167 |
-
<description>CardConnect Capture</description>
|
168 |
-
</cardconnect_capture>
|
169 |
-
</statuses>
|
170 |
-
<states>
|
171 |
-
<cardconnect_capture>
|
172 |
-
<statuses>
|
173 |
-
<cardconnect_capture/>
|
174 |
-
</statuses>
|
175 |
-
<visible_on_front>1</visible_on_front>
|
176 |
-
</cardconnect_capture>
|
177 |
-
<pending_payment>
|
178 |
-
<statuses>
|
179 |
-
<cardconnect_capture/>
|
180 |
-
</statuses>
|
181 |
-
<visible_on_front>1</visible_on_front>
|
182 |
-
</pending_payment>
|
183 |
-
</states>
|
184 |
-
|
185 |
-
<statuses>
|
186 |
-
<
|
187 |
-
<label>CardConnect
|
188 |
-
<description>CardConnect
|
189 |
-
</
|
190 |
-
</statuses>
|
191 |
-
<states>
|
192 |
-
<
|
193 |
-
<statuses>
|
194 |
-
<
|
195 |
-
</statuses>
|
196 |
-
<visible_on_front>1</visible_on_front>
|
197 |
-
</
|
198 |
-
<
|
199 |
-
<statuses>
|
200 |
-
<
|
201 |
-
</statuses>
|
202 |
-
<visible_on_front>1</visible_on_front>
|
203 |
-
</
|
204 |
-
</states>
|
205 |
-
|
206 |
-
<statuses>
|
207 |
-
<
|
208 |
-
<label>CardConnect
|
209 |
-
<description>CardConnect
|
210 |
-
</
|
211 |
-
</statuses>
|
212 |
-
<states>
|
213 |
-
<
|
214 |
-
<statuses>
|
215 |
-
<
|
216 |
-
</statuses>
|
217 |
-
<visible_on_front>1</visible_on_front>
|
218 |
-
</
|
219 |
-
<canceled>
|
220 |
-
<statuses>
|
221 |
-
<
|
222 |
-
</statuses>
|
223 |
-
<visible_on_front>1</visible_on_front>
|
224 |
-
</canceled>
|
225 |
-
</states>
|
226 |
-
|
227 |
-
<statuses>
|
228 |
-
<
|
229 |
-
<label>CardConnect
|
230 |
-
<description>CardConnect
|
231 |
-
</
|
232 |
-
</statuses>
|
233 |
-
<states>
|
234 |
-
<
|
235 |
-
<statuses>
|
236 |
-
<
|
237 |
-
</statuses>
|
238 |
-
<visible_on_front>1</visible_on_front>
|
239 |
-
</
|
240 |
-
<
|
241 |
-
<statuses>
|
242 |
-
<
|
243 |
-
</statuses>
|
244 |
-
<visible_on_front>1</visible_on_front>
|
245 |
-
</
|
246 |
-
</states>
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
<
|
279 |
-
|
280 |
-
</
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
</
|
313 |
-
</
|
314 |
-
</
|
315 |
-
</
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
</
|
325 |
-
</
|
326 |
-
</
|
327 |
-
|
328 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* @brief Defines the xml representing extension version, model and rewrite
|
5 |
+
* @category Magento CardConnect Payment Module
|
6 |
+
* @author CardConnect
|
7 |
+
* @copyright Portions copyright 2014 CardConnect
|
8 |
+
* @copyright Portions copyright Magento 2014
|
9 |
+
* @license GPL v2, please see LICENSE.txt
|
10 |
+
* @access public
|
11 |
+
* @version $Id: $
|
12 |
+
*
|
13 |
+
**/
|
14 |
+
|
15 |
+
/**
|
16 |
+
Magento
|
17 |
+
*
|
18 |
+
NOTICE OF LICENSE
|
19 |
+
*
|
20 |
+
This source file is subject to the Open Software License (OSL 3.0)
|
21 |
+
that is bundled with this package in the file LICENSE.txt.
|
22 |
+
It is also available through the world-wide-web at this URL:
|
23 |
+
http://opensource.org/licenses/osl-3.0.php
|
24 |
+
If you did not receive a copy of the license and are unable to
|
25 |
+
obtain it through the world-wide-web, please send an email
|
26 |
+
to license@magentocommerce.com so we can send you a copy immediately.
|
27 |
+
*
|
28 |
+
@category Cardconnect
|
29 |
+
@package Cardconnect_Ccgateway
|
30 |
+
@copyright Copyright (c) 2014 CardConnect (http://www.cardconnect.com)
|
31 |
+
@license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
32 |
+
*/
|
33 |
+
-->
|
34 |
+
|
35 |
+
<config>
|
36 |
+
<modules>
|
37 |
+
<Cardconnect_Ccgateway>
|
38 |
+
<version>1.0.8.4</version>
|
39 |
+
</Cardconnect_Ccgateway>
|
40 |
+
</modules>
|
41 |
+
<global>
|
42 |
+
<models>
|
43 |
+
<ccgateway>
|
44 |
+
<class>Cardconnect_Ccgateway_Model</class>
|
45 |
+
</ccgateway>
|
46 |
+
</models>
|
47 |
+
<helpers>
|
48 |
+
<ccgateway>
|
49 |
+
<class>Cardconnect_Ccgateway_Helper</class>
|
50 |
+
</ccgateway>
|
51 |
+
</helpers>
|
52 |
+
<blocks>
|
53 |
+
<ccgateway>
|
54 |
+
<class>Cardconnect_Ccgateway_Block</class>
|
55 |
+
</ccgateway>
|
56 |
+
</blocks>
|
57 |
+
|
58 |
+
<blocks>
|
59 |
+
<adminhtml>
|
60 |
+
<rewrite>
|
61 |
+
<sales_order_view_tab_info>Cardconnect_Ccgateway_Block_Adminhtml_Sales_Order_View_Tab_Info</sales_order_view_tab_info>
|
62 |
+
<sales_order_invoice_create_form>Cardconnect_Ccgateway_Block_Adminhtml_Sales_Order_Invoice_Create_Form</sales_order_invoice_create_form>
|
63 |
+
<sales_order_invoice_create_items>Cardconnect_Ccgateway_Block_Adminhtml_Sales_Order_Invoice_Create_Items</sales_order_invoice_create_items>
|
64 |
+
<sales_order_shipment_create_form>Cardconnect_Ccgateway_Block_Adminhtml_Sales_Order_Shipment_Create_Form</sales_order_shipment_create_form>
|
65 |
+
<sales_order_creditmemo_create_form>Cardconnect_Ccgateway_Block_Adminhtml_Sales_Order_Creditmemo_Create_Form</sales_order_creditmemo_create_form>
|
66 |
+
<sales_order_invoice_view_form>Cardconnect_Ccgateway_Block_Adminhtml_Sales_Order_Invoice_View_Form</sales_order_invoice_view_form>
|
67 |
+
<sales_order_shipment_view_form>Cardconnect_Ccgateway_Block_Adminhtml_Sales_Order_Shipment_View_Form</sales_order_shipment_view_form>
|
68 |
+
<sales_order_creditmemo_view_form>Cardconnect_Ccgateway_Block_Adminhtml_Sales_Order_Creditmemo_View_Form</sales_order_creditmemo_view_form>
|
69 |
+
<sales_order_creditmemo_create_items>Cardconnect_Ccgateway_Block_Adminhtml_Sales_Order_Creditmemo_Create_Items</sales_order_creditmemo_create_items>
|
70 |
+
<customer_edit_tab_account>Cardconnect_Ccgateway_Block_Adminhtml_Customer_Edit_Tab_Account</customer_edit_tab_account>
|
71 |
+
</rewrite>
|
72 |
+
</adminhtml>
|
73 |
+
</blocks>
|
74 |
+
|
75 |
+
|
76 |
+
<models>
|
77 |
+
<ccgateway_adminhtml>
|
78 |
+
<class>Cardconnect_Ccgateway_adminhtml_Model</class>
|
79 |
+
</ccgateway_adminhtml>
|
80 |
+
</models>
|
81 |
+
<models>
|
82 |
+
<cardconnect_ccgateway>
|
83 |
+
<class>Cardconnect_Ccgateway_Model</class>
|
84 |
+
<resourceModel>cardconnect_ccgateway_resource</resourceModel>
|
85 |
+
</cardconnect_ccgateway>
|
86 |
+
<cardconnect_ccgateway_resource>
|
87 |
+
<class>Cardconnect_Ccgateway_Model_Resource</class>
|
88 |
+
<entities>
|
89 |
+
<cardconnect_resp>
|
90 |
+
<table>cardconnect_resp</table>
|
91 |
+
</cardconnect_resp>
|
92 |
+
</entities>
|
93 |
+
<entities>
|
94 |
+
<cardconnect_wallet>
|
95 |
+
<table>cardconnect_wallet</table>
|
96 |
+
</cardconnect_wallet>
|
97 |
+
</entities>
|
98 |
+
</cardconnect_ccgateway_resource>
|
99 |
+
</models>
|
100 |
+
<resources>
|
101 |
+
<cardconnect_ccgateway_setup>
|
102 |
+
<setup>
|
103 |
+
<module>Cardconnect_Ccgateway</module>
|
104 |
+
<connection>
|
105 |
+
<use>core_setup</use>
|
106 |
+
</connection>
|
107 |
+
</setup>
|
108 |
+
</cardconnect_ccgateway_setup>
|
109 |
+
<cardconnect_ccgateway_write>
|
110 |
+
<connection>
|
111 |
+
<use>core_write</use>
|
112 |
+
</connection>
|
113 |
+
</cardconnect_ccgateway_write>
|
114 |
+
<cardconnect_ccgateway_read>
|
115 |
+
<connection>
|
116 |
+
<use>core_read</use>
|
117 |
+
</connection>
|
118 |
+
</cardconnect_ccgateway_read>
|
119 |
+
</resources>
|
120 |
+
<events>
|
121 |
+
<controller_action_postdispatch_checkout_onepage_savePayment>
|
122 |
+
<observers>
|
123 |
+
<ccgateway>
|
124 |
+
<type>model</type>
|
125 |
+
<class>ccgateway/observer</class>
|
126 |
+
<method>savePaymentAction</method>
|
127 |
+
</ccgateway>
|
128 |
+
</observers>
|
129 |
+
</controller_action_postdispatch_checkout_onepage_savePayment>
|
130 |
+
<sales_order_place_after>
|
131 |
+
<observers>
|
132 |
+
<ccgateway>
|
133 |
+
<type>singleton</type>
|
134 |
+
<class>ccgateway/observer</class>
|
135 |
+
<method>implementOrderStatus</method>
|
136 |
+
</ccgateway>
|
137 |
+
</observers>
|
138 |
+
</sales_order_place_after>
|
139 |
+
</events>
|
140 |
+
|
141 |
+
<sales>
|
142 |
+
<order>
|
143 |
+
<statuses>
|
144 |
+
<cardconnect_processing>
|
145 |
+
<label>CardConnect Processing</label>
|
146 |
+
<description>CardConnect Processing</description>
|
147 |
+
</cardconnect_processing>
|
148 |
+
</statuses>
|
149 |
+
<states>
|
150 |
+
<cardconnect_processing>
|
151 |
+
<statuses>
|
152 |
+
<cardconnect_processing/>
|
153 |
+
</statuses>
|
154 |
+
<visible_on_front>1</visible_on_front>
|
155 |
+
</cardconnect_processing>
|
156 |
+
<processing>
|
157 |
+
<statuses>
|
158 |
+
<cardconnect_processing/>
|
159 |
+
</statuses>
|
160 |
+
<visible_on_front>1</visible_on_front>
|
161 |
+
</processing>
|
162 |
+
</states>
|
163 |
+
|
164 |
+
<statuses>
|
165 |
+
<cardconnect_capture>
|
166 |
+
<label>CardConnect Capture</label>
|
167 |
+
<description>CardConnect Capture</description>
|
168 |
+
</cardconnect_capture>
|
169 |
+
</statuses>
|
170 |
+
<states>
|
171 |
+
<cardconnect_capture>
|
172 |
+
<statuses>
|
173 |
+
<cardconnect_capture/>
|
174 |
+
</statuses>
|
175 |
+
<visible_on_front>1</visible_on_front>
|
176 |
+
</cardconnect_capture>
|
177 |
+
<pending_payment>
|
178 |
+
<statuses>
|
179 |
+
<cardconnect_capture/>
|
180 |
+
</statuses>
|
181 |
+
<visible_on_front>1</visible_on_front>
|
182 |
+
</pending_payment>
|
183 |
+
</states>
|
184 |
+
|
185 |
+
<statuses>
|
186 |
+
<cardconnect_timeout>
|
187 |
+
<label>CardConnect Timeout</label>
|
188 |
+
<description>CardConnect Timeout</description>
|
189 |
+
</cardconnect_timeout>
|
190 |
+
</statuses>
|
191 |
+
<states>
|
192 |
+
<cardconnect_timeout>
|
193 |
+
<statuses>
|
194 |
+
<cardconnect_timeout/>
|
195 |
+
</statuses>
|
196 |
+
<visible_on_front>1</visible_on_front>
|
197 |
+
</cardconnect_timeout>
|
198 |
+
<pending_payment>
|
199 |
+
<statuses>
|
200 |
+
<cardconnect_timeout/>
|
201 |
+
</statuses>
|
202 |
+
<visible_on_front>1</visible_on_front>
|
203 |
+
</pending_payment>
|
204 |
+
</states>
|
205 |
+
|
206 |
+
<statuses>
|
207 |
+
<cardconnect_void>
|
208 |
+
<label>CardConnect Void</label>
|
209 |
+
<description>CardConnect Void</description>
|
210 |
+
</cardconnect_void>
|
211 |
+
</statuses>
|
212 |
+
<states>
|
213 |
+
<cardconnect_void>
|
214 |
+
<statuses>
|
215 |
+
<cardconnect_void/>
|
216 |
+
</statuses>
|
217 |
+
<visible_on_front>1</visible_on_front>
|
218 |
+
</cardconnect_void>
|
219 |
+
<canceled>
|
220 |
+
<statuses>
|
221 |
+
<cardconnect_void/>
|
222 |
+
</statuses>
|
223 |
+
<visible_on_front>1</visible_on_front>
|
224 |
+
</canceled>
|
225 |
+
</states>
|
226 |
+
|
227 |
+
<statuses>
|
228 |
+
<cardconnect_reject>
|
229 |
+
<label>CardConnect Rejected</label>
|
230 |
+
<description>CardConnect Rejected</description>
|
231 |
+
</cardconnect_reject>
|
232 |
+
</statuses>
|
233 |
+
<states>
|
234 |
+
<cardconnect_reject>
|
235 |
+
<statuses>
|
236 |
+
<cardconnect_reject/>
|
237 |
+
</statuses>
|
238 |
+
<visible_on_front>1</visible_on_front>
|
239 |
+
</cardconnect_reject>
|
240 |
+
<canceled>
|
241 |
+
<statuses>
|
242 |
+
<cardconnect_reject/>
|
243 |
+
</statuses>
|
244 |
+
<visible_on_front>1</visible_on_front>
|
245 |
+
</canceled>
|
246 |
+
</states>
|
247 |
+
|
248 |
+
<statuses>
|
249 |
+
<cardconnect_txn_settled>
|
250 |
+
<label>CardConnect Txn Settled</label>
|
251 |
+
<description>CardConnect Txn Settled</description>
|
252 |
+
</cardconnect_txn_settled>
|
253 |
+
</statuses>
|
254 |
+
<states>
|
255 |
+
<cardconnect_txn_settled>
|
256 |
+
<statuses>
|
257 |
+
<cardconnect_txn_settled/>
|
258 |
+
</statuses>
|
259 |
+
<visible_on_front>1</visible_on_front>
|
260 |
+
</cardconnect_txn_settled>
|
261 |
+
<complete>
|
262 |
+
<statuses>
|
263 |
+
<cardconnect_txn_settled/>
|
264 |
+
</statuses>
|
265 |
+
<visible_on_front>1</visible_on_front>
|
266 |
+
</complete>
|
267 |
+
</states>
|
268 |
+
|
269 |
+
</order>
|
270 |
+
</sales>
|
271 |
+
|
272 |
+
</global>
|
273 |
+
<default>
|
274 |
+
<payment>
|
275 |
+
<ccgateway>
|
276 |
+
<model>ccgateway/standard</model>
|
277 |
+
<active>1</active>
|
278 |
+
<order_status>pending</order_status>
|
279 |
+
<title>CardConnect</title>
|
280 |
+
<payment_action>sale</payment_action>
|
281 |
+
<allowspecific>0</allowspecific>
|
282 |
+
<sort_order>1</sort_order>
|
283 |
+
</ccgateway>
|
284 |
+
</payment>
|
285 |
+
</default>
|
286 |
+
<frontend>
|
287 |
+
<routers>
|
288 |
+
<ccgateway>
|
289 |
+
<use>standard</use>
|
290 |
+
<args>
|
291 |
+
<module>Cardconnect_Ccgateway</module>
|
292 |
+
<frontName>ccgateway</frontName>
|
293 |
+
</args>
|
294 |
+
</ccgateway>
|
295 |
+
</routers>
|
296 |
+
|
297 |
+
<layout>
|
298 |
+
<updates>
|
299 |
+
<ccgateway>
|
300 |
+
<file>ccgateway.xml</file>
|
301 |
+
</ccgateway>
|
302 |
+
</updates>
|
303 |
+
</layout>
|
304 |
+
</frontend>
|
305 |
+
<frontend>
|
306 |
+
<routers>
|
307 |
+
<customer>
|
308 |
+
<args>
|
309 |
+
<modules>
|
310 |
+
<Cardconnect_Ccgateway after="Mage_Customer">Cardconnect_Ccgateway</Cardconnect_Ccgateway>
|
311 |
+
</modules>
|
312 |
+
</args>
|
313 |
+
</customer>
|
314 |
+
</routers>
|
315 |
+
</frontend>
|
316 |
+
<admin>
|
317 |
+
<routers>
|
318 |
+
<adminhtml>
|
319 |
+
<args>
|
320 |
+
<modules>
|
321 |
+
<Cardconnect_Ccgateway before="Mage_Adminhtml">Cardconnect_Ccgateway_Adminhtml</Cardconnect_Ccgateway>
|
322 |
+
</modules>
|
323 |
+
</args>
|
324 |
+
</adminhtml>
|
325 |
+
</routers>
|
326 |
+
</admin>
|
327 |
+
|
328 |
+
<adminhtml>
|
329 |
+
<layout>
|
330 |
+
<updates>
|
331 |
+
<ccgateway>
|
332 |
+
<file>ccgateway.xml</file>
|
333 |
+
</ccgateway>
|
334 |
+
</updates>
|
335 |
+
</layout>
|
336 |
+
</adminhtml>
|
337 |
+
|
338 |
+
<default>
|
339 |
+
<payment>
|
340 |
+
<ccgateway>
|
341 |
+
<active>0</active>
|
342 |
+
<test>1</test>
|
343 |
+
<title>CardConnect</title>
|
344 |
+
<password backend_model="adminhtml/system_config_backend_encrypted"/>
|
345 |
+
</ccgateway>
|
346 |
+
</payment>
|
347 |
+
</default>
|
348 |
+
|
349 |
+
</config>
|
app/code/community/Cardconnect/Ccgateway/sql/cardconnect_ccgateway_setup/install-1.0.0.php
CHANGED
@@ -74,6 +74,7 @@ delete from ' . $statusTable . ' where status = "cardconnect_refund";
|
|
74 |
delete from ' . $statusTable . ' where status = "cardconnect_reject";
|
75 |
delete from ' . $statusTable . ' where status = "cardconnect_txn_settled";
|
76 |
delete from ' . $statusTable . ' where status = "cardconnect_processing";
|
|
|
77 |
');
|
78 |
|
79 |
// Insert status
|
@@ -87,7 +88,8 @@ $installer->getConnection()->insertArray(
|
|
87 |
array('status' => 'cardconnect_refund', 'label' => 'CardConnect Refund'),
|
88 |
array('status' => 'cardconnect_reject', 'label' => 'CardConnect Rejected'),
|
89 |
array('status' => 'cardconnect_txn_settled', 'label' => 'CardConnect Txn Settled'),
|
90 |
-
array('status' => 'cardconnect_processing', 'label' => 'CardConnect Processing')
|
|
|
91 |
)
|
92 |
);
|
93 |
|
74 |
delete from ' . $statusTable . ' where status = "cardconnect_reject";
|
75 |
delete from ' . $statusTable . ' where status = "cardconnect_txn_settled";
|
76 |
delete from ' . $statusTable . ' where status = "cardconnect_processing";
|
77 |
+
delete from ' . $statusTable . ' where status = "cardconnect_timeout";
|
78 |
');
|
79 |
|
80 |
// Insert status
|
88 |
array('status' => 'cardconnect_refund', 'label' => 'CardConnect Refund'),
|
89 |
array('status' => 'cardconnect_reject', 'label' => 'CardConnect Rejected'),
|
90 |
array('status' => 'cardconnect_txn_settled', 'label' => 'CardConnect Txn Settled'),
|
91 |
+
array('status' => 'cardconnect_processing', 'label' => 'CardConnect Processing'),
|
92 |
+
array('status' => 'cardconnect_timeout', 'label' => 'CardConnect Timeout')
|
93 |
)
|
94 |
);
|
95 |
|
js/cardconnect/ccgateway.js
CHANGED
@@ -9,7 +9,6 @@
|
|
9 |
* @version $Id: $
|
10 |
*
|
11 |
**/
|
12 |
-
|
13 |
/**
|
14 |
Magento
|
15 |
*
|
@@ -28,78 +27,61 @@ to license@magentocommerce.com so we can send you a copy immediately.
|
|
28 |
@copyright Copyright (c) 2014 CardConnect (http://www.cardconnect.com)
|
29 |
@license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
30 |
*/
|
31 |
-
|
32 |
-
|
33 |
function tokenize(cardNum , isTestMode, siteName) {
|
34 |
-
|
35 |
document.getElementById("ccgateway_cc_number_org").disabled = true;
|
36 |
document.getElementById("response").innerHTML = "";
|
37 |
-
|
38 |
testTemplateUrl = "https://[SITE].prinpay.com:6443/cardsecure/cs";
|
39 |
prodTemplateUrl = "https://[SITE].prinpay.com:8443/cardsecure/cs";
|
40 |
-
|
41 |
// construct url
|
42 |
if(isTestMode == "yes"){
|
43 |
-
var url = testTemplateUrl
|
44 |
}else{
|
45 |
var url = prodTemplateUrl.replace("[SITE]", siteName )
|
46 |
}
|
47 |
-
|
48 |
-
var
|
49 |
-
|
50 |
-
var params = "action=CE";
|
51 |
-
params = params + "&type=" + type;
|
52 |
-
params = params + "&data=" + cardNum;
|
53 |
-
|
54 |
// send request
|
55 |
if (window.XMLHttpRequest) {
|
56 |
-
xhr = new XMLHttpRequest();
|
57 |
if (xhr.withCredentials !== undefined) {
|
58 |
xhr.onreadystatechange = processXMLHttpResponse;
|
|
|
59 |
} else {
|
60 |
xhr = new XDomainRequest();
|
61 |
xhr.onload = processXDomainResponse;
|
|
|
62 |
}
|
63 |
} else {
|
64 |
if (window.ActiveXObject) {
|
65 |
try {
|
66 |
xhr = new ActiveXObject("Microsoft.XMLHTTP");
|
67 |
xhr.onreadystatechange = processXMLHttpResponse;
|
|
|
68 |
}
|
69 |
catch (e) {
|
70 |
}
|
71 |
}
|
72 |
-
}
|
73 |
if (xhr) {
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
80 |
-
xhr.send(params);
|
81 |
-
}
|
82 |
-
|
83 |
}
|
84 |
else {
|
85 |
document.getElementById("response").innerHTML = "Sorry, this browser does not support AJAX requests.";
|
86 |
}
|
87 |
-
|
88 |
return false;
|
89 |
-
|
90 |
}
|
91 |
-
|
92 |
function processXMLHttpResponse() {
|
93 |
-
|
94 |
-
|
95 |
-
var response = "";
|
96 |
if (xhr.status == 200) {
|
97 |
response = processResponse(response);
|
98 |
-
}
|
99 |
-
response = "There was a problem with the request " + xhr.status;
|
100 |
-
}
|
101 |
document.getElementById("ccgateway_cc_number_org").disabled = false;
|
102 |
-
|
103 |
var regExp = "^\\d+(\\.\\d+)?$";
|
104 |
if (response.match(regExp)) {
|
105 |
document.getElementById("ccgateway_cc_number").value = response;
|
@@ -110,18 +92,22 @@ function processXMLHttpResponse() {
|
|
110 |
document.getElementById("response").classList.add('validation-advice');
|
111 |
document.getElementById("response").innerHTML = response;
|
112 |
}
|
113 |
-
|
114 |
}
|
115 |
}
|
116 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
function processXDomainResponse() {
|
118 |
var response = processResponse(response);
|
119 |
document.getElementById("ccgateway_cc_number").value = response;
|
120 |
document.getElementById("ccgateway_cc_number_org").value = response;
|
121 |
}
|
122 |
-
|
123 |
function processResponse(response) {
|
124 |
-
|
125 |
var type = "json";
|
126 |
if (type == "xml") {
|
127 |
var cardsecure = xhr.responseXML;
|
@@ -142,15 +128,9 @@ function processResponse(response) {
|
|
142 |
var pos = xhr.responseText.indexOf("data=");
|
143 |
response = "html token = " + xhr.responseText.substring(pos + 5);
|
144 |
}
|
145 |
-
|
146 |
-
|
147 |
document.getElementById("ccgateway_cc_number_org").disabled = false;
|
148 |
-
|
149 |
-
|
150 |
return response;
|
151 |
-
|
152 |
}
|
153 |
-
|
154 |
function parseXml(xmlStr) {
|
155 |
if (window.DOMParser) {
|
156 |
return (new window.DOMParser()).parseFromString(xmlStr, "text/xml");
|
@@ -163,10 +143,6 @@ function parseXml(xmlStr) {
|
|
163 |
return null;
|
164 |
}
|
165 |
}
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
function valid_credit_card(value, isTestMode, siteName)
|
171 |
{
|
172 |
startLoading();
|
@@ -182,12 +158,10 @@ function valid_credit_card(value, isTestMode, siteName)
|
|
182 |
value = value.replace(/\D/g, "");
|
183 |
document.getElementById("testError").style.display = "none";
|
184 |
}
|
185 |
-
|
186 |
for (var n = value.length - 1; n >= 0; n--)
|
187 |
{
|
188 |
var cDigit = value.charAt(n),
|
189 |
nDigit = parseInt(cDigit, 10);
|
190 |
-
|
191 |
if (bEven)
|
192 |
{
|
193 |
if ((nDigit *= 2) > 9)
|
@@ -196,14 +170,13 @@ function valid_credit_card(value, isTestMode, siteName)
|
|
196 |
nCheck += nDigit;
|
197 |
bEven = !bEven;
|
198 |
}
|
199 |
-
|
200 |
if ((nCheck % 10) == 0) {
|
201 |
var cardType = GetCardType(cardNum);
|
202 |
var e = document.getElementById("ccgateway_cc_type");
|
203 |
var selectedCardType = e.options[e.selectedIndex].value;
|
204 |
if (cardType == selectedCardType && selectedCardType != null && cardNum != null && cardNum.length >=12 ) {
|
205 |
tokenize(cardNum , isTestMode, siteName);
|
206 |
-
setTimeout(stopLoading,
|
207 |
} else {
|
208 |
document.getElementById("testError").style.display = "block";
|
209 |
document.getElementById("testError").innerHTML = "Entered card information mismatched. Please try again.";
|
@@ -221,38 +194,28 @@ function valid_credit_card(value, isTestMode, siteName)
|
|
221 |
stopLoading();
|
222 |
return false;
|
223 |
}
|
224 |
-
|
225 |
return false;
|
226 |
}
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
function GetCardType(number)
|
231 |
{
|
232 |
// visa
|
233 |
var re = new RegExp("^4");
|
234 |
if (number.match(re) != null)
|
235 |
return "VISA";
|
236 |
-
|
237 |
// Mastercard
|
238 |
re = new RegExp("^5[1-5]");
|
239 |
if (number.match(re) != null)
|
240 |
return "MC";
|
241 |
-
|
242 |
// AMEX
|
243 |
re = new RegExp("^3[47]");
|
244 |
if (number.match(re) != null)
|
245 |
return "AMEX";
|
246 |
-
|
247 |
// Discover
|
248 |
re = new RegExp("^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)");
|
249 |
if (number.match(re) != null)
|
250 |
return "DISC";
|
251 |
-
|
252 |
return "";
|
253 |
}
|
254 |
-
|
255 |
-
|
256 |
function validate(key , inputId) {
|
257 |
//getting key code of pressed key
|
258 |
var keycode = (key.which) ? key.which : key.keyCode;
|
@@ -270,13 +233,11 @@ function validate(key , inputId) {
|
|
270 |
else
|
271 |
return true;
|
272 |
}
|
273 |
-
|
274 |
function blockNonNumbers(obj, e, allowDecimal, allowNegative) {
|
275 |
var key;
|
276 |
var isCtrl = false;
|
277 |
var keychar;
|
278 |
var reg;
|
279 |
-
|
280 |
if (window.event) {
|
281 |
key = e.keyCode;
|
282 |
isCtrl = window.event.ctrlKey
|
@@ -285,45 +246,30 @@ function blockNonNumbers(obj, e, allowDecimal, allowNegative) {
|
|
285 |
key = e.which;
|
286 |
isCtrl = e.ctrlKey;
|
287 |
}
|
288 |
-
|
289 |
if (isNaN(key))
|
290 |
return true;
|
291 |
-
|
292 |
keychar = String.fromCharCode(key);
|
293 |
// check for backspace or delete, or if Ctrl was pressed
|
294 |
-
|
295 |
if (key == 8 || isCtrl) {
|
296 |
return true;
|
297 |
}
|
298 |
-
|
299 |
reg = /\d/;
|
300 |
var isFirstN = allowNegative ? keychar == '-' && obj.value.indexOf('-') == -1 : false;
|
301 |
var isFirstD = allowDecimal ? keychar == '.' && obj.value.indexOf('.') == -1 : false;
|
302 |
-
|
303 |
return isFirstN || isFirstD || reg.test(keychar);
|
304 |
}
|
305 |
-
|
306 |
-
|
307 |
function showAliseField(){
|
308 |
-
|
309 |
if( document.getElementById("ccgateway_cc_wallet").checked == true){
|
310 |
document.getElementById("save_card").show();
|
311 |
}else{
|
312 |
document.getElementById("save_card").hide();
|
313 |
}
|
314 |
-
|
315 |
}
|
316 |
-
|
317 |
-
|
318 |
function callGetProfileWebserviceController( requestUrl, profile ){
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
if((profile != "Checkout with new card")){
|
323 |
-
|
324 |
startLoading();
|
325 |
document.getElementById("ccgateway_cc_owner").readOnly = true;
|
326 |
-
|
327 |
document.getElementById("ccgateway_cc_number_org").disabled= true;
|
328 |
document.getElementById("ccgateway_cc_number").readOnly = true;
|
329 |
document.getElementById("ccgateway_cc_type").readOnly = true;
|
@@ -331,42 +277,48 @@ function callGetProfileWebserviceController( requestUrl, profile ){
|
|
331 |
document.getElementById("ccgateway_expiration_yr").readOnly = true;
|
332 |
document.getElementById("ccgateway_cc_cid").readOnly = false;
|
333 |
document.getElementById("ccgateway_cc_wallet").disabled = true;
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
366 |
}
|
367 |
-
|
368 |
}else{
|
369 |
-
|
370 |
document.getElementById("ccgateway_cc_number_org").style.display='block';
|
371 |
document.getElementById("cc_number_label").hide();
|
372 |
document.getElementById("ccgateway_cc_owner").readOnly = false;
|
@@ -377,7 +329,6 @@ function callGetProfileWebserviceController( requestUrl, profile ){
|
|
377 |
document.getElementById("ccgateway_expiration_yr").readOnly = false;
|
378 |
document.getElementById("ccgateway_cc_cid").readOnly = false;
|
379 |
document.getElementById("ccgateway_cc_wallet").disabled = false;
|
380 |
-
|
381 |
document.getElementById("ccgateway_cc_owner").value = "";
|
382 |
document.getElementById("ccgateway_cc_number_org").value = "";
|
383 |
document.getElementById("ccgateway_cc_number").value = "";
|
@@ -388,13 +339,10 @@ function callGetProfileWebserviceController( requestUrl, profile ){
|
|
388 |
document.getElementById("save_card_4future").show();
|
389 |
document.getElementById("payment_info").show();
|
390 |
document.getElementById("payment_info1").show();
|
391 |
-
|
392 |
}
|
393 |
}
|
394 |
-
|
395 |
-
|
396 |
function showDefaultAddress(billingStreet,billingCity,billingRegion,billingCountry,billingPostCode,billingTelephone){
|
397 |
-
|
398 |
if( document.getElementById("ccgateway_default_address").checked == true){
|
399 |
document.getElementById("ccgateway_cc_street").value = billingStreet;
|
400 |
document.getElementById("ccgateway_cc_city").value = billingCity;
|
@@ -410,16 +358,12 @@ function showDefaultAddress(billingStreet,billingCity,billingRegion,billingCount
|
|
410 |
document.getElementById("ccgateway_cc_postcode").value = "";
|
411 |
document.getElementById("ccgateway_cc_telephone").value = "";
|
412 |
}
|
413 |
-
|
414 |
}
|
415 |
-
|
416 |
-
|
417 |
var loaded = false;
|
418 |
function startLoading() {
|
419 |
loaded = false;
|
420 |
showLoadingImage();
|
421 |
}
|
422 |
-
|
423 |
function showLoadingImage() {
|
424 |
document.getElementById("fade").style.display = "block";
|
425 |
var el = document.getElementById("loading_box");
|
@@ -428,19 +372,17 @@ function showLoadingImage() {
|
|
428 |
new Effect.Appear('loading_box');
|
429 |
}
|
430 |
}
|
431 |
-
|
432 |
function stopLoading() {
|
433 |
Element.hide('fade');
|
434 |
loaded = true;
|
435 |
document.getElementById("fade").style.display = "none";
|
436 |
}
|
437 |
-
|
438 |
function resetcardinfo() {
|
439 |
document.getElementById("ccgateway_cc_number_org").value = "";
|
440 |
document.getElementById("ccgateway_cc_number_org").focus();
|
441 |
document.getElementById("ccgateway_cc_number").value = "";
|
442 |
document.getElementById("ccgateway_expiration").value = "";
|
443 |
document.getElementById("ccgateway_expiration_yr").value = "";
|
|
|
444 |
return false;
|
445 |
-
}
|
446 |
-
|
9 |
* @version $Id: $
|
10 |
*
|
11 |
**/
|
|
|
12 |
/**
|
13 |
Magento
|
14 |
*
|
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) {
|
|
|
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:8443/cardsecure/cs";
|
|
|
35 |
// construct url
|
36 |
if(isTestMode == "yes"){
|
37 |
+
var url = testTemplateUrl.replace("[SITE]", siteName);
|
38 |
}else{
|
39 |
var url = prodTemplateUrl.replace("[SITE]", siteName )
|
40 |
}
|
41 |
+
|
42 |
+
var params = "type=json&data=" + cardNum;
|
43 |
+
|
|
|
|
|
|
|
|
|
44 |
// send request
|
45 |
if (window.XMLHttpRequest) {
|
46 |
+
xhr = new XMLHttpRequest();
|
47 |
if (xhr.withCredentials !== undefined) {
|
48 |
xhr.onreadystatechange = processXMLHttpResponse;
|
49 |
+
xhr.onerror = onerror;
|
50 |
} else {
|
51 |
xhr = new XDomainRequest();
|
52 |
xhr.onload = processXDomainResponse;
|
53 |
+
xhr.onerror = onerror;
|
54 |
}
|
55 |
} else {
|
56 |
if (window.ActiveXObject) {
|
57 |
try {
|
58 |
xhr = new ActiveXObject("Microsoft.XMLHTTP");
|
59 |
xhr.onreadystatechange = processXMLHttpResponse;
|
60 |
+
xhr.onerror = onerror;
|
61 |
}
|
62 |
catch (e) {
|
63 |
}
|
64 |
}
|
65 |
+
}
|
66 |
if (xhr) {
|
67 |
+
xhr.open("POST", url + "?action=CE", true);
|
68 |
+
xhr.timeout = 10000;
|
69 |
+
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
70 |
+
xhr.ontimeout = onerror;
|
71 |
+
xhr.send(params);
|
|
|
|
|
|
|
|
|
72 |
}
|
73 |
else {
|
74 |
document.getElementById("response").innerHTML = "Sorry, this browser does not support AJAX requests.";
|
75 |
}
|
|
|
76 |
return false;
|
|
|
77 |
}
|
|
|
78 |
function processXMLHttpResponse() {
|
79 |
+
if (xhr.readyState == 4) {
|
80 |
+
var response = "";
|
|
|
81 |
if (xhr.status == 200) {
|
82 |
response = processResponse(response);
|
83 |
+
}
|
|
|
|
|
84 |
document.getElementById("ccgateway_cc_number_org").disabled = false;
|
|
|
85 |
var regExp = "^\\d+(\\.\\d+)?$";
|
86 |
if (response.match(regExp)) {
|
87 |
document.getElementById("ccgateway_cc_number").value = response;
|
92 |
document.getElementById("response").classList.add('validation-advice');
|
93 |
document.getElementById("response").innerHTML = response;
|
94 |
}
|
|
|
95 |
}
|
96 |
}
|
97 |
+
function onerror(){
|
98 |
+
document.getElementById("testError").style.display = "block";
|
99 |
+
document.getElementById("testError").innerHTML = "Unable to tokenize the card number, try again";
|
100 |
+
document.getElementById("ccgateway_cc_number_org").value = "";
|
101 |
+
document.getElementById("ccgateway_cc_number_org").disabled = false;
|
102 |
+
document.getElementById("ccgateway_cc_number_org").focus();
|
103 |
+
stopLoading();
|
104 |
+
}
|
105 |
function processXDomainResponse() {
|
106 |
var response = processResponse(response);
|
107 |
document.getElementById("ccgateway_cc_number").value = response;
|
108 |
document.getElementById("ccgateway_cc_number_org").value = response;
|
109 |
}
|
|
|
110 |
function processResponse(response) {
|
|
|
111 |
var type = "json";
|
112 |
if (type == "xml") {
|
113 |
var cardsecure = xhr.responseXML;
|
128 |
var pos = xhr.responseText.indexOf("data=");
|
129 |
response = "html token = " + xhr.responseText.substring(pos + 5);
|
130 |
}
|
|
|
|
|
131 |
document.getElementById("ccgateway_cc_number_org").disabled = false;
|
|
|
|
|
132 |
return response;
|
|
|
133 |
}
|
|
|
134 |
function parseXml(xmlStr) {
|
135 |
if (window.DOMParser) {
|
136 |
return (new window.DOMParser()).parseFromString(xmlStr, "text/xml");
|
143 |
return null;
|
144 |
}
|
145 |
}
|
|
|
|
|
|
|
|
|
146 |
function valid_credit_card(value, isTestMode, siteName)
|
147 |
{
|
148 |
startLoading();
|
158 |
value = value.replace(/\D/g, "");
|
159 |
document.getElementById("testError").style.display = "none";
|
160 |
}
|
|
|
161 |
for (var n = value.length - 1; n >= 0; n--)
|
162 |
{
|
163 |
var cDigit = value.charAt(n),
|
164 |
nDigit = parseInt(cDigit, 10);
|
|
|
165 |
if (bEven)
|
166 |
{
|
167 |
if ((nDigit *= 2) > 9)
|
170 |
nCheck += nDigit;
|
171 |
bEven = !bEven;
|
172 |
}
|
|
|
173 |
if ((nCheck % 10) == 0) {
|
174 |
var cardType = GetCardType(cardNum);
|
175 |
var e = document.getElementById("ccgateway_cc_type");
|
176 |
var selectedCardType = e.options[e.selectedIndex].value;
|
177 |
if (cardType == selectedCardType && selectedCardType != null && cardNum != null && cardNum.length >=12 ) {
|
178 |
tokenize(cardNum , isTestMode, siteName);
|
179 |
+
setTimeout(stopLoading, 10000);
|
180 |
} else {
|
181 |
document.getElementById("testError").style.display = "block";
|
182 |
document.getElementById("testError").innerHTML = "Entered card information mismatched. Please try again.";
|
194 |
stopLoading();
|
195 |
return false;
|
196 |
}
|
|
|
197 |
return false;
|
198 |
}
|
|
|
|
|
|
|
199 |
function GetCardType(number)
|
200 |
{
|
201 |
// visa
|
202 |
var re = new RegExp("^4");
|
203 |
if (number.match(re) != null)
|
204 |
return "VISA";
|
|
|
205 |
// Mastercard
|
206 |
re = new RegExp("^5[1-5]");
|
207 |
if (number.match(re) != null)
|
208 |
return "MC";
|
|
|
209 |
// AMEX
|
210 |
re = new RegExp("^3[47]");
|
211 |
if (number.match(re) != null)
|
212 |
return "AMEX";
|
|
|
213 |
// Discover
|
214 |
re = new RegExp("^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)");
|
215 |
if (number.match(re) != null)
|
216 |
return "DISC";
|
|
|
217 |
return "";
|
218 |
}
|
|
|
|
|
219 |
function validate(key , inputId) {
|
220 |
//getting key code of pressed key
|
221 |
var keycode = (key.which) ? key.which : key.keyCode;
|
233 |
else
|
234 |
return true;
|
235 |
}
|
|
|
236 |
function blockNonNumbers(obj, e, allowDecimal, allowNegative) {
|
237 |
var key;
|
238 |
var isCtrl = false;
|
239 |
var keychar;
|
240 |
var reg;
|
|
|
241 |
if (window.event) {
|
242 |
key = e.keyCode;
|
243 |
isCtrl = window.event.ctrlKey
|
246 |
key = e.which;
|
247 |
isCtrl = e.ctrlKey;
|
248 |
}
|
|
|
249 |
if (isNaN(key))
|
250 |
return true;
|
|
|
251 |
keychar = String.fromCharCode(key);
|
252 |
// check for backspace or delete, or if Ctrl was pressed
|
|
|
253 |
if (key == 8 || isCtrl) {
|
254 |
return true;
|
255 |
}
|
|
|
256 |
reg = /\d/;
|
257 |
var isFirstN = allowNegative ? keychar == '-' && obj.value.indexOf('-') == -1 : false;
|
258 |
var isFirstD = allowDecimal ? keychar == '.' && obj.value.indexOf('.') == -1 : false;
|
|
|
259 |
return isFirstN || isFirstD || reg.test(keychar);
|
260 |
}
|
|
|
|
|
261 |
function showAliseField(){
|
|
|
262 |
if( document.getElementById("ccgateway_cc_wallet").checked == true){
|
263 |
document.getElementById("save_card").show();
|
264 |
}else{
|
265 |
document.getElementById("save_card").hide();
|
266 |
}
|
|
|
267 |
}
|
|
|
|
|
268 |
function callGetProfileWebserviceController( requestUrl, profile ){
|
|
|
|
|
|
|
269 |
if((profile != "Checkout with new card")){
|
|
|
270 |
startLoading();
|
271 |
document.getElementById("ccgateway_cc_owner").readOnly = true;
|
272 |
+
document.getElementById("testError").style.display = "none";
|
273 |
document.getElementById("ccgateway_cc_number_org").disabled= true;
|
274 |
document.getElementById("ccgateway_cc_number").readOnly = true;
|
275 |
document.getElementById("ccgateway_cc_type").readOnly = true;
|
277 |
document.getElementById("ccgateway_expiration_yr").readOnly = true;
|
278 |
document.getElementById("ccgateway_cc_cid").readOnly = false;
|
279 |
document.getElementById("ccgateway_cc_wallet").disabled = true;
|
280 |
+
|
281 |
+
|
282 |
+
if (window.XMLHttpRequest) {
|
283 |
+
xhr = new XMLHttpRequest();
|
284 |
+
} else if (window.ActiveXObject) {
|
285 |
+
xhr = new ActiveXObject("Microsoft.XMLHTTP");
|
286 |
+
}
|
287 |
+
|
288 |
+
var formData = new FormData();
|
289 |
+
formData.append("profile", profile);
|
290 |
+
|
291 |
+
xhr.open("POST", requestUrl, true);
|
292 |
+
xhr.timeout = 10000;
|
293 |
+
xhr.setRequestHeader('Accept', 'application/json');
|
294 |
+
xhr.ontimeout = onerror;
|
295 |
+
xhr.send(formData);
|
296 |
+
xhr.onreadystatechange = function(){
|
297 |
+
if(xhr.readyState == 4 && xhr.status == 200) {
|
298 |
+
respjson = xhr.responseText.evalJSON();
|
299 |
+
var response = JSON.parse(respjson);
|
300 |
+
var preResp = "************";
|
301 |
+
var maskToken = response[0].token.substr(12);
|
302 |
+
var month = response[0].expiry.substr(0,2);
|
303 |
+
month = month.replace(/^0+/, '');
|
304 |
+
var year = response[0].expiry.substr(2,4);
|
305 |
+
document.getElementById("ccgateway_cc_owner").value = response[0].name;
|
306 |
+
document.getElementById("ccgateway_cc_number_org").hide();
|
307 |
+
document.getElementById("cc_number_label").show();
|
308 |
+
document.getElementById("cc_number_label").innerHTML= preResp+maskToken;
|
309 |
+
document.getElementById("ccgateway_cc_number").value = response[0].token;
|
310 |
+
document.getElementById("ccgateway_cc_type").value = response[0].accttype;
|
311 |
+
document.getElementById("ccgateway_cc_owner").value = response[0].name;
|
312 |
+
document.getElementById("ccgateway_expiration").value = month;
|
313 |
+
document.getElementById("ccgateway_expiration_yr").value = "20"+year;
|
314 |
+
document.getElementById("ccgateway_cc_cid").value = "";
|
315 |
+
document.getElementById("save_card_4future").hide();
|
316 |
+
document.getElementById("payment_info").hide();
|
317 |
+
document.getElementById("payment_info1").hide();
|
318 |
+
stopLoading();
|
319 |
}
|
320 |
+
}
|
321 |
}else{
|
|
|
322 |
document.getElementById("ccgateway_cc_number_org").style.display='block';
|
323 |
document.getElementById("cc_number_label").hide();
|
324 |
document.getElementById("ccgateway_cc_owner").readOnly = false;
|
329 |
document.getElementById("ccgateway_expiration_yr").readOnly = false;
|
330 |
document.getElementById("ccgateway_cc_cid").readOnly = false;
|
331 |
document.getElementById("ccgateway_cc_wallet").disabled = false;
|
|
|
332 |
document.getElementById("ccgateway_cc_owner").value = "";
|
333 |
document.getElementById("ccgateway_cc_number_org").value = "";
|
334 |
document.getElementById("ccgateway_cc_number").value = "";
|
339 |
document.getElementById("save_card_4future").show();
|
340 |
document.getElementById("payment_info").show();
|
341 |
document.getElementById("payment_info1").show();
|
342 |
+
document.getElementById("testError").style.display = "none";
|
343 |
}
|
344 |
}
|
|
|
|
|
345 |
function showDefaultAddress(billingStreet,billingCity,billingRegion,billingCountry,billingPostCode,billingTelephone){
|
|
|
346 |
if( document.getElementById("ccgateway_default_address").checked == true){
|
347 |
document.getElementById("ccgateway_cc_street").value = billingStreet;
|
348 |
document.getElementById("ccgateway_cc_city").value = billingCity;
|
358 |
document.getElementById("ccgateway_cc_postcode").value = "";
|
359 |
document.getElementById("ccgateway_cc_telephone").value = "";
|
360 |
}
|
|
|
361 |
}
|
|
|
|
|
362 |
var loaded = false;
|
363 |
function startLoading() {
|
364 |
loaded = false;
|
365 |
showLoadingImage();
|
366 |
}
|
|
|
367 |
function showLoadingImage() {
|
368 |
document.getElementById("fade").style.display = "block";
|
369 |
var el = document.getElementById("loading_box");
|
372 |
new Effect.Appear('loading_box');
|
373 |
}
|
374 |
}
|
|
|
375 |
function stopLoading() {
|
376 |
Element.hide('fade');
|
377 |
loaded = true;
|
378 |
document.getElementById("fade").style.display = "none";
|
379 |
}
|
|
|
380 |
function resetcardinfo() {
|
381 |
document.getElementById("ccgateway_cc_number_org").value = "";
|
382 |
document.getElementById("ccgateway_cc_number_org").focus();
|
383 |
document.getElementById("ccgateway_cc_number").value = "";
|
384 |
document.getElementById("ccgateway_expiration").value = "";
|
385 |
document.getElementById("ccgateway_expiration_yr").value = "";
|
386 |
+
document.getElementById("testError").style.display = "none";
|
387 |
return false;
|
388 |
+
}
|
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>CardconnectCcgateway</name>
|
4 |
-
<version>1.0.8.
|
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-
|
14 |
-
<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="
|
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.8.4</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-03-31</date>
|
14 |
+
<time>18:47:54</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="5315c899838aca673798deb96e1dd5a7"/><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="55404e83a644d2c9b2b06ff8906908dc"/><file name="cardconnect_webservice.php" hash="3800c5ac5a2e0c5faa4e49ab824e8b82"/></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="9e62a0bc8f947d5abbe162b3a2a89859"/></dir><file name="OrderController.php" hash="d3a947e28c7dfaab5cbc5425fe5bc573"/></dir></dir><file name="CardmanagementController.php" hash="e1e0f5ad1df7f7c9e400b6c111a86124"/><file name="PaymentController.php" hash="6f701d10e6aada63fe2b286d18d58316"/></dir><dir name="etc"><file name="config.xml" hash="2ebd2692ddca9613e097177870bf0165"/><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="522f720341d93ed2b6da4c77bd94529b"/><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="4c3702b8459fb83f135efa2da6d89653"/><file name="index.phtml" hash="4917c72bd5cf1563957f2ad0c78ac84e"/><file name="new.phtml" hash="918fbb5c43137a1823ffee604570c561"/></dir><file name="form.phtml" hash="cfb468ebe4b5383a3d1d38dc4369cce1"/><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="19932283f6efdebee1d708944e8e7e4f"/></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>
|