Version Notes
remove validate-card-type class to allow submit
Download this release
Release Info
Developer | Heartland Payment Systems |
Extension | Hps_Securesubmit |
Version | 1.2.7 |
Comparing to | |
See all releases |
Code changes from version 1.2.6 to 1.2.7
- app/code/community/Hps/Securesubmit/Block/Info.php +10 -4
- app/code/community/Hps/Securesubmit/Model/Payment.php +68 -38
- app/code/community/Hps/Securesubmit/controllers/GiftcardController.php +10 -7
- app/code/community/Hps/Securesubmit/etc/system.xml +33 -23
- app/design/frontend/base/default/layout/securesubmit.xml +35 -26
- app/design/frontend/base/default/template/securesubmit/form.phtml +117 -128
- app/design/frontend/base/default/template/securesubmit/storedcards.phtml +21 -28
- js/securesubmit/checkout-form.js +533 -64
- package.xml +6 -6
app/code/community/Hps/Securesubmit/Block/Info.php
CHANGED
@@ -13,14 +13,20 @@ class Hps_SecureSubmit_Block_Info extends Mage_Payment_Block_Info
|
|
13 |
$transport = parent::_prepareSpecificInformation($transport);
|
14 |
$data = array();
|
15 |
$info = $this->getInfo();
|
16 |
-
$additionalData = $info->getAdditionalData();
|
|
|
17 |
$gift = '';
|
18 |
|
19 |
-
if (
|
20 |
-
|
21 |
}
|
22 |
|
23 |
-
$
|
|
|
|
|
|
|
|
|
|
|
24 |
|
25 |
return $transport->setData(array_merge($data, $transport->getData()));
|
26 |
}
|
13 |
$transport = parent::_prepareSpecificInformation($transport);
|
14 |
$data = array();
|
15 |
$info = $this->getInfo();
|
16 |
+
$additionalData = unserialize($info->getAdditionalData());
|
17 |
+
$skipCC = isset($additionalData['giftcard_skip_cc']) && $additionalData['giftcard_skip_cc'];
|
18 |
$gift = '';
|
19 |
|
20 |
+
if (isset($additionalData['giftcard_number'])) {
|
21 |
+
$gift = "Gift Card" . (!$skipCC ? ' & ' : '');;
|
22 |
}
|
23 |
|
24 |
+
$type = $gift;
|
25 |
+
if (!$skipCC) {
|
26 |
+
$type .= $info->getCcLast4() . " (" . $info->getCcExpMonth() . "/" . $info->getCcExpYear() . ")";
|
27 |
+
}
|
28 |
+
|
29 |
+
$data[Mage::helper("payment")->__("Payment Type")] = $type;
|
30 |
|
31 |
return $transport->setData(array_merge($data, $transport->getData()));
|
32 |
}
|
app/code/community/Hps/Securesubmit/Model/Payment.php
CHANGED
@@ -1,13 +1,12 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
require_once Mage::getBaseDir('lib').DS.'SecureSubmit'.DS.'Hps.php';
|
|
|
4 |
/**
|
5 |
* @category Hps
|
6 |
* @package Hps_Securesubmit
|
7 |
* @copyright Copyright (c) 2015 Heartland Payment Systems (https://www.magento.com)
|
8 |
* @license https://github.com/SecureSubmit/heartland-magento-extension/blob/master/LICENSE Custom License
|
9 |
*/
|
10 |
-
|
11 |
class Hps_Securesubmit_Model_Payment extends Mage_Payment_Model_Method_Cc
|
12 |
{
|
13 |
protected $_code = 'hps_securesubmit';
|
@@ -18,18 +17,16 @@ class Hps_Securesubmit_Model_Payment extends Mage_Payment_Model_Method_Cc
|
|
18 |
protected $_canRefundInvoicePartial = true;
|
19 |
protected $_canVoid = true;
|
20 |
protected $_canAuthorize = true;
|
21 |
-
|
22 |
protected $_supportedCurrencyCodes = array('USD');
|
23 |
protected $_minOrderTotal = 0.5;
|
24 |
-
|
25 |
protected $_formBlockType = 'hps_securesubmit/form';
|
26 |
protected $_formBlockTypeAdmin = 'hps_securesubmit/adminhtml_form';
|
27 |
protected $_infoBlockType = 'hps_securesubmit/info';
|
28 |
-
|
29 |
protected $_allow_fraud = null;
|
30 |
protected $_email_fraud = null;
|
31 |
protected $_fraud_address = null;
|
32 |
protected $_fraud_text = null;
|
|
|
33 |
|
34 |
/**
|
35 |
* Fields that should be replaced in debug with '***'
|
@@ -43,13 +40,11 @@ class Hps_Securesubmit_Model_Payment extends Mage_Payment_Model_Method_Cc
|
|
43 |
$info = $this->getInfoInstance();
|
44 |
$additionalData = new Varien_Object($info->getAdditionalData() ? unserialize($info->getAdditionalData()) : null);
|
45 |
$secureToken = $additionalData->getSecuresubmitToken() ? $additionalData->getSecuresubmitToken() : null;
|
46 |
-
|
47 |
// Gracefully handle javascript errors.
|
48 |
if (!$secureToken) {
|
49 |
Mage::log('Payment information submitted without token.', Zend_Log::ERR);
|
50 |
$this->throwUserError(Mage::helper('hps_securesubmit')->__('An unexpected error occurred. Please try resubmitting your payment information.'), null, true);
|
51 |
}
|
52 |
-
|
53 |
return $this;
|
54 |
}
|
55 |
|
@@ -94,7 +89,6 @@ class Hps_Securesubmit_Model_Payment extends Mage_Payment_Model_Method_Cc
|
|
94 |
$secureToken = $additionalData->getSecuresubmitToken() ? $additionalData->getSecuresubmitToken() : null;
|
95 |
$saveCreditCard = !! (bool)$additionalData->getCcSaveFuture();
|
96 |
$customerId = $additionalData->getCustomerId();
|
97 |
-
|
98 |
$giftService = $this->_getGiftService();
|
99 |
$giftCardNumber = $additionalData->getGiftcardNumber();
|
100 |
$giftCardPin = filter_var($additionalData->getGiftcardPin(),FILTER_VALIDATE_INT, ARRAY('default' => FILTER_NULL_ON_FAILURE));
|
@@ -122,12 +116,11 @@ class Hps_Securesubmit_Model_Payment extends Mage_Payment_Model_Method_Cc
|
|
122 |
'gift_card_number' => $giftCardNumber,
|
123 |
'gift_card_transaction' => $giftresp->transactionId,
|
124 |
'gift_card_amount_charged' => $amount));
|
125 |
-
$payment->setStatus(self::STATUS_APPROVED);
|
126 |
-
$payment->setAmount($amount);
|
127 |
-
$payment->setLastTransId($response->transactionId);
|
128 |
-
$payment->setTransactionId($response->transactionId);
|
129 |
-
$payment->setIsTransactionClosed(0);
|
130 |
|
|
|
|
|
|
|
|
|
131 |
return $this;
|
132 |
} catch (Exception $e) {
|
133 |
Mage::logException($e);
|
@@ -143,10 +136,8 @@ class Hps_Securesubmit_Model_Payment extends Mage_Payment_Model_Method_Cc
|
|
143 |
'gift_card_number' => $giftCardNumber,
|
144 |
'gift_card_transaction' => $giftresp->transactionId,
|
145 |
'gift_card_amount_charged' => $giftResponse->balanceAmount));
|
146 |
-
|
147 |
$payment->setAmount($giftResponse->balanceAmount)->save();
|
148 |
$amount = $amount - $giftResponse->balanceAmount; // remainder
|
149 |
-
|
150 |
// 3. TODO: if the card payment fails later, refund the gift transaction
|
151 |
}
|
152 |
}
|
@@ -157,12 +148,12 @@ class Hps_Securesubmit_Model_Payment extends Mage_Payment_Model_Method_Cc
|
|
157 |
$cardData->number = $payment->getCcLast4();
|
158 |
$cardData->expYear = $payment->getCcExpYear();
|
159 |
$cardData->expMonth = $payment->getCcExpMonth();
|
|
|
160 |
}
|
161 |
|
162 |
$chargeService = $this->_getChargeService();
|
163 |
$cardHolder = $this->_getCardHolderData($order);
|
164 |
$details = $this->_getTxnDetailsData($order);
|
165 |
-
|
166 |
$cardOrToken = new HpsTokenData();
|
167 |
$cardOrToken->tokenValue = $secureToken;
|
168 |
|
@@ -195,18 +186,15 @@ class Hps_Securesubmit_Model_Payment extends Mage_Payment_Model_Method_Cc
|
|
195 |
}
|
196 |
|
197 |
$this->_debugChargeService($chargeService);
|
198 |
-
|
199 |
-
$
|
200 |
-
|
201 |
-
$payment->setCcTransId($response->transactionId);
|
202 |
-
$payment->setTransactionId($response->transactionId);
|
203 |
-
$payment->setIsTransactionClosed(0);
|
204 |
if ($giftCardNumber) {
|
205 |
$order->addStatusHistoryComment('Remaining amount to be charged to credit card ' .$this->_formatAmount((string)$amount) . '. [partial payment]')->save();
|
206 |
}
|
207 |
|
208 |
if ($multiToken) {
|
209 |
-
$this->saveMultiUseToken($response, $cardData, $customerId);
|
210 |
}
|
211 |
} catch (HpsCreditException $e) {
|
212 |
Mage::logException($e);
|
@@ -221,7 +209,6 @@ class Hps_Securesubmit_Model_Payment extends Mage_Payment_Model_Method_Cc
|
|
221 |
|
222 |
if ($this->_allow_fraud && $e->getCode() == HpsExceptionCodes::POSSIBLE_FRAUD_DETECTED) {
|
223 |
// we can skip the card saving if it fails for possible fraud there will be no token.
|
224 |
-
|
225 |
if ($this->_email_fraud && $this->_fraud_address != '') {
|
226 |
// EMAIL THE PEOPLE
|
227 |
$this->sendEmail(
|
@@ -232,14 +219,10 @@ class Hps_Securesubmit_Model_Payment extends Mage_Payment_Model_Method_Cc
|
|
232 |
);
|
233 |
}
|
234 |
|
235 |
-
$
|
236 |
-
$payment->setAmount($amount);
|
237 |
-
$payment->setLastTransId($e->transactionId);
|
238 |
-
$payment->setCcTransId($e->transactionId);
|
239 |
-
$payment->setTransactionId($e->transactionId);
|
240 |
-
$payment->setIsTransactionClosed(0);
|
241 |
} else {
|
242 |
$payment->setStatus(self::STATUS_ERROR);
|
|
|
243 |
if ($e->getCode() == HpsExceptionCodes::POSSIBLE_FRAUD_DETECTED) {
|
244 |
$this->throwUserError($this->_fraud_text, null, true);
|
245 |
} else {
|
@@ -260,19 +243,41 @@ class Hps_Securesubmit_Model_Payment extends Mage_Payment_Model_Method_Cc
|
|
260 |
return $this;
|
261 |
}
|
262 |
|
263 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
264 |
{
|
265 |
$tokenData = $response->tokenData; /* @var $tokenData HpsTokenData */
|
|
|
266 |
if ($tokenData->responseCode == '0') {
|
267 |
try {
|
268 |
$this->_getChargeService()->updateTokenExpiration($tokenData->tokenValue, $cardData->expMonth, $cardData->expYear);
|
269 |
} catch (Exception $e) {
|
270 |
Mage::logException($e);
|
271 |
}
|
|
|
272 |
if ($customerId > 0) {
|
273 |
-
Mage::helper('hps_securesubmit')->saveMultiToken($tokenData->tokenValue, $cardData, $
|
274 |
} else {
|
275 |
-
Mage::helper('hps_securesubmit')->saveMultiToken($tokenData->tokenValue, $cardData, $
|
276 |
}
|
277 |
} else {
|
278 |
Mage::log('Requested multi token has not been generated for the transaction # ' . $response->transactionId, Zend_Log::WARN);
|
@@ -303,6 +308,7 @@ class Hps_Securesubmit_Model_Payment extends Mage_Payment_Model_Method_Cc
|
|
303 |
} else {
|
304 |
$this->_refund($payment, $amount);
|
305 |
}
|
|
|
306 |
return $this;
|
307 |
}
|
308 |
|
@@ -323,13 +329,16 @@ class Hps_Securesubmit_Model_Payment extends Mage_Payment_Model_Method_Cc
|
|
323 |
public function transactionActiveOnGateway(Varien_Object $payment)
|
324 |
{
|
325 |
$transactionId = null;
|
|
|
326 |
if (false !== ($parentId = $this->getParentTransactionId($payment))) {
|
327 |
$transactionId = $parentId;
|
328 |
} else {
|
329 |
$transactionId = $payment->getCcTransId();
|
330 |
}
|
|
|
331 |
$service = $this->_getChargeService();
|
332 |
$transaction = $service->get($transactionId);
|
|
|
333 |
return $transaction->transactionStatus == 'A';
|
334 |
}
|
335 |
|
@@ -343,6 +352,7 @@ class Hps_Securesubmit_Model_Payment extends Mage_Payment_Model_Method_Cc
|
|
343 |
public function void(Varien_Object $payment)
|
344 |
{
|
345 |
$transactionId = null;
|
|
|
346 |
if (false !== ($parentId = $this->getParentTransactionId($payment))) {
|
347 |
$transactionId = $parentId;
|
348 |
} else {
|
@@ -350,6 +360,7 @@ class Hps_Securesubmit_Model_Payment extends Mage_Payment_Model_Method_Cc
|
|
350 |
}
|
351 |
|
352 |
$chargeService = $this->_getChargeService();
|
|
|
353 |
try {
|
354 |
$voidResponse = $chargeService->void($transactionId);
|
355 |
$payment
|
@@ -378,7 +389,6 @@ class Hps_Securesubmit_Model_Payment extends Mage_Payment_Model_Method_Cc
|
|
378 |
{
|
379 |
$transactionId = $payment->getCcTransId();
|
380 |
$order = $payment->getOrder(); /* @var $order Mage_Sales_Model_Order */
|
381 |
-
|
382 |
$chargeService = $this->_getChargeService();
|
383 |
$cardHolder = $this->_getCardHolderData($order);
|
384 |
$details = $this->_getTxnDetailsData($order);
|
@@ -391,7 +401,6 @@ class Hps_Securesubmit_Model_Payment extends Mage_Payment_Model_Method_Cc
|
|
391 |
$cardHolder,
|
392 |
$details
|
393 |
);
|
394 |
-
|
395 |
$payment
|
396 |
->setTransactionId($refundResponse->transactionId)
|
397 |
->setParentTransactionId($transactionId)
|
@@ -428,7 +437,6 @@ class Hps_Securesubmit_Model_Payment extends Mage_Payment_Model_Method_Cc
|
|
428 |
if (!in_array($currencyCode, $this->_supportedCurrencyCodes)) {
|
429 |
return false;
|
430 |
}
|
431 |
-
|
432 |
return true;
|
433 |
}
|
434 |
|
@@ -439,6 +447,7 @@ class Hps_Securesubmit_Model_Payment extends Mage_Payment_Model_Method_Cc
|
|
439 |
if (!($data instanceof Varien_Object)) {
|
440 |
$data = new Varien_Object($data);
|
441 |
}
|
|
|
442 |
$info = $this->getInfoInstance();
|
443 |
|
444 |
if (!$info->getCcLast4() && $data->getCcLastFour()) {
|
@@ -446,21 +455,35 @@ class Hps_Securesubmit_Model_Payment extends Mage_Payment_Model_Method_Cc
|
|
446 |
}
|
447 |
|
448 |
$details = array();
|
|
|
449 |
if ($data->getData('cc_save_future')) {
|
450 |
$details['cc_save_future'] = 1;
|
451 |
}
|
|
|
452 |
if ($data->getData('securesubmit_token')) {
|
453 |
$details['securesubmit_token'] = $data->getData('securesubmit_token');
|
454 |
}
|
|
|
455 |
if ($data->getData('giftcard_number')) {
|
456 |
$details['giftcard_number'] = $data->getData('giftcard_number');
|
457 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
458 |
if ($data->getData('use_credit_card')) {
|
459 |
$details['use_credit_card'] = 1;
|
460 |
}
|
|
|
461 |
if ($data->getData('customer_id')) {
|
462 |
$details['customer_id'] = $data->getData('customer_id');
|
463 |
}
|
|
|
464 |
if (!empty($details)) {
|
465 |
$this->getInfoInstance()->setAdditionalData(serialize($details));
|
466 |
}
|
@@ -491,7 +514,8 @@ class Hps_Securesubmit_Model_Payment extends Mage_Payment_Model_Method_Cc
|
|
491 |
if ($goToPaymentSection && Mage::app()->getRequest()->getOriginalPathInfo() == '/checkout/onepage/saveOrder') {
|
492 |
Mage::getSingleton('checkout/session')->setGotoSection('payment');
|
493 |
}
|
494 |
-
|
|
|
495 |
throw new Mage_Core_Exception($error);
|
496 |
}
|
497 |
|
@@ -571,20 +595,24 @@ class Hps_Securesubmit_Model_Payment extends Mage_Payment_Model_Method_Cc
|
|
571 |
{
|
572 |
$memo = array();
|
573 |
$ip = '';
|
|
|
574 |
if (isset($_SERVER['REMOTE_ADDR'])) {
|
575 |
$ip = $_SERVER['REMOTE_ADDR'];
|
576 |
}
|
|
|
577 |
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
|
578 |
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
|
579 |
}
|
|
|
580 |
if ($ip) {
|
581 |
$memo[] = 'Customer IP Address: '.$ip;
|
582 |
}
|
|
|
583 |
if (isset($_SERVER['HTTP_USER_AGENT'])) {
|
584 |
$memo[] = 'User Agent: '.$_SERVER['HTTP_USER_AGENT'];
|
585 |
}
|
586 |
-
$memo = implode(', ', $memo);
|
587 |
|
|
|
588 |
$details = new HpsTransactionDetails();
|
589 |
$details->memo = substr($memo, 0, 200); // Actual limit unknown..
|
590 |
$details->invoiceNumber = $order->getIncrementId();
|
@@ -615,11 +643,13 @@ class Hps_Securesubmit_Model_Payment extends Mage_Payment_Model_Method_Cc
|
|
615 |
$headers[] = sprintf('From: %s', $from);
|
616 |
$headers[] = sprintf('Reply-To: %s', $from);
|
617 |
$message = $body;
|
|
|
618 |
if ($isHtml) {
|
619 |
$message = sprintf('<html><body>%s</body></html>', $body);
|
620 |
$headers[] = 'MIME-Version: 1.0';
|
621 |
$headers[] = 'Content-Type: text/html; charset=ISO-8859-1';
|
622 |
}
|
|
|
623 |
$message = wordwrap($message, 70, "\r\n");
|
624 |
mail($to, $subject, $message, implode("\r\n", $headers));
|
625 |
}
|
1 |
<?php
|
|
|
2 |
require_once Mage::getBaseDir('lib').DS.'SecureSubmit'.DS.'Hps.php';
|
3 |
+
|
4 |
/**
|
5 |
* @category Hps
|
6 |
* @package Hps_Securesubmit
|
7 |
* @copyright Copyright (c) 2015 Heartland Payment Systems (https://www.magento.com)
|
8 |
* @license https://github.com/SecureSubmit/heartland-magento-extension/blob/master/LICENSE Custom License
|
9 |
*/
|
|
|
10 |
class Hps_Securesubmit_Model_Payment extends Mage_Payment_Model_Method_Cc
|
11 |
{
|
12 |
protected $_code = 'hps_securesubmit';
|
17 |
protected $_canRefundInvoicePartial = true;
|
18 |
protected $_canVoid = true;
|
19 |
protected $_canAuthorize = true;
|
|
|
20 |
protected $_supportedCurrencyCodes = array('USD');
|
21 |
protected $_minOrderTotal = 0.5;
|
|
|
22 |
protected $_formBlockType = 'hps_securesubmit/form';
|
23 |
protected $_formBlockTypeAdmin = 'hps_securesubmit/adminhtml_form';
|
24 |
protected $_infoBlockType = 'hps_securesubmit/info';
|
|
|
25 |
protected $_allow_fraud = null;
|
26 |
protected $_email_fraud = null;
|
27 |
protected $_fraud_address = null;
|
28 |
protected $_fraud_text = null;
|
29 |
+
protected $_use_iframes = null;
|
30 |
|
31 |
/**
|
32 |
* Fields that should be replaced in debug with '***'
|
40 |
$info = $this->getInfoInstance();
|
41 |
$additionalData = new Varien_Object($info->getAdditionalData() ? unserialize($info->getAdditionalData()) : null);
|
42 |
$secureToken = $additionalData->getSecuresubmitToken() ? $additionalData->getSecuresubmitToken() : null;
|
|
|
43 |
// Gracefully handle javascript errors.
|
44 |
if (!$secureToken) {
|
45 |
Mage::log('Payment information submitted without token.', Zend_Log::ERR);
|
46 |
$this->throwUserError(Mage::helper('hps_securesubmit')->__('An unexpected error occurred. Please try resubmitting your payment information.'), null, true);
|
47 |
}
|
|
|
48 |
return $this;
|
49 |
}
|
50 |
|
89 |
$secureToken = $additionalData->getSecuresubmitToken() ? $additionalData->getSecuresubmitToken() : null;
|
90 |
$saveCreditCard = !! (bool)$additionalData->getCcSaveFuture();
|
91 |
$customerId = $additionalData->getCustomerId();
|
|
|
92 |
$giftService = $this->_getGiftService();
|
93 |
$giftCardNumber = $additionalData->getGiftcardNumber();
|
94 |
$giftCardPin = filter_var($additionalData->getGiftcardPin(),FILTER_VALIDATE_INT, ARRAY('default' => FILTER_NULL_ON_FAILURE));
|
116 |
'gift_card_number' => $giftCardNumber,
|
117 |
'gift_card_transaction' => $giftresp->transactionId,
|
118 |
'gift_card_amount_charged' => $amount));
|
|
|
|
|
|
|
|
|
|
|
119 |
|
120 |
+
// just adds a trackable type for the DB
|
121 |
+
$giftresp->cardType = 'Gift';
|
122 |
+
// \Hps_Securesubmit_Model_Payment::closeTransaction
|
123 |
+
$this->closeTransaction($payment,$amount,$giftresp);
|
124 |
return $this;
|
125 |
} catch (Exception $e) {
|
126 |
Mage::logException($e);
|
136 |
'gift_card_number' => $giftCardNumber,
|
137 |
'gift_card_transaction' => $giftresp->transactionId,
|
138 |
'gift_card_amount_charged' => $giftResponse->balanceAmount));
|
|
|
139 |
$payment->setAmount($giftResponse->balanceAmount)->save();
|
140 |
$amount = $amount - $giftResponse->balanceAmount; // remainder
|
|
|
141 |
// 3. TODO: if the card payment fails later, refund the gift transaction
|
142 |
}
|
143 |
}
|
148 |
$cardData->number = $payment->getCcLast4();
|
149 |
$cardData->expYear = $payment->getCcExpYear();
|
150 |
$cardData->expMonth = $payment->getCcExpMonth();
|
151 |
+
$cardType = $payment->getCcType();
|
152 |
}
|
153 |
|
154 |
$chargeService = $this->_getChargeService();
|
155 |
$cardHolder = $this->_getCardHolderData($order);
|
156 |
$details = $this->_getTxnDetailsData($order);
|
|
|
157 |
$cardOrToken = new HpsTokenData();
|
158 |
$cardOrToken->tokenValue = $secureToken;
|
159 |
|
186 |
}
|
187 |
|
188 |
$this->_debugChargeService($chargeService);
|
189 |
+
// \Hps_Securesubmit_Model_Payment::closeTransaction
|
190 |
+
$this->closeTransaction($payment,$amount,$response);
|
191 |
+
|
|
|
|
|
|
|
192 |
if ($giftCardNumber) {
|
193 |
$order->addStatusHistoryComment('Remaining amount to be charged to credit card ' .$this->_formatAmount((string)$amount) . '. [partial payment]')->save();
|
194 |
}
|
195 |
|
196 |
if ($multiToken) {
|
197 |
+
$this->saveMultiUseToken($response, $cardData, $customerId, $cardType);
|
198 |
}
|
199 |
} catch (HpsCreditException $e) {
|
200 |
Mage::logException($e);
|
209 |
|
210 |
if ($this->_allow_fraud && $e->getCode() == HpsExceptionCodes::POSSIBLE_FRAUD_DETECTED) {
|
211 |
// we can skip the card saving if it fails for possible fraud there will be no token.
|
|
|
212 |
if ($this->_email_fraud && $this->_fraud_address != '') {
|
213 |
// EMAIL THE PEOPLE
|
214 |
$this->sendEmail(
|
219 |
);
|
220 |
}
|
221 |
|
222 |
+
$this->closeTransaction($payment,$amount,$e);
|
|
|
|
|
|
|
|
|
|
|
223 |
} else {
|
224 |
$payment->setStatus(self::STATUS_ERROR);
|
225 |
+
|
226 |
if ($e->getCode() == HpsExceptionCodes::POSSIBLE_FRAUD_DETECTED) {
|
227 |
$this->throwUserError($this->_fraud_text, null, true);
|
228 |
} else {
|
243 |
return $this;
|
244 |
}
|
245 |
|
246 |
+
/**
|
247 |
+
* @param Varien_Object|Mage_Sales_Model_Order_Payment $payment
|
248 |
+
* @param float $amount
|
249 |
+
* @param HpsReportTransactionDetails|HpsAuthorization $response
|
250 |
+
* @param Mage_Payment_Model_Method_Abstract::STATUS_UNKNOWN|STATUS_APPROVED|STATUS_ERROR|STATUS_DECLINED|STATUS_VOID|STATUS_SUCCESS $status
|
251 |
+
*/
|
252 |
+
protected function closeTransaction($payment, $amount, $response, $status = self::STATUS_APPROVED){
|
253 |
+
$payment->setStatus($status);
|
254 |
+
$payment->setAmount($amount);
|
255 |
+
if (property_exists($response,'authorizationCode')){
|
256 |
+
$payment->setCcApproval($response->authorizationCode);
|
257 |
+
}
|
258 |
+
if (property_exists($response,'avsResultCode')){
|
259 |
+
$payment->setCcAvsStatus($response->avsResultCode);
|
260 |
+
}
|
261 |
+
$payment->setLastTransId($response->transactionId);
|
262 |
+
$payment->setCcTransId($response->transactionId);
|
263 |
+
$payment->setTransactionId($response->transactionId);
|
264 |
+
$payment->setIsTransactionClosed(0);
|
265 |
+
}
|
266 |
+
protected function saveMultiUseToken($response, $cardData, $customerId, $cardType)
|
267 |
{
|
268 |
$tokenData = $response->tokenData; /* @var $tokenData HpsTokenData */
|
269 |
+
|
270 |
if ($tokenData->responseCode == '0') {
|
271 |
try {
|
272 |
$this->_getChargeService()->updateTokenExpiration($tokenData->tokenValue, $cardData->expMonth, $cardData->expYear);
|
273 |
} catch (Exception $e) {
|
274 |
Mage::logException($e);
|
275 |
}
|
276 |
+
|
277 |
if ($customerId > 0) {
|
278 |
+
Mage::helper('hps_securesubmit')->saveMultiToken($tokenData->tokenValue, $cardData, $cardType, $customerId);
|
279 |
} else {
|
280 |
+
Mage::helper('hps_securesubmit')->saveMultiToken($tokenData->tokenValue, $cardData, $cardType);
|
281 |
}
|
282 |
} else {
|
283 |
Mage::log('Requested multi token has not been generated for the transaction # ' . $response->transactionId, Zend_Log::WARN);
|
308 |
} else {
|
309 |
$this->_refund($payment, $amount);
|
310 |
}
|
311 |
+
|
312 |
return $this;
|
313 |
}
|
314 |
|
329 |
public function transactionActiveOnGateway(Varien_Object $payment)
|
330 |
{
|
331 |
$transactionId = null;
|
332 |
+
|
333 |
if (false !== ($parentId = $this->getParentTransactionId($payment))) {
|
334 |
$transactionId = $parentId;
|
335 |
} else {
|
336 |
$transactionId = $payment->getCcTransId();
|
337 |
}
|
338 |
+
|
339 |
$service = $this->_getChargeService();
|
340 |
$transaction = $service->get($transactionId);
|
341 |
+
|
342 |
return $transaction->transactionStatus == 'A';
|
343 |
}
|
344 |
|
352 |
public function void(Varien_Object $payment)
|
353 |
{
|
354 |
$transactionId = null;
|
355 |
+
|
356 |
if (false !== ($parentId = $this->getParentTransactionId($payment))) {
|
357 |
$transactionId = $parentId;
|
358 |
} else {
|
360 |
}
|
361 |
|
362 |
$chargeService = $this->_getChargeService();
|
363 |
+
|
364 |
try {
|
365 |
$voidResponse = $chargeService->void($transactionId);
|
366 |
$payment
|
389 |
{
|
390 |
$transactionId = $payment->getCcTransId();
|
391 |
$order = $payment->getOrder(); /* @var $order Mage_Sales_Model_Order */
|
|
|
392 |
$chargeService = $this->_getChargeService();
|
393 |
$cardHolder = $this->_getCardHolderData($order);
|
394 |
$details = $this->_getTxnDetailsData($order);
|
401 |
$cardHolder,
|
402 |
$details
|
403 |
);
|
|
|
404 |
$payment
|
405 |
->setTransactionId($refundResponse->transactionId)
|
406 |
->setParentTransactionId($transactionId)
|
437 |
if (!in_array($currencyCode, $this->_supportedCurrencyCodes)) {
|
438 |
return false;
|
439 |
}
|
|
|
440 |
return true;
|
441 |
}
|
442 |
|
447 |
if (!($data instanceof Varien_Object)) {
|
448 |
$data = new Varien_Object($data);
|
449 |
}
|
450 |
+
|
451 |
$info = $this->getInfoInstance();
|
452 |
|
453 |
if (!$info->getCcLast4() && $data->getCcLastFour()) {
|
455 |
}
|
456 |
|
457 |
$details = array();
|
458 |
+
|
459 |
if ($data->getData('cc_save_future')) {
|
460 |
$details['cc_save_future'] = 1;
|
461 |
}
|
462 |
+
|
463 |
if ($data->getData('securesubmit_token')) {
|
464 |
$details['securesubmit_token'] = $data->getData('securesubmit_token');
|
465 |
}
|
466 |
+
|
467 |
if ($data->getData('giftcard_number')) {
|
468 |
$details['giftcard_number'] = $data->getData('giftcard_number');
|
469 |
}
|
470 |
+
|
471 |
+
if ($data->getData('giftcard_pin')) {
|
472 |
+
$details['giftcard_pin'] = $data->getData('giftcard_pin');
|
473 |
+
}
|
474 |
+
|
475 |
+
if ($data->getData('giftcard_skip_cc')) {
|
476 |
+
$details['giftcard_skip_cc'] = $data->getData('giftcard_skip_cc') === 'true';
|
477 |
+
}
|
478 |
+
|
479 |
if ($data->getData('use_credit_card')) {
|
480 |
$details['use_credit_card'] = 1;
|
481 |
}
|
482 |
+
|
483 |
if ($data->getData('customer_id')) {
|
484 |
$details['customer_id'] = $data->getData('customer_id');
|
485 |
}
|
486 |
+
|
487 |
if (!empty($details)) {
|
488 |
$this->getInfoInstance()->setAdditionalData(serialize($details));
|
489 |
}
|
514 |
if ($goToPaymentSection && Mage::app()->getRequest()->getOriginalPathInfo() == '/checkout/onepage/saveOrder') {
|
515 |
Mage::getSingleton('checkout/session')->setGotoSection('payment');
|
516 |
}
|
517 |
+
|
518 |
+
Mage::log('throwing user error with Mage_Core_Exception: ' . $error);
|
519 |
throw new Mage_Core_Exception($error);
|
520 |
}
|
521 |
|
595 |
{
|
596 |
$memo = array();
|
597 |
$ip = '';
|
598 |
+
|
599 |
if (isset($_SERVER['REMOTE_ADDR'])) {
|
600 |
$ip = $_SERVER['REMOTE_ADDR'];
|
601 |
}
|
602 |
+
|
603 |
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
|
604 |
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
|
605 |
}
|
606 |
+
|
607 |
if ($ip) {
|
608 |
$memo[] = 'Customer IP Address: '.$ip;
|
609 |
}
|
610 |
+
|
611 |
if (isset($_SERVER['HTTP_USER_AGENT'])) {
|
612 |
$memo[] = 'User Agent: '.$_SERVER['HTTP_USER_AGENT'];
|
613 |
}
|
|
|
614 |
|
615 |
+
$memo = implode(', ', $memo);
|
616 |
$details = new HpsTransactionDetails();
|
617 |
$details->memo = substr($memo, 0, 200); // Actual limit unknown..
|
618 |
$details->invoiceNumber = $order->getIncrementId();
|
643 |
$headers[] = sprintf('From: %s', $from);
|
644 |
$headers[] = sprintf('Reply-To: %s', $from);
|
645 |
$message = $body;
|
646 |
+
|
647 |
if ($isHtml) {
|
648 |
$message = sprintf('<html><body>%s</body></html>', $body);
|
649 |
$headers[] = 'MIME-Version: 1.0';
|
650 |
$headers[] = 'Content-Type: text/html; charset=ISO-8859-1';
|
651 |
}
|
652 |
+
|
653 |
$message = wordwrap($message, 70, "\r\n");
|
654 |
mail($to, $subject, $message, implode("\r\n", $headers));
|
655 |
}
|
app/code/community/Hps/Securesubmit/controllers/GiftcardController.php
CHANGED
@@ -1,11 +1,12 @@
|
|
1 |
<?php
|
2 |
require_once Mage::getBaseDir('lib') . DS . 'SecureSubmit' . DS . 'Hps.php';
|
3 |
|
4 |
-
class Hps_Securesubmit_GiftcardController extends
|
5 |
-
|
6 |
public function getBalanceAction() {
|
7 |
try {
|
8 |
$giftCardNumber = $this->getRequest()->getParam('giftcard_number');
|
|
|
9 |
|
10 |
if (!$giftCardNumber) {
|
11 |
throw new Mage_Core_Exception($this->__('No number received.'));
|
@@ -21,13 +22,18 @@ class Hps_Securesubmit_GiftcardController extends Mage_core_Controller_Front_Act
|
|
21 |
|
22 |
try {
|
23 |
$card = new HpsGiftCard();
|
24 |
-
$card->number = $
|
|
|
25 |
|
26 |
$response = $giftService->balance($card);
|
27 |
|
|
|
|
|
|
|
28 |
$result = array(
|
29 |
'error' => FALSE,
|
30 |
-
'balance' => $response->balanceAmount
|
|
|
31 |
);
|
32 |
} catch (HpsException $e) {
|
33 |
$result = array('error' => TRUE, 'message' => $e->getMessage());
|
@@ -42,7 +48,4 @@ class Hps_Securesubmit_GiftcardController extends Mage_core_Controller_Front_Act
|
|
42 |
$this->getResponse()->setHeader('Content-Type', 'application/json', TRUE);
|
43 |
$this->getResponse()->setBody(json_encode($result));
|
44 |
}
|
45 |
-
|
46 |
}
|
47 |
-
|
48 |
-
?>
|
1 |
<?php
|
2 |
require_once Mage::getBaseDir('lib') . DS . 'SecureSubmit' . DS . 'Hps.php';
|
3 |
|
4 |
+
class Hps_Securesubmit_GiftcardController extends Mage_Core_Controller_Front_Action
|
5 |
+
{
|
6 |
public function getBalanceAction() {
|
7 |
try {
|
8 |
$giftCardNumber = $this->getRequest()->getParam('giftcard_number');
|
9 |
+
$giftCardPin = $this->getRequest()->getParam('giftcard_pin');
|
10 |
|
11 |
if (!$giftCardNumber) {
|
12 |
throw new Mage_Core_Exception($this->__('No number received.'));
|
22 |
|
23 |
try {
|
24 |
$card = new HpsGiftCard();
|
25 |
+
$card->number = $giftCardNumber;
|
26 |
+
$card->pin = $giftCardPin;
|
27 |
|
28 |
$response = $giftService->balance($card);
|
29 |
|
30 |
+
$cart = Mage::getModel('checkout/session')->getQuote();
|
31 |
+
$total = $cart->getGrandTotal();
|
32 |
+
|
33 |
$result = array(
|
34 |
'error' => FALSE,
|
35 |
+
'balance' => $response->balanceAmount,
|
36 |
+
'less_than_total' => $response->balanceAmount < $total,
|
37 |
);
|
38 |
} catch (HpsException $e) {
|
39 |
$result = array('error' => TRUE, 'message' => $e->getMessage());
|
48 |
$this->getResponse()->setHeader('Content-Type', 'application/json', TRUE);
|
49 |
$this->getResponse()->setBody(json_encode($result));
|
50 |
}
|
|
|
51 |
}
|
|
|
|
app/code/community/Hps/Securesubmit/etc/system.xml
CHANGED
@@ -97,35 +97,35 @@
|
|
97 |
Heartland Account must already be signed up to accept Gift Cards.]]>
|
98 |
</comment>
|
99 |
</allow_heartland_gift>
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
<label>Notification Email Address</label>
|
121 |
<frontend_type>text</frontend_type>
|
122 |
<sort_order>64</sort_order>
|
123 |
<show_in_default>1</show_in_default>
|
124 |
<show_in_website>1</show_in_website>
|
125 |
<show_in_store>1</show_in_store>
|
126 |
-
|
127 |
</fraud_address>
|
128 |
-
|
129 |
<label>Fraud Text</label>
|
130 |
<frontend_type>textarea</frontend_type>
|
131 |
<sort_order>65</sort_order>
|
@@ -134,7 +134,17 @@
|
|
134 |
<show_in_store>1</show_in_store>
|
135 |
<comment><![CDATA[This is the text that will display to the customer when fraud is detected and the transaction fails.]]></comment>
|
136 |
</fraud_text>
|
137 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
138 |
<label>Custom Error Message</label>
|
139 |
<frontend_type>textarea</frontend_type>
|
140 |
<sort_order>66</sort_order>
|
97 |
Heartland Account must already be signed up to accept Gift Cards.]]>
|
98 |
</comment>
|
99 |
</allow_heartland_gift>
|
100 |
+
<allow_fraud translate="label">
|
101 |
+
<label>Allow Suspicious</label>
|
102 |
+
<frontend_type>select</frontend_type>
|
103 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
104 |
+
<sort_order>62</sort_order>
|
105 |
+
<show_in_default>1</show_in_default>
|
106 |
+
<show_in_website>1</show_in_website>
|
107 |
+
<show_in_store>1</show_in_store>
|
108 |
+
<comment><![CDATA[Note: You will have 72 hours from the original authorization date to manually review suspicious orders in the virtual terminal and make a final decision (either to accept the gateway fraud decision or to manually override).]]></comment>
|
109 |
+
</allow_fraud>
|
110 |
+
<email_fraud translate="label">
|
111 |
+
<label>Email Store Owner on Suspicious Orders</label>
|
112 |
+
<frontend_type>select</frontend_type>
|
113 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
114 |
+
<sort_order>63</sort_order>
|
115 |
+
<show_in_default>1</show_in_default>
|
116 |
+
<show_in_website>1</show_in_website>
|
117 |
+
<show_in_store>1</show_in_store>
|
118 |
+
</email_fraud>
|
119 |
+
<fraud_address translate="label">
|
120 |
<label>Notification Email Address</label>
|
121 |
<frontend_type>text</frontend_type>
|
122 |
<sort_order>64</sort_order>
|
123 |
<show_in_default>1</show_in_default>
|
124 |
<show_in_website>1</show_in_website>
|
125 |
<show_in_store>1</show_in_store>
|
126 |
+
<comment><![CDATA[This email address will be notified of suspicious orders.]]></comment>
|
127 |
</fraud_address>
|
128 |
+
<fraud_text translate="label">
|
129 |
<label>Fraud Text</label>
|
130 |
<frontend_type>textarea</frontend_type>
|
131 |
<sort_order>65</sort_order>
|
134 |
<show_in_store>1</show_in_store>
|
135 |
<comment><![CDATA[This is the text that will display to the customer when fraud is detected and the transaction fails.]]></comment>
|
136 |
</fraud_text>
|
137 |
+
<use_iframes translate="label">
|
138 |
+
<label>Host the payment fields on Heartland's servers</label>
|
139 |
+
<frontend_type>select</frontend_type>
|
140 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
141 |
+
<sort_order>65</sort_order>
|
142 |
+
<show_in_default>1</show_in_default>
|
143 |
+
<show_in_website>1</show_in_website>
|
144 |
+
<show_in_store>1</show_in_store>
|
145 |
+
<comment><![CDATA[Note: The customer will remain on your site throughout the checkout process, and there will be no redirect. This option only helps reduce your PCI scope.]]></comment>
|
146 |
+
</use_iframes>
|
147 |
+
<custom_message translate="label">
|
148 |
<label>Custom Error Message</label>
|
149 |
<frontend_type>textarea</frontend_type>
|
150 |
<sort_order>66</sort_order>
|
app/design/frontend/base/default/layout/securesubmit.xml
CHANGED
@@ -1,45 +1,53 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
|
3 |
<layout version="0.1.0">
|
4 |
-
<
|
5 |
<reference name="head">
|
6 |
-
<action method="
|
7 |
-
|
8 |
-
|
|
|
9 |
</reference>
|
10 |
-
|
11 |
-
|
12 |
-
</reference>
|
13 |
-
</onestepcheckout_index_index>
|
14 |
-
<checkout_onepage_index>
|
15 |
<reference name="head">
|
16 |
-
<action method="addJs"><file>securesubmit/secure.submit-1.0.1.js</file></action>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
<action method="addJs"><file>securesubmit/checkout-form.js</file></action>
|
18 |
<action method="addJs"><file>securesubmit/masterpass/lightbox.js</file></action>
|
19 |
</reference>
|
20 |
<reference name="before_body_end">
|
21 |
<block type="hps_securesubmit/masterpass_client_js" name="hps_securesubmit_masterpass_js" />
|
22 |
</reference>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
</checkout_onepage_index>
|
24 |
<onepagecheckout_index_index>
|
25 |
-
<
|
26 |
-
|
27 |
-
<action method="addJs"><file>securesubmit/checkout-form.js</file></action>
|
28 |
-
<action method="addJs"><file>securesubmit/masterpass/lightbox.js</file></action>
|
29 |
-
</reference>
|
30 |
-
<reference name="before_body_end">
|
31 |
-
<block type="hps_securesubmit/masterpass_client_js" name="hps_securesubmit_masterpass_js" />
|
32 |
-
</reference>
|
33 |
</onepagecheckout_index_index>
|
34 |
<checkout_multishipping_billing>
|
35 |
-
<
|
36 |
-
|
37 |
-
<action method="addJs"><file>securesubmit/checkout-form.js</file></action>
|
38 |
-
<action method="addJs"><file>securesubmit/masterpass/lightbox.js</file></action>
|
39 |
-
</reference>
|
40 |
-
<reference name="before_body_end">
|
41 |
-
<block type="hps_securesubmit/masterpass_client_js" name="hps_securesubmit_masterpass_js" />
|
42 |
-
</reference>
|
43 |
</checkout_multishipping_billing>
|
44 |
<customer_account>
|
45 |
<reference name="customer_account_navigation">
|
@@ -61,6 +69,7 @@
|
|
61 |
<reference name="my.account.wrapper">
|
62 |
<block type="core/template" name="hps_securesubmit_content" template="securesubmit/storedcards.phtml"/>
|
63 |
</reference>
|
|
|
64 |
</hps_securesubmit_storedcard_index>
|
65 |
|
66 |
<hps_securesubmit_masterpass_connect>
|
1 |
<?xml version="1.0"?>
|
2 |
|
3 |
<layout version="0.1.0">
|
4 |
+
<hps_securesubmit_add_css>
|
5 |
<reference name="head">
|
6 |
+
<action method="addItem">
|
7 |
+
<type>skin_css</type>
|
8 |
+
<name>securesubmit/css/hps-styles.css</name>
|
9 |
+
</action>
|
10 |
</reference>
|
11 |
+
</hps_securesubmit_add_css>
|
12 |
+
<hps_securesubmit_add_js>
|
|
|
|
|
|
|
13 |
<reference name="head">
|
14 |
+
<!-- <action method="addJs"><file>securesubmit/secure.submit-1.0.1.js</file></action> -->
|
15 |
+
<block type="core/text" name="hps.securesubmit.js_library">
|
16 |
+
<action method="setText">
|
17 |
+
<text>
|
18 |
+
<![CDATA[
|
19 |
+
<script type="text/javascript" src="https://api2.heartlandportico.com/SecureSubmit.v1/token/2.1/securesubmit.js"></script>
|
20 |
+
]]>
|
21 |
+
</text>
|
22 |
+
</action>
|
23 |
+
</block>
|
24 |
<action method="addJs"><file>securesubmit/checkout-form.js</file></action>
|
25 |
<action method="addJs"><file>securesubmit/masterpass/lightbox.js</file></action>
|
26 |
</reference>
|
27 |
<reference name="before_body_end">
|
28 |
<block type="hps_securesubmit/masterpass_client_js" name="hps_securesubmit_masterpass_js" />
|
29 |
</reference>
|
30 |
+
</hps_securesubmit_add_js>
|
31 |
+
|
32 |
+
<opc_index_index>
|
33 |
+
<update handle="hps_securesubmit_add_js" />
|
34 |
+
<update handle="hps_securesubmit_add_css" />
|
35 |
+
</opc_index_index>
|
36 |
+
<onestepcheckout_index_index>
|
37 |
+
<update handle="hps_securesubmit_add_js" />
|
38 |
+
<update handle="hps_securesubmit_add_css" />
|
39 |
+
</onestepcheckout_index_index>
|
40 |
+
<checkout_onepage_index>
|
41 |
+
<update handle="hps_securesubmit_add_js" />
|
42 |
+
<update handle="hps_securesubmit_add_css" />
|
43 |
</checkout_onepage_index>
|
44 |
<onepagecheckout_index_index>
|
45 |
+
<update handle="hps_securesubmit_add_js" />
|
46 |
+
<update handle="hps_securesubmit_add_css" />
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
</onepagecheckout_index_index>
|
48 |
<checkout_multishipping_billing>
|
49 |
+
<update handle="hps_securesubmit_add_js" />
|
50 |
+
<update handle="hps_securesubmit_add_css" />
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
</checkout_multishipping_billing>
|
52 |
<customer_account>
|
53 |
<reference name="customer_account_navigation">
|
69 |
<reference name="my.account.wrapper">
|
70 |
<block type="core/template" name="hps_securesubmit_content" template="securesubmit/storedcards.phtml"/>
|
71 |
</reference>
|
72 |
+
<update handle="hps_securesubmit_add_css" />
|
73 |
</hps_securesubmit_storedcard_index>
|
74 |
|
75 |
<hps_securesubmit_masterpass_connect>
|
app/design/frontend/base/default/template/securesubmit/form.phtml
CHANGED
@@ -1,153 +1,142 @@
|
|
1 |
<?php /* @var $this Hps_Securesubmit_Block_Form */
|
2 |
$_code = $this->getMethodCode();
|
|
|
3 |
$public_key = Mage::getModel('hps_securesubmit/payment')->getConfigData('publicapikey');
|
|
|
4 |
$allow_card_saving = Mage::getModel('hps_securesubmit/payment')->getConfigData('allow_card_saving');
|
5 |
$allow_heartland_gift = Mage::getModel('hps_securesubmit/payment')->getConfigData('allow_heartland_gift');
|
6 |
-
$
|
7 |
|
8 |
if ($_loggedIn && $allow_card_saving) {
|
9 |
$customerStoredCards = Mage::helper('hps_securesubmit')->getStoredCards( Mage::getSingleton('customer/session')->getCustomerId());
|
10 |
}
|
11 |
?>
|
12 |
-
<ul class="form-list" id="payment_form_<?php echo $_code ?>" style="display:none;">
|
13 |
-
<?php if ($allow_heartland_gift): ?>
|
14 |
-
<li id="<?php echo $_code; ?>_gift_card">
|
15 |
-
<label for="<?php echo $_code ?>_giftcard_number"><?php echo $this->__('Optional Gift Card Number') ?></label><br />
|
16 |
-
<input type="text" id="<?php echo $_code; ?>_giftcard_number" title="<?php echo $this->__('Gift Card Number') ?>" class="input-text validate-gift-number" value ="" autocomplete="off" name="payment[giftcard_number]" />
|
17 |
-
|
18 |
-
|
19 |
-
<input width="100px" type="text" id="<?php echo $_code; ?>_giftcard_pin" title="<?php echo $this->__('Gift Card Pin') ?>" class="cvv input-text " value ="" placeholder="<?php echo $this->__('PIN') ?>" autocomplete="off" name="payment[giftcard_pin]" />
|
20 |
|
21 |
-
|
22 |
-
|
23 |
-
<a id="apply-gift-card" class="button"><?php echo $this->__('Apply Gift Card') ?></a>
|
24 |
-
</li>
|
25 |
-
<?php endif ?>
|
26 |
-
|
27 |
-
<?php if($_loggedIn && $allow_card_saving && count($customerStoredCards)): ?>
|
28 |
<li>
|
29 |
-
<
|
30 |
-
|
31 |
-
<
|
32 |
-
</div>
|
33 |
-
</li>
|
34 |
-
<li id="<?php echo $_code ?>_stored_cards" style="display: none">
|
35 |
-
<label for="<?php echo $_code ?>_stored_card_select"><?php echo $this->__('Stored Card') ?></label>
|
36 |
-
<div class="input-box">
|
37 |
-
<select id="<?php echo $_code ?>_stored_card_select" autocomplete="off">
|
38 |
-
<?php foreach ($customerStoredCards as $key => $card): ?>
|
39 |
-
<option value="<?php echo $card->getId() ?>"><?php echo $card->getCcType().' ************'.$card->getCcLast4().' ('.$card->getCcExpMonth().'/'.$card->getCcExpYear().')' ?></option>
|
40 |
-
<?php endforeach ?>
|
41 |
-
</select>
|
42 |
</div>
|
43 |
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
<?php endif ?>
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
<
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
<
|
65 |
-
|
66 |
-
<?php
|
67 |
-
<
|
68 |
-
<?php
|
69 |
-
|
|
|
|
|
|
|
|
|
70 |
</div>
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
|
|
|
|
|
|
78 |
</div>
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
</div>
|
88 |
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
<?php endif ?>
|
90 |
-
|
91 |
|
92 |
<script type="text/javascript">
|
93 |
//<![CDATA[
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
alert('Error adding gift card: ' + data.message);
|
112 |
-
} else {
|
113 |
-
//successful gift, show things
|
114 |
-
$j('#apply-gift-card').hide();
|
115 |
-
$j("#<?php echo $_code; ?>_giftcard_number").hide();
|
116 |
-
$j("#<?php echo $_code; ?>_giftcard_pin").hide();
|
117 |
-
$j('#gift-card-number-label').text($j("#<?php echo $_code; ?>_giftcard_number").val() + " - $" + data.balance);
|
118 |
-
$j('#gift-card-number-label').show();
|
119 |
-
$j('#remove-gift-card').show();
|
120 |
-
}
|
121 |
-
}
|
122 |
-
});
|
123 |
-
});
|
124 |
-
|
125 |
-
Event.observe('remove-gift-card', 'click', function(event) {
|
126 |
-
$j('#apply-gift-card').show();
|
127 |
-
$j("#<?php echo $_code; ?>_giftcard_number").val('');
|
128 |
-
$j("#<?php echo $_code; ?>_giftcard_number").show();
|
129 |
-
$j('#gift-card-number-label').text('');
|
130 |
-
$j('#gift-card-number-label').hide();
|
131 |
-
$j('#remove-gift-card').hide();
|
132 |
-
});
|
133 |
-
<?php endif; ?>
|
134 |
-
|
135 |
-
if (typeof Payment !== 'undefined') {
|
136 |
-
payment.secureSubmitPublicKey = '<?php echo $public_key ?>';
|
137 |
-
payment.secureSubmitGetTokenDataUrl = '<?php echo Mage::getUrl('securesubmit/storedcard/getTokenData', array('_secure' => TRUE)) ?>';
|
138 |
-
} else if( !document.getElementById('multishipping-billing-form').empty() ){
|
139 |
-
secureSubmit = securesubmitMultishipping(document.getElementById('multishipping-billing-form'));
|
140 |
-
secureSubmit.secureSubmitPublicKey = '<?php echo $public_key ?>';
|
141 |
-
secureSubmit.secureSubmitGetTokenDataUrl = '<?php echo Mage::getUrl('securesubmit/storedcard/getTokenData', array('_secure' => TRUE)) ?>';
|
142 |
-
|
143 |
-
document.observe('dom:loaded', function() {
|
144 |
-
Event.observe('payment-continue', 'click', function(e){ Event.stop(e); secureSubmit.save(); });
|
145 |
-
});
|
146 |
-
}
|
147 |
-
|
148 |
-
if (typeof OPC !== 'undefined') {
|
149 |
-
OPC.prototype.secureSubmitPublicKey = '<?php echo $public_key ?>';
|
150 |
-
OPC.prototype.secureSubmitGetTokenDataUrl = '<?php echo Mage::getUrl('securesubmit/storedcard/getTokenData', array('_secure' => TRUE)) ?>';
|
151 |
-
}
|
152 |
//]]>
|
153 |
</script>
|
1 |
<?php /* @var $this Hps_Securesubmit_Block_Form */
|
2 |
$_code = $this->getMethodCode();
|
3 |
+
$_loggedIn = Mage::getSingleton('customer/session')->isLoggedIn();
|
4 |
$public_key = Mage::getModel('hps_securesubmit/payment')->getConfigData('publicapikey');
|
5 |
+
$token_data_url = Mage::getUrl('securesubmit/storedcard/getTokenData', array('_secure' => TRUE));
|
6 |
$allow_card_saving = Mage::getModel('hps_securesubmit/payment')->getConfigData('allow_card_saving');
|
7 |
$allow_heartland_gift = Mage::getModel('hps_securesubmit/payment')->getConfigData('allow_heartland_gift');
|
8 |
+
$use_iframes = !!Mage::getModel('hps_securesubmit/payment')->getConfigData('use_iframes');
|
9 |
|
10 |
if ($_loggedIn && $allow_card_saving) {
|
11 |
$customerStoredCards = Mage::helper('hps_securesubmit')->getStoredCards( Mage::getSingleton('customer/session')->getCustomerId());
|
12 |
}
|
13 |
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
|
15 |
+
<ul class="form-list" id="payment_form_<?= $_code ?>" style="display:none;">
|
16 |
+
<!-- header -->
|
|
|
|
|
|
|
|
|
|
|
17 |
<li>
|
18 |
+
<div class="logos btn-group" role="group" aria-label-"..">
|
19 |
+
<button type="button" class="ss-icon" aria-label="Left Align"></button>
|
20 |
+
<button type="button" class="ss-logo" aria-label="Left Align"></button>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
</div>
|
22 |
</li>
|
23 |
+
|
24 |
+
<!--checkbox for stored card-->
|
25 |
+
<?php if($_loggedIn && $allow_card_saving && count($customerStoredCards)): ?>
|
26 |
+
<?php $checked = true; ?>
|
27 |
+
<?php foreach ($customerStoredCards as $key => $card): ?>
|
28 |
+
<li class="card-menu-item">
|
29 |
+
<label for="<?= $_code ?>_stored_card_select_<?= $card->getId() ?>" class="<?= $_code ?>_stored_card_label">
|
30 |
+
<div class="cc-option">
|
31 |
+
<input type="radio" name="<?= $_code ?>_stored_card_select" id="<?= $_code ?>_stored_card_select_<?= $card->getId() ?>" value="<?= $card->getId() ?>" <?php if ($checked): ?>checked="checked"<?php $checked=false; endif ?>/>
|
32 |
+
</div>
|
33 |
+
|
34 |
+
<span class="saved-cc-number">
|
35 |
+
<?= $card->getCcType().' ************'.$card->getCcLast4()?>
|
36 |
+
</span>
|
37 |
+
|
38 |
+
<div class="icon-<?= strtolower($card->getCcType()) ?>-form"></div>
|
39 |
+
|
40 |
+
<span class="exp-date"><?= "expires on" ." " .' (' .$card->getCcExpMonth().'/'.$card->getCcExpYear().')' ?> </span>
|
41 |
+
|
42 |
+
</label>
|
43 |
+
</li>
|
44 |
+
<?php endforeach ?>
|
45 |
<?php endif ?>
|
46 |
+
|
47 |
+
<!--dropdown-->
|
48 |
+
<?php $checked = !$_loggedIn || !count($customerStoredCards);?>
|
49 |
+
<li class="card-menu-item new-card">
|
50 |
+
<?php if (!$checked): ?>
|
51 |
+
<label for="<?= $_code ?>_stored_card_select_new" class="<?= $_code ?>_stored_card_label">
|
52 |
+
<div class="cc-option">
|
53 |
+
<input type="radio" name="<?= $_code ?>_stored_card_select" id="<?= $_code ?>_stored_card_select_new" value="new" />
|
54 |
+
</div>
|
55 |
+
|
56 |
+
<span class="new-card">
|
57 |
+
<?= $this->__('Pay with a new credit card') ?>
|
58 |
+
</span>
|
59 |
+
</label>
|
60 |
+
<?php else: ?>
|
61 |
+
<input type="radio" name="<?= $_code ?>_stored_card_select" id="<?= $_code ?>_stored_card_select_new" value="new" checked="checked" style="display:none;"/>
|
62 |
+
<?php endif ?>
|
63 |
+
|
64 |
+
<div id="<?= $_code ?>_cc_form" <?php if (!$checked): ?>style="display: none;"<?php endif ?>>
|
65 |
+
<label for="<?= $_code ?>_cc_number"><?= $this->__('Credit Card Number') ?> <span class="required"> </span></label>
|
66 |
+
<div class="saved-card-list">
|
67 |
+
<?php if ($use_iframes): ?>
|
68 |
+
<div id="<?= $_code ?>_cc_number_iframe"></div>
|
69 |
+
<?php else: ?>
|
70 |
+
<input type="tel" id="<?= $_code ?>_cc_number" title="<?= $this->__('Credit Card Number') ?>" class="input-text validate-cc-number" autocomplete="off" placeholder="•••• •••• •••• ••••" />
|
71 |
+
<?php endif ?>
|
72 |
+
<input type="hidden" id="<?= $_code ?>_token" name="payment[securesubmit_token]">
|
73 |
+
<input type="hidden" id="<?= $_code ?>_cc_last_four" name="payment[cc_last_four]">
|
74 |
+
<input type="hidden" id="<?= $_code ?>_cc_type" name="payment[cc_type]">
|
75 |
</div>
|
76 |
+
|
77 |
+
<label for="<?= $_code ?>_expiration"><?= $this->__('Expiration Date') ?> <span class="required"> </span></label>
|
78 |
+
<div class="input-box" id="horizontal-form">
|
79 |
+
<?php if ($use_iframes): ?>
|
80 |
+
<div id="<?= $_code ?>_cc_exp_iframe"></div>
|
81 |
+
<?php else: ?>
|
82 |
+
<input type="tel" name="payment[cc_exp]" placeholder="MM / YYYY" id="<?= $_code ?>_exp_date" class="input-text year required-entry">
|
83 |
+
<?php endif ?>
|
84 |
+
<input type="hidden" id="<?= $_code ?>_cc_exp_month" name="payment[cc_exp_month]">
|
85 |
+
<input type="hidden" id="<?= $_code ?>_cc_exp_year" name="payment[cc_exp_year]">
|
86 |
</div>
|
87 |
+
|
88 |
+
<label for="<?= $_code ?>_cvv_number"><?= $this->__('Card Verification Number') ?> <span class="required"> </span></label></br>
|
89 |
+
|
90 |
+
<?php if ($use_iframes): ?>
|
91 |
+
<div id="<?= $_code ?>_cc_cvv_iframe"></div>
|
92 |
+
<?php else: ?>
|
93 |
+
<div class="v-fix">
|
94 |
+
<input type="tel" title="<?= $this->__('Card Verification Number') ?>" class="input-text icon-sc required-entry validate-cc-cvn" autocomplete="off" placeholder="CVV" id="<?= $_code ?>_cvv_number"/>
|
95 |
+
</div></br>
|
96 |
+
<?php endif ?>
|
97 |
+
|
98 |
+
<?php if ($_loggedIn && $allow_card_saving && $public_key): ?>
|
99 |
+
<div class="save-card-checkbox" id="">
|
100 |
+
<input type="checkbox" id="<?= $_code ?>_cc_save_future" name="payment[cc_save_future]" value="Y" autocomplete="off" />
|
101 |
+
<label style="" for="<?= $_code ?>_cc_save_future"><?= $this->__(' Save this card for future use?') ?></label>
|
102 |
+
</div>
|
103 |
+
<?php endif ?>
|
104 |
</div>
|
105 |
</li>
|
106 |
+
|
107 |
+
<!-- gift -->
|
108 |
+
<?php if ($allow_heartland_gift): ?>
|
109 |
+
<li id="<?= $_code; ?>_gift_card">
|
110 |
+
<label for="<?= $_code ?>_giftcard_number"><?= $this->__('Optional Gift Card Number') ?></label><br /><br />
|
111 |
+
<input type="tel" id="<?= $_code; ?>_giftcard_number" title="<?= $this->__('Gift Card Number') ?>" class="input-text validate-gift-number" autocomplete="off" name="payment[giftcard_number]" placeholder="<?= $this->__('GIFT CARD NUMBER') ?>" />
|
112 |
+
<input width="100px" type="tel" id="<?= $_code; ?>_giftcard_pin" title="<?= $this->__('Gift Card Pin') ?>" class="cvv input-text " placeholder="<?= $this->__('PIN') ?>" autocomplete="off" name="payment[giftcard_pin]" />
|
113 |
+
<input type="hidden" id="<?= $_code; ?>_giftcard_skip_cc" name="payment[giftcard_skip_cc]" value="false" />
|
114 |
+
<label id="gift-card-number-label" style="display: none;"></label>
|
115 |
+
<a id="remove-gift-card" class="button" style="display: none;"><?= $this->__('Remove Gift Card') ?></a>
|
116 |
+
<a id="apply-gift-card" class="button"><?= $this->__('Apply Gift Card') ?></a>
|
117 |
+
</li>
|
118 |
+
</ul>
|
119 |
<?php endif ?>
|
120 |
+
|
121 |
|
122 |
<script type="text/javascript">
|
123 |
//<![CDATA[
|
124 |
+
SecureSubmitMagento.init({
|
125 |
+
code: '<?= $_code ?>',
|
126 |
+
loggedIn: <?= $_loggedIn ? 'true' : 'false' ?>,
|
127 |
+
publicKey: '<?= $public_key ?>',
|
128 |
+
allowCardSaving: <?= $allow_card_saving ? 'true' : 'false' ?>,
|
129 |
+
tokenDataUrl: '<?= $token_data_url ?>',
|
130 |
+
allowGift: <?= $allow_heartland_gift ? 'true' : 'false' ?>,
|
131 |
+
giftBalanceUrl: '<?= Mage::getUrl('securesubmit/giftcard/getBalance', array('_secure' => true)) ?>',
|
132 |
+
useIframes: <?= $use_iframes ? 'true' : 'false' ?>,
|
133 |
+
<?php if ($use_iframes): ?>
|
134 |
+
iframeTargets: {
|
135 |
+
cardNumber: '<?= $_code ?>_cc_number_iframe',
|
136 |
+
cardExpiration: '<?= $_code ?>_cc_exp_iframe',
|
137 |
+
cardCvv: '<?= $_code ?>_cc_cvv_iframe'
|
138 |
+
}
|
139 |
+
<?php endif ?>
|
140 |
+
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
//]]>
|
142 |
</script>
|
app/design/frontend/base/default/template/securesubmit/storedcards.phtml
CHANGED
@@ -1,37 +1,30 @@
|
|
1 |
<?php
|
2 |
$_storedCards = Mage::helper('hps_securesubmit')->getStoredCards(Mage::getSingleton('customer/session')->getCustomerId());
|
3 |
?>
|
4 |
-
|
5 |
<h1><?php echo $this->__('Manage Saved Cards') ?></h1>
|
6 |
<div class="box-account">
|
7 |
-
<div class="box-head">
|
8 |
-
<h2><?php echo $this->__('Saved Credit Cards') ?></h2>
|
9 |
-
</div>
|
10 |
<?php if (count($_storedCards)): ?>
|
11 |
-
<
|
12 |
-
|
13 |
-
|
14 |
-
<
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
</tr>
|
32 |
-
<?php endforeach; ?>
|
33 |
-
</tbody>
|
34 |
-
</table>
|
35 |
<?php else: ?>
|
36 |
<p>
|
37 |
<?php echo $this->__('You do not have any saved credit cards.') ?>
|
1 |
<?php
|
2 |
$_storedCards = Mage::helper('hps_securesubmit')->getStoredCards(Mage::getSingleton('customer/session')->getCustomerId());
|
3 |
?>
|
4 |
+
<span class="icon-ss"></span>
|
5 |
<h1><?php echo $this->__('Manage Saved Cards') ?></h1>
|
6 |
<div class="box-account">
|
|
|
|
|
|
|
7 |
<?php if (count($_storedCards)): ?>
|
8 |
+
<div class="box-head">
|
9 |
+
<h2><?php echo $this->__('Saved Credit Cards') ?></h2>
|
10 |
+
</div>
|
11 |
+
<ul id="hps-saved-cards" class="saved-card-table">
|
12 |
+
<?php foreach ($_storedCards->getData() as $card): ?>
|
13 |
+
<li id="credit_cards">
|
14 |
+
<div class="icon-<?= strtolower($card['cc_type'])?>"> </div>
|
15 |
+
<span class="saved-cc-number-stored">
|
16 |
+
<?php echo $card['cc_type'] ." " ."ending in ************".$card['cc_last4'] ?>
|
17 |
+
</span>
|
18 |
+
<div class="icon-trash"></div>
|
19 |
+
<br/>
|
20 |
+
<span class="exp-date">
|
21 |
+
<?php echo "expires on" ." " .$card['cc_exp_month'] ."-".$card['cc_exp_year'] ?>
|
22 |
+
</span>
|
23 |
+
<a href="<?php echo Mage::getUrl('securesubmit/storedcard/delete', array('storedcard_id' => $card['storedcard_id'], '_secure' => TRUE)) ?>" >
|
24 |
+
</a>
|
25 |
+
</li>
|
26 |
+
<?php endforeach; ?>
|
27 |
+
</ul>
|
|
|
|
|
|
|
|
|
28 |
<?php else: ?>
|
29 |
<p>
|
30 |
<?php echo $this->__('You do not have any saved credit cards.') ?>
|
js/securesubmit/checkout-form.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
-
function securesubmitMultishipping(multiForm){
|
2 |
var secureSubmit = {
|
3 |
save: function() {
|
4 |
-
if (payment.currentMethod != 'hps_securesubmit') {
|
5 |
multiForm.submit();
|
6 |
return;
|
7 |
}
|
@@ -10,7 +10,7 @@ function securesubmitMultishipping(multiForm){
|
|
10 |
|
11 |
// Use stored card checked, get existing token data
|
12 |
if (this.secureSubmitUseStoredCard()) {
|
13 |
-
var storedcardId =
|
14 |
|
15 |
new Ajax.Request(this.secureSubmitGetTokenDataUrl, {
|
16 |
method: 'post',
|
@@ -18,8 +18,8 @@ function securesubmitMultishipping(multiForm){
|
|
18 |
onSuccess: function(response) {
|
19 |
var data = response.responseJSON;
|
20 |
if (data && data.token) {
|
21 |
-
$('
|
22 |
-
$('
|
23 |
}
|
24 |
this.secureSubmitResponseHandler({
|
25 |
token_value: data.token.token_value,
|
@@ -37,35 +37,51 @@ function securesubmitMultishipping(multiForm){
|
|
37 |
}
|
38 |
// Use stored card not checked, get new token
|
39 |
else {
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
}
|
55 |
}
|
56 |
},
|
57 |
secureSubmitUseStoredCard: function () {
|
58 |
-
var
|
59 |
-
return
|
60 |
},
|
61 |
secureSubmitResponseHandler: function (response) {
|
62 |
var tokenField = $('hps_securesubmit_token'),
|
63 |
lastFourField = $('hps_securesubmit_cc_last_four');
|
|
|
|
|
|
|
64 |
tokenField.value = lastFourField.value = null;
|
65 |
|
|
|
|
|
|
|
|
|
|
|
66 |
if (response && response.error) {
|
67 |
-
if (response.message) {
|
68 |
-
alert(response.message);
|
69 |
}
|
70 |
} else if (response && response.token_value) {
|
71 |
tokenField.value = response.token_value;
|
@@ -75,7 +91,7 @@ function securesubmitMultishipping(multiForm){
|
|
75 |
document.getElementById('payment-continue').enable();
|
76 |
multiForm.submit();
|
77 |
} else {
|
78 |
-
alert('Unexpected error.')
|
79 |
}
|
80 |
}
|
81 |
};
|
@@ -84,7 +100,7 @@ function securesubmitMultishipping(multiForm){
|
|
84 |
|
85 |
document.observe('dom:loaded', function () {
|
86 |
// Override default Payment save handler
|
87 |
-
if (typeof Payment !=
|
88 |
if (typeof Payment.prototype._secureSubmitOldSave === 'undefined') {
|
89 |
var oldPayment = Object.clone(Payment.prototype);
|
90 |
Payment.prototype._secureSubmitOldSave = oldPayment.save;
|
@@ -96,11 +112,11 @@ document.observe('dom:loaded', function () {
|
|
96 |
return;
|
97 |
}
|
98 |
|
99 |
-
if (checkout.loadWaiting
|
100 |
|
101 |
// Use stored card checked, get existing token data
|
102 |
if (this.secureSubmitUseStoredCard()) {
|
103 |
-
var storedcardId =
|
104 |
checkout.setLoadWaiting('payment');
|
105 |
new Ajax.Request(this.secureSubmitGetTokenDataUrl, {
|
106 |
method: 'post',
|
@@ -108,8 +124,8 @@ document.observe('dom:loaded', function () {
|
|
108 |
onSuccess: function(response) {
|
109 |
var data = response.responseJSON;
|
110 |
if (data && data.token) {
|
111 |
-
$('
|
112 |
-
$('
|
113 |
}
|
114 |
this.secureSubmitResponseHandler({
|
115 |
token_value: data.token.token_value,
|
@@ -128,36 +144,53 @@ document.observe('dom:loaded', function () {
|
|
128 |
}
|
129 |
// Use stored card not checked, get new token
|
130 |
else {
|
131 |
-
|
132 |
-
if (this.validate() && validator.validate()) {
|
133 |
checkout.setLoadWaiting('payment');
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
}
|
147 |
}
|
148 |
},
|
149 |
secureSubmitUseStoredCard: function () {
|
150 |
-
var
|
151 |
-
return
|
152 |
},
|
153 |
secureSubmitResponseHandler: function (response) {
|
154 |
var tokenField = $('hps_securesubmit_token'),
|
155 |
lastFourField = $('hps_securesubmit_cc_last_four');
|
|
|
|
|
|
|
156 |
tokenField.value = lastFourField.value = null;
|
157 |
|
|
|
|
|
|
|
|
|
|
|
158 |
if (response && response.error) {
|
159 |
-
if (response.message) {
|
160 |
-
alert(response.message);
|
161 |
}
|
162 |
checkout.setLoadWaiting(false);
|
163 |
} else if (response && response.token_value) {
|
@@ -173,13 +206,13 @@ document.observe('dom:loaded', function () {
|
|
173 |
parameters: Form.serialize(this.form)
|
174 |
});
|
175 |
} else {
|
176 |
-
alert('Unexpected error.')
|
177 |
}
|
178 |
}
|
179 |
});
|
180 |
}
|
181 |
|
182 |
-
if (typeof OPC !=
|
183 |
if (typeof OPC.prototype._secureSubmitOldSubmit === 'undefined') {
|
184 |
var oldOPC = Object.clone(OPC.prototype);
|
185 |
OPC.prototype._secureSubmitOldSubmit = oldOPC.submit;
|
@@ -190,26 +223,43 @@ document.observe('dom:loaded', function () {
|
|
190 |
this._secureSubmitOldSubmit();
|
191 |
return;
|
192 |
}
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
204 |
},
|
205 |
secureSubmitResponseHandler: function (response) {
|
206 |
var tokenField = $('hps_securesubmit_token'),
|
207 |
lastFourField = $('hps_securesubmit_cc_last_four');
|
|
|
|
|
|
|
208 |
tokenField.value = lastFourField.value = null;
|
209 |
|
|
|
|
|
|
|
|
|
|
|
210 |
if (response && response.error) {
|
211 |
-
if (response.message) {
|
212 |
-
alert(response.message);
|
213 |
}
|
214 |
checkout.setLoadWaiting(false);
|
215 |
} else if (response && response.token_value) {
|
@@ -223,11 +273,430 @@ document.observe('dom:loaded', function () {
|
|
223 |
parameters: params,
|
224 |
onSuccess: this.setResponse.bind(this),
|
225 |
onFailure: this.ajaxFailure.bind(this)
|
226 |
-
})
|
227 |
} else {
|
228 |
-
alert('Unexpected error.')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
229 |
}
|
230 |
}
|
231 |
});
|
232 |
}
|
233 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
function securesubmitMultishipping(multiForm) {
|
2 |
var secureSubmit = {
|
3 |
save: function() {
|
4 |
+
if (payment && payment.currentMethod != 'hps_securesubmit') {
|
5 |
multiForm.submit();
|
6 |
return;
|
7 |
}
|
10 |
|
11 |
// Use stored card checked, get existing token data
|
12 |
if (this.secureSubmitUseStoredCard()) {
|
13 |
+
var storedcardId = $$('[name="hps_securesubmit_stored_card_select"]:checked')[0].value;
|
14 |
|
15 |
new Ajax.Request(this.secureSubmitGetTokenDataUrl, {
|
16 |
method: 'post',
|
18 |
onSuccess: function(response) {
|
19 |
var data = response.responseJSON;
|
20 |
if (data && data.token) {
|
21 |
+
$('hps_securesubmit_cc_exp_month').value = parseInt(data.token.cc_exp_month);
|
22 |
+
$('hps_securesubmit_cc_exp_year').value = data.token.cc_exp_year;
|
23 |
}
|
24 |
this.secureSubmitResponseHandler({
|
25 |
token_value: data.token.token_value,
|
37 |
}
|
38 |
// Use stored card not checked, get new token
|
39 |
else {
|
40 |
+
if (SecureSubmitMagento.options.useIframes) {
|
41 |
+
SecureSubmitMagento.hps.Messages.post({
|
42 |
+
accumulateData: true,
|
43 |
+
action: 'tokenize',
|
44 |
+
message: SecureSubmitMagento.options.publicKey
|
45 |
+
}, 'cardNumber');
|
46 |
+
} else {
|
47 |
+
var validator = new Validation(multiForm);
|
48 |
+
if (validator.validate()) {
|
49 |
+
var date = $('hps_securesubmit_exp_date').value.split('/');
|
50 |
+
$('hps_securesubmit_cc_exp_month').value = date[0].trim();
|
51 |
+
$('hps_securesubmit_cc_exp_year').value = date[1].trim();
|
52 |
+
(new Heartland.HPS({
|
53 |
+
publicKey: this.secureSubmitPublicKey,
|
54 |
+
cardNumber: $('hps_securesubmit_cc_number').value,
|
55 |
+
cardCvv: $('hps_securesubmit_cvv_number').value,
|
56 |
+
cardExpMonth: $('hps_securesubmit_cc_exp_month').value,
|
57 |
+
cardExpYear: $('hps_securesubmit_cc_exp_year').value,
|
58 |
+
success: this.secureSubmitResponseHandler.bind(this),
|
59 |
+
error: this.secureSubmitResponseHandler.bind(this)
|
60 |
+
})).tokenize();
|
61 |
+
}
|
62 |
}
|
63 |
}
|
64 |
},
|
65 |
secureSubmitUseStoredCard: function () {
|
66 |
+
var newRadio = $('hps_securesubmit_stored_card_select_new');
|
67 |
+
return !newRadio.checked;
|
68 |
},
|
69 |
secureSubmitResponseHandler: function (response) {
|
70 |
var tokenField = $('hps_securesubmit_token'),
|
71 |
lastFourField = $('hps_securesubmit_cc_last_four');
|
72 |
+
var date = $('hps_securesubmit_exp_date').value.split('/');
|
73 |
+
$('hps_securesubmit_cc_exp_month').value = date[0].trim();
|
74 |
+
$('hps_securesubmit_cc_exp_year').value = date[1].trim();
|
75 |
tokenField.value = lastFourField.value = null;
|
76 |
|
77 |
+
if (SecureSubmitMagento.skipCreditCard) {
|
78 |
+
SecureSubmitMagento.completeCheckout();
|
79 |
+
return;
|
80 |
+
}
|
81 |
+
|
82 |
if (response && response.error) {
|
83 |
+
if (response.error.message) {
|
84 |
+
alert(response.error.message);
|
85 |
}
|
86 |
} else if (response && response.token_value) {
|
87 |
tokenField.value = response.token_value;
|
91 |
document.getElementById('payment-continue').enable();
|
92 |
multiForm.submit();
|
93 |
} else {
|
94 |
+
alert('Unexpected error.');
|
95 |
}
|
96 |
}
|
97 |
};
|
100 |
|
101 |
document.observe('dom:loaded', function () {
|
102 |
// Override default Payment save handler
|
103 |
+
if (typeof Payment != 'undefined') {
|
104 |
if (typeof Payment.prototype._secureSubmitOldSave === 'undefined') {
|
105 |
var oldPayment = Object.clone(Payment.prototype);
|
106 |
Payment.prototype._secureSubmitOldSave = oldPayment.save;
|
112 |
return;
|
113 |
}
|
114 |
|
115 |
+
if (checkout.loadWaiting !== false) return;
|
116 |
|
117 |
// Use stored card checked, get existing token data
|
118 |
if (this.secureSubmitUseStoredCard()) {
|
119 |
+
var storedcardId = $$('[name="hps_securesubmit_stored_card_select"]:checked')[0].value;
|
120 |
checkout.setLoadWaiting('payment');
|
121 |
new Ajax.Request(this.secureSubmitGetTokenDataUrl, {
|
122 |
method: 'post',
|
124 |
onSuccess: function(response) {
|
125 |
var data = response.responseJSON;
|
126 |
if (data && data.token) {
|
127 |
+
$('hps_securesubmit_cc_exp_month').value = parseInt(data.token.cc_exp_month);
|
128 |
+
$('hps_securesubmit_cc_exp_year').value = data.token.cc_exp_year;
|
129 |
}
|
130 |
this.secureSubmitResponseHandler({
|
131 |
token_value: data.token.token_value,
|
144 |
}
|
145 |
// Use stored card not checked, get new token
|
146 |
else {
|
147 |
+
if (SecureSubmitMagento.options.useIframes) {
|
|
|
148 |
checkout.setLoadWaiting('payment');
|
149 |
+
SecureSubmitMagento.hps.Messages.post({
|
150 |
+
accumulateData: true,
|
151 |
+
action: 'tokenize',
|
152 |
+
message: SecureSubmitMagento.options.publicKey
|
153 |
+
}, 'cardNumber');
|
154 |
+
} else {
|
155 |
+
var validator = new Validation(this.form);
|
156 |
+
if (this.validate() && validator.validate()) {
|
157 |
+
checkout.setLoadWaiting('payment');
|
158 |
+
var date = $('hps_securesubmit_exp_date').value.split('/');
|
159 |
+
$('hps_securesubmit_cc_exp_month').value = date[0].trim();
|
160 |
+
$('hps_securesubmit_cc_exp_year').value = date[1].trim();
|
161 |
+
(new Heartland.HPS({
|
162 |
+
publicKey: this.secureSubmitPublicKey,
|
163 |
+
cardNumber: $('hps_securesubmit_cc_number').value,
|
164 |
+
cardCvv: $('hps_securesubmit_cvv_number').value,
|
165 |
+
cardExpMonth: $('hps_securesubmit_cc_exp_month').value,
|
166 |
+
cardExpYear: $('hps_securesubmit_cc_exp_year').value,
|
167 |
+
success: this.secureSubmitResponseHandler.bind(this),
|
168 |
+
error: this.secureSubmitResponseHandler.bind(this)
|
169 |
+
})).tokenize();
|
170 |
+
}
|
171 |
}
|
172 |
}
|
173 |
},
|
174 |
secureSubmitUseStoredCard: function () {
|
175 |
+
var newRadio = $('hps_securesubmit_stored_card_select_new');
|
176 |
+
return !newRadio.checked;
|
177 |
},
|
178 |
secureSubmitResponseHandler: function (response) {
|
179 |
var tokenField = $('hps_securesubmit_token'),
|
180 |
lastFourField = $('hps_securesubmit_cc_last_four');
|
181 |
+
var date = $('hps_securesubmit_exp_date').value.split('/');
|
182 |
+
$('hps_securesubmit_cc_exp_month').value = date[0].trim();
|
183 |
+
$('hps_securesubmit_cc_exp_year').value = date[1].trim();
|
184 |
tokenField.value = lastFourField.value = null;
|
185 |
|
186 |
+
if (SecureSubmitMagento.skipCreditCard) {
|
187 |
+
SecureSubmitMagento.completeCheckout();
|
188 |
+
return;
|
189 |
+
}
|
190 |
+
|
191 |
if (response && response.error) {
|
192 |
+
if (response.error.message) {
|
193 |
+
alert(response.error.message);
|
194 |
}
|
195 |
checkout.setLoadWaiting(false);
|
196 |
} else if (response && response.token_value) {
|
206 |
parameters: Form.serialize(this.form)
|
207 |
});
|
208 |
} else {
|
209 |
+
alert('Unexpected error.');
|
210 |
}
|
211 |
}
|
212 |
});
|
213 |
}
|
214 |
|
215 |
+
if (typeof OPC != 'undefined') {
|
216 |
if (typeof OPC.prototype._secureSubmitOldSubmit === 'undefined') {
|
217 |
var oldOPC = Object.clone(OPC.prototype);
|
218 |
OPC.prototype._secureSubmitOldSubmit = oldOPC.submit;
|
223 |
this._secureSubmitOldSubmit();
|
224 |
return;
|
225 |
}
|
226 |
+
if (SecureSubmitMagento.options.useIframes) {
|
227 |
+
SecureSubmitMagento.hps.Messages.post({
|
228 |
+
accumulateData: true,
|
229 |
+
action: 'tokenize',
|
230 |
+
message: SecureSubmitMagento.options.publicKey
|
231 |
+
}, 'cardNumber');
|
232 |
+
} else {
|
233 |
+
var date = $('hps_securesubmit_exp_date').value.split('/');
|
234 |
+
$('hps_securesubmit_cc_exp_month').value = date[0].trim();
|
235 |
+
$('hps_securesubmit_cc_exp_year').value = date[1].trim();
|
236 |
+
(new Heartland.HPS({
|
237 |
+
publicKey: this.secureSubmitPublicKey,
|
238 |
+
cardNumber: $('hps_securesubmit_cc_number').value,
|
239 |
+
cardCvv: $('hps_securesubmit_cvv_number').value,
|
240 |
+
cardExpMonth: $('hps_securesubmit_cc_exp_month').value,
|
241 |
+
cardExpYear: $('hps_securesubmit_cc_exp_year').value,
|
242 |
+
success: this.secureSubmitResponseHandler.bind(this),
|
243 |
+
error: this.secureSubmitResponseHandler.bind(this)
|
244 |
+
})).tokenize();
|
245 |
+
}
|
246 |
},
|
247 |
secureSubmitResponseHandler: function (response) {
|
248 |
var tokenField = $('hps_securesubmit_token'),
|
249 |
lastFourField = $('hps_securesubmit_cc_last_four');
|
250 |
+
var date = $('hps_securesubmit_exp_date').value.split('/');
|
251 |
+
$('hps_securesubmit_cc_exp_month').value = date[0].trim();
|
252 |
+
$('hps_securesubmit_cc_exp_year').value = date[1].trim();
|
253 |
tokenField.value = lastFourField.value = null;
|
254 |
|
255 |
+
if (SecureSubmitMagento.skipCreditCard) {
|
256 |
+
SecureSubmitMagento.completeCheckout();
|
257 |
+
return;
|
258 |
+
}
|
259 |
+
|
260 |
if (response && response.error) {
|
261 |
+
if (response.error.message) {
|
262 |
+
alert(response.error.message);
|
263 |
}
|
264 |
checkout.setLoadWaiting(false);
|
265 |
} else if (response && response.token_value) {
|
273 |
parameters: params,
|
274 |
onSuccess: this.setResponse.bind(this),
|
275 |
onFailure: this.ajaxFailure.bind(this)
|
276 |
+
});
|
277 |
} else {
|
278 |
+
alert('Unexpected error.');
|
279 |
+
}
|
280 |
+
}
|
281 |
+
});
|
282 |
+
}
|
283 |
+
|
284 |
+
// MageStore One Step Checkout
|
285 |
+
if (typeof oscPlaceOrder == 'function') {
|
286 |
+
var cloneFunction = function (that) {
|
287 |
+
var temp = function temporary() { return that.apply(this, arguments); };
|
288 |
+
for (var key in this) {
|
289 |
+
if (this.hasOwnProperty(key)) {
|
290 |
+
temp[key] = this[key];
|
291 |
+
}
|
292 |
+
}
|
293 |
+
return temp;
|
294 |
+
};
|
295 |
+
var oscPlaceOrderOriginal = cloneFunction(oscPlaceOrder);
|
296 |
+
oscPlaceOrder = function (btn) {
|
297 |
+
var validator = new Validation('one-step-checkout-form');
|
298 |
+
var form = $('one-step-checkout-form');
|
299 |
+
if (validator.validate()) {
|
300 |
+
var currentPayment = $RF(form, 'payment[method]');
|
301 |
+
if (currentPayment!='hps_securesubmit') {
|
302 |
+
oscPlaceOrderOriginal(btn);
|
303 |
+
return;
|
304 |
+
}
|
305 |
+
$('onestepcheckout-place-order-loading').hide();
|
306 |
+
$('onestepcheckout-button-place-order').removeClassName('place-order-loader');
|
307 |
+
$('onestepcheckout-button-place-order').addClassName('onestepcheckout-btn-checkout');
|
308 |
+
if (secureSubmitUseStoredCardOSC()) {
|
309 |
+
var storedcardId = $('hps_securesubmit_stored_card_select').value;
|
310 |
+
new Ajax.Request(window.payment.secureSubmitGetTokenDataUrlOSC, {
|
311 |
+
method: 'post',
|
312 |
+
parameters: {storedcard_id: storedcardId},
|
313 |
+
onSuccess: function (response) {
|
314 |
+
var data = response.responseJSON;
|
315 |
+
if (data && data.token) {
|
316 |
+
$('hps_securesubmit_expiration').value = parseInt(data.token.cc_exp_month);
|
317 |
+
$('hps_securesubmit_expiration_yr').value = data.token.cc_exp_year;
|
318 |
+
}
|
319 |
+
secureSubmitResponseHandlerOSC({
|
320 |
+
token_value: data.token.token_value,
|
321 |
+
token_type: null, // 'supt'?
|
322 |
+
token_expire: new Date().toISOString(),
|
323 |
+
card: {
|
324 |
+
number: data.token.cc_last4
|
325 |
+
}
|
326 |
+
}, btn);
|
327 |
+
},
|
328 |
+
onFailure: function() {
|
329 |
+
alert('Unknown error. Please try again.');
|
330 |
+
$('onestepcheckout-place-order-loading').show();
|
331 |
+
$('onestepcheckout-button-place-order').removeClassName('onestepcheckout-btn-checkout');
|
332 |
+
$('onestepcheckout-button-place-order').addClassName('place-order-loader');
|
333 |
+
}
|
334 |
+
});
|
335 |
+
} else {
|
336 |
+
if (SecureSubmitMagento.options.useIframes) {
|
337 |
+
SecureSubmitMagento.hps.Messages.post({
|
338 |
+
accumulateData: true,
|
339 |
+
action: 'tokenize',
|
340 |
+
message: SecureSubmitMagento.options.publicKey
|
341 |
+
}, 'cardNumber');
|
342 |
+
} else {
|
343 |
+
var date = $('hps_securesubmit_exp_date').value.split('/');
|
344 |
+
$('hps_securesubmit_cc_exp_month').value = date[0].trim();
|
345 |
+
$('hps_securesubmit_cc_exp_year').value = date[1].trim();
|
346 |
+
(new Heartland.HPS({
|
347 |
+
publicKey: window.payment.secureSubmitPublicKeyOSC,
|
348 |
+
cardNumber: $('hps_securesubmit_cc_number').value,
|
349 |
+
cardCvv: $('hps_securesubmit_cvv_number').value,
|
350 |
+
cardExpMonth: $('hps_securesubmit_cc_exp_month').value,
|
351 |
+
cardExpYear: $('hps_securesubmit_cc_exp_year').value,
|
352 |
+
success: function (response) {
|
353 |
+
secureSubmitResponseHandlerOSC(response, btn);
|
354 |
+
},
|
355 |
+
error: function (response) {
|
356 |
+
secureSubmitResponseHandlerOSC(response, btn);
|
357 |
+
}
|
358 |
+
})).tokenize();
|
359 |
+
}
|
360 |
+
}
|
361 |
+
}
|
362 |
+
};
|
363 |
+
|
364 |
+
secureSubmitUseStoredCardOSC = function () {
|
365 |
+
var storedCheckbox = $('hps_securesubmit_stored_card_checkbox');
|
366 |
+
return storedCheckbox && storedCheckbox.checked;
|
367 |
+
};
|
368 |
+
|
369 |
+
secureSubmitResponseHandlerOSC = function (response, btn) {
|
370 |
+
var tokenField = $('hps_securesubmit_token'),
|
371 |
+
lastFourField = $('hps_securesubmit_cc_last_four');
|
372 |
+
tokenField.value = lastFourField.value = null;
|
373 |
+
|
374 |
+
if (SecureSubmitMagento.skipCreditCard) {
|
375 |
+
SecureSubmitMagento.completeCheckout();
|
376 |
+
return;
|
377 |
+
}
|
378 |
+
|
379 |
+
if (response && response.error) {
|
380 |
+
if (response.error.message) {
|
381 |
+
alert(response.error.message);
|
382 |
+
}
|
383 |
+
|
384 |
+
$('onestepcheckout-place-order-loading').hide();
|
385 |
+
$('onestepcheckout-button-place-order').removeClassName('place-order-loader');
|
386 |
+
$('onestepcheckout-button-place-order').addClassName('onestepcheckout-btn-checkout');
|
387 |
+
} else if (response && response.token_value) {
|
388 |
+
tokenField.value = response.token_value;
|
389 |
+
lastFourField.value = response.card.number.substr(-4);
|
390 |
+
|
391 |
+
$('onestepcheckout-place-order-loading').show();
|
392 |
+
$('onestepcheckout-button-place-order').removeClassName('onestepcheckout-btn-checkout');
|
393 |
+
$('onestepcheckout-button-place-order').addClassName('place-order-loader');
|
394 |
+
oscPlaceOrderOriginal(btn);
|
395 |
+
} else {
|
396 |
+
alert('Unexpected error.');
|
397 |
+
$('onestepcheckout-place-order-loading').show();
|
398 |
+
$('onestepcheckout-button-place-order').removeClassName('onestepcheckout-btn-checkout');
|
399 |
+
$('onestepcheckout-button-place-order').addClassName('place-order-loader');
|
400 |
+
}
|
401 |
+
};
|
402 |
+
}
|
403 |
+
|
404 |
+
// IWD OPC
|
405 |
+
if (typeof IWD !== 'undefined' && typeof IWD.OPC !== 'undefined') {
|
406 |
+
if (typeof IWD.OPC._secureSubmitOldSavePayment === 'undefined') {
|
407 |
+
var oldOPC = Object.clone(IWD.OPC);
|
408 |
+
IWD.OPC._secureSubmitOldSavePayment = oldOPC.savePayment;
|
409 |
+
}
|
410 |
+
Object.extend(IWD.OPC, {
|
411 |
+
savePayment: function() {
|
412 |
+
if (payment.currentMethod != 'hps_securesubmit') {
|
413 |
+
this._secureSubmitOldSavePayment();
|
414 |
+
return;
|
415 |
+
}
|
416 |
+
|
417 |
+
if (!this.saveOrderStatus) {
|
418 |
+
return;
|
419 |
+
}
|
420 |
+
|
421 |
+
if (SecureSubmitMagento.options.useIframes) {
|
422 |
+
SecureSubmitMagento.hps.Messages.post({
|
423 |
+
accumulateData: true,
|
424 |
+
action: 'tokenize',
|
425 |
+
message: SecureSubmitMagento.options.publicKey
|
426 |
+
}, 'cardNumber');
|
427 |
+
} else {
|
428 |
+
var date = $('hps_securesubmit_exp_date').value.split('/');
|
429 |
+
$('hps_securesubmit_cc_exp_month').value = date[0].trim();
|
430 |
+
$('hps_securesubmit_cc_exp_year').value = date[1].trim();
|
431 |
+
(new Heartland.HPS({
|
432 |
+
publicKey: this.secureSubmitPublicKey,
|
433 |
+
cardNumber: $('hps_securesubmit_cc_number').value,
|
434 |
+
cardCvv: $('hps_securesubmit_cvv_number').value,
|
435 |
+
cardExpMonth: $('hps_securesubmit_cc_exp_month').value,
|
436 |
+
cardExpYear: $('hps_securesubmit_cc_exp_year').value,
|
437 |
+
success: this.secureSubmitResponseHandler.bind(this),
|
438 |
+
error: this.secureSubmitResponseHandler.bind(this)
|
439 |
+
})).tokenize();
|
440 |
+
}
|
441 |
+
},
|
442 |
+
secureSubmitResponseHandler: function (response) {
|
443 |
+
var tokenField = $('hps_securesubmit_token'),
|
444 |
+
lastFourField = $('hps_securesubmit_cc_last_four');
|
445 |
+
tokenField.value = lastFourField.value = null;
|
446 |
+
|
447 |
+
if (SecureSubmitMagento.skipCreditCard) {
|
448 |
+
SecureSubmitMagento.completeCheckout();
|
449 |
+
return;
|
450 |
+
}
|
451 |
+
|
452 |
+
if (response && response.error) {
|
453 |
+
IWD.OPC.Checkout.hideLoader();
|
454 |
+
IWD.OPC.Checkout.xhr = null;
|
455 |
+
IWD.OPC.Checkout.unlockPlaceOrder();
|
456 |
+
alert(response.error.message);
|
457 |
+
} else if (response && response.token_value) {
|
458 |
+
tokenField.value = response.token_value;
|
459 |
+
lastFourField.value = response.card.number.substr(-4);
|
460 |
+
|
461 |
+
var form = $j_opc('#co-payment-form').serializeArray();
|
462 |
+
IWD.OPC.Checkout.xhr = $j_opc.post(
|
463 |
+
IWD.OPC.Checkout.config.baseUrl + 'onepage/json/savePayment',
|
464 |
+
form,
|
465 |
+
IWD.OPC.preparePaymentResponse,
|
466 |
+
'json'
|
467 |
+
);
|
468 |
+
} else {
|
469 |
+
IWD.OPC.Checkout.hideLoader();
|
470 |
+
IWD.OPC.Checkout.xhr = null;
|
471 |
+
IWD.OPC.Checkout.unlockPlaceOrder();
|
472 |
+
alert('Unexpected error.');
|
473 |
}
|
474 |
}
|
475 |
});
|
476 |
}
|
477 |
});
|
478 |
+
|
479 |
+
(function (window, document, undefined) {
|
480 |
+
var THIS = {
|
481 |
+
skipCreditCard: false,
|
482 |
+
init: function (options) {
|
483 |
+
THIS.options = options;
|
484 |
+
THIS.observeSavedCards();
|
485 |
+
THIS.observeGift();
|
486 |
+
|
487 |
+
if (typeof Payment !== 'undefined') {
|
488 |
+
window.payment = window.payment || {};
|
489 |
+
payment.secureSubmitPublicKey = THIS.options.publicKey;
|
490 |
+
payment.secureSubmitGetTokenDataUrl = THIS.options.tokenDataUrl;
|
491 |
+
} else if (!document.getElementById('multishipping-billing-form').empty()){
|
492 |
+
THIS.secureSubmitMS = securesubmitMultishipping(document.getElementById('multishipping-billing-form'));
|
493 |
+
THIS.secureSubmitMS.secureSubmitPublicKey = THIS.options.publicKey;
|
494 |
+
THIS.secureSubmitMS.secureSubmitGetTokenDataUrl = THIS.options.tokenDataUrl;
|
495 |
+
document.observe('dom:loaded', function() {
|
496 |
+
Event.observe('payment-continue', 'click', function(e){ Event.stop(e); THIS.secureSubmitMS.save(); });
|
497 |
+
});
|
498 |
+
}
|
499 |
+
|
500 |
+
if (typeof OPC !== 'undefined') {
|
501 |
+
OPC.prototype.secureSubmitPublicKey = THIS.options.publicKey;
|
502 |
+
OPC.prototype.secureSubmitGetTokenDataUrl = THIS.options.tokenDataUrl;
|
503 |
+
}
|
504 |
+
|
505 |
+
// MageStore OSC
|
506 |
+
window.payment = window.payment || {};
|
507 |
+
window.payment.secureSubmitPublicKeyOSC = THIS.options.publicKey;
|
508 |
+
window.payment.secureSubmitGetTokenDataUrlOSC = THIS.options.tokenDataUrl;
|
509 |
+
|
510 |
+
// IWD OPC
|
511 |
+
if (typeof IWD !== 'undefined' && typeof IWD.OPC !== 'undefined') {
|
512 |
+
IWD.OPC.secureSubmitPublicKey = THIS.options.publicKey;
|
513 |
+
IWD.OPC.secureSubmitGetTokenDataUrl = THIS.options.tokenDataUrl;
|
514 |
+
}
|
515 |
+
|
516 |
+
THIS.setupFields();
|
517 |
+
},
|
518 |
+
observeSavedCards: function () {
|
519 |
+
if (THIS.options.loggedIn && THIS.options.allowCardSaving) {
|
520 |
+
$$('[name="' + THIS.options.code + '_stored_card_select"]').each(function (el) {
|
521 |
+
$(el).observe('click', function() {
|
522 |
+
if ($(THIS.options.code + '_stored_card_select_new').checked) {
|
523 |
+
$(THIS.options.code + '_cc_form').show();
|
524 |
+
} else {
|
525 |
+
$(THIS.options.code + '_cc_form').hide();
|
526 |
+
}
|
527 |
+
|
528 |
+
if (!THIS.options.useIframes) {
|
529 |
+
$(THIS.options.code + '_cc_number').toggleClassName('validate-cc-number');
|
530 |
+
}
|
531 |
+
|
532 |
+
$$('[name="' + THIS.options.code + '_stored_card_select"]').each(function (element) {
|
533 |
+
$(element).up(2).removeClassName('active');
|
534 |
+
});
|
535 |
+
|
536 |
+
$(el).up(2).addClassName('active');
|
537 |
+
});
|
538 |
+
});
|
539 |
+
}
|
540 |
+
},
|
541 |
+
observeGift: function () {
|
542 |
+
if (THIS.options.allowGift) {
|
543 |
+
Event.observe('apply-gift-card', 'click', function(event) {
|
544 |
+
$j.ajax({
|
545 |
+
url: THIS.options.giftBalanceUrl,
|
546 |
+
type: 'GET',
|
547 |
+
data: "giftcard_number=" + $j('#' + THIS.options.code + '_giftcard_number').val()
|
548 |
+
+ "&giftcard_pin=" + $j('#' + THIS.options.code + '_giftcard_pin').val(),
|
549 |
+
success: function(data) {
|
550 |
+
if (data.error) {
|
551 |
+
alert('Error adding gift card: ' + data.message);
|
552 |
+
} else {
|
553 |
+
//successful gift, show things
|
554 |
+
$j('#apply-gift-card').hide();
|
555 |
+
$j('#' + THIS.options.code + '_giftcard_number').hide();
|
556 |
+
$j('#' + THIS.options.code + '_giftcard_pin').hide();
|
557 |
+
$j('#gift-card-number-label').text($j('#' + THIS.options.code + '_giftcard_number').val() + ' - $' + data.balance);
|
558 |
+
$j('#gift-card-number-label').show();
|
559 |
+
$j('#remove-gift-card').show();
|
560 |
+
|
561 |
+
if (!data.less_than_total) {
|
562 |
+
// skip cc capture enable
|
563 |
+
$$('#payment_form_hps_securesubmit .new-card')[0].hide();
|
564 |
+
$('hps_securesubmit_gift_card').style.borderTopWidth = '0px';
|
565 |
+
$(THIS.options.code + '_token').value = 'dummy';
|
566 |
+
THIS.skipCreditCard = true;
|
567 |
+
$(THIS.options.code + '_giftcard_skip_cc').value = 'true';
|
568 |
+
}
|
569 |
+
}
|
570 |
+
}
|
571 |
+
});
|
572 |
+
});
|
573 |
+
Event.observe('remove-gift-card', 'click', function(event) {
|
574 |
+
$j('#apply-gift-card').show();
|
575 |
+
$j('#' + THIS.options.code + '_giftcard_number').val('');
|
576 |
+
$j('#' + THIS.options.code + '_giftcard_number').show();
|
577 |
+
$j('#' + THIS.options.code + '_giftcard_pin').val('');
|
578 |
+
$j('#' + THIS.options.code + '_giftcard_pin').show();
|
579 |
+
$j('#gift-card-number-label').text('');
|
580 |
+
$j('#gift-card-number-label').hide();
|
581 |
+
$j('#remove-gift-card').hide();
|
582 |
+
|
583 |
+
// skip cc capture disable
|
584 |
+
$$('#payment_form_hps_securesubmit .new-card')[0].show();
|
585 |
+
$('hps_securesubmit_gift_card').style.borderTopWidth = '1px';
|
586 |
+
$(THIS.options.code + '_token').value = '';
|
587 |
+
THIS.skipCreditCard = false;
|
588 |
+
$(THIS.options.code + '_giftcard_skip_cc').value = 'false';
|
589 |
+
});
|
590 |
+
}
|
591 |
+
},
|
592 |
+
setupFields: function () {
|
593 |
+
if (THIS.options.useIframes) {
|
594 |
+
THIS.hps = new Heartland.HPS({
|
595 |
+
publicKey: THIS.options.publicKey,
|
596 |
+
type: 'iframe',
|
597 |
+
fields: {
|
598 |
+
cardNumber: {
|
599 |
+
target: THIS.options.iframeTargets.cardNumber,
|
600 |
+
placeholder: '•••• •••• •••• ••••'
|
601 |
+
},
|
602 |
+
cardExpiration: {
|
603 |
+
target: THIS.options.iframeTargets.cardExpiration,
|
604 |
+
placeholder: 'MM / YYYY'
|
605 |
+
},
|
606 |
+
cardCvv: {
|
607 |
+
target: THIS.options.iframeTargets.cardCvv,
|
608 |
+
placeholder: 'CVV'
|
609 |
+
}
|
610 |
+
},
|
611 |
+
style: {
|
612 |
+
'#heartland-field': {
|
613 |
+
'height': '40px',
|
614 |
+
'border-radius': '0px',
|
615 |
+
'border': '1px solid silver',
|
616 |
+
'letter-spacing': '2.5px',
|
617 |
+
'margin': '5px 0px 15px 0px',
|
618 |
+
'max-width': '365px',
|
619 |
+
'width': '100%',
|
620 |
+
'padding-left': '9px',
|
621 |
+
'font-size': '15px'
|
622 |
+
},
|
623 |
+
'@media only screen and (max-width: 479px)': {
|
624 |
+
'#heartland-field': {
|
625 |
+
'width': '95%'
|
626 |
+
}
|
627 |
+
}
|
628 |
+
},
|
629 |
+
onTokenSuccess: function (resp) {
|
630 |
+
$(THIS.options.code + '_token').value = resp.token_value;
|
631 |
+
$(THIS.options.code + '_cc_last_four').value = resp.card.number.substr(-4);
|
632 |
+
$(THIS.options.code + '_cc_type').value = resp.card_type;
|
633 |
+
$(THIS.options.code + '_cc_exp_month').value = resp.exp_month;
|
634 |
+
$(THIS.options.code + '_cc_exp_year').value = resp.exp_year;
|
635 |
+
|
636 |
+
THIS.completeCheckout();
|
637 |
+
},
|
638 |
+
onTokenError: function (response) {
|
639 |
+
if (THIS.skipCreditCard) {
|
640 |
+
THIS.completeCheckout();
|
641 |
+
return;
|
642 |
+
}
|
643 |
+
|
644 |
+
if (response.error.message) {
|
645 |
+
alert(response.error.message);
|
646 |
+
} else {
|
647 |
+
alert('Unexpected error.');
|
648 |
+
}
|
649 |
+
|
650 |
+
if (typeof Payment !== 'undefined' && window.checkout) {
|
651 |
+
checkout.setLoadWaiting(false);
|
652 |
+
} else if (typeof OPC !== 'undefined' && window.checkout) {
|
653 |
+
checkout.setLoadWaiting(false);
|
654 |
+
}
|
655 |
+
}
|
656 |
+
});
|
657 |
+
} else {
|
658 |
+
Heartland.Card.attachNumberEvents('#' + THIS.options.code + '_cc_number');
|
659 |
+
Heartland.Card.attachExpirationEvents('#' + THIS.options.code + '_exp_date');
|
660 |
+
Heartland.Card.attachCvvEvents('#' + THIS.options.code + '_cvv_number');
|
661 |
+
}
|
662 |
+
},
|
663 |
+
completeCheckout: function () {
|
664 |
+
if (typeof OPC !== 'undefined') {
|
665 |
+
checkout.setLoadWaiting(true);
|
666 |
+
var params = Form.serialize(checkout.form);
|
667 |
+
var request = new Ajax.Request(checkout.saveUrl, {
|
668 |
+
method: 'post',
|
669 |
+
parameters: params,
|
670 |
+
onSuccess: checkout.setResponse.bind(checkout),
|
671 |
+
onFailure: checkout.ajaxFailure.bind(checkout)
|
672 |
+
});
|
673 |
+
} else if (typeof IWD.OPC !== 'undefined') {
|
674 |
+
var form = $j_opc('#co-payment-form').serializeArray();
|
675 |
+
IWD.OPC.Checkout.xhr = $j_opc.post(
|
676 |
+
IWD.OPC.Checkout.config.baseUrl + 'onepage/json/savePayment',
|
677 |
+
form,
|
678 |
+
IWD.OPC.preparePaymentResponse,
|
679 |
+
'json'
|
680 |
+
);
|
681 |
+
} else if (window.oscPlaceOrderOriginal) {
|
682 |
+
$('onestepcheckout-place-order-loading').show();
|
683 |
+
$('onestepcheckout-button-place-order').removeClassName('onestepcheckout-btn-checkout');
|
684 |
+
$('onestepcheckout-button-place-order').addClassName('place-order-loader');
|
685 |
+
oscPlaceOrderOriginal(btn);
|
686 |
+
} else if (typeof Payment !== 'undefined') {
|
687 |
+
var params = Form.serialize(payment.form);
|
688 |
+
var request = new Ajax.Request(payment.saveUrl, {
|
689 |
+
method: 'post',
|
690 |
+
parameters: params,
|
691 |
+
onComplete: payment.onComplete,
|
692 |
+
onSuccess: payment.onSave,
|
693 |
+
onFailure: checkout.ajaxFailure.bind(checkout)
|
694 |
+
});
|
695 |
+
} else if (!document.getElementById('multishipping-billing-form').empty()) {
|
696 |
+
document.getElementById('payment-continue').enable();
|
697 |
+
document.getElementById('multishipping-billing-form').submit();
|
698 |
+
}
|
699 |
+
}
|
700 |
+
};
|
701 |
+
window.SecureSubmitMagento = THIS;
|
702 |
+
}(window, window.document));
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Hps_Securesubmit</name>
|
4 |
-
<version>1.2.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="https://github.com/hps/heartland-magento-extension/blob/master/LICENSE">Custom</license>
|
7 |
<channel>community</channel>
|
@@ -10,11 +10,11 @@
|
|
10 |
<description>Use Heartland Payment Systems SecureSubmit platform to charge, authorize, void, refund and partial refund credit cards.
|
11 |

|
12 |
Allow customers to store their cards for reduced friction at next checkout using our multi-use card tokenization process which helps reduce PCI scope.</description>
|
13 |
-
<notes>
|
14 |
<authors><author><name>Heartland Payment Systems</name><user>markhagan</user><email>EntApp_DevPortal@e-hps.com</email></author></authors>
|
15 |
-
<date>2016-06-
|
16 |
-
<time>
|
17 |
-
<contents><target name="magecommunity"><dir name="Hps"><dir name="Securesubmit"><dir name="Block"><dir name="Adminhtml"><file name="Form.php" hash="ab296bcf9018c73690bb0f5ab381381d"/><dir name="Paypal"><dir name="Settlement"><dir name="Report"><dir name="Form"><file name="Form.php" hash="da5a943526a729a4e78def46c63d0109"/></dir><file name="Form.php" hash="ecc3101a2a399dc71ae544bbe7bb9595"/><file name="Grid.php" hash="35b62c9ab2fe5b5e9a9394e11167f50c"/></dir><file name="Report.php" hash="19171fb1fad872b0ebff9692de1415fd"/></dir></dir></dir><file name="Form.php" hash="031741c6abad215430305c3758b3a362"/><file name="Info.php" hash="6517436417704a229e89274952a66b16"/><dir name="Masterpass"><dir name="Client"><file name="Js.php" hash="ed427387b93d2753d8e8ada51c0d8f37"/></dir><file name="Connect.php" hash="b5e362f21c219ec61c4df7dff561ace6"/><file name="Form.php" hash="6abc4c67143380fad13efec247a18af4"/><file name="Info.php" hash="b8f714200c8f74cd8a0a9547fafc3637"/><dir name="Review"><file name="Billing.php" hash="c5bc2f64c2dc30e8ca1458cd286a16ee"/><file name="Details.php" hash="c324f315b2dfda8263151612ec73f513"/><file name="Shipping.php" hash="aeb5f38aa185e9d3acbb7ce5d4c4b841"/></dir><file name="Review.php" hash="b6e4dbd308c44215e50fa94dd22a32b0"/></dir><dir name="Paypal"><dir name="Credit"><file name="Form.php" hash="68fc4811e8f2d9a1b502454533fe5bca"/></dir><file name="Form.php" hash="776d2aab11db7d212061ca9a30936af1"/><dir name="Incontext"><file name="Js.php" hash="d09bf9157c0b7c5f6dba16d8cdac557d"/></dir><file name="Info.php" hash="9c1948c538383376b1dc1b4c76c31e95"/><dir name="Review"><file name="Billing.php" hash="62a22e1f5bd65c4d9369b5794779ffe9"/><file name="Details.php" hash="57d97c8a2c3b7ddac7dc4cda43e4363f"/><file name="Shipping.php" hash="694374b68714b6d58d9af8b9fb15d502"/></dir><file name="Review.php" hash="87c8f3bf319799b33170bec9f42e2544"/><file name="Shortcut.php" hash="26f13ae7afac41ce88fb1cd4042b61b5"/></dir></dir><dir name="Helper"><dir name="Altpayment"><file name="Abstract.php" hash="5fc29e9d6355660415934426d0ee624e"/></dir><file name="Data.php" hash="35a26dab0e14154f2ee80a498f788d7c"/><file name="Masterpass.php" hash="69489b7cae8b99fe216f522b19f3d448"/><file name="Paypal.php" hash="74d1d0885349c432016bd04f3211c4c2"/></dir><dir name="Model"><dir name="Altpayment"><file name="Cart.php" hash="1dc83b97c44463e954efc8ee1c9e62b8"/></dir><file name="Masterpass.php" hash="063acd12e22bdc26d7591cbabf7e3005"/><file name="Payment.php" hash="089179a35b4eddf64ebf2faa360eb21e"/><dir name="Paypal"><file name="Credit.php" hash="3548d6c4308df9d377cc1dd0d40f0f4d"/></dir><file name="Paypal.php" hash="c3eb2058ff6860e85a9310944c989301"/><file name="Report.php" hash="7f5e5bf0c652b37cf8c42eb553c8b3e0"/><dir name="Resource"><dir name="Report"><file name="Collection.php" hash="5870728a842922bbbff9c50173a90bd4"/></dir><file name="Report.php" hash="59598e2958a864119925c6e847b66121"/><file name="Setup.php" hash="8bdfbde89d786809d8aa2637efb1d2ae"/><dir name="Storedcard"><file name="Collection.php" hash="756c3c2d6dd5384f37847a028ac12fee"/></dir><file name="Storedcard.php" hash="d43320b704eb1e37c77a5ac20401c557"/></dir><file name="Session.php" hash="136b4146cea2f596847f0b838ec3f532"/><dir name="Source"><file name="Cctype.php" hash="d2dfff6147dc5c2748c7e9767b1fd1cb"/><file name="PaymentAction.php" hash="3c900b82e9af73a372d9f5f36bc1c264"/></dir><file name="Storedcard.php" hash="50897a56669c5938d4613579b603df93"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Proxy.php" hash="29ea9cb11927cd1e43055a42101eea36"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Hps"><dir name="Paypal"><file name="ReportsController.php" hash="914711bc008ec9e240918be7e77d1d54"/></dir></dir><file name="StoredcardController.php" hash="1e968134bf3b60a5f49544ddd1df8f03"/></dir><file name="GiftcardController.php" hash="17b5a07d1d277281199f8f01d8280420"/><file name="MasterpassController.php" hash="2fb95214db3d3d017dd022743636ec50"/><file name="PaypalController.php" hash="962ce3dc3e738689d6ec6b122ed46001"/><file name="StoredcardController.php" hash="57116e86203df6f24a12fcd93186b534"/></dir><dir name="etc"><file name="adminhtml.xml" hash="8dc53c22d22cd633ebd6c06e7262c741"/><file name="config.xml" hash="0a5d2c0241c3d737081c7e923d2f5276"/><file name="system.xml" hash="813d66d3fe8bde89912b9e6fa8355ba0"/></dir><dir name="sql"><dir name="hps_securesubmit_setup"><file name="install-1.0.0.php" hash="d424731dcb784aad59dad0bcce431375"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="510826261ea81ea6a09d4ea84c59d41d"/><file name="mysql4-upgrade-1.0.1-1.1.0.php" hash="01e948ea2939f9b0b69bb6748adc53f2"/><file name="mysql4-upgrade-1.1.0-1.2.0.php" hash="84cf1a359fc5a5600e1d98ba0089d911"/></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="securesubmit"><file name="admin-checkout.js" hash="14d970828f50bb463dc3f7cdaca97e1d"/><file name="checkout-form.js" hash="14cc8b51bc2073e922aa54f28300e0a2"/><dir name="masterpass"><file name="lightbox.js" hash="b534647c7c06b5ce90caf4cdd6166f91"/></dir><dir name="paypal"><file name="incontext.js" hash="e3810f12033fa9822db756a22622f799"/></dir><file name="secure.submit-1.0.1.js" hash="988d59dadbc272b869bc9e56cbd7518e"/></dir></dir></target><target name="magelib"><dir name="SecureSubmit"><file name="Hps.php" hash="aeeb39dae09306051eec2cf455fcb6a8"/><file name="LICENSE.txt" hash="de081f847a769f89be5a1f80862005ba"/><file name="PRIVACY.txt" hash="58cdc5fbbff24a84a838b0174b254f70"/><file name="README.md" hash="8320a396aa5544e61fe2e8f2adb09505"/><file name="index.php" hash="feabe5cc691b088d6ade3e04d6b120fc"/><dir name="src"><dir name="Abstractions"><file name="HpsAltPaymentServiceInterface.php" hash="bbbacdf42b798458ca46921b3ddb9eaf"/><file name="HpsBuilderAbstract.php" hash="6498e7b7e00716574a9dd238d1d7da5e"/><file name="HpsConfigInterface.php" hash="6541819ca5724269db6e1a9ed456d52e"/><file name="HpsGatewayServiceAbstract.php" hash="6e6631e0cfea0001a6fff4bf57d13068"/><file name="HpsGatewayServiceInterface.php" hash="c2b49802b328648d8510433b5c82f71f"/><file name="HpsPayPlanResourceAbstract.php" hash="df262df6345c4932626e60afecdeb478"/><file name="HpsPayPlanResourceInterface.php" hash="22dd33e354f46218d2872eab956d57c1"/></dir><dir name="Entities"><dir name="AltPayment"><file name="HpsAltPaymentAddToBatch.php" hash="1684714c0cd14d6d33288a44f43c9dd6"/><file name="HpsAltPaymentAuth.php" hash="4f2748e2b95cffed6bd0e62f75af71eb"/><file name="HpsAltPaymentCapture.php" hash="51a86062c15c6f8de15147b5b53f89a4"/><file name="HpsAltPaymentCreateSession.php" hash="4e83acd11a03e7dfcf904f2421d858b3"/><file name="HpsAltPaymentResponse.php" hash="860336d2015560f889c41773574b97ab"/><file name="HpsAltPaymentReturn.php" hash="0b9d8cb0f67ddf113b99ca64ab6019a3"/><file name="HpsAltPaymentSale.php" hash="f390a9a4af50f7a8a863c607f7e3357f"/><file name="HpsAltPaymentSessionInfo.php" hash="a5fdaea50db9f15eb762f4ca3512cae4"/><file name="HpsAltPaymentVoid.php" hash="429f0fbec31ae4842c494b0a8af47ddb"/><file name="HpsBuyerData.php" hash="4fd94d96a547378d2974fa386c89223f"/><file name="HpsCardinalMPIAddOrderNumberResponse.php" hash="a2f2c09eb9e7020e7af97819fe065dc3"/><file name="HpsCardinalMPIAuthenticateResponse.php" hash="6868b0bc55d8e3409684e795d1db92fc"/><file name="HpsCardinalMPIAuthorizeResponse.php" hash="566a64988246220b00da62078ae32068"/><file name="HpsCardinalMPIAuthresponseResponse.php" hash="a53fb4863feb909ccb0d2f2cc254562f"/><file name="HpsCardinalMPICaptureResponse.php" hash="29de876ce9bc632016fceab91dca22ac"/><file name="HpsCardinalMPILookupResponse.php" hash="7171aff90865b67db79559f7b2f579ba"/><file name="HpsCardinalMPIPreapprovalResponse.php" hash="e9408b385ca4f32de5f1adf96a36c42d"/><file name="HpsCardinalMPIRefundResponse.php" hash="71dbbff6f6383a19b0feb91f8771dbe5"/><file name="HpsCardinalMPIResponse.php" hash="d3729129967b1da049287e200e4d46e2"/><file name="HpsCardinalMPIVoidResponse.php" hash="2796de53634fccca806a4a4143779f81"/><file name="HpsLineItem.php" hash="4ff06a280975312365cf10a730636682"/><file name="HpsOrderData.php" hash="5d3ae0110d44f4786d4398861735a259"/><file name="HpsPaymentData.php" hash="2bd9ddc10ecdaebdbb5bf0e3cf71f642"/><file name="HpsShippingInfo.php" hash="63b621ebba4ae1711aca57073b0abec7"/></dir><dir name="Batch"><file name="HpsBatch.php" hash="d9af4664e64172cb8edaeaa1ea7c7337"/></dir><dir name="Check"><file name="HpsCheck.php" hash="8fb85bd4d608e72a9690285ec46fa6d2"/><file name="HpsCheckHolder.php" hash="58f865b34faf2790fef26066de775a15"/><file name="HpsCheckResponse.php" hash="ff3c752bc85554424e62ed7efbc053f2"/><file name="HpsCheckResponseDetails.php" hash="28928ceb2dea574603a376aed1691a90"/></dir><dir name="Credit"><file name="HpsAccountVerify.php" hash="527a69e5a39153b764e6c14e0d98bf34"/><file name="HpsAuthorization.php" hash="7ec1bbfa6efa5bc48432b5de81eda314"/><file name="HpsCPCData.php" hash="f246c4aa1eec482ba84966c563aeb970"/><file name="HpsCPCEdit.php" hash="f04b0089485ba9e7eacba8e15815ec97"/><file name="HpsCardHolder.php" hash="ffee4609a3ffa886a386a12dea3f4508"/><file name="HpsCharge.php" hash="512fb9e459b336a9e256d8f1e08e36b9"/><file name="HpsChargeExceptions.php" hash="c7df102696a205a4c5689c48878ac5f3"/><file name="HpsCreditCard.php" hash="6aa3d449b0648997c4c532c1e3603cbb"/><file name="HpsOfflineAuthorization.php" hash="6f11736d36cfde0d9d79c94e92f60c8b"/><file name="HpsRecurringBilling.php" hash="9da8f9b16179729b77615f04993b05bf"/><file name="HpsRefund.php" hash="aa4664916ebb94b8f2066fd7c17b0fd4"/><file name="HpsReportTransactionDetails.php" hash="014672dc58e5680f57f5d6cb8b0f8ee6"/><file name="HpsReportTransactionSummary.php" hash="441b01c652db42213264980e6f693b40"/><file name="HpsReversal.php" hash="350191a2d38189ef8e098ed1f922c1d3"/><file name="HpsVoid.php" hash="bf6216cea2f130789a045fc226c54cd0"/></dir><dir name="Debit"><file name="HpsDebitAddValue.php" hash="9053c701093889f864dd36af208f4f71"/><file name="HpsDebitReturn.php" hash="519cb73c6fc4ce716453d5ff94f437a0"/><file name="HpsDebitReversal.php" hash="223f6db72f0219ef25eb0f0adec4e9be"/><file name="HpsDebitSale.php" hash="74fa1e1425cfe6294146c879a4049aa8"/></dir><dir name="Fluent"><file name="HpsBuilderAction.php" hash="8649cc2c53fd961f350070193fedb5c6"/><file name="HpsUnknownPropertyException.php" hash="d019e8645fae6f984ad7b7ea3cebb546"/></dir><dir name="Gift"><file name="HpsGiftCard.php" hash="c8bad2a5336689e3192ea223a97760bf"/><file name="HpsGiftCardActivate.php" hash="097ac7c36cae11b8c40a3f1414518e49"/><file name="HpsGiftCardAddValue.php" hash="131a9d7cbc711a4e3e85c66049028f30"/><file name="HpsGiftCardAlias.php" hash="133d2d4701c5aa88fa0eece6ee69de06"/><file name="HpsGiftCardBalance.php" hash="9b9fe395d218c79c55faf28fd736b431"/><file name="HpsGiftCardDeactivate.php" hash="323ca5a67c6ff0169925192952881db5"/><file name="HpsGiftCardReplace.php" hash="f122a7d924a56fcc406bc8b1c82ac2b2"/><file name="HpsGiftCardReversal.php" hash="88ba755e52f41311206add4fa8ee5e09"/><file name="HpsGiftCardReward.php" hash="f758e8c5462d336236ae0d257789cdaf"/><file name="HpsGiftCardSale.php" hash="0f758ef6653215be643abaea4964352a"/><file name="HpsGiftCardVoid.php" hash="f0294740f5b7f545167d5fb258f4dcdd"/></dir><file name="HpsAddress.php" hash="fcc67451ff9f1c483e2943cf6ee5c5fe"/><file name="HpsConsumer.php" hash="1254142dfa0821cbb0bf154cf51f34d2"/><file name="HpsDirectMarketData.php" hash="1925c204d19cb9233ec8178e3b5cdc50"/><file name="HpsEncryptionData.php" hash="1e4845abc6c42e8f0265e2679b05efb6"/><file name="HpsTokenData.php" hash="18ab9125315bb8e5f9cb272966dac22b"/><file name="HpsTrackData.php" hash="4656f37b7c4c777d0c63b4102efe5a1a"/><file name="HpsTransaction.php" hash="f109d2d26ba237afb2dc17bc287f63a9"/><file name="HpsTransactionDetails.php" hash="4e77261d0aced118b49e26ef786beace"/><file name="HpsTransactionHeader.php" hash="ebd21539f84425f0e2fc57c6049a26a1"/><file name="HpsTransactionStatus.php" hash="a5a67f8fe3780f66b045cc4314660dc5"/><dir name="PayPlan"><file name="HpsPayPlanAmount.php" hash="25706476e264124567d704f981745b13"/><file name="HpsPayPlanCustomer.php" hash="2714a7525fb3830fc018544ea0622ab5"/><file name="HpsPayPlanPaymentMethod.php" hash="fd3077d63e6f31c2d8a4c60c78a678ea"/><file name="HpsPayPlanSchedule.php" hash="4c9fe8bd7db0810fd108e51b81bdf590"/></dir><file name="index.php" hash="ce407ff5715c837d02b1aba7975bf512"/><file name=".DS_Store" hash="92d42bd310aa7f6dd74d14e6cdd2b9e9"/></dir><dir name="Infrastructure"><dir name="Enums"><file name="HpsACHType.php" hash="1ff5593689a404cb0179c2b5cb5fe19e"/><file name="HpsAccountType.php" hash="760d91e120f443c326e6c7586aa61092"/><file name="HpsCardBrand.php" hash="9532bb7c40811c114a1eeeffa8b9732c"/><file name="HpsCentinelCheckoutType.php" hash="7370920cb980bbfc54c741a981cd79bb"/><file name="HpsCheckType.php" hash="d60c676d93c8ada169deb14ddc8e64e7"/><file name="HpsDataEntryMode.php" hash="c323d884a7a305f9af647ea1d9a4177e"/><file name="HpsExceptionCodes.php" hash="95322648a2093ed3982c6bb724f3507a"/><file name="HpsGiftCardAliasAction.php" hash="ebcb27c6fb800e17693ed4af2e8a8943"/><file name="HpsItemChoiceTypePosResponseVer10Transaction.php" hash="686225a07738db2233a2228bec6baabf"/><file name="HpsPayPlanAccountType.php" hash="4d383c42a990fb077fae49386c08b870"/><file name="HpsPayPlanCustomerStatus.php" hash="3ff092e8dd97f2a2474fb64103cb238f"/><file name="HpsPayPlanPaymentMethodStatus.php" hash="b020c52de7987ed3011cb97e4d440c6a"/><file name="HpsPayPlanPaymentMethodType.php" hash="1f77c5c8528815f05803c1381cb4151a"/><file name="HpsPayPlanScheduleDuration.php" hash="05101e6fe3b725b43917b59770f2dbb1"/><file name="HpsPayPlanScheduleFrequency.php" hash="0b3f029c64315ee9c8701d23319941c1"/><file name="HpsPayPlanScheduleStatus.php" hash="3579b52ccf36e576fd2dfb36118716f6"/><file name="HpsSECCode.php" hash="551661613c127c068f139083338b92d1"/><file name="HpsTaxType.php" hash="ba0e05330880810e58370f2f3490ca81"/><file name="HpsTrackDataMethod.php" hash="446069e9786f9585c3490140b29ae52f"/><file name="HpsTransactionType.php" hash="a38b3f4c654a4fa3b2c2d64b8afacf24"/></dir><file name="HpsApiConnectionException.php" hash="ac5a8064a7c2a1616035a5702f36cd50"/><file name="HpsArgumentException.php" hash="855c43e88fc24b582cfe56875d7cff42"/><file name="HpsAuthenticationException.php" hash="6feb2fdc5499b460274524aa469d9a7d"/><file name="HpsCheckException.php" hash="94870f2438217b3275d05fb943a0a8c0"/><file name="HpsConfiguration.php" hash="010996727d89c485c1d11463e5c53a8e"/><file name="HpsCreditException.php" hash="a16bf1ecd6a2c866b7b40351aab3df34"/><file name="HpsCreditExceptionDetails.php" hash="d71c54b2846283a8f97aae74a747dfd9"/><file name="HpsException.php" hash="8d2025b7fae9f0f756341b876a0dab41"/><file name="HpsGatewayException.php" hash="cdd6db6c8436e3e78ee15cdd7a043a9d"/><file name="HpsGatewayExceptionDetails.php" hash="16dd36360e2237ca89e056c61766bcdd"/><file name="HpsInvalidRequestException.php" hash="7877e48463ef3f488bb92423ae445412"/><file name="HpsProcessorError.php" hash="ff7f1f2c5327417b4997f9e36fa7c887"/><file name="HpsProcessorException.php" hash="ba28a92f0e551053506dcc391c5bc431"/><file name="HpsProcessorExceptionDetails.php" hash="6a569aacf045c19ade6472a857a3a274"/><dir name="Validation"><file name="HpsGatewayResponseValidation.php" hash="06fb818263b18b58974a569d0c986667"/><file name="HpsInputValidation.php" hash="1f51837f70c322f2a7c1cc39df752b1a"/><file name="HpsIssuerResponseValidation.php" hash="613377f8ca249df078c909e4d7674bfb"/><file name="HpsProcessorResponseValidation.php" hash="ff19a569f8bdd6ef7b58a460cf06b4e8"/></dir><file name="index.php" hash="ce407ff5715c837d02b1aba7975bf512"/></dir><dir name="Services"><dir name="Fluent"><dir name="Gateway"><dir name="Check"><file name="HpsCheckServiceOverrideBuilder.php" hash="5b4a49a897f87d2a332182a1ccd67d0c"/><file name="HpsCheckServiceRecurringBuilder.php" hash="c86a2fd5165a65c78e38e3bbb1b9636c"/><file name="HpsCheckServiceReturnBuilder.php" hash="5ce46356468714f65ad827e1593977cc"/><file name="HpsCheckServiceSaleBuilder.php" hash="b823e74642e165772f5cb03beffacce7"/><file name="HpsCheckServiceVoidBuilder.php" hash="17305b04474285a8b64007c549180ba5"/></dir><dir name="Credit"><file name="HpsCreditServiceAuthorizeBuilder.php" hash="51997a17ee9a1aaacd40d9d2c8d69c17"/><file name="HpsCreditServiceCaptureBuilder.php" hash="fd6512f3b72f9051eaf7c3daeff2cb48"/><file name="HpsCreditServiceChargeBuilder.php" hash="3421b227fe594f0cb1533b4496c805bd"/><file name="HpsCreditServiceCpcEditBuilder.php" hash="7401c33a56c5a3c6a23f5f70101a4926"/><file name="HpsCreditServiceEditBuilder.php" hash="cdcf661c4182625212ec724b52eb8491"/><file name="HpsCreditServiceGetBuilder.php" hash="05b0cafe715a4d3ceb3c88b99b0c8dc1"/><file name="HpsCreditServiceListTransactionsBuilder.php" hash="a7765dfadc8e21177cc453a1e7dfd715"/><file name="HpsCreditServiceOfflineAuthBuilder.php" hash="d86d2425c6bbf28854a31d09a9f802b8"/><file name="HpsCreditServiceOfflineChargeBuilder.php" hash="0ee9ecf6b499a16f01fa2a7b94af00ca"/><file name="HpsCreditServicePrepaidAddValueBuilder.php" hash="997b48104fcdbd791a3b990515f2527e"/><file name="HpsCreditServicePrepaidBalanceInquiryBuilder.php" hash="7e7dd067d79281c32417b6d338825acd"/><file name="HpsCreditServiceRecurringBuilder.php" hash="560c8b86eeb9e4e468642eaa739ebe03"/><file name="HpsCreditServiceRefundBuilder.php" hash="4d5ab9c2a11c18a47e416bd90dffc5e8"/><file name="HpsCreditServiceReverseBuilder.php" hash="7960e9efa00ceb0d0c5368715c07d424"/><file name="HpsCreditServiceVerifyBuilder.php" hash="62027b344ee5444ccd1534358a405857"/><file name="HpsCreditServiceVoidBuilder.php" hash="0029756571343a1d8c6380874f6f5b6b"/></dir><dir name="Debit"><file name="HpsDebitServiceAddValueBuilder.php" hash="5f972b68a5afa062cbf911bfb3a946bc"/><file name="HpsDebitServiceChargeBuilder.php" hash="26aafce2a87bbbd8231a039209c49657"/><file name="HpsDebitServiceReturnBuilder.php" hash="2e11267e12bdd338b953db352a373961"/><file name="HpsDebitServiceReverseBuilder.php" hash="b088431d3ba0726d44cc418e92267958"/></dir><dir name="GiftCard"><file name="HpsGiftCardServiceActivateBuilder.php" hash="65e3ebd1c6ded3860b238d03e542fe3b"/><file name="HpsGiftCardServiceAddValueBuilder.php" hash="432582c9fd6617c86b373f5fe0b14fb1"/><file name="HpsGiftCardServiceAliasBuilder.php" hash="1b096debfa6678af2d6ddecfa82a638e"/><file name="HpsGiftCardServiceBalanceBuilder.php" hash="6bebaac04d059204a2408d693f77c449"/><file name="HpsGiftCardServiceDeactivateBuilder.php" hash="92b16b331414c40ea11de330bd447273"/><file name="HpsGiftCardServiceReplaceBuilder.php" hash="063e6b33a673c23553047a6f72927b2a"/><file name="HpsGiftCardServiceReverseBuilder.php" hash="2f7b96b1f9608cb7e3526ecb9b15558f"/><file name="HpsGiftCardServiceRewardBuilder.php" hash="242fbe42ab731b138e4d74be4cde4e9a"/><file name="HpsGiftCardServiceSaleBuilder.php" hash="8af2977da26e3707e42569ad7bf4c4a5"/><file name="HpsGiftCardServiceVoidBuilder.php" hash="fff556a586bb09d22f521a90d30fb809"/></dir><file name="HpsFluentCheckService.php" hash="e89511e006e914bdd4daf6765a49e97b"/><file name="HpsFluentCreditService.php" hash="58e0d0480066fec8c5c6e31eaa275d12"/><file name="HpsFluentDebitService.php" hash="63e86fe32a92c80cc5bd163283da6c64"/><file name="HpsFluentGiftCardService.php" hash="53697a755fc90256b940c74282693b0d"/></dir></dir><dir name="Gateway"><dir name="AltPayment"><file name="HpsAltPaymentService.php" hash="3d9cdbad50ccceb45d4d888018d2bab7"/><file name="HpsMasterPassService.php" hash="f5639448d09a38377f16434351201b09"/><file name="HpsPayPalService.php" hash="c91eebb0eca8bdda2505b78c4746db28"/></dir><file name="HpsBatchService.php" hash="2a4c11a4f7c78ec1e3b461b3803826c5"/><file name="HpsCentinelGatewayService.php" hash="40300a57982ccd5325b7bd0986a8bcc4"/><file name="HpsCheckService.php" hash="17eac57a5f3a6f24e31000325ad9ac1d"/><file name="HpsCreditService.php" hash="9f96d16f735dfb6e916fb88520a2b52e"/><file name="HpsDebitService.php" hash="0ea76c01b3c817fcaea876bff28681b3"/><file name="HpsGiftCardService.php" hash="e1deb113c685845e2af2bb0ff793ea4d"/><file name="HpsPayPlanService.php" hash="ce5d2c003e72be8328634d92ab8ae6eb"/><file name="HpsRestGatewayService.php" hash="3a0b4217eb4e9d8c92d298914e539a04"/><file name="HpsSoapGatewayService.php" hash="969751eb742eeb7d7a99d5d61d2d2afb"/><file name="HpsTokenService.php" hash="b1dad4289201b399f89ad1d29a799d39"/><dir name="PayPlan"><file name="HpsPayPlanCustomerService.php" hash="cda074fca2230c26919a813cc2d71b5c"/><file name="HpsPayPlanPaymentMethodService.php" hash="61dd42308d203251f4483d68561c191b"/><file name="HpsPayPlanScheduleService.php" hash="e8c81640a7440a19ed3590894a31a1f1"/></dir></dir><file name="HpsCentinelConfig.php" hash="f43f7ea211a51883fb8a2173072027a8"/><file name="HpsServicesConfig.php" hash="f3d63dc7d089a8bcd248e4abc381e6a7"/><file name="index.php" hash="ce407ff5715c837d02b1aba7975bf512"/></dir><file name="index.php" hash="ce407ff5715c837d02b1aba7975bf512"/><file name=".DS_Store" hash="fb4d06cbd65ab29860d86984919afa4a"/></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="securesubmit.xml" hash="cc04e952cc17ea3462931a9e7a655316"/></dir><dir name="template"><dir name="securesubmit"><file name="form.phtml" hash="67a460ca8f034f4bfe3fbb8e7845f37f"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="securesubmit.xml" hash="95de11d6d6d8333a38b8a6c8d76403d8"/></dir><dir name="template"><dir name="securesubmit"><file name="form.phtml" hash="c26fea2e5e87031806f919240a606631"/><dir name="masterpass"><file name="connect.phtml" hash="b5f47624447a44958ce4fa004c58c319"/><file name="form.phtml" hash="039d6a174ac24c45ece0d14b92b6c9c4"/><file name="js.phtml" hash="274e871b2d8270e3224b9ce12794c2c5"/><file name="mark.phtml" hash="fe27b341b5fb034e90ac35c92ef998d4"/><dir name="review"><file name="details.phtml" hash="0dc5e1201e7e424f089c15fc83a1c70f"/><dir name="shipping"><file name="method.phtml" hash="cc426553636aa08840bee1c4778d89e4"/></dir></dir><file name="review.phtml" hash="cfc643de65b962ba27306587357f45d3"/></dir><dir name="paypal"><dir name="incontext"><file name="js.phtml" hash="16b4ad23ea05464a55bb0390cd72e248"/><file name="payment.phtml" hash="b32d269057984f656422609015dd7d91"/></dir><dir name="review"><file name="details.phtml" hash="0dc5e1201e7e424f089c15fc83a1c70f"/><dir name="shipping"><file name="method.phtml" hash="cc426553636aa08840bee1c4778d89e4"/></dir></dir><file name="review.phtml" hash="cfc643de65b962ba27306587357f45d3"/><file name="shortcut.phtml" hash="268bfac86e653ec5981cd201075f4105"/></dir><file name="storedcards.phtml" hash="1fa4a862757a4e10a6067616515c5915"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Hps_Securesubmit.xml" hash="d5aed3f48a45f8e611b68d1e6f34c959"/></dir></target></contents>
|
18 |
<compatible/>
|
19 |
-
<dependencies><required><php><min>5.2.0</min><max>5.6.
|
20 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Hps_Securesubmit</name>
|
4 |
+
<version>1.2.7</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="https://github.com/hps/heartland-magento-extension/blob/master/LICENSE">Custom</license>
|
7 |
<channel>community</channel>
|
10 |
<description>Use Heartland Payment Systems SecureSubmit platform to charge, authorize, void, refund and partial refund credit cards.
|
11 |

|
12 |
Allow customers to store their cards for reduced friction at next checkout using our multi-use card tokenization process which helps reduce PCI scope.</description>
|
13 |
+
<notes>remove validate-card-type class to allow submit</notes>
|
14 |
<authors><author><name>Heartland Payment Systems</name><user>markhagan</user><email>EntApp_DevPortal@e-hps.com</email></author></authors>
|
15 |
+
<date>2016-06-22</date>
|
16 |
+
<time>21:22:12</time>
|
17 |
+
<contents><target name="magecommunity"><dir name="Hps"><dir name="Securesubmit"><dir name="Block"><dir name="Adminhtml"><file name="Form.php" hash="ab296bcf9018c73690bb0f5ab381381d"/><dir name="Paypal"><dir name="Settlement"><dir name="Report"><dir name="Form"><file name="Form.php" hash="da5a943526a729a4e78def46c63d0109"/></dir><file name="Form.php" hash="ecc3101a2a399dc71ae544bbe7bb9595"/><file name="Grid.php" hash="35b62c9ab2fe5b5e9a9394e11167f50c"/></dir><file name="Report.php" hash="19171fb1fad872b0ebff9692de1415fd"/></dir></dir></dir><file name="Form.php" hash="031741c6abad215430305c3758b3a362"/><file name="Info.php" hash="1d1144e2543790f1b4a045294a2a24b5"/><dir name="Masterpass"><dir name="Client"><file name="Js.php" hash="ed427387b93d2753d8e8ada51c0d8f37"/></dir><file name="Connect.php" hash="b5e362f21c219ec61c4df7dff561ace6"/><file name="Form.php" hash="6abc4c67143380fad13efec247a18af4"/><file name="Info.php" hash="b8f714200c8f74cd8a0a9547fafc3637"/><dir name="Review"><file name="Billing.php" hash="c5bc2f64c2dc30e8ca1458cd286a16ee"/><file name="Details.php" hash="c324f315b2dfda8263151612ec73f513"/><file name="Shipping.php" hash="aeb5f38aa185e9d3acbb7ce5d4c4b841"/></dir><file name="Review.php" hash="b6e4dbd308c44215e50fa94dd22a32b0"/></dir><dir name="Paypal"><dir name="Credit"><file name="Form.php" hash="68fc4811e8f2d9a1b502454533fe5bca"/></dir><file name="Form.php" hash="776d2aab11db7d212061ca9a30936af1"/><dir name="Incontext"><file name="Js.php" hash="d09bf9157c0b7c5f6dba16d8cdac557d"/></dir><file name="Info.php" hash="9c1948c538383376b1dc1b4c76c31e95"/><dir name="Review"><file name="Billing.php" hash="62a22e1f5bd65c4d9369b5794779ffe9"/><file name="Details.php" hash="57d97c8a2c3b7ddac7dc4cda43e4363f"/><file name="Shipping.php" hash="694374b68714b6d58d9af8b9fb15d502"/></dir><file name="Review.php" hash="87c8f3bf319799b33170bec9f42e2544"/><file name="Shortcut.php" hash="26f13ae7afac41ce88fb1cd4042b61b5"/></dir></dir><dir name="Helper"><dir name="Altpayment"><file name="Abstract.php" hash="5fc29e9d6355660415934426d0ee624e"/></dir><file name="Data.php" hash="35a26dab0e14154f2ee80a498f788d7c"/><file name="Masterpass.php" hash="69489b7cae8b99fe216f522b19f3d448"/><file name="Paypal.php" hash="74d1d0885349c432016bd04f3211c4c2"/></dir><dir name="Model"><dir name="Altpayment"><file name="Cart.php" hash="1dc83b97c44463e954efc8ee1c9e62b8"/></dir><file name="Masterpass.php" hash="063acd12e22bdc26d7591cbabf7e3005"/><file name="Payment.php" hash="841304922d363f6360c7ce02fd99df99"/><dir name="Paypal"><file name="Credit.php" hash="3548d6c4308df9d377cc1dd0d40f0f4d"/></dir><file name="Paypal.php" hash="c3eb2058ff6860e85a9310944c989301"/><file name="Report.php" hash="7f5e5bf0c652b37cf8c42eb553c8b3e0"/><dir name="Resource"><dir name="Report"><file name="Collection.php" hash="5870728a842922bbbff9c50173a90bd4"/></dir><file name="Report.php" hash="59598e2958a864119925c6e847b66121"/><file name="Setup.php" hash="8bdfbde89d786809d8aa2637efb1d2ae"/><dir name="Storedcard"><file name="Collection.php" hash="756c3c2d6dd5384f37847a028ac12fee"/></dir><file name="Storedcard.php" hash="d43320b704eb1e37c77a5ac20401c557"/></dir><file name="Session.php" hash="136b4146cea2f596847f0b838ec3f532"/><dir name="Source"><file name="Cctype.php" hash="d2dfff6147dc5c2748c7e9767b1fd1cb"/><file name="PaymentAction.php" hash="3c900b82e9af73a372d9f5f36bc1c264"/></dir><file name="Storedcard.php" hash="50897a56669c5938d4613579b603df93"/><dir name="System"><dir name="Config"><dir name="Backend"><file name="Proxy.php" hash="29ea9cb11927cd1e43055a42101eea36"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Hps"><dir name="Paypal"><file name="ReportsController.php" hash="914711bc008ec9e240918be7e77d1d54"/></dir></dir><file name="StoredcardController.php" hash="1e968134bf3b60a5f49544ddd1df8f03"/></dir><file name="GiftcardController.php" hash="dd15a7709121a3149fb30f77c385b18f"/><file name="MasterpassController.php" hash="2fb95214db3d3d017dd022743636ec50"/><file name="PaypalController.php" hash="962ce3dc3e738689d6ec6b122ed46001"/><file name="StoredcardController.php" hash="57116e86203df6f24a12fcd93186b534"/></dir><dir name="etc"><file name="adminhtml.xml" hash="8dc53c22d22cd633ebd6c06e7262c741"/><file name="config.xml" hash="0a5d2c0241c3d737081c7e923d2f5276"/><file name="system.xml" hash="55c48cd4411bdfbc62d11a202d5764ae"/></dir><dir name="sql"><dir name="hps_securesubmit_setup"><file name="install-1.0.0.php" hash="d424731dcb784aad59dad0bcce431375"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="510826261ea81ea6a09d4ea84c59d41d"/><file name="mysql4-upgrade-1.0.1-1.1.0.php" hash="01e948ea2939f9b0b69bb6748adc53f2"/><file name="mysql4-upgrade-1.1.0-1.2.0.php" hash="84cf1a359fc5a5600e1d98ba0089d911"/></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="securesubmit"><file name="admin-checkout.js" hash="14d970828f50bb463dc3f7cdaca97e1d"/><file name="checkout-form.js" hash="02f3d2e0e5bd150b5f2980f941e06d74"/><dir name="masterpass"><file name="lightbox.js" hash="b534647c7c06b5ce90caf4cdd6166f91"/></dir><dir name="paypal"><file name="incontext.js" hash="e3810f12033fa9822db756a22622f799"/></dir><file name="secure.submit-1.0.1.js" hash="988d59dadbc272b869bc9e56cbd7518e"/></dir></dir></target><target name="magelib"><dir name="SecureSubmit"><file name="Hps.php" hash="aeeb39dae09306051eec2cf455fcb6a8"/><file name="LICENSE.txt" hash="de081f847a769f89be5a1f80862005ba"/><file name="PRIVACY.txt" hash="58cdc5fbbff24a84a838b0174b254f70"/><file name="README.md" hash="8320a396aa5544e61fe2e8f2adb09505"/><file name="index.php" hash="feabe5cc691b088d6ade3e04d6b120fc"/><dir name="src"><dir name="Abstractions"><file name="HpsAltPaymentServiceInterface.php" hash="bbbacdf42b798458ca46921b3ddb9eaf"/><file name="HpsBuilderAbstract.php" hash="6498e7b7e00716574a9dd238d1d7da5e"/><file name="HpsConfigInterface.php" hash="6541819ca5724269db6e1a9ed456d52e"/><file name="HpsGatewayServiceAbstract.php" hash="6e6631e0cfea0001a6fff4bf57d13068"/><file name="HpsGatewayServiceInterface.php" hash="c2b49802b328648d8510433b5c82f71f"/><file name="HpsPayPlanResourceAbstract.php" hash="df262df6345c4932626e60afecdeb478"/><file name="HpsPayPlanResourceInterface.php" hash="22dd33e354f46218d2872eab956d57c1"/></dir><dir name="Entities"><dir name="AltPayment"><file name="HpsAltPaymentAddToBatch.php" hash="1684714c0cd14d6d33288a44f43c9dd6"/><file name="HpsAltPaymentAuth.php" hash="4f2748e2b95cffed6bd0e62f75af71eb"/><file name="HpsAltPaymentCapture.php" hash="51a86062c15c6f8de15147b5b53f89a4"/><file name="HpsAltPaymentCreateSession.php" hash="4e83acd11a03e7dfcf904f2421d858b3"/><file name="HpsAltPaymentResponse.php" hash="860336d2015560f889c41773574b97ab"/><file name="HpsAltPaymentReturn.php" hash="0b9d8cb0f67ddf113b99ca64ab6019a3"/><file name="HpsAltPaymentSale.php" hash="f390a9a4af50f7a8a863c607f7e3357f"/><file name="HpsAltPaymentSessionInfo.php" hash="a5fdaea50db9f15eb762f4ca3512cae4"/><file name="HpsAltPaymentVoid.php" hash="429f0fbec31ae4842c494b0a8af47ddb"/><file name="HpsBuyerData.php" hash="4fd94d96a547378d2974fa386c89223f"/><file name="HpsCardinalMPIAddOrderNumberResponse.php" hash="a2f2c09eb9e7020e7af97819fe065dc3"/><file name="HpsCardinalMPIAuthenticateResponse.php" hash="6868b0bc55d8e3409684e795d1db92fc"/><file name="HpsCardinalMPIAuthorizeResponse.php" hash="566a64988246220b00da62078ae32068"/><file name="HpsCardinalMPIAuthresponseResponse.php" hash="a53fb4863feb909ccb0d2f2cc254562f"/><file name="HpsCardinalMPICaptureResponse.php" hash="29de876ce9bc632016fceab91dca22ac"/><file name="HpsCardinalMPILookupResponse.php" hash="7171aff90865b67db79559f7b2f579ba"/><file name="HpsCardinalMPIPreapprovalResponse.php" hash="e9408b385ca4f32de5f1adf96a36c42d"/><file name="HpsCardinalMPIRefundResponse.php" hash="71dbbff6f6383a19b0feb91f8771dbe5"/><file name="HpsCardinalMPIResponse.php" hash="d3729129967b1da049287e200e4d46e2"/><file name="HpsCardinalMPIVoidResponse.php" hash="2796de53634fccca806a4a4143779f81"/><file name="HpsLineItem.php" hash="4ff06a280975312365cf10a730636682"/><file name="HpsOrderData.php" hash="5d3ae0110d44f4786d4398861735a259"/><file name="HpsPaymentData.php" hash="2bd9ddc10ecdaebdbb5bf0e3cf71f642"/><file name="HpsShippingInfo.php" hash="63b621ebba4ae1711aca57073b0abec7"/></dir><dir name="Batch"><file name="HpsBatch.php" hash="d9af4664e64172cb8edaeaa1ea7c7337"/></dir><dir name="Check"><file name="HpsCheck.php" hash="8fb85bd4d608e72a9690285ec46fa6d2"/><file name="HpsCheckHolder.php" hash="58f865b34faf2790fef26066de775a15"/><file name="HpsCheckResponse.php" hash="ff3c752bc85554424e62ed7efbc053f2"/><file name="HpsCheckResponseDetails.php" hash="28928ceb2dea574603a376aed1691a90"/></dir><dir name="Credit"><file name="HpsAccountVerify.php" hash="527a69e5a39153b764e6c14e0d98bf34"/><file name="HpsAuthorization.php" hash="7ec1bbfa6efa5bc48432b5de81eda314"/><file name="HpsCPCData.php" hash="f246c4aa1eec482ba84966c563aeb970"/><file name="HpsCPCEdit.php" hash="f04b0089485ba9e7eacba8e15815ec97"/><file name="HpsCardHolder.php" hash="ffee4609a3ffa886a386a12dea3f4508"/><file name="HpsCharge.php" hash="512fb9e459b336a9e256d8f1e08e36b9"/><file name="HpsChargeExceptions.php" hash="c7df102696a205a4c5689c48878ac5f3"/><file name="HpsCreditCard.php" hash="6aa3d449b0648997c4c532c1e3603cbb"/><file name="HpsOfflineAuthorization.php" hash="6f11736d36cfde0d9d79c94e92f60c8b"/><file name="HpsRecurringBilling.php" hash="9da8f9b16179729b77615f04993b05bf"/><file name="HpsRefund.php" hash="aa4664916ebb94b8f2066fd7c17b0fd4"/><file name="HpsReportTransactionDetails.php" hash="014672dc58e5680f57f5d6cb8b0f8ee6"/><file name="HpsReportTransactionSummary.php" hash="441b01c652db42213264980e6f693b40"/><file name="HpsReversal.php" hash="350191a2d38189ef8e098ed1f922c1d3"/><file name="HpsVoid.php" hash="bf6216cea2f130789a045fc226c54cd0"/></dir><dir name="Debit"><file name="HpsDebitAddValue.php" hash="9053c701093889f864dd36af208f4f71"/><file name="HpsDebitReturn.php" hash="519cb73c6fc4ce716453d5ff94f437a0"/><file name="HpsDebitReversal.php" hash="223f6db72f0219ef25eb0f0adec4e9be"/><file name="HpsDebitSale.php" hash="74fa1e1425cfe6294146c879a4049aa8"/></dir><dir name="Fluent"><file name="HpsBuilderAction.php" hash="8649cc2c53fd961f350070193fedb5c6"/><file name="HpsUnknownPropertyException.php" hash="d019e8645fae6f984ad7b7ea3cebb546"/></dir><dir name="Gift"><file name="HpsGiftCard.php" hash="c8bad2a5336689e3192ea223a97760bf"/><file name="HpsGiftCardActivate.php" hash="097ac7c36cae11b8c40a3f1414518e49"/><file name="HpsGiftCardAddValue.php" hash="131a9d7cbc711a4e3e85c66049028f30"/><file name="HpsGiftCardAlias.php" hash="133d2d4701c5aa88fa0eece6ee69de06"/><file name="HpsGiftCardBalance.php" hash="9b9fe395d218c79c55faf28fd736b431"/><file name="HpsGiftCardDeactivate.php" hash="323ca5a67c6ff0169925192952881db5"/><file name="HpsGiftCardReplace.php" hash="f122a7d924a56fcc406bc8b1c82ac2b2"/><file name="HpsGiftCardReversal.php" hash="88ba755e52f41311206add4fa8ee5e09"/><file name="HpsGiftCardReward.php" hash="f758e8c5462d336236ae0d257789cdaf"/><file name="HpsGiftCardSale.php" hash="0f758ef6653215be643abaea4964352a"/><file name="HpsGiftCardVoid.php" hash="f0294740f5b7f545167d5fb258f4dcdd"/></dir><file name="HpsAddress.php" hash="fcc67451ff9f1c483e2943cf6ee5c5fe"/><file name="HpsConsumer.php" hash="1254142dfa0821cbb0bf154cf51f34d2"/><file name="HpsDirectMarketData.php" hash="1925c204d19cb9233ec8178e3b5cdc50"/><file name="HpsEncryptionData.php" hash="1e4845abc6c42e8f0265e2679b05efb6"/><file name="HpsTokenData.php" hash="18ab9125315bb8e5f9cb272966dac22b"/><file name="HpsTrackData.php" hash="4656f37b7c4c777d0c63b4102efe5a1a"/><file name="HpsTransaction.php" hash="f109d2d26ba237afb2dc17bc287f63a9"/><file name="HpsTransactionDetails.php" hash="4e77261d0aced118b49e26ef786beace"/><file name="HpsTransactionHeader.php" hash="ebd21539f84425f0e2fc57c6049a26a1"/><file name="HpsTransactionStatus.php" hash="a5a67f8fe3780f66b045cc4314660dc5"/><dir name="PayPlan"><file name="HpsPayPlanAmount.php" hash="25706476e264124567d704f981745b13"/><file name="HpsPayPlanCustomer.php" hash="2714a7525fb3830fc018544ea0622ab5"/><file name="HpsPayPlanPaymentMethod.php" hash="fd3077d63e6f31c2d8a4c60c78a678ea"/><file name="HpsPayPlanSchedule.php" hash="4c9fe8bd7db0810fd108e51b81bdf590"/></dir><file name="index.php" hash="ce407ff5715c837d02b1aba7975bf512"/><file name=".DS_Store" hash="92d42bd310aa7f6dd74d14e6cdd2b9e9"/></dir><dir name="Infrastructure"><dir name="Enums"><file name="HpsACHType.php" hash="1ff5593689a404cb0179c2b5cb5fe19e"/><file name="HpsAccountType.php" hash="760d91e120f443c326e6c7586aa61092"/><file name="HpsCardBrand.php" hash="9532bb7c40811c114a1eeeffa8b9732c"/><file name="HpsCentinelCheckoutType.php" hash="7370920cb980bbfc54c741a981cd79bb"/><file name="HpsCheckType.php" hash="d60c676d93c8ada169deb14ddc8e64e7"/><file name="HpsDataEntryMode.php" hash="c323d884a7a305f9af647ea1d9a4177e"/><file name="HpsExceptionCodes.php" hash="95322648a2093ed3982c6bb724f3507a"/><file name="HpsGiftCardAliasAction.php" hash="ebcb27c6fb800e17693ed4af2e8a8943"/><file name="HpsItemChoiceTypePosResponseVer10Transaction.php" hash="686225a07738db2233a2228bec6baabf"/><file name="HpsPayPlanAccountType.php" hash="4d383c42a990fb077fae49386c08b870"/><file name="HpsPayPlanCustomerStatus.php" hash="3ff092e8dd97f2a2474fb64103cb238f"/><file name="HpsPayPlanPaymentMethodStatus.php" hash="b020c52de7987ed3011cb97e4d440c6a"/><file name="HpsPayPlanPaymentMethodType.php" hash="1f77c5c8528815f05803c1381cb4151a"/><file name="HpsPayPlanScheduleDuration.php" hash="05101e6fe3b725b43917b59770f2dbb1"/><file name="HpsPayPlanScheduleFrequency.php" hash="0b3f029c64315ee9c8701d23319941c1"/><file name="HpsPayPlanScheduleStatus.php" hash="3579b52ccf36e576fd2dfb36118716f6"/><file name="HpsSECCode.php" hash="551661613c127c068f139083338b92d1"/><file name="HpsTaxType.php" hash="ba0e05330880810e58370f2f3490ca81"/><file name="HpsTrackDataMethod.php" hash="446069e9786f9585c3490140b29ae52f"/><file name="HpsTransactionType.php" hash="a38b3f4c654a4fa3b2c2d64b8afacf24"/></dir><file name="HpsApiConnectionException.php" hash="ac5a8064a7c2a1616035a5702f36cd50"/><file name="HpsArgumentException.php" hash="855c43e88fc24b582cfe56875d7cff42"/><file name="HpsAuthenticationException.php" hash="6feb2fdc5499b460274524aa469d9a7d"/><file name="HpsCheckException.php" hash="94870f2438217b3275d05fb943a0a8c0"/><file name="HpsConfiguration.php" hash="010996727d89c485c1d11463e5c53a8e"/><file name="HpsCreditException.php" hash="a16bf1ecd6a2c866b7b40351aab3df34"/><file name="HpsCreditExceptionDetails.php" hash="d71c54b2846283a8f97aae74a747dfd9"/><file name="HpsException.php" hash="8d2025b7fae9f0f756341b876a0dab41"/><file name="HpsGatewayException.php" hash="cdd6db6c8436e3e78ee15cdd7a043a9d"/><file name="HpsGatewayExceptionDetails.php" hash="16dd36360e2237ca89e056c61766bcdd"/><file name="HpsInvalidRequestException.php" hash="7877e48463ef3f488bb92423ae445412"/><file name="HpsProcessorError.php" hash="ff7f1f2c5327417b4997f9e36fa7c887"/><file name="HpsProcessorException.php" hash="ba28a92f0e551053506dcc391c5bc431"/><file name="HpsProcessorExceptionDetails.php" hash="6a569aacf045c19ade6472a857a3a274"/><dir name="Validation"><file name="HpsGatewayResponseValidation.php" hash="06fb818263b18b58974a569d0c986667"/><file name="HpsInputValidation.php" hash="1f51837f70c322f2a7c1cc39df752b1a"/><file name="HpsIssuerResponseValidation.php" hash="613377f8ca249df078c909e4d7674bfb"/><file name="HpsProcessorResponseValidation.php" hash="ff19a569f8bdd6ef7b58a460cf06b4e8"/></dir><file name="index.php" hash="ce407ff5715c837d02b1aba7975bf512"/></dir><dir name="Services"><dir name="Fluent"><dir name="Gateway"><dir name="Check"><file name="HpsCheckServiceOverrideBuilder.php" hash="5b4a49a897f87d2a332182a1ccd67d0c"/><file name="HpsCheckServiceRecurringBuilder.php" hash="c86a2fd5165a65c78e38e3bbb1b9636c"/><file name="HpsCheckServiceReturnBuilder.php" hash="5ce46356468714f65ad827e1593977cc"/><file name="HpsCheckServiceSaleBuilder.php" hash="b823e74642e165772f5cb03beffacce7"/><file name="HpsCheckServiceVoidBuilder.php" hash="17305b04474285a8b64007c549180ba5"/></dir><dir name="Credit"><file name="HpsCreditServiceAuthorizeBuilder.php" hash="51997a17ee9a1aaacd40d9d2c8d69c17"/><file name="HpsCreditServiceCaptureBuilder.php" hash="fd6512f3b72f9051eaf7c3daeff2cb48"/><file name="HpsCreditServiceChargeBuilder.php" hash="3421b227fe594f0cb1533b4496c805bd"/><file name="HpsCreditServiceCpcEditBuilder.php" hash="7401c33a56c5a3c6a23f5f70101a4926"/><file name="HpsCreditServiceEditBuilder.php" hash="cdcf661c4182625212ec724b52eb8491"/><file name="HpsCreditServiceGetBuilder.php" hash="05b0cafe715a4d3ceb3c88b99b0c8dc1"/><file name="HpsCreditServiceListTransactionsBuilder.php" hash="a7765dfadc8e21177cc453a1e7dfd715"/><file name="HpsCreditServiceOfflineAuthBuilder.php" hash="d86d2425c6bbf28854a31d09a9f802b8"/><file name="HpsCreditServiceOfflineChargeBuilder.php" hash="0ee9ecf6b499a16f01fa2a7b94af00ca"/><file name="HpsCreditServicePrepaidAddValueBuilder.php" hash="997b48104fcdbd791a3b990515f2527e"/><file name="HpsCreditServicePrepaidBalanceInquiryBuilder.php" hash="7e7dd067d79281c32417b6d338825acd"/><file name="HpsCreditServiceRecurringBuilder.php" hash="560c8b86eeb9e4e468642eaa739ebe03"/><file name="HpsCreditServiceRefundBuilder.php" hash="4d5ab9c2a11c18a47e416bd90dffc5e8"/><file name="HpsCreditServiceReverseBuilder.php" hash="7960e9efa00ceb0d0c5368715c07d424"/><file name="HpsCreditServiceVerifyBuilder.php" hash="62027b344ee5444ccd1534358a405857"/><file name="HpsCreditServiceVoidBuilder.php" hash="0029756571343a1d8c6380874f6f5b6b"/></dir><dir name="Debit"><file name="HpsDebitServiceAddValueBuilder.php" hash="5f972b68a5afa062cbf911bfb3a946bc"/><file name="HpsDebitServiceChargeBuilder.php" hash="26aafce2a87bbbd8231a039209c49657"/><file name="HpsDebitServiceReturnBuilder.php" hash="2e11267e12bdd338b953db352a373961"/><file name="HpsDebitServiceReverseBuilder.php" hash="b088431d3ba0726d44cc418e92267958"/></dir><dir name="GiftCard"><file name="HpsGiftCardServiceActivateBuilder.php" hash="65e3ebd1c6ded3860b238d03e542fe3b"/><file name="HpsGiftCardServiceAddValueBuilder.php" hash="432582c9fd6617c86b373f5fe0b14fb1"/><file name="HpsGiftCardServiceAliasBuilder.php" hash="1b096debfa6678af2d6ddecfa82a638e"/><file name="HpsGiftCardServiceBalanceBuilder.php" hash="6bebaac04d059204a2408d693f77c449"/><file name="HpsGiftCardServiceDeactivateBuilder.php" hash="92b16b331414c40ea11de330bd447273"/><file name="HpsGiftCardServiceReplaceBuilder.php" hash="063e6b33a673c23553047a6f72927b2a"/><file name="HpsGiftCardServiceReverseBuilder.php" hash="2f7b96b1f9608cb7e3526ecb9b15558f"/><file name="HpsGiftCardServiceRewardBuilder.php" hash="242fbe42ab731b138e4d74be4cde4e9a"/><file name="HpsGiftCardServiceSaleBuilder.php" hash="8af2977da26e3707e42569ad7bf4c4a5"/><file name="HpsGiftCardServiceVoidBuilder.php" hash="fff556a586bb09d22f521a90d30fb809"/></dir><file name="HpsFluentCheckService.php" hash="e89511e006e914bdd4daf6765a49e97b"/><file name="HpsFluentCreditService.php" hash="58e0d0480066fec8c5c6e31eaa275d12"/><file name="HpsFluentDebitService.php" hash="63e86fe32a92c80cc5bd163283da6c64"/><file name="HpsFluentGiftCardService.php" hash="53697a755fc90256b940c74282693b0d"/></dir></dir><dir name="Gateway"><dir name="AltPayment"><file name="HpsAltPaymentService.php" hash="3d9cdbad50ccceb45d4d888018d2bab7"/><file name="HpsMasterPassService.php" hash="f5639448d09a38377f16434351201b09"/><file name="HpsPayPalService.php" hash="c91eebb0eca8bdda2505b78c4746db28"/></dir><file name="HpsBatchService.php" hash="2a4c11a4f7c78ec1e3b461b3803826c5"/><file name="HpsCentinelGatewayService.php" hash="40300a57982ccd5325b7bd0986a8bcc4"/><file name="HpsCheckService.php" hash="17eac57a5f3a6f24e31000325ad9ac1d"/><file name="HpsCreditService.php" hash="9f96d16f735dfb6e916fb88520a2b52e"/><file name="HpsDebitService.php" hash="0ea76c01b3c817fcaea876bff28681b3"/><file name="HpsGiftCardService.php" hash="e1deb113c685845e2af2bb0ff793ea4d"/><file name="HpsPayPlanService.php" hash="ce5d2c003e72be8328634d92ab8ae6eb"/><file name="HpsRestGatewayService.php" hash="3a0b4217eb4e9d8c92d298914e539a04"/><file name="HpsSoapGatewayService.php" hash="969751eb742eeb7d7a99d5d61d2d2afb"/><file name="HpsTokenService.php" hash="b1dad4289201b399f89ad1d29a799d39"/><dir name="PayPlan"><file name="HpsPayPlanCustomerService.php" hash="cda074fca2230c26919a813cc2d71b5c"/><file name="HpsPayPlanPaymentMethodService.php" hash="61dd42308d203251f4483d68561c191b"/><file name="HpsPayPlanScheduleService.php" hash="e8c81640a7440a19ed3590894a31a1f1"/></dir></dir><file name="HpsCentinelConfig.php" hash="f43f7ea211a51883fb8a2173072027a8"/><file name="HpsServicesConfig.php" hash="f3d63dc7d089a8bcd248e4abc381e6a7"/><file name="index.php" hash="ce407ff5715c837d02b1aba7975bf512"/></dir><file name="index.php" hash="ce407ff5715c837d02b1aba7975bf512"/><file name=".DS_Store" hash="fb4d06cbd65ab29860d86984919afa4a"/></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="securesubmit.xml" hash="cc04e952cc17ea3462931a9e7a655316"/></dir><dir name="template"><dir name="securesubmit"><file name="form.phtml" hash="67a460ca8f034f4bfe3fbb8e7845f37f"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="securesubmit.xml" hash="410fda5ef3920f893f5a17ec379aa2da"/></dir><dir name="template"><dir name="securesubmit"><file name="form.phtml" hash="1e722ede8b902835e63c07360f6c8242"/><dir name="masterpass"><file name="connect.phtml" hash="b5f47624447a44958ce4fa004c58c319"/><file name="form.phtml" hash="039d6a174ac24c45ece0d14b92b6c9c4"/><file name="js.phtml" hash="274e871b2d8270e3224b9ce12794c2c5"/><file name="mark.phtml" hash="fe27b341b5fb034e90ac35c92ef998d4"/><dir name="review"><file name="details.phtml" hash="0dc5e1201e7e424f089c15fc83a1c70f"/><dir name="shipping"><file name="method.phtml" hash="cc426553636aa08840bee1c4778d89e4"/></dir></dir><file name="review.phtml" hash="cfc643de65b962ba27306587357f45d3"/></dir><dir name="paypal"><dir name="incontext"><file name="js.phtml" hash="16b4ad23ea05464a55bb0390cd72e248"/><file name="payment.phtml" hash="b32d269057984f656422609015dd7d91"/></dir><dir name="review"><file name="details.phtml" hash="0dc5e1201e7e424f089c15fc83a1c70f"/><dir name="shipping"><file name="method.phtml" hash="cc426553636aa08840bee1c4778d89e4"/></dir></dir><file name="review.phtml" hash="cfc643de65b962ba27306587357f45d3"/><file name="shortcut.phtml" hash="268bfac86e653ec5981cd201075f4105"/></dir><file name="storedcards.phtml" hash="2b599d437b60bab2e43efc1809892da0"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Hps_Securesubmit.xml" hash="d5aed3f48a45f8e611b68d1e6f34c959"/></dir></target></contents>
|
18 |
<compatible/>
|
19 |
+
<dependencies><required><php><min>5.2.0</min><max>5.6.22</max></php></required></dependencies>
|
20 |
</package>
|