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