Version Notes
SERVER_PULL delivery method implemented.
Download this release
Release Info
Developer | Magento Core Team |
Extension | Cardsave_Cardsaveonlinepayments |
Version | 1.8.0 |
Comparing to | |
See all releases |
Code changes from version 1.7.2 to 1.8.0
- app/code/local/Cardsave/Cardsaveonlinepayments/Model/Direct.php +17 -4
- app/code/local/Cardsave/Cardsaveonlinepayments/Model/Source/ResultDeliveryMethod.php +5 -0
- app/code/local/Cardsave/Cardsaveonlinepayments/Model/Tpg/GlobalErrors.php +12 -0
- app/code/local/Cardsave/Cardsaveonlinepayments/Model/Tpg/PaymentFormHelper.php +64 -1
- app/code/local/Cardsave/Cardsaveonlinepayments/controllers/PaymentController.php +138 -0
- app/code/local/Cardsave/Cardsaveonlinepayments/etc/config.xml +2 -1
- app/code/local/Cardsave/Cardsaveonlinepayments/etc/system.xml +8 -0
- package.xml +5 -5
app/code/local/Cardsave/Cardsaveonlinepayments/Model/Direct.php
CHANGED
@@ -398,7 +398,6 @@ class Cardsave_Cardsaveonlinepayments_Model_Direct extends Mage_Payment_Model_Me
|
|
398 |
|
399 |
$szMerchantID = $this->getConfigData('merchantid');
|
400 |
$szPassword = $this->getConfigData('password');
|
401 |
-
$szCallbackURL = Mage::getUrl('cardsaveonlinepayments/payment/callbackhostedpayment');
|
402 |
$szPreSharedKey = $this->getConfigData('presharedkey');
|
403 |
$hmHashMethod = $this->getConfigData('hashmethod');
|
404 |
$boCV2Mandatory = 'false';
|
@@ -408,9 +407,23 @@ class Cardsave_Cardsaveonlinepayments_Model_Direct extends Mage_Payment_Model_Me
|
|
408 |
$boStateMandatory = 'false';
|
409 |
$boCountryMandatory = 'false';
|
410 |
$rdmResultdeliveryMethod = $this->getConfigData('resultdeliverymethod');
|
411 |
-
$szServerResultURL =
|
412 |
-
|
413 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
414 |
|
415 |
$order = $payment->getOrder();
|
416 |
$billingAddress = $order->getBillingAddress();
|
398 |
|
399 |
$szMerchantID = $this->getConfigData('merchantid');
|
400 |
$szPassword = $this->getConfigData('password');
|
|
|
401 |
$szPreSharedKey = $this->getConfigData('presharedkey');
|
402 |
$hmHashMethod = $this->getConfigData('hashmethod');
|
403 |
$boCV2Mandatory = 'false';
|
407 |
$boStateMandatory = 'false';
|
408 |
$boCountryMandatory = 'false';
|
409 |
$rdmResultdeliveryMethod = $this->getConfigData('resultdeliverymethod');
|
410 |
+
$szServerResultURL = '';
|
411 |
+
$boPaymentFormDisplaysResult = '';
|
412 |
+
|
413 |
+
switch($rdmResultdeliveryMethod)
|
414 |
+
{
|
415 |
+
case Cardsave_Cardsaveonlinepayments_Model_Source_ResultDeliveryMethod::RESULT_DELIVERY_METHOD_POST:
|
416 |
+
$szCallbackURL = Mage::getUrl('cardsaveonlinepayments/payment/callbackhostedpayment');
|
417 |
+
break;
|
418 |
+
case Cardsave_Cardsaveonlinepayments_Model_Source_ResultDeliveryMethod::RESULT_DELIVERY_METHOD_SERVER:
|
419 |
+
$szCallbackURL = Mage::getUrl('cardsaveonlinepayments/payment/callbackhostedpayment');
|
420 |
+
$szServerResultURL = Mage::getUrl('cardsaveonlinepayments/payment/serverresult');
|
421 |
+
$boPaymentFormDisplaysResult = 'true';
|
422 |
+
break;
|
423 |
+
case Cardsave_Cardsaveonlinepayments_Model_Source_ResultDeliveryMethod::RESULT_DELIVERY_METHOD_SERVER_PULL:
|
424 |
+
$szCallbackURL = Mage::getUrl('cardsaveonlinepayments/payment/serverpullresult');
|
425 |
+
break;
|
426 |
+
}
|
427 |
|
428 |
$order = $payment->getOrder();
|
429 |
$billingAddress = $order->getBillingAddress();
|
app/code/local/Cardsave/Cardsaveonlinepayments/Model/Source/ResultDeliveryMethod.php
CHANGED
@@ -5,6 +5,7 @@ class Cardsave_Cardsaveonlinepayments_Model_Source_ResultDeliveryMethod
|
|
5 |
// public enum for the payment types
|
6 |
const RESULT_DELIVERY_METHOD_POST = 'POST';
|
7 |
const RESULT_DELIVERY_METHOD_SERVER = 'SERVER';
|
|
|
8 |
|
9 |
public function toOptionArray()
|
10 |
{
|
@@ -18,6 +19,10 @@ class Cardsave_Cardsaveonlinepayments_Model_Source_ResultDeliveryMethod
|
|
18 |
'value' => self::RESULT_DELIVERY_METHOD_SERVER,
|
19 |
'label' => Mage::helper('cardsaveonlinepayments')->__('Server')
|
20 |
),
|
|
|
|
|
|
|
|
|
21 |
);
|
22 |
}
|
23 |
}
|
5 |
// public enum for the payment types
|
6 |
const RESULT_DELIVERY_METHOD_POST = 'POST';
|
7 |
const RESULT_DELIVERY_METHOD_SERVER = 'SERVER';
|
8 |
+
const RESULT_DELIVERY_METHOD_SERVER_PULL = "SERVER_PULL";
|
9 |
|
10 |
public function toOptionArray()
|
11 |
{
|
19 |
'value' => self::RESULT_DELIVERY_METHOD_SERVER,
|
20 |
'label' => Mage::helper('cardsaveonlinepayments')->__('Server')
|
21 |
),
|
22 |
+
array(
|
23 |
+
'value' => self::RESULT_DELIVERY_METHOD_SERVER_PULL,
|
24 |
+
'label' => Mage::helper('cardsaveonlinepayments')->__('Server Pull')
|
25 |
+
)
|
26 |
);
|
27 |
}
|
28 |
}
|
app/code/local/Cardsave/Cardsaveonlinepayments/Model/Tpg/GlobalErrors.php
CHANGED
@@ -20,5 +20,17 @@ class Cardsave_Cardsaveonlinepayments_Model_Tpg_GlobalErrors
|
|
20 |
|
21 |
// failure - occurred during the processing of the data in the callback from the 3D Secure Authentication page
|
22 |
const ERROR_7655 = "3D Secure payment was not successfull and checkout was cancelled.<br/>Please check your credit card details and try again.";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
}
|
24 |
?>
|
20 |
|
21 |
// failure - occurred during the processing of the data in the callback from the 3D Secure Authentication page
|
22 |
const ERROR_7655 = "3D Secure payment was not successfull and checkout was cancelled.<br/>Please check your credit card details and try again.";
|
23 |
+
|
24 |
+
// failure - server pull result related error: no URL variable present in the payment form to merchant webshop redirection
|
25 |
+
const ERROR_309 ="ERROR 309: Missing parameters.";
|
26 |
+
|
27 |
+
// failure - server pull result related error: OrderID or CrossReference is missing from the URL variable list
|
28 |
+
const ERROR_304 = "ERROR 304: The payment was rejected for a SECURITY reason: the incoming payment data was tampered with.";
|
29 |
+
|
30 |
+
// faulire - server pull result related error: Magento web request to the hosted PaymentFormHandler failed while trying to retrieve the transaction details using the CrossReference
|
31 |
+
const ERROR_329 = "ERROR 329: Error happened while trying to validate the transaction result.";
|
32 |
+
|
33 |
+
// failure - server pull result related error: empty response due to invalid CrossReference
|
34 |
+
const ERROR_381 = "ERROR 381: Invalid transaction details.";
|
35 |
}
|
36 |
?>
|
app/code/local/Cardsave/Cardsaveonlinepayments/Model/Tpg/PaymentFormHelper.php
CHANGED
@@ -442,6 +442,69 @@
|
|
442 |
return $boMatch;
|
443 |
}
|
444 |
|
445 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
446 |
}
|
447 |
?>
|
442 |
return $boMatch;
|
443 |
}
|
444 |
|
445 |
+
/**
|
446 |
+
* Convert a URL string to a name value array collection
|
447 |
+
*
|
448 |
+
* @param unknown_type $szInputVariableString
|
449 |
+
* @return unknown
|
450 |
+
*/
|
451 |
+
public static function getVariableCollectionFromString($szInputVariableString)
|
452 |
+
{
|
453 |
+
$arVariableCollection = array();
|
454 |
+
|
455 |
+
$arURLVariableArray = explode('&', $szInputVariableString);
|
456 |
+
for($nCount = 0; $nCount < sizeof($arURLVariableArray); $nCount++)
|
457 |
+
{
|
458 |
+
$szNameValue = $arURLVariableArray[$nCount];
|
459 |
+
$arNameValue = explode('=', $szNameValue);
|
460 |
+
if(sizeof($arNameValue) == 1)
|
461 |
+
{
|
462 |
+
$arVariableCollection[$arNameValue[0]] = '';
|
463 |
+
}
|
464 |
+
else
|
465 |
+
{
|
466 |
+
$arVariableCollection[$arNameValue[0]] = $arNameValue[1];
|
467 |
+
}
|
468 |
+
}
|
469 |
+
|
470 |
+
return ($arVariableCollection);
|
471 |
+
}
|
472 |
+
|
473 |
+
/**
|
474 |
+
* Hash validator mechanism for the SERVER and SERVER_PULL methods
|
475 |
+
*
|
476 |
+
* @param unknown_type $formVariables
|
477 |
+
* @param unknown_type $szPassword
|
478 |
+
* @param unknown_type $hmHashMethod
|
479 |
+
* @param unknown_type $szPreSharedKey
|
480 |
+
*/
|
481 |
+
public static function compareServerHashDigest($formVariables, $szPassword, $hmHashMethod, $szPreSharedKey)
|
482 |
+
{
|
483 |
+
$boMatch = false;
|
484 |
+
$szHashDigest = isset($formVariables['HashDigest']) ? $formVariables['HashDigest'] : false;
|
485 |
+
$szMerchantID = isset($formVariables['MerchantID']) ? $formVariables['MerchantID'] : false;
|
486 |
+
$szCrossReference = isset($formVariables['CrossReference']) ? $formVariables['CrossReference'] : false;
|
487 |
+
$szOrderID = isset($formVariables['OrderID']) ? $formVariables['OrderID'] : false;
|
488 |
+
|
489 |
+
$szStringBeforeHash = 'MerchantID='.$szMerchantID.'&'.
|
490 |
+
'Password='.$szPassword.'&'.
|
491 |
+
'CrossReference='.$szCrossReference.'&'.
|
492 |
+
'OrderID='.$szOrderID;
|
493 |
+
|
494 |
+
if ($hmHashMethod == Cardsave_Cardsaveonlinepayments_Model_Source_HashMethod::HASH_METHOD_MD5 ||
|
495 |
+
$hmHashMethod == Cardsave_Cardsaveonlinepayments_Model_Source_HashMethod::HASH_METHOD_SHA1)
|
496 |
+
{
|
497 |
+
$szStringBeforeHash = 'PreSharedKey='.$szPreSharedKey.'&'.$szStringBeforeHash;
|
498 |
+
}
|
499 |
+
|
500 |
+
$szCalculatedHashDigest = self::_hashCalculator($hmHashMethod, $szPreSharedKey, $szStringBeforeHash);
|
501 |
+
|
502 |
+
if(strtoupper($szHashDigest) === strtoupper($szCalculatedHashDigest))
|
503 |
+
{
|
504 |
+
$boMatch = true;
|
505 |
+
}
|
506 |
+
|
507 |
+
return $boMatch;
|
508 |
+
}
|
509 |
}
|
510 |
?>
|
app/code/local/Cardsave/Cardsaveonlinepayments/controllers/PaymentController.php
CHANGED
@@ -285,6 +285,144 @@ class Cardsave_Cardsaveonlinepayments_PaymentController extends Mage_Core_Contro
|
|
285 |
}
|
286 |
}
|
287 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
288 |
/**
|
289 |
* Action logic for handling the result set from the Transparent Redirect page
|
290 |
*
|
285 |
}
|
286 |
}
|
287 |
|
288 |
+
/*
|
289 |
+
* Action logic to handle the SERVER_PUSH web request to the PaymentFormResultHandler.ashx to get the transaction result details
|
290 |
+
*/
|
291 |
+
public function serverpullresultAction()
|
292 |
+
{
|
293 |
+
$boError = false;
|
294 |
+
$nStartIndex = false;
|
295 |
+
//
|
296 |
+
$szHashDigest = false;
|
297 |
+
$szMerchantID = false;
|
298 |
+
$szCrossReference = false;
|
299 |
+
$szOrderID = false;
|
300 |
+
//
|
301 |
+
$nErrorNumber = false;
|
302 |
+
$szErrorMessage = false;
|
303 |
+
$model = Mage::getModel('cardsaveonlinepayments/direct');
|
304 |
+
$checkout = Mage::getSingleton('checkout/type_onepage');
|
305 |
+
$szServerPullURL = $model->getConfigData('serverpullresultactionurl');
|
306 |
+
$szMerchantID = $model->getConfigData('merchantid');
|
307 |
+
$szPassword = $model->getConfigData('password');
|
308 |
+
$hmHashMethod = $model->getConfigData('hashmethod');
|
309 |
+
$szPreSharedKey = $model->getConfigData('presharedkey');
|
310 |
+
$szURLVariableString = $this->getRequest()->getRequestUri();
|
311 |
+
$nStartIndex = strpos($szURLVariableString, "?");
|
312 |
+
|
313 |
+
if(!is_int($nStartIndex))
|
314 |
+
{
|
315 |
+
$szErrorMessage = Cardsave_Cardsaveonlinepayments_Model_Tpg_GlobalErrors::ERROR_309;
|
316 |
+
Mage::log(Cardsave_Cardsaveonlinepayments_Model_Tpg_GlobalErrors::ERROR_309." Request URI: ".$szURLVariableString);
|
317 |
+
}
|
318 |
+
else
|
319 |
+
{
|
320 |
+
$szURLVariableString = substr($szURLVariableString, $nStartIndex + 1);
|
321 |
+
$arFormVariables = CSV_PaymentFormHelper::getVariableCollectionFromString($szURLVariableString);
|
322 |
+
|
323 |
+
if(!CSV_PaymentFormHelper::compareServerHashDigest($arFormVariables, $szPassword, $hmHashMethod, $szPreSharedKey))
|
324 |
+
{
|
325 |
+
// report an error message
|
326 |
+
$szErrorMessage = Cardsave_Cardsaveonlinepayments_Model_Tpg_GlobalErrors::ERROR_304;
|
327 |
+
}
|
328 |
+
else
|
329 |
+
{
|
330 |
+
$szOrderID = $arFormVariables["OrderID"];
|
331 |
+
$szCrossReference = $arFormVariables["CrossReference"];
|
332 |
+
$szPostFields = "MerchantID=".$szMerchantID."&Password=".$szPassword."&CrossReference=".$szCrossReference;
|
333 |
+
|
334 |
+
$cCurl = curl_init();
|
335 |
+
curl_setopt($cCurl, CURLOPT_URL, $szServerPullURL);
|
336 |
+
curl_setopt($cCurl, CURLOPT_POST, true);
|
337 |
+
curl_setopt($cCurl, CURLOPT_POSTFIELDS, $szPostFields);
|
338 |
+
curl_setopt($cCurl, CURLOPT_RETURNTRANSFER, 1);
|
339 |
+
curl_setopt($cCurl, CURLOPT_ENCODING, "UTF-8");
|
340 |
+
curl_setopt($cCurl, CURLOPT_SSL_VERIFYPEER, false);
|
341 |
+
curl_setopt($cCurl, CURLOPT_SSL_VERIFYHOST, false);
|
342 |
+
|
343 |
+
$response = curl_exec($cCurl);
|
344 |
+
$nErrorNumber = curl_errno($cCurl);
|
345 |
+
$szErrorMessage = curl_error($cCurl);
|
346 |
+
curl_close($cCurl);
|
347 |
+
|
348 |
+
if(is_int($nErrorNumber) &&
|
349 |
+
$nErrorNumber > 0)
|
350 |
+
{
|
351 |
+
Mage::log("Error happened while trying to retrieve the transaction result details for a SERVER_PULL method for CrossReference: ".$szCrossReference.". Error code: ".$nErrorNumber.", message: ".$szErrorMessage);
|
352 |
+
// suppress the message and use customer friendly instead
|
353 |
+
$szErrorMessage = Cardsave_Cardsaveonlinepayments_Model_Tpg_GlobalErrors::ERROR_329." Message: ".$szErrorMessage;
|
354 |
+
}
|
355 |
+
else
|
356 |
+
{
|
357 |
+
// synchronize of the Magento backend with the transcation result
|
358 |
+
try
|
359 |
+
{
|
360 |
+
// get the response items
|
361 |
+
$responseItems = CSV_PaymentFormHelper::getVariableCollectionFromString($response);
|
362 |
+
|
363 |
+
$szStatusCode = $responseItems["StatusCode"];
|
364 |
+
$szMessage = $responseItems["Message"];
|
365 |
+
$transactionResult = $responseItems["TransactionResult"];
|
366 |
+
|
367 |
+
if($szStatusCode !== '0')
|
368 |
+
{
|
369 |
+
$szErrorMessage = Cardsave_Cardsaveonlinepayments_Model_Tpg_GlobalErrors::ERROR_381;
|
370 |
+
$szErrorMessage .= " Message: ".$szMessage;
|
371 |
+
}
|
372 |
+
else
|
373 |
+
{
|
374 |
+
// URL decode the transaction result variable and get the transaction result sub variables
|
375 |
+
$transactionResult = urldecode($transactionResult);
|
376 |
+
$transactionResult = CSV_PaymentFormHelper::getVariableCollectionFromString($transactionResult);
|
377 |
+
// create the order item in the Magento backend
|
378 |
+
$szStatusCode = isset($transactionResult["StatusCode"]) ? $transactionResult["StatusCode"] : false;
|
379 |
+
$szMessage = isset($transactionResult["Message"]) ? $transactionResult["Message"] : false;
|
380 |
+
$szPreviousStatusCode = $szStatusCode;
|
381 |
+
$szPreviousMessage = $szMessage;
|
382 |
+
|
383 |
+
$checkout->saveOrderAfterRedirectedPaymentAction(true,
|
384 |
+
$szStatusCode,
|
385 |
+
$szMessage,
|
386 |
+
$szPreviousStatusCode,
|
387 |
+
$szPreviousMessage,
|
388 |
+
$szOrderID);
|
389 |
+
}
|
390 |
+
}
|
391 |
+
catch(Exception $exc)
|
392 |
+
{
|
393 |
+
$boError = true;
|
394 |
+
$szErrorMessage = $exc->getMessage();
|
395 |
+
Mage::logException($exc);
|
396 |
+
}
|
397 |
+
}
|
398 |
+
}
|
399 |
+
}
|
400 |
+
|
401 |
+
if($szErrorMessage)
|
402 |
+
{
|
403 |
+
Mage::getSingleton('core/session')->addError($szErrorMessage);
|
404 |
+
$this->_redirect('checkout/onepage/failure');
|
405 |
+
}
|
406 |
+
else
|
407 |
+
{
|
408 |
+
$order = Mage::getModel('sales/order');
|
409 |
+
|
410 |
+
// set the quote as inactive after back from paypal
|
411 |
+
Mage::getSingleton('checkout/session')->getQuote()->setIsActive(false)->save();
|
412 |
+
|
413 |
+
// send confirmation email to customer
|
414 |
+
$order->load(Mage::getSingleton('checkout/session')->getLastOrderId());
|
415 |
+
|
416 |
+
if($order->getId())
|
417 |
+
{
|
418 |
+
$order->sendNewOrderEmail();
|
419 |
+
}
|
420 |
+
|
421 |
+
Mage::getSingleton('core/session')->addSuccess('Payment Processor Response: '.$szMessage);
|
422 |
+
$this->_redirect('checkout/onepage/success', array('_secure' => true));
|
423 |
+
}
|
424 |
+
}
|
425 |
+
|
426 |
/**
|
427 |
* Action logic for handling the result set from the Transparent Redirect page
|
428 |
*
|
app/code/local/Cardsave/Cardsaveonlinepayments/etc/config.xml
CHANGED
@@ -83,9 +83,10 @@
|
|
83 |
<title>CardSave</title>
|
84 |
<hashmethod>sha1</hashmethod>
|
85 |
<paymentprocessordomain>cardsaveonlinepayments.com</paymentprocessordomain>
|
86 |
-
<paymentprocessorport>
|
87 |
<hostedpaymentactionurl>https://mms.cardsaveonlinepayments.com/Pages/PublicPages/PaymentForm.aspx</hostedpaymentactionurl>
|
88 |
<transparentredirectactionurl>https://mms.cardsaveonlinepayments.com/Pages/PublicPages/TransparentRedirect.aspx</transparentredirectactionurl>
|
|
|
89 |
<payment_action>capture</payment_action>
|
90 |
<mode>direct</mode>
|
91 |
<cv2mandatory>1</cv2mandatory>
|
83 |
<title>CardSave</title>
|
84 |
<hashmethod>sha1</hashmethod>
|
85 |
<paymentprocessordomain>cardsaveonlinepayments.com</paymentprocessordomain>
|
86 |
+
<paymentprocessorport>443</paymentprocessorport>
|
87 |
<hostedpaymentactionurl>https://mms.cardsaveonlinepayments.com/Pages/PublicPages/PaymentForm.aspx</hostedpaymentactionurl>
|
88 |
<transparentredirectactionurl>https://mms.cardsaveonlinepayments.com/Pages/PublicPages/TransparentRedirect.aspx</transparentredirectactionurl>
|
89 |
+
<serverpullresultactionurl>https://mms.cardsaveonlinepayments.com/Pages/PublicPages/PaymentFormResultHandler.ashx</serverpullresultactionurl>
|
90 |
<payment_action>capture</payment_action>
|
91 |
<mode>direct</mode>
|
92 |
<cv2mandatory>1</cv2mandatory>
|
app/code/local/Cardsave/Cardsaveonlinepayments/etc/system.xml
CHANGED
@@ -136,6 +136,14 @@
|
|
136 |
<show_in_website>1</show_in_website>
|
137 |
<show_in_store>0</show_in_store>
|
138 |
</transparentredirectactionurl>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
139 |
<cv2mandatory>
|
140 |
<label>CV2 Mandatory <![CDATA[<span style="color:Red;font-weight:bold;font-size:12px;">(ON FORM ONLY)</span>]]></label>
|
141 |
<sort_order>140</sort_order>
|
136 |
<show_in_website>1</show_in_website>
|
137 |
<show_in_store>0</show_in_store>
|
138 |
</transparentredirectactionurl>
|
139 |
+
<serverpullresultactionurl>
|
140 |
+
<label>Server Pull Result Action URL</label>
|
141 |
+
<frontend_type>label</frontend_type>
|
142 |
+
<sort_order>133</sort_order>
|
143 |
+
<show_in_default>1</show_in_default>
|
144 |
+
<show_in_website>1</show_in_website>
|
145 |
+
<show_in_store>0</show_in_store>
|
146 |
+
</serverpullresultactionurl>
|
147 |
<cv2mandatory>
|
148 |
<label>CV2 Mandatory <![CDATA[<span style="color:Red;font-weight:bold;font-size:12px;">(ON FORM ONLY)</span>]]></label>
|
149 |
<sort_order>140</sort_order>
|
package.xml
CHANGED
@@ -1,18 +1,18 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Cardsave_Cardsaveonlinepayments</name>
|
4 |
-
<version>1.
|
5 |
<stability>stable</stability>
|
6 |
<license>OSL v3.0</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>CardSave Payment Extension</summary>
|
10 |
<description>Magento payment extension for the CardSave payment gateway. This extension fully supports the processing of 3D secure (Verified By Visa and Mastercard SecureCode) transactions. It also supports all of the integration methods provided by Iridium.</description>
|
11 |
-
<notes>
|
12 |
<authors><author><name>CardSave Support</name><user>auto-converted</user><email>integrationsupport@cardsaveonlinepayments.com</email></author></authors>
|
13 |
-
<date>2010-08-
|
14 |
-
<time>15:
|
15 |
-
<contents><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="cardsaveonlinepayments"><file name="form.phtml" hash="2b0b8a72c9f4a6d2ab9f0ea020c8f2ed"/><file name="info.phtml" hash="ebd858f4a39de4384d82214268df5e18"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="template"><dir name="cardsaveonlinepayments"><file name="form.phtml" hash="206c8703ef4d160dfc6c739c128ab47b"/><file name="info.phtml" hash="086176ae3d7bef055c87029fb96a3933"/></dir></dir></dir></dir></dir></target><target name="magelocal"><dir name="Cardsave"><dir name="Cardsaveonlinepayments"><dir name="Block"><file name="Error.php" hash="660d3cbde48910ef271df9e05130a6d7"/><file name="Form.php" hash="ea5b3817c9607a94f4685d53d0b18569"/><file name="Info.php" hash="57a4bfec1a1c769de063be2b922f4a97"/><file name="Redirect.php" hash="b5a1f7af807dc9a41ec5b9db5c74e87e"/><file name="Threedsecure.php" hash="3b3cb2347316ad91dfb4ff53a58f623f"/></dir><dir name="controllers"><file name="PaymentController.php" hash="
|
16 |
<compatible/>
|
17 |
<dependencies/>
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Cardsave_Cardsaveonlinepayments</name>
|
4 |
+
<version>1.8.0</version>
|
5 |
<stability>stable</stability>
|
6 |
<license>OSL v3.0</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>CardSave Payment Extension</summary>
|
10 |
<description>Magento payment extension for the CardSave payment gateway. This extension fully supports the processing of 3D secure (Verified By Visa and Mastercard SecureCode) transactions. It also supports all of the integration methods provided by Iridium.</description>
|
11 |
+
<notes>SERVER_PULL delivery method implemented.</notes>
|
12 |
<authors><author><name>CardSave Support</name><user>auto-converted</user><email>integrationsupport@cardsaveonlinepayments.com</email></author></authors>
|
13 |
+
<date>2010-08-19</date>
|
14 |
+
<time>15:08:45</time>
|
15 |
+
<contents><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="cardsaveonlinepayments"><file name="form.phtml" hash="2b0b8a72c9f4a6d2ab9f0ea020c8f2ed"/><file name="info.phtml" hash="ebd858f4a39de4384d82214268df5e18"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="template"><dir name="cardsaveonlinepayments"><file name="form.phtml" hash="206c8703ef4d160dfc6c739c128ab47b"/><file name="info.phtml" hash="086176ae3d7bef055c87029fb96a3933"/></dir></dir></dir></dir></dir></target><target name="magelocal"><dir name="Cardsave"><dir name="Cardsaveonlinepayments"><dir name="Block"><file name="Error.php" hash="660d3cbde48910ef271df9e05130a6d7"/><file name="Form.php" hash="ea5b3817c9607a94f4685d53d0b18569"/><file name="Info.php" hash="57a4bfec1a1c769de063be2b922f4a97"/><file name="Redirect.php" hash="b5a1f7af807dc9a41ec5b9db5c74e87e"/><file name="Threedsecure.php" hash="3b3cb2347316ad91dfb4ff53a58f623f"/></dir><dir name="controllers"><file name="PaymentController.php" hash="ff2f3aedb65290f4d4c3cbe0060d39ec"/></dir><dir name="etc"><file name="config.xml" hash="3a790abe482ed4c6c986a8f70dbba712"/><file name="system.xml" hash="03db876eb229bef071b08fe738059366"/></dir><dir name="Helper"><file name="Data.php" hash="e024ec0479d1e8e7efcf4751b05194d6"/></dir><dir name="Model"><file name="Direct.php" hash="6f231f62071011977aa17baab3d27695"/><file name="Request.php" hash="370f028086d13ae1df470e93a67dea66"/><dir name="Source"><file name="HashMethod.php" hash="997928579b69d21ae9eebec698c715c6"/><file name="OrderStatus.php" hash="4c44f8ba1652f20d934aa200ed4c8d00"/><file name="PaymentAction.php" hash="fa94be37c18bbb2f6301bdad1db3698d"/><file name="PaymentMode.php" hash="ea8af602bd09d54a123af64bc4b680d0"/><file name="ResultDeliveryMethod.php" hash="577f80d5aae25fe63fb270b07c85b5a3"/></dir><dir name="Tpg"><file name="GlobalErrors.php" hash="5414b74695fa49e51668df62ee18dd6e"/><file name="ISOCountries.php" hash="78dc558da68ca9a6ef44898a3980ecf2"/><file name="ISOCurrencies.php" hash="a32bc47b2d9896c293ecdcbf847144f9"/><file name="PaymentFormHelper.php" hash="cf1f99eb416612b7a9eab786a0d8940b"/><dir name="ThePaymentGateway"><file name="PaymentSystem.php" hash="e4d4df170c21b7e3571b3ba1205ca979"/><file name="SOAP.php" hash="a0e5474dce51dc90ba4d37b5de3cdd84"/><file name="TPG_Common.php" hash="d86997c977cfd55b8ab577a514ab149c"/></dir></dir></dir></dir><dir name="Checkout"><dir name="Block"><dir name="Onepage"><dir name="Payment"><file name="Methods.php" hash="695d628564f6e1e0c85e3821699e6b45"/></dir></dir></dir><dir name="etc"><file name="config.xml" hash="9dbd58b6b32491d65e5c7d5850aa3420"/></dir><dir name="Model"><dir name="Type"><file name="Onepage.php" hash="651262752fd172df050151a4a916a72b"/></dir></dir></dir><dir name="Sales"><dir name="etc"><file name="config.xml" hash="21fea9901bfaed9c0964aa91817af05c"/></dir><dir name="Model"><file name="Order.php" hash="9ffa9e06b0d5d8d2d810ab50017e81fa"/><dir name="Order"><file name="Invoice.php" hash="e7e1e003f4e8c0540ff8e9ad0465a6cb"/></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="default"><dir name="default"><dir name="images"><file name="cardsave_online.jpg" hash="abb239c81edb9ae8df8cf891e914e2aa"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Cardsave_All.xml" hash="e1d59fd8c4d4b5d87607f43fecf47e59"/></dir></target></contents>
|
16 |
<compatible/>
|
17 |
<dependencies/>
|
18 |
</package>
|