Version Notes
* Integration of PayFrame to enable use of SAQ A for easier PCI DSS 3.0 compliance.
Download this release
Release Info
| Developer | PayIntelligent |
| Extension | Paymill_Paymill |
| Version | 4.0.0 |
| Comparing to | |
| See all releases | |
Code changes from version 3.9.2 to 4.0.0
- app/code/community/Paymill/Paymill/Block/Payment/Form/PaymentFormAbstract.php +4 -3
- app/code/community/Paymill/Paymill/Block/Payment/Form/PaymentFormCreditcard.php +5 -2
- app/code/community/Paymill/Paymill/Helper/OptionHelper.php +9 -0
- app/code/community/Paymill/Paymill/Model/Method/MethodModelAbstract.php +1 -1
- app/code/community/Paymill/Paymill/Model/Source/Creditcard/Pci.php +41 -0
- app/code/community/Paymill/Paymill/etc/config.xml +1 -1
- app/code/community/Paymill/Paymill/etc/system.xml +12 -3
- app/design/frontend/base/default/layout/paymill.xml +1 -1
- app/design/frontend/base/default/template/paymill/payment/form/creditcard.phtml +2 -1
- app/design/frontend/base/default/template/paymill/payment/form/creditcard_form.phtml +73 -0
- app/design/frontend/base/default/template/paymill/payment/form/directdebit.phtml +1 -1
- app/locale/de_AT/Paymill_Paymill.csv +6 -1
- app/locale/de_CH/Paymill_Paymill.csv +6 -1
- app/locale/de_DE/Paymill_Paymill.csv +6 -1
- app/locale/en_AU/Paymill_Paymill.csv +6 -1
- app/locale/en_CA/Paymill_Paymill.csv +6 -1
- app/locale/en_GB/Paymill_Paymill.csv +6 -1
- app/locale/en_IE/Paymill_Paymill.csv +6 -1
- app/locale/en_NZ/Paymill_Paymill.csv +6 -1
- app/locale/en_US/Paymill_Paymill.csv +6 -1
- app/locale/en_ZA/Paymill_Paymill.csv +6 -1
- app/locale/es_AR/Paymill_Paymill.csv +6 -1
- app/locale/es_CL/Paymill_Paymill.csv +6 -1
- app/locale/es_CO/Paymill_Paymill.csv +6 -1
- app/locale/es_CR/Paymill_Paymill.csv +6 -1
- app/locale/es_ES/Paymill_Paymill.csv +6 -1
- app/locale/es_MX/Paymill_Paymill.csv +6 -1
- app/locale/es_PE/Paymill_Paymill.csv +6 -1
- app/locale/es_VE/Paymill_Paymill.csv +6 -1
- app/locale/fr_CA/Paymill_Paymill.csv +6 -1
- app/locale/fr_FR/Paymill_Paymill.csv +6 -1
- app/locale/it_CH/Paymill_Paymill.csv +6 -1
- app/locale/it_IT/Paymill_Paymill.csv +6 -1
- app/locale/pt_BR/Paymill_Paymill.csv +6 -1
- app/locale/pt_PT/Paymill_Paymill.csv +6 -1
- js/paymill/Creditcard.js +30 -1
- js/paymill/Paymill.js +88 -24
- js/paymill/paymentForm.js +697 -0
- package.xml +5 -5
app/code/community/Paymill/Paymill/Block/Payment/Form/PaymentFormAbstract.php
CHANGED
|
@@ -37,12 +37,13 @@ class Paymill_Paymill_Block_Payment_Form_PaymentFormAbstract extends Mage_Paymen
|
|
| 37 |
}
|
| 38 |
|
| 39 |
/**
|
| 40 |
-
* Returns a boolean
|
| 41 |
* @param String $code payment code
|
| 42 |
* @return boolean
|
| 43 |
*/
|
| 44 |
-
public function
|
| 45 |
{
|
| 46 |
-
|
|
|
|
| 47 |
}
|
| 48 |
}
|
| 37 |
}
|
| 38 |
|
| 39 |
/**
|
| 40 |
+
* Returns a boolean if checkout is fastcheckout or not
|
| 41 |
* @param String $code payment code
|
| 42 |
* @return boolean
|
| 43 |
*/
|
| 44 |
+
public function isFastCheckout($code)
|
| 45 |
{
|
| 46 |
+
$paymentData = Mage::helper('paymill/fastCheckoutHelper')->getPaymentData($code);
|
| 47 |
+
return empty($paymentData) ? 'false' : 'true';
|
| 48 |
}
|
| 49 |
}
|
app/code/community/Paymill/Paymill/Block/Payment/Form/PaymentFormCreditcard.php
CHANGED
|
@@ -43,8 +43,11 @@ class Paymill_Paymill_Block_Payment_Form_PaymentFormCreditcard extends Paymill_P
|
|
| 43 |
parent::_construct();
|
| 44 |
|
| 45 |
$this->setPaymillCcLogos();
|
| 46 |
-
|
| 47 |
-
|
|
|
|
|
|
|
|
|
|
| 48 |
}
|
| 49 |
|
| 50 |
/**
|
| 43 |
parent::_construct();
|
| 44 |
|
| 45 |
$this->setPaymillCcLogos();
|
| 46 |
+
if(Mage::helper('paymill/optionHelper')->getPci() === 'SAQ A-EP') {
|
| 47 |
+
$this->setTemplate('paymill/payment/form/creditcard.phtml');
|
| 48 |
+
} else {
|
| 49 |
+
$this->setTemplate('paymill/payment/form/creditcard_form.phtml');
|
| 50 |
+
}
|
| 51 |
}
|
| 52 |
|
| 53 |
/**
|
app/code/community/Paymill/Paymill/Helper/OptionHelper.php
CHANGED
|
@@ -140,4 +140,13 @@ class Paymill_Paymill_Helper_OptionHelper extends Mage_Core_Helper_Abstract
|
|
| 140 |
{
|
| 141 |
return $this->_getBackendOption("paymill_directdebit", "prenotification");
|
| 142 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 143 |
}
|
| 140 |
{
|
| 141 |
return $this->_getBackendOption("paymill_directdebit", "prenotification");
|
| 142 |
}
|
| 143 |
+
|
| 144 |
+
/**
|
| 145 |
+
* Returns the value of the "Payment Form" config from the Backend as a string
|
| 146 |
+
* @return string
|
| 147 |
+
*/
|
| 148 |
+
public function getPci()
|
| 149 |
+
{
|
| 150 |
+
return $this->_getBackendOption("paymill_creditcard", "pci");
|
| 151 |
+
}
|
| 152 |
}
|
app/code/community/Paymill/Paymill/Model/Method/MethodModelAbstract.php
CHANGED
|
@@ -297,7 +297,7 @@ abstract class Paymill_Paymill_Model_Method_MethodModelAbstract extends Mage_Pay
|
|
| 297 |
$dateTime->modify('+' . (int) Mage::helper('paymill/optionHelper')->getPrenotificationDays() . ' day');
|
| 298 |
$date = Mage::app()->getLocale()->storeDate(
|
| 299 |
$order->getStore(),
|
| 300 |
-
|
| 301 |
true
|
| 302 |
);
|
| 303 |
|
| 297 |
$dateTime->modify('+' . (int) Mage::helper('paymill/optionHelper')->getPrenotificationDays() . ' day');
|
| 298 |
$date = Mage::app()->getLocale()->storeDate(
|
| 299 |
$order->getStore(),
|
| 300 |
+
$dateTime->getTimestamp(),
|
| 301 |
true
|
| 302 |
);
|
| 303 |
|
app/code/community/Paymill/Paymill/Model/Source/Creditcard/Pci.php
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
|
| 3 |
+
/**
|
| 4 |
+
* Magento
|
| 5 |
+
*
|
| 6 |
+
* NOTICE OF LICENSE
|
| 7 |
+
*
|
| 8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 10 |
+
* It is also available through the world-wide-web at this URL:
|
| 11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 12 |
+
* If you did not receive a copy of the license and are unable to
|
| 13 |
+
* obtain it through the world-wide-web, please send an email
|
| 14 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
| 15 |
+
*
|
| 16 |
+
* @category Paymill
|
| 17 |
+
* @package Paymill_Paymill
|
| 18 |
+
* @copyright Copyright (c) 2013 PAYMILL GmbH (https://paymill.com/en-gb/)
|
| 19 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 20 |
+
*/
|
| 21 |
+
class Paymill_Paymill_Model_Source_Creditcard_Pci
|
| 22 |
+
{
|
| 23 |
+
/**
|
| 24 |
+
* @return array
|
| 25 |
+
*/
|
| 26 |
+
public function toOptionArray()
|
| 27 |
+
{
|
| 28 |
+
$pciMode = array(
|
| 29 |
+
array(
|
| 30 |
+
'label' => Mage::helper('core')->__('PayFrame (min. PCI SAQ A)'),
|
| 31 |
+
'value' => 'SAQ A'
|
| 32 |
+
),
|
| 33 |
+
array(
|
| 34 |
+
'label' => Mage::helper('core')->__('direct integration (min. PCI SAQ A-EP)'),
|
| 35 |
+
'value' => 'SAQ A-EP'
|
| 36 |
+
)
|
| 37 |
+
);
|
| 38 |
+
|
| 39 |
+
return $pciMode;
|
| 40 |
+
}
|
| 41 |
+
}
|
app/code/community/Paymill/Paymill/etc/config.xml
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
<config>
|
| 3 |
<modules>
|
| 4 |
<Paymill_Paymill>
|
| 5 |
-
<version>
|
| 6 |
</Paymill_Paymill>
|
| 7 |
</modules>
|
| 8 |
|
| 2 |
<config>
|
| 3 |
<modules>
|
| 4 |
<Paymill_Paymill>
|
| 5 |
+
<version>4.0.0</version>
|
| 6 |
</Paymill_Paymill>
|
| 7 |
</modules>
|
| 8 |
|
app/code/community/Paymill/Paymill/etc/system.xml
CHANGED
|
@@ -11,7 +11,7 @@
|
|
| 11 |
<sort_order>700</sort_order>
|
| 12 |
<fields>
|
| 13 |
<version>
|
| 14 |
-
<label>
|
| 15 |
<sort_order>1</sort_order>
|
| 16 |
<frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
|
| 17 |
<frontend_type>label</frontend_type>
|
|
@@ -105,7 +105,7 @@
|
|
| 105 |
<sort_order>800</sort_order>
|
| 106 |
<fields>
|
| 107 |
<version>
|
| 108 |
-
<label>
|
| 109 |
<sort_order>100</sort_order>
|
| 110 |
<frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
|
| 111 |
<frontend_type>label</frontend_type>
|
|
@@ -113,6 +113,15 @@
|
|
| 113 |
<show_in_website>1</show_in_website>
|
| 114 |
<show_in_store>1</show_in_store>
|
| 115 |
</version>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 116 |
<active translate="label">
|
| 117 |
<label>paymill_opt_Enabled</label>
|
| 118 |
<sort_order>200</sort_order>
|
|
@@ -256,7 +265,7 @@
|
|
| 256 |
<sort_order>800</sort_order>
|
| 257 |
<fields>
|
| 258 |
<version>
|
| 259 |
-
<label>
|
| 260 |
<sort_order>100</sort_order>
|
| 261 |
<frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
|
| 262 |
<frontend_type>label</frontend_type>
|
| 11 |
<sort_order>700</sort_order>
|
| 12 |
<fields>
|
| 13 |
<version>
|
| 14 |
+
<label>v4.0.0</label>
|
| 15 |
<sort_order>1</sort_order>
|
| 16 |
<frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
|
| 17 |
<frontend_type>label</frontend_type>
|
| 105 |
<sort_order>800</sort_order>
|
| 106 |
<fields>
|
| 107 |
<version>
|
| 108 |
+
<label>v4.0.0</label>
|
| 109 |
<sort_order>100</sort_order>
|
| 110 |
<frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
|
| 111 |
<frontend_type>label</frontend_type>
|
| 113 |
<show_in_website>1</show_in_website>
|
| 114 |
<show_in_store>1</show_in_store>
|
| 115 |
</version>
|
| 116 |
+
<pci translate="label">
|
| 117 |
+
<label>paymill_payment_form</label>
|
| 118 |
+
<frontend_type>select</frontend_type>
|
| 119 |
+
<sort_order>110</sort_order>
|
| 120 |
+
<source_model>paymill/source_creditcard_pci</source_model>
|
| 121 |
+
<show_in_default>1</show_in_default>
|
| 122 |
+
<show_in_website>1</show_in_website>
|
| 123 |
+
<show_in_store>1</show_in_store>
|
| 124 |
+
</pci>
|
| 125 |
<active translate="label">
|
| 126 |
<label>paymill_opt_Enabled</label>
|
| 127 |
<sort_order>200</sort_order>
|
| 265 |
<sort_order>800</sort_order>
|
| 266 |
<fields>
|
| 267 |
<version>
|
| 268 |
+
<label>v4.0.0</label>
|
| 269 |
<sort_order>100</sort_order>
|
| 270 |
<frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
|
| 271 |
<frontend_type>label</frontend_type>
|
app/design/frontend/base/default/layout/paymill.xml
CHANGED
|
@@ -13,7 +13,7 @@ and open the template in the editor.
|
|
| 13 |
<action method="addText">
|
| 14 |
<text>
|
| 15 |
<![CDATA[
|
| 16 |
-
<script type="text/javascript" src="https://bridge.paymill.com/"></script>
|
| 17 |
]]>
|
| 18 |
</text>
|
| 19 |
</action>
|
| 13 |
<action method="addText">
|
| 14 |
<text>
|
| 15 |
<![CDATA[
|
| 16 |
+
<script type="text/javascript" src="https://bridge.paymill.com/dss3"></script>
|
| 17 |
]]>
|
| 18 |
</text>
|
| 19 |
</action>
|
app/design/frontend/base/default/template/paymill/payment/form/creditcard.phtml
CHANGED
|
@@ -51,7 +51,7 @@
|
|
| 51 |
<input class="paymill-payment-currency-cc" type="hidden" value="<?php echo Mage::helper('paymill/paymentHelper')->getCurrency(Mage::getSingleton('checkout/session')->getQuote()); ?>"/>
|
| 52 |
<input class="paymill-option-debug-cc" type="hidden" value="<?php echo Mage::helper('paymill/optionHelper')->isInDebugMode(); ?>"/>
|
| 53 |
<input class="paymill-info-public_key-cc" type="hidden" value="<?php echo Mage::helper('paymill/optionHelper')->getPublicKey(); ?>"/>
|
| 54 |
-
<input class="paymill-info-fastCheckout-cc" type="hidden" value="<?php echo $this->
|
| 55 |
<input class="paymill-payment-error-number" type="hidden" value="<?php echo $this->__("paymill_error_text_invalid_number_cc");?>"/>
|
| 56 |
<input class="paymill-payment-error-holder" type="hidden" value="<?php echo $this->__("paymill_error_text_invalid_holder_cc"); ?>"/>
|
| 57 |
<input class="paymill-payment-error-expdate" type="hidden" value="<?php echo $this->__("paymill_error_text_invalid_expdate"); ?>"/>
|
|
@@ -78,6 +78,7 @@
|
|
| 78 |
<input class="PAYMILL_field_invalid_bic-cc" type="hidden" value="<?php echo $this->__("PAYMILL_field_invalid_bic"); ?>"/>
|
| 79 |
<input class="PAYMILL_field_invalid_country-cc" type="hidden" value="<?php echo $this->__("PAYMILL_field_invalid_country"); ?>"/>
|
| 80 |
<input class="PAYMILL_field_invalid_bank_data-cc" type="hidden" value="<?php echo $this->__("PAYMILL_field_invalid_bank_data"); ?>"/>
|
|
|
|
| 81 |
</li>
|
| 82 |
<?php if (!is_null(Mage::getStoreConfig('payment/paymill_creditcard/checkout_desc', Mage::app()->getStore()->getStoreId()))): ?>
|
| 83 |
<li>
|
| 51 |
<input class="paymill-payment-currency-cc" type="hidden" value="<?php echo Mage::helper('paymill/paymentHelper')->getCurrency(Mage::getSingleton('checkout/session')->getQuote()); ?>"/>
|
| 52 |
<input class="paymill-option-debug-cc" type="hidden" value="<?php echo Mage::helper('paymill/optionHelper')->isInDebugMode(); ?>"/>
|
| 53 |
<input class="paymill-info-public_key-cc" type="hidden" value="<?php echo Mage::helper('paymill/optionHelper')->getPublicKey(); ?>"/>
|
| 54 |
+
<input class="paymill-info-fastCheckout-cc" type="hidden" value="<?php echo $this->isFastCheckout($_code); ?>"/>
|
| 55 |
<input class="paymill-payment-error-number" type="hidden" value="<?php echo $this->__("paymill_error_text_invalid_number_cc");?>"/>
|
| 56 |
<input class="paymill-payment-error-holder" type="hidden" value="<?php echo $this->__("paymill_error_text_invalid_holder_cc"); ?>"/>
|
| 57 |
<input class="paymill-payment-error-expdate" type="hidden" value="<?php echo $this->__("paymill_error_text_invalid_expdate"); ?>"/>
|
| 78 |
<input class="PAYMILL_field_invalid_bic-cc" type="hidden" value="<?php echo $this->__("PAYMILL_field_invalid_bic"); ?>"/>
|
| 79 |
<input class="PAYMILL_field_invalid_country-cc" type="hidden" value="<?php echo $this->__("PAYMILL_field_invalid_country"); ?>"/>
|
| 80 |
<input class="PAYMILL_field_invalid_bank_data-cc" type="hidden" value="<?php echo $this->__("PAYMILL_field_invalid_bank_data"); ?>"/>
|
| 81 |
+
<input class="paymill-info-pci-cc" type="hidden" value="<?php echo Mage::helper('paymill/optionHelper')->getPci($_code); ?>"/>
|
| 82 |
</li>
|
| 83 |
<?php if (!is_null(Mage::getStoreConfig('payment/paymill_creditcard/checkout_desc', Mage::app()->getStore()->getStoreId()))): ?>
|
| 84 |
<li>
|
app/design/frontend/base/default/template/paymill/payment/form/creditcard_form.phtml
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php $_code = $this->getMethodCode(); ?>
|
| 2 |
+
<ul class="form-list" id="payment_form_<?php echo $_code ?>" style="display:none;">
|
| 3 |
+
<li>
|
| 4 |
+
<?php echo $this->getCreditCardLogosDisplay();?>
|
| 5 |
+
</li>
|
| 6 |
+
<?php if($this->isFastCheckout($_code) === 'true'):?>
|
| 7 |
+
<div id="paymillFastCheckoutDiv">
|
| 8 |
+
<?php
|
| 9 |
+
if($this->getPaymentEntry($_code, 'card_holder') != ''): ?>
|
| 10 |
+
<li>
|
| 11 |
+
<label><?php echo $this->__("paymill_Holder"); ?>:</label>
|
| 12 |
+
<div class="input-box">
|
| 13 |
+
<?php echo $this->getPaymentEntry($_code, 'card_holder'); ?>
|
| 14 |
+
</div>
|
| 15 |
+
</li>
|
| 16 |
+
<?php endif; ?>
|
| 17 |
+
<li>
|
| 18 |
+
<label><?php echo $this->__("paymill_Number"); ?>:</label>
|
| 19 |
+
<div class="input-box">
|
| 20 |
+
<?php echo $this->getPaymentEntry($_code, 'cc_number'); ?>
|
| 21 |
+
</div>
|
| 22 |
+
</li>
|
| 23 |
+
<li>
|
| 24 |
+
<label><?php echo $this->__("paymill_Date") ?>:</label>
|
| 25 |
+
<div class="input-box">
|
| 26 |
+
<?php echo $this->getPaymentEntry($_code, 'expire_month') . "/" . $this->getPaymentEntry($_code, 'expire_year'); ?>
|
| 27 |
+
</div>
|
| 28 |
+
</li>
|
| 29 |
+
<li>
|
| 30 |
+
<label><?php echo $this->__('Card Verification Number'); ?></label>
|
| 31 |
+
<div class="input-box">
|
| 32 |
+
<?php echo $this->getPaymentEntry($_code, 'cvc'); ?>
|
| 33 |
+
</div>
|
| 34 |
+
</li>
|
| 35 |
+
<li>
|
| 36 |
+
<label></label>
|
| 37 |
+
<div class="input-box">
|
| 38 |
+
<button type="button" onclick="paymillCreditcard.methodInstance.openPaymillFrame('de');"><?php echo $this->__("paymill_change"); ?></button>
|
| 39 |
+
</div>
|
| 40 |
+
</li>
|
| 41 |
+
</div>
|
| 42 |
+
<?php endif; ?>
|
| 43 |
+
<li>
|
| 44 |
+
<div id='paymillContainer'>
|
| 45 |
+
|
| 46 |
+
</div>
|
| 47 |
+
<input class="paymill-payment-token-cc paymill-validate-cc-token" name="payment[paymill-payment-token-cc]" id="payment[paymill-payment-token-cc]" type="hidden" />
|
| 48 |
+
<input class="paymill-payment-token-url-cc" type="hidden" value="<?php echo $this->getUrl('paymill/token/total', array('_secure'=>true)); ?>"/>
|
| 49 |
+
<input class="paymill-payment-token-log-cc" type="hidden" value="<?php echo $this->getUrl('paymill/token/log', array('_secure'=>true)); ?>"/>
|
| 50 |
+
<input class="paymill-info-public_key-cc" type="hidden" value="<?php echo Mage::helper('paymill/optionHelper')->getPublicKey(); ?>"/>
|
| 51 |
+
<input class="paymill-option-debug-cc" type="hidden" value="<?php echo Mage::helper('paymill/optionHelper')->isInDebugMode(); ?>"/>
|
| 52 |
+
<input class="paymill-info-pci-cc" type="hidden" value="<?php echo Mage::helper('paymill/optionHelper')->getPci($_code); ?>"/>
|
| 53 |
+
<input class="paymill-info-fastCheckout-cc" type="hidden" value="<?php echo $this->isFastCheckout($_code); ?>"/>
|
| 54 |
+
<input class="paymill-payment-currency-cc" type="hidden" value="<?php echo Mage::helper('paymill/paymentHelper')->getCurrency(Mage::getSingleton('checkout/session')->getQuote()); ?>"/>
|
| 55 |
+
</li>
|
| 56 |
+
<?php if (!is_null(Mage::getStoreConfig('payment/paymill_creditcard/checkout_desc', Mage::app()->getStore()->getStoreId()))): ?>
|
| 57 |
+
<li>
|
| 58 |
+
<?php echo Mage::getStoreConfig('payment/paymill_creditcard/checkout_desc', Mage::app()->getStore()->getStoreId()); ?>
|
| 59 |
+
</li>
|
| 60 |
+
<?php endif; ?>
|
| 61 |
+
</ul>
|
| 62 |
+
<script type="text/javascript">
|
| 63 |
+
//<![CDATA[
|
| 64 |
+
paymillCreditcard = new Paymill('<?php echo $_code; ?>');
|
| 65 |
+
|
| 66 |
+
<?php if($this->isFastCheckout($_code) === 'false'): ?>
|
| 67 |
+
paymill.embedFrame('paymillContainer', {lang: '<?php echo $this->__('paymill_lang') ?>'}, PaymillFrameResponseHandler);
|
| 68 |
+
<?php endif; ?>
|
| 69 |
+
|
| 70 |
+
paymillTokenSelector = '<?php echo Mage::helper('paymill/optionHelper')->getTokenSelector(); ?>';
|
| 71 |
+
paymillPci = '<?php echo Mage::helper('paymill/optionHelper')->getPci($_code); ?>';
|
| 72 |
+
//]]>
|
| 73 |
+
</script>
|
app/design/frontend/base/default/template/paymill/payment/form/directdebit.phtml
CHANGED
|
@@ -26,7 +26,7 @@
|
|
| 26 |
<input class="paymill-payment-token-elv paymill-validate-elv-token" name="payment[paymill-payment-token-elv]" id="payment[paymill-payment-token-elv]" type="hidden" />
|
| 27 |
<input class="paymill-option-debug-elv" type="hidden" value="<?php echo Mage::helper('paymill/optionHelper')->isInDebugMode(); ?>" />
|
| 28 |
<input class="paymill-info-public_key-elv" type="hidden" value="<?php echo Mage::helper('paymill/optionHelper')->getPublicKey(); ?>" />
|
| 29 |
-
<input class="paymill-info-fastCheckout-elv" type="hidden" value="<?php echo $this->
|
| 30 |
<input class="paymill-payment-token-log-elv" type="hidden" value="<?php echo $this->getUrl('paymill/token/log', array('_secure'=>true)); ?>"/>
|
| 31 |
<input class="paymill-payment-error-number-elv" type="hidden" value="<?php echo $this->__("paymill_error_text_invalid_number_elv"); ?>" />
|
| 32 |
<input class="paymill-payment-error-holder-elv" type="hidden" value="<?php echo $this->__("paymill_error_text_invalid_holder_elv"); ?>" />
|
| 26 |
<input class="paymill-payment-token-elv paymill-validate-elv-token" name="payment[paymill-payment-token-elv]" id="payment[paymill-payment-token-elv]" type="hidden" />
|
| 27 |
<input class="paymill-option-debug-elv" type="hidden" value="<?php echo Mage::helper('paymill/optionHelper')->isInDebugMode(); ?>" />
|
| 28 |
<input class="paymill-info-public_key-elv" type="hidden" value="<?php echo Mage::helper('paymill/optionHelper')->getPublicKey(); ?>" />
|
| 29 |
+
<input class="paymill-info-fastCheckout-elv" type="hidden" value="<?php echo $this->isFastCheckout($_code); ?>" />
|
| 30 |
<input class="paymill-payment-token-log-elv" type="hidden" value="<?php echo $this->getUrl('paymill/token/log', array('_secure'=>true)); ?>"/>
|
| 31 |
<input class="paymill-payment-error-number-elv" type="hidden" value="<?php echo $this->__("paymill_error_text_invalid_number_elv"); ?>" />
|
| 32 |
<input class="paymill-payment-error-holder-elv" type="hidden" value="<?php echo $this->__("paymill_error_text_invalid_holder_elv"); ?>" />
|
app/locale/de_AT/Paymill_Paymill.csv
CHANGED
|
@@ -147,4 +147,9 @@ paymill_hook_action_success, "Das löschen war erfolgreich"
|
|
| 147 |
paymill_error_text_no_entry_selected, "Kein Eintrag ausgewählt"
|
| 148 |
paymill_hook_settings, "Webhook Einstellungen"
|
| 149 |
paymill_hook_create_invoice_active, "Erstelle Rechnung für das 'transaction.succeeded' Event"
|
| 150 |
-
paymill_hook_send_invoice_mail, "Rechnungsemail senden"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
paymill_error_text_no_entry_selected, "Kein Eintrag ausgewählt"
|
| 148 |
paymill_hook_settings, "Webhook Einstellungen"
|
| 149 |
paymill_hook_create_invoice_active, "Erstelle Rechnung für das 'transaction.succeeded' Event"
|
| 150 |
+
paymill_hook_send_invoice_mail, "Rechnungsemail senden"
|
| 151 |
+
paymill_payment_form, "Zahlungsformular"
|
| 152 |
+
"PayFrame (min. PCI SAQ A)", "eingebettetes PayFrame (erfordert PCI SAQ A)"
|
| 153 |
+
"direct integration (min. PCI SAQ A-EP)", "direkte Integration (erfordert PCI SAQ A-EP)"
|
| 154 |
+
paymill_lang, "de"
|
| 155 |
+
paymill_change, "Ändern"
|
app/locale/de_CH/Paymill_Paymill.csv
CHANGED
|
@@ -147,4 +147,9 @@ paymill_hook_action_success, "Das löschen war erfolgreich"
|
|
| 147 |
paymill_error_text_no_entry_selected, "Kein Eintrag ausgewählt"
|
| 148 |
paymill_hook_settings, "Webhook Einstellungen"
|
| 149 |
paymill_hook_create_invoice_active, "Erstelle Rechnung für das 'transaction.succeeded' Event"
|
| 150 |
-
paymill_hook_send_invoice_mail, "Rechnungsemail senden"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
paymill_error_text_no_entry_selected, "Kein Eintrag ausgewählt"
|
| 148 |
paymill_hook_settings, "Webhook Einstellungen"
|
| 149 |
paymill_hook_create_invoice_active, "Erstelle Rechnung für das 'transaction.succeeded' Event"
|
| 150 |
+
paymill_hook_send_invoice_mail, "Rechnungsemail senden"
|
| 151 |
+
paymill_payment_form, "Zahlungsformular"
|
| 152 |
+
"PayFrame (min. PCI SAQ A)", "eingebettetes PayFrame (erfordert PCI SAQ A)"
|
| 153 |
+
"direct integration (min. PCI SAQ A-EP)", "direkte Integration (erfordert PCI SAQ A-EP)"
|
| 154 |
+
paymill_lang, "de"
|
| 155 |
+
paymill_change, "Ändern"
|
app/locale/de_DE/Paymill_Paymill.csv
CHANGED
|
@@ -147,4 +147,9 @@ paymill_hook_action_success, "Das löschen war erfolgreich"
|
|
| 147 |
paymill_error_text_no_entry_selected, "Kein Eintrag ausgewählt"
|
| 148 |
paymill_hook_settings, "Webhook Einstellungen"
|
| 149 |
paymill_hook_create_invoice_active, "Erstelle Rechnung für das 'transaction.succeeded' Event"
|
| 150 |
-
paymill_hook_send_invoice_mail, "Rechnungsemail senden"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
paymill_error_text_no_entry_selected, "Kein Eintrag ausgewählt"
|
| 148 |
paymill_hook_settings, "Webhook Einstellungen"
|
| 149 |
paymill_hook_create_invoice_active, "Erstelle Rechnung für das 'transaction.succeeded' Event"
|
| 150 |
+
paymill_hook_send_invoice_mail, "Rechnungsemail senden"
|
| 151 |
+
paymill_payment_form, "Zahlungsformular"
|
| 152 |
+
"PayFrame (min. PCI SAQ A)", "eingebettetes PayFrame (erfordert PCI SAQ A)"
|
| 153 |
+
"direct integration (min. PCI SAQ A-EP)", "direkte Integration (erfordert PCI SAQ A-EP)"
|
| 154 |
+
paymill_lang, "de"
|
| 155 |
+
paymill_change, "Ändern"
|
app/locale/en_AU/Paymill_Paymill.csv
CHANGED
|
@@ -147,4 +147,9 @@ paymill_hook_action_success, "The delete was successful"
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
-
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
+
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
| 151 |
+
paymill_payment_form, "Payment form"
|
| 152 |
+
"PayFrame (min. PCI SAQ A)", "embedded PayFrame (requires PCI SAQ A)"
|
| 153 |
+
"direct integration (min. PCI SAQ A-EP)", "direct integration (requires PCI SAQ A-EP)"
|
| 154 |
+
paymill_lang, "en"
|
| 155 |
+
paymill_change, "Change"
|
app/locale/en_CA/Paymill_Paymill.csv
CHANGED
|
@@ -147,4 +147,9 @@ paymill_hook_action_success, "The delete was successful"
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
-
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
+
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
| 151 |
+
paymill_payment_form, "Payment form"
|
| 152 |
+
"PayFrame (min. PCI SAQ A)", "embedded PayFrame (requires PCI SAQ A)"
|
| 153 |
+
"direct integration (min. PCI SAQ A-EP)", "direct integration (requires PCI SAQ A-EP)"
|
| 154 |
+
paymill_lang, "en"
|
| 155 |
+
paymill_change, "Change"
|
app/locale/en_GB/Paymill_Paymill.csv
CHANGED
|
@@ -147,4 +147,9 @@ paymill_hook_action_success, "The delete was successful"
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
-
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
+
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
| 151 |
+
paymill_payment_form, "Payment form"
|
| 152 |
+
"PayFrame (min. PCI SAQ A)", "embedded PayFrame (requires PCI SAQ A)"
|
| 153 |
+
"direct integration (min. PCI SAQ A-EP)", "direct integration (requires PCI SAQ A-EP)"
|
| 154 |
+
paymill_lang, "en"
|
| 155 |
+
paymill_change, "Change"
|
app/locale/en_IE/Paymill_Paymill.csv
CHANGED
|
@@ -147,4 +147,9 @@ paymill_hook_action_success, "The delete was successful"
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
-
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
+
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
| 151 |
+
paymill_payment_form, "Payment form"
|
| 152 |
+
"PayFrame (min. PCI SAQ A)", "embedded PayFrame (requires PCI SAQ A)"
|
| 153 |
+
"direct integration (min. PCI SAQ A-EP)", "direct integration (requires PCI SAQ A-EP)"
|
| 154 |
+
paymill_lang, "en"
|
| 155 |
+
paymill_change, "Change"
|
app/locale/en_NZ/Paymill_Paymill.csv
CHANGED
|
@@ -147,4 +147,9 @@ paymill_hook_action_success, "The delete was successful"
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
-
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
+
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
| 151 |
+
paymill_payment_form, "Payment form"
|
| 152 |
+
"PayFrame (min. PCI SAQ A)", "embedded PayFrame (requires PCI SAQ A)"
|
| 153 |
+
"direct integration (min. PCI SAQ A-EP)", "direct integration (requires PCI SAQ A-EP)"
|
| 154 |
+
paymill_lang, "en"
|
| 155 |
+
paymill_change, "Change"
|
app/locale/en_US/Paymill_Paymill.csv
CHANGED
|
@@ -147,4 +147,9 @@ paymill_hook_action_success, "The delete was successful"
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
-
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
+
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
| 151 |
+
paymill_payment_form, "Payment form"
|
| 152 |
+
"PayFrame (min. PCI SAQ A)", "embedded PayFrame (requires PCI SAQ A)"
|
| 153 |
+
"direct integration (min. PCI SAQ A-EP)", "direct integration (requires PCI SAQ A-EP)"
|
| 154 |
+
paymill_lang, "en"
|
| 155 |
+
paymill_change, "Change"
|
app/locale/en_ZA/Paymill_Paymill.csv
CHANGED
|
@@ -147,4 +147,9 @@ paymill_hook_action_success, "The delete was successful"
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
-
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
+
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
| 151 |
+
paymill_payment_form, "Payment form"
|
| 152 |
+
"PayFrame (min. PCI SAQ A)", "embedded PayFrame (requires PCI SAQ A)"
|
| 153 |
+
"direct integration (min. PCI SAQ A-EP)", "direct integration (requires PCI SAQ A-EP)"
|
| 154 |
+
paymill_lang, "en"
|
| 155 |
+
paymill_change, "Change"
|
app/locale/es_AR/Paymill_Paymill.csv
CHANGED
|
@@ -147,4 +147,9 @@ paymill_hook_action_success, "The delete was successful"
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
-
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
+
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
| 151 |
+
paymill_payment_form, "Payment form"
|
| 152 |
+
"PayFrame (min. PCI SAQ A)", "embedded PayFrame (requires PCI SAQ A)"
|
| 153 |
+
"direct integration (min. PCI SAQ A-EP)", "direct integration (requires PCI SAQ A-EP)"
|
| 154 |
+
paymill_lang, "es"
|
| 155 |
+
paymill_change, "Cambiar"
|
app/locale/es_CL/Paymill_Paymill.csv
CHANGED
|
@@ -147,4 +147,9 @@ paymill_hook_action_success, "The delete was successful"
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
-
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
+
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
| 151 |
+
paymill_payment_form, "Payment form"
|
| 152 |
+
"PayFrame (min. PCI SAQ A)", "embedded PayFrame (requires PCI SAQ A)"
|
| 153 |
+
"direct integration (min. PCI SAQ A-EP)", "direct integration (requires PCI SAQ A-EP)"
|
| 154 |
+
paymill_lang, "es"
|
| 155 |
+
paymill_change, "Cambiar"
|
app/locale/es_CO/Paymill_Paymill.csv
CHANGED
|
@@ -147,4 +147,9 @@ paymill_hook_action_success, "The delete was successful"
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
-
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
+
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
| 151 |
+
paymill_payment_form, "Payment form"
|
| 152 |
+
"PayFrame (min. PCI SAQ A)", "embedded PayFrame (requires PCI SAQ A)"
|
| 153 |
+
"direct integration (min. PCI SAQ A-EP)", "direct integration (requires PCI SAQ A-EP)"
|
| 154 |
+
paymill_lang, "es"
|
| 155 |
+
paymill_change, "Cambiar"
|
app/locale/es_CR/Paymill_Paymill.csv
CHANGED
|
@@ -147,4 +147,9 @@ paymill_hook_action_success, "The delete was successful"
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
-
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
+
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
| 151 |
+
paymill_payment_form, "Payment form"
|
| 152 |
+
"PayFrame (min. PCI SAQ A)", "embedded PayFrame (requires PCI SAQ A)"
|
| 153 |
+
"direct integration (min. PCI SAQ A-EP)", "direct integration (requires PCI SAQ A-EP)"
|
| 154 |
+
paymill_lang, "es"
|
| 155 |
+
paymill_change, "Cambiar"
|
app/locale/es_ES/Paymill_Paymill.csv
CHANGED
|
@@ -147,4 +147,9 @@ paymill_hook_action_success, "The delete was successful"
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
-
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
+
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
| 151 |
+
paymill_payment_form, "Payment form"
|
| 152 |
+
"PayFrame (min. PCI SAQ A)", "embedded PayFrame (requires PCI SAQ A)"
|
| 153 |
+
"direct integration (min. PCI SAQ A-EP)", "direct integration (requires PCI SAQ A-EP)"
|
| 154 |
+
paymill_lang, "es"
|
| 155 |
+
paymill_change, "Cambiar"
|
app/locale/es_MX/Paymill_Paymill.csv
CHANGED
|
@@ -147,4 +147,9 @@ paymill_hook_action_success, "The delete was successful"
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
-
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
+
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
| 151 |
+
paymill_payment_form, "Payment form"
|
| 152 |
+
"PayFrame (min. PCI SAQ A)", "embedded PayFrame (requires PCI SAQ A)"
|
| 153 |
+
"direct integration (min. PCI SAQ A-EP)", "direct integration (requires PCI SAQ A-EP)"
|
| 154 |
+
paymill_lang, "es"
|
| 155 |
+
paymill_change, "Cambiar"
|
app/locale/es_PE/Paymill_Paymill.csv
CHANGED
|
@@ -147,4 +147,9 @@ paymill_hook_action_success, "The delete was successful"
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
-
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
+
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
| 151 |
+
paymill_payment_form, "Payment form"
|
| 152 |
+
"PayFrame (min. PCI SAQ A)", "embedded PayFrame (requires PCI SAQ A)"
|
| 153 |
+
"direct integration (min. PCI SAQ A-EP)", "direct integration (requires PCI SAQ A-EP)"
|
| 154 |
+
paymill_lang, "es"
|
| 155 |
+
paymill_change, "Cambiar"
|
app/locale/es_VE/Paymill_Paymill.csv
CHANGED
|
@@ -147,4 +147,9 @@ paymill_hook_action_success, "The delete was successful"
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
-
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
+
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
| 151 |
+
paymill_payment_form, "Payment form"
|
| 152 |
+
"PayFrame (min. PCI SAQ A)", "embedded PayFrame (requires PCI SAQ A)"
|
| 153 |
+
"direct integration (min. PCI SAQ A-EP)", "direct integration (requires PCI SAQ A-EP)"
|
| 154 |
+
paymill_lang, "es"
|
| 155 |
+
paymill_change, "Cambiar"
|
app/locale/fr_CA/Paymill_Paymill.csv
CHANGED
|
@@ -145,4 +145,9 @@ paymill_hook_action_success, "The delete was successful"
|
|
| 145 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 146 |
paymill_hook_settings, "Webhook settings"
|
| 147 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 148 |
-
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 145 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 146 |
paymill_hook_settings, "Webhook settings"
|
| 147 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 148 |
+
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
| 149 |
+
paymill_payment_form, "Formulaire de paiement"
|
| 150 |
+
"PayFrame (min. PCI SAQ A)", "PayFrame intégré (nécessite PCI SAQ A)"
|
| 151 |
+
"direct integration (min. PCI SAQ A-EP)", "integration direct (nécessite PCI SAQ A-EP)"
|
| 152 |
+
paymill_lang, "fr"
|
| 153 |
+
paymill_change, "Changer"
|
app/locale/fr_FR/Paymill_Paymill.csv
CHANGED
|
@@ -145,4 +145,9 @@ paymill_hook_action_success, "The delete was successful"
|
|
| 145 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 146 |
paymill_hook_settings, "Webhook settings"
|
| 147 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 148 |
-
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 145 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 146 |
paymill_hook_settings, "Webhook settings"
|
| 147 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 148 |
+
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
| 149 |
+
paymill_payment_form, "Formulaire de paiement"
|
| 150 |
+
"PayFrame (min. PCI SAQ A)", "PayFrame intégré (nécessite PCI SAQ A)"
|
| 151 |
+
"direct integration (min. PCI SAQ A-EP)", "integration direct (nécessite PCI SAQ A-EP)"
|
| 152 |
+
paymill_lang, "fr"
|
| 153 |
+
paymill_change, "Changer"
|
app/locale/it_CH/Paymill_Paymill.csv
CHANGED
|
@@ -147,4 +147,9 @@ paymill_hook_action_success, "The delete was successful"
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
-
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
+
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
| 151 |
+
paymill_payment_form, "Payment form"
|
| 152 |
+
"PayFrame (min. PCI SAQ A)", "embedded PayFrame (requires PCI SAQ A)"
|
| 153 |
+
"direct integration (min. PCI SAQ A-EP)", "direct integration (requires PCI SAQ A-EP)"
|
| 154 |
+
paymill_lang, "it"
|
| 155 |
+
paymill_change, "Cambiare"
|
app/locale/it_IT/Paymill_Paymill.csv
CHANGED
|
@@ -147,4 +147,9 @@ paymill_hook_action_success, "The delete was successful"
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
-
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
+
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
| 151 |
+
paymill_payment_form, "Payment form"
|
| 152 |
+
"PayFrame (min. PCI SAQ A)", "embedded PayFrame (requires PCI SAQ A)"
|
| 153 |
+
"direct integration (min. PCI SAQ A-EP)", "direct integration (requires PCI SAQ A-EP)"
|
| 154 |
+
paymill_lang, "it"
|
| 155 |
+
paymill_change, "Cambiare"
|
app/locale/pt_BR/Paymill_Paymill.csv
CHANGED
|
@@ -147,4 +147,9 @@ paymill_hook_action_success, "The delete was successful"
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
-
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
+
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
| 151 |
+
paymill_payment_form, "Payment form"
|
| 152 |
+
"PayFrame (min. PCI SAQ A)", "embedded PayFrame (requires PCI SAQ A)"
|
| 153 |
+
"direct integration (min. PCI SAQ A-EP)", "direct integration (requires PCI SAQ A-EP)"
|
| 154 |
+
paymill_lang, "pt"
|
| 155 |
+
paymill_change, "Cambiar"
|
app/locale/pt_PT/Paymill_Paymill.csv
CHANGED
|
@@ -147,4 +147,9 @@ paymill_hook_action_success, "The delete was successful"
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
-
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
paymill_error_text_no_entry_selected, "No entry selected"
|
| 148 |
paymill_hook_settings, "Webhook settings"
|
| 149 |
paymill_hook_create_invoice_active, "Create invoice for the 'transaction.succeeded' event"
|
| 150 |
+
paymill_hook_send_invoice_mail, "Send invoice Mail"
|
| 151 |
+
paymill_payment_form, "Payment form"
|
| 152 |
+
"PayFrame (min. PCI SAQ A)", "embedded PayFrame (requires PCI SAQ A)"
|
| 153 |
+
"direct integration (min. PCI SAQ A-EP)", "direct integration (requires PCI SAQ A-EP)"
|
| 154 |
+
paymill_lang, "pt"
|
| 155 |
+
paymill_change, "Cambiar"
|
js/paymill/Creditcard.js
CHANGED
|
@@ -143,6 +143,17 @@ Creditcard.prototype.getTokenParameter = function()
|
|
| 143 |
};
|
| 144 |
};
|
| 145 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 146 |
Creditcard.prototype.getTokenAmount = function()
|
| 147 |
{
|
| 148 |
var that = this;
|
|
@@ -255,4 +266,22 @@ Creditcard.prototype.setEventListener = function(selector)
|
|
| 255 |
Creditcard.prototype.setCreditcards = function(creditcards)
|
| 256 |
{
|
| 257 |
this.creditcards = creditcards;
|
| 258 |
-
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 143 |
};
|
| 144 |
};
|
| 145 |
|
| 146 |
+
Creditcard.prototype.getFrameTokenParameter = function()
|
| 147 |
+
{
|
| 148 |
+
PAYMILL_PUBLIC_KEY = this.helper.getElementValue('.paymill-info-public_key-cc');
|
| 149 |
+
|
| 150 |
+
return {
|
| 151 |
+
amount_int: parseInt(this.getTokenAmount()),
|
| 152 |
+
currency: this.helper.getElementValue('.paymill-payment-currency-cc')
|
| 153 |
+
};
|
| 154 |
+
};
|
| 155 |
+
|
| 156 |
+
|
| 157 |
Creditcard.prototype.getTokenAmount = function()
|
| 158 |
{
|
| 159 |
var that = this;
|
| 266 |
Creditcard.prototype.setCreditcards = function(creditcards)
|
| 267 |
{
|
| 268 |
this.creditcards = creditcards;
|
| 269 |
+
};
|
| 270 |
+
|
| 271 |
+
Creditcard.prototype.openPaymillFrame = function(lang)
|
| 272 |
+
{
|
| 273 |
+
$$('#paymillFastCheckoutDiv')[0].parentNode.removeChild($$('#paymillFastCheckoutDiv')[0]);
|
| 274 |
+
paymill.embedFrame('paymillContainer', {lang: lang}, PaymillFrameResponseHandler);
|
| 275 |
+
this.helper.setElementValue('.paymill-info-fastCheckout-cc', 'false');
|
| 276 |
+
};
|
| 277 |
+
|
| 278 |
+
PaymillFrameResponseHandler = function(error)
|
| 279 |
+
{
|
| 280 |
+
if (error) {
|
| 281 |
+
paymillCreditcard.debug("iFrame load failed with " + error.apierror + error.message);
|
| 282 |
+
} else {
|
| 283 |
+
paymillCreditcard.debug("iFrame successfully loaded");
|
| 284 |
+
paymillCreditcard.setOnClickHandler(paymillTokenSelector);
|
| 285 |
+
}
|
| 286 |
+
}
|
| 287 |
+
|
js/paymill/Paymill.js
CHANGED
|
@@ -10,6 +10,8 @@ var PAYMILL_PUBLIC_KEY = null;
|
|
| 10 |
var paymillButton = false;
|
| 11 |
var onClickContent = false;
|
| 12 |
var onClickBounded = false;
|
|
|
|
|
|
|
| 13 |
|
| 14 |
function Paymill(methodCode)
|
| 15 |
{
|
|
@@ -58,17 +60,47 @@ Paymill.prototype.generateToken = function()
|
|
| 58 |
Paymill.prototype.generateTokenOnSubmit = function()
|
| 59 |
{
|
| 60 |
if (this.helper.getElementValue('.paymill-info-fastCheckout-' + this.helper.getShortCode()) !== 'true') {
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 72 |
}
|
| 73 |
};
|
| 74 |
|
|
@@ -108,9 +140,26 @@ Paymill.prototype.setEventListener = function(selector)
|
|
| 108 |
Paymill.prototype.setOnClickHandler = function(selector)
|
| 109 |
{
|
| 110 |
var that = this;
|
| 111 |
-
|
| 112 |
-
if
|
| 113 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 114 |
if (!onClickContent) {
|
| 115 |
onClickContent = paymillButton.getAttribute('onclick');
|
| 116 |
if (paymillButton.getStorage()._object.prototype_event_registry) {
|
|
@@ -122,9 +171,9 @@ Paymill.prototype.setOnClickHandler = function(selector)
|
|
| 122 |
element.observe('change', function() {
|
| 123 |
paymillButton.removeAttribute('onclick');
|
| 124 |
paymillButton.stopObserving('click');
|
| 125 |
-
if (that.helper.getMethodCode() === 'paymill_directdebit') {
|
| 126 |
paymillButton.setAttribute('onclick', 'paymillElv.generateTokenOnSubmit()');
|
| 127 |
-
} else if(that.helper.getMethodCode() === 'paymill_creditcard') {
|
| 128 |
paymillButton.setAttribute('onclick', 'paymillCreditcard.generateTokenOnSubmit()');
|
| 129 |
} else {
|
| 130 |
paymillButton.setAttribute('onclick', onClickContent);
|
|
@@ -137,13 +186,13 @@ Paymill.prototype.setOnClickHandler = function(selector)
|
|
| 137 |
});
|
| 138 |
});
|
| 139 |
|
| 140 |
-
if (that.helper.getMethodCode() === 'paymill_directdebit') {
|
| 141 |
paymillButton.stopObserving('click');
|
| 142 |
paymillButton.removeAttribute('onclick');
|
| 143 |
paymillButton.setAttribute('onclick', 'paymillElv.generateTokenOnSubmit()');
|
| 144 |
}
|
| 145 |
|
| 146 |
-
if (that.helper.getMethodCode() === 'paymill_creditcard') {
|
| 147 |
paymillButton.stopObserving('click');
|
| 148 |
paymillButton.removeAttribute('onclick');
|
| 149 |
paymillButton.setAttribute('onclick', 'paymillCreditcard.generateTokenOnSubmit()');
|
|
@@ -174,6 +223,7 @@ tokenCallback = function(error, result)
|
|
| 174 |
message = error.message;
|
| 175 |
}
|
| 176 |
|
|
|
|
| 177 |
// Appending error
|
| 178 |
rules['paymill-validate-' + paymill.helper.getShortCode() + '-token'] = new Validator(
|
| 179 |
'paymill-validate-' + paymill.helper.getShortCode() + '-token',
|
|
@@ -190,7 +240,9 @@ tokenCallback = function(error, result)
|
|
| 190 |
paymill.debug(error.message);
|
| 191 |
paymill.debug("Paymill Response Handler triggered: Error.");
|
| 192 |
Object.extend(Validation.methods, rules);
|
| 193 |
-
|
|
|
|
|
|
|
| 194 |
} else {
|
| 195 |
rules['paymill-validate-' + paymill.helper.getShortCode() + '-token'] = new Validator(
|
| 196 |
'paymill-validate-' + paymill.helper.getShortCode() + '-token',
|
|
@@ -205,20 +257,32 @@ tokenCallback = function(error, result)
|
|
| 205 |
|
| 206 |
paymill.debug("Saving Token in Form: " + result.token);
|
| 207 |
paymill.helper.setElementValue('.paymill-payment-token-' + paymill.helper.getShortCode(), result.token);
|
| 208 |
-
|
|
|
|
|
|
|
|
|
|
| 209 |
paymillButton.removeAttribute('onclick');
|
| 210 |
paymillButton.stopObserving('click');
|
| 211 |
paymillButton.setAttribute('onclick', onClickContent);
|
| 212 |
if (onClickBounded) {
|
| 213 |
onClickBounded.forEach(function (handler) {
|
| 214 |
-
paymillButton.observe('click', handler);
|
| 215 |
});
|
| 216 |
}
|
| 217 |
|
| 218 |
paymillButton.click();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 219 |
}
|
|
|
|
| 220 |
}
|
| 221 |
-
|
| 222 |
-
|
| 223 |
-
|
| 224 |
};
|
| 10 |
var paymillButton = false;
|
| 11 |
var onClickContent = false;
|
| 12 |
var onClickBounded = false;
|
| 13 |
+
var paymillUseButton = false;
|
| 14 |
+
var paymillUseButtonForFrame = false;
|
| 15 |
|
| 16 |
function Paymill(methodCode)
|
| 17 |
{
|
| 60 |
Paymill.prototype.generateTokenOnSubmit = function()
|
| 61 |
{
|
| 62 |
if (this.helper.getElementValue('.paymill-info-fastCheckout-' + this.helper.getShortCode()) !== 'true') {
|
| 63 |
+
|
| 64 |
+
if (this.helper.getMethodCode() === 'paymill_creditcard') {
|
| 65 |
+
if(this.helper.getElementValue('.paymill-info-pci-' + this.helper.getShortCode()) === 'SAQ A') {
|
| 66 |
+
var data = this.methodInstance.getFrameTokenParameter();
|
| 67 |
+
this.debug("Generating Token");
|
| 68 |
+
this.debug(data);
|
| 69 |
+
paymill.createTokenViaFrame(data, tokenCallback);
|
| 70 |
+
} else if (new Validation($$('#paymill_creditcard_cvc')[0].form.id).validate()) {
|
| 71 |
+
this.generateToken();
|
| 72 |
+
}
|
| 73 |
+
}
|
| 74 |
+
|
| 75 |
+
if (this.helper.getMethodCode() === 'paymill_directdebit') {
|
| 76 |
+
if (new Validation($$('#paymill_directdebit_holdername')[0].form.id).validate()) {
|
| 77 |
+
this.generateToken();
|
| 78 |
+
}
|
| 79 |
+
}
|
| 80 |
+
} else {
|
| 81 |
+
paymillDebitUseButton = this.helper.getMethodCode() === 'paymill_directdebit' && paymillUseButton;
|
| 82 |
+
paymillCcUseButton = this.helper.getMethodCode() === 'paymill_creditcard' && (paymillUseButton || paymillUseButtonForFrame);
|
| 83 |
+
if(paymillButton && (paymillDebitUseButton || paymillCcUseButton)) {
|
| 84 |
+
paymillButton.removeAttribute('onclick');
|
| 85 |
+
paymillButton.stopObserving('click');
|
| 86 |
+
paymillButton.setAttribute('onclick', onClickContent);
|
| 87 |
+
if (onClickBounded) {
|
| 88 |
+
onClickBounded.forEach(function (handler) {
|
| 89 |
+
paymillButton.observe('click', handler);
|
| 90 |
+
});
|
| 91 |
+
}
|
| 92 |
+
|
| 93 |
+
paymillButton.click();
|
| 94 |
+
paymillButton.removeAttribute('onclick');
|
| 95 |
+
paymillButton.stopObserving('click');
|
| 96 |
+
if (this.helper.getMethodCode() === 'paymill_directdebit') {
|
| 97 |
+
paymillButton.setAttribute('onclick', 'paymillElv.generateTokenOnSubmit()');
|
| 98 |
+
}
|
| 99 |
+
|
| 100 |
+
if (this.helper.getMethodCode() === 'paymill_creditcard') {
|
| 101 |
+
paymillButton.setAttribute('onclick', 'paymillCreditcard.generateTokenOnSubmit()');
|
| 102 |
+
}
|
| 103 |
+
}
|
| 104 |
}
|
| 105 |
};
|
| 106 |
|
| 140 |
Paymill.prototype.setOnClickHandler = function(selector)
|
| 141 |
{
|
| 142 |
var that = this;
|
| 143 |
+
|
| 144 |
+
if(!paymillButton) {
|
| 145 |
+
if ($$(selector)[0]) {
|
| 146 |
+
paymillButton = $$(selector)[0];
|
| 147 |
+
paymillUseButton = true;
|
| 148 |
+
} else if(typeof(paymillPci) !== 'undefined' && paymillPci === 'SAQ A') {
|
| 149 |
+
if($$('#onestepcheckout-place-order')[0]) {
|
| 150 |
+
paymillButton = $$('#onestepcheckout-place-order')[0];
|
| 151 |
+
} else if($$('#firecheckout-form button[onclick*="checkout.save()"]')[0]) {
|
| 152 |
+
paymillButton = $$('#firecheckout-form button[onclick*="checkout.save()"]')[0];
|
| 153 |
+
} else if($$('#onestepcheckout-form')[0]) {
|
| 154 |
+
paymillButton = $$('#onestepcheckout-form button[onclick*="review.save()"]')[0];
|
| 155 |
+
} else {
|
| 156 |
+
paymillButton = $$('button[onclick*="payment.save()"]')[0];
|
| 157 |
+
}
|
| 158 |
+
paymillUseButtonForFrame = true;
|
| 159 |
+
}
|
| 160 |
+
}
|
| 161 |
+
|
| 162 |
+
if (paymillButton) {
|
| 163 |
if (!onClickContent) {
|
| 164 |
onClickContent = paymillButton.getAttribute('onclick');
|
| 165 |
if (paymillButton.getStorage()._object.prototype_event_registry) {
|
| 171 |
element.observe('change', function() {
|
| 172 |
paymillButton.removeAttribute('onclick');
|
| 173 |
paymillButton.stopObserving('click');
|
| 174 |
+
if (that.helper.getMethodCode() === 'paymill_directdebit' && paymillUseButton) {
|
| 175 |
paymillButton.setAttribute('onclick', 'paymillElv.generateTokenOnSubmit()');
|
| 176 |
+
} else if(that.helper.getMethodCode() === 'paymill_creditcard' && (paymillUseButton || paymillUseButtonForFrame)) {
|
| 177 |
paymillButton.setAttribute('onclick', 'paymillCreditcard.generateTokenOnSubmit()');
|
| 178 |
} else {
|
| 179 |
paymillButton.setAttribute('onclick', onClickContent);
|
| 186 |
});
|
| 187 |
});
|
| 188 |
|
| 189 |
+
if (that.helper.getMethodCode() === 'paymill_directdebit' && paymillUseButton) {
|
| 190 |
paymillButton.stopObserving('click');
|
| 191 |
paymillButton.removeAttribute('onclick');
|
| 192 |
paymillButton.setAttribute('onclick', 'paymillElv.generateTokenOnSubmit()');
|
| 193 |
}
|
| 194 |
|
| 195 |
+
if (that.helper.getMethodCode() === 'paymill_creditcard' && (paymillUseButton || paymillUseButtonForFrame)) {
|
| 196 |
paymillButton.stopObserving('click');
|
| 197 |
paymillButton.removeAttribute('onclick');
|
| 198 |
paymillButton.setAttribute('onclick', 'paymillCreditcard.generateTokenOnSubmit()');
|
| 223 |
message = error.message;
|
| 224 |
}
|
| 225 |
|
| 226 |
+
|
| 227 |
// Appending error
|
| 228 |
rules['paymill-validate-' + paymill.helper.getShortCode() + '-token'] = new Validator(
|
| 229 |
'paymill-validate-' + paymill.helper.getShortCode() + '-token',
|
| 240 |
paymill.debug(error.message);
|
| 241 |
paymill.debug("Paymill Response Handler triggered: Error.");
|
| 242 |
Object.extend(Validation.methods, rules);
|
| 243 |
+
if(!paymillUseButtonForFrame) {
|
| 244 |
+
new Validation($$('.paymill-payment-token-' + paymill.helper.getShortCode())[0].form.id).validate();
|
| 245 |
+
}
|
| 246 |
} else {
|
| 247 |
rules['paymill-validate-' + paymill.helper.getShortCode() + '-token'] = new Validator(
|
| 248 |
'paymill-validate-' + paymill.helper.getShortCode() + '-token',
|
| 257 |
|
| 258 |
paymill.debug("Saving Token in Form: " + result.token);
|
| 259 |
paymill.helper.setElementValue('.paymill-payment-token-' + paymill.helper.getShortCode(), result.token);
|
| 260 |
+
|
| 261 |
+
paymillDebitUseButton = paymill.helper.getMethodCode() === 'paymill_directdebit' && paymillUseButton;
|
| 262 |
+
paymillCcUseButton = paymill.helper.getMethodCode() === 'paymill_creditcard' && (paymillUseButton || paymillUseButtonForFrame);
|
| 263 |
+
if(paymillButton && (paymillDebitUseButton || paymillCcUseButton)) {
|
| 264 |
paymillButton.removeAttribute('onclick');
|
| 265 |
paymillButton.stopObserving('click');
|
| 266 |
paymillButton.setAttribute('onclick', onClickContent);
|
| 267 |
if (onClickBounded) {
|
| 268 |
onClickBounded.forEach(function (handler) {
|
| 269 |
+
paymillButton.observe('click', handler);
|
| 270 |
});
|
| 271 |
}
|
| 272 |
|
| 273 |
paymillButton.click();
|
| 274 |
+
|
| 275 |
+
paymillButton.stopObserving('click');
|
| 276 |
+
paymillButton.removeAttribute('onclick');
|
| 277 |
+
|
| 278 |
+
if (paymill.helper.getMethodCode() === 'paymill_directdebit') {
|
| 279 |
+
paymillButton.setAttribute('onclick', 'paymillElv.generateTokenOnSubmit()');
|
| 280 |
+
}
|
| 281 |
+
|
| 282 |
+
if (paymill.helper.getMethodCode() === 'paymill_creditcard') {
|
| 283 |
+
paymillButton.setAttribute('onclick', 'paymillCreditcard.generateTokenOnSubmit()');
|
| 284 |
+
}
|
| 285 |
}
|
| 286 |
+
|
| 287 |
}
|
|
|
|
|
|
|
|
|
|
| 288 |
};
|
js/paymill/paymentForm.js
ADDED
|
@@ -0,0 +1,697 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
var PAYMILL_PUBLIC_KEY = null;
|
| 2 |
+
|
| 3 |
+
/**
|
| 4 |
+
* Build object
|
| 5 |
+
* @returns {Paymill}
|
| 6 |
+
*/
|
| 7 |
+
function Paymill()
|
| 8 |
+
{
|
| 9 |
+
this.paymillSelectedPaymentName = "Preparing Payment";
|
| 10 |
+
this.eventFlag = false;
|
| 11 |
+
|
| 12 |
+
}
|
| 13 |
+
|
| 14 |
+
/**
|
| 15 |
+
* Set payment code
|
| 16 |
+
* @param String code
|
| 17 |
+
*/
|
| 18 |
+
Paymill.prototype.setPaymillCode = function(code)
|
| 19 |
+
{
|
| 20 |
+
this.paymillCode = code;
|
| 21 |
+
}
|
| 22 |
+
|
| 23 |
+
/**
|
| 24 |
+
* Set the possible payment codes
|
| 25 |
+
*/
|
| 26 |
+
Paymill.prototype.setCodes = function()
|
| 27 |
+
{
|
| 28 |
+
this.paymillCc = 'paymill_creditcard';
|
| 29 |
+
this.paymillElv = 'paymill_directdebit';
|
| 30 |
+
}
|
| 31 |
+
|
| 32 |
+
/**
|
| 33 |
+
* Get selected payments short code
|
| 34 |
+
* @returns String
|
| 35 |
+
*/
|
| 36 |
+
Paymill.prototype.getPaymillCode = function()
|
| 37 |
+
{
|
| 38 |
+
var methods = {
|
| 39 |
+
paymill_creditcard: "cc",
|
| 40 |
+
paymill_directdebit: 'elv'
|
| 41 |
+
};
|
| 42 |
+
|
| 43 |
+
if (methods.hasOwnProperty(pmQuery("input[name='payment[method]']:checked").val())) {
|
| 44 |
+
return methods[pmQuery("input[name='payment[method]']:checked").val()];
|
| 45 |
+
}
|
| 46 |
+
|
| 47 |
+
return 'other';
|
| 48 |
+
}
|
| 49 |
+
|
| 50 |
+
/**
|
| 51 |
+
* prints debug messages in the log if debug mode is active
|
| 52 |
+
* @param {String} message
|
| 53 |
+
*/
|
| 54 |
+
Paymill.prototype.debug = function(message)
|
| 55 |
+
{
|
| 56 |
+
debugState = pmQuery('.paymill-option-debug-' + this.getPaymillCode()).val();
|
| 57 |
+
if (debugState === "1") {
|
| 58 |
+
var displayName = "";
|
| 59 |
+
if (this.paymillSelectedPaymentName === this.paymillCc) {
|
| 60 |
+
displayName = 'Credit Card';
|
| 61 |
+
}
|
| 62 |
+
|
| 63 |
+
if (this.paymillSelectedPaymentName === this.paymillElv) {
|
| 64 |
+
displayName = 'Direct Debit';
|
| 65 |
+
}
|
| 66 |
+
|
| 67 |
+
if (this.paymillSelectedPaymentName === 'Preparing Payment') {
|
| 68 |
+
displayName = 'Preparing Payment';
|
| 69 |
+
}
|
| 70 |
+
|
| 71 |
+
console.log("[" + displayName + "] " + message);
|
| 72 |
+
}
|
| 73 |
+
}
|
| 74 |
+
|
| 75 |
+
/**
|
| 76 |
+
* Get credit card brand
|
| 77 |
+
*
|
| 78 |
+
* @param String creditcardNumber
|
| 79 |
+
* @returns String
|
| 80 |
+
*/
|
| 81 |
+
Paymill.prototype.detectCreditcardBranding = function(creditcardNumber)
|
| 82 |
+
{
|
| 83 |
+
var brand = 'unknown';
|
| 84 |
+
if (creditcardNumber.match(/^\d{6}/)) {
|
| 85 |
+
switch (true) {
|
| 86 |
+
case /^(415006|497|407497|513)/.test(creditcardNumber):
|
| 87 |
+
brand = "carte-bleue";
|
| 88 |
+
break;
|
| 89 |
+
case /^(45399[78]|432913|5255)/.test(creditcardNumber):
|
| 90 |
+
brand = "carta-si";
|
| 91 |
+
break;
|
| 92 |
+
case /^(4571|5019)/.test(creditcardNumber):
|
| 93 |
+
brand = "dankort";
|
| 94 |
+
break;
|
| 95 |
+
case /^(62|88)/.test(creditcardNumber):
|
| 96 |
+
brand = "unionpay";
|
| 97 |
+
break;
|
| 98 |
+
case /^6(011|5)/.test(creditcardNumber):
|
| 99 |
+
brand = "discover";
|
| 100 |
+
break;
|
| 101 |
+
case /^3(0[0-5]|[68])/.test(creditcardNumber):
|
| 102 |
+
brand = "diners";
|
| 103 |
+
break;
|
| 104 |
+
case /^(5018|5020|5038|5893|6304|6759|6761|6762|6763|0604|6390)/.test(creditcardNumber):
|
| 105 |
+
brand = "maestro";
|
| 106 |
+
break;
|
| 107 |
+
case /^(2131|1800|35)/.test(creditcardNumber):
|
| 108 |
+
brand = "jcb";
|
| 109 |
+
break;
|
| 110 |
+
case /^(3[47])/.test(creditcardNumber):
|
| 111 |
+
brand = "amex";
|
| 112 |
+
break;
|
| 113 |
+
case /^(5[1-5])/.test(creditcardNumber):
|
| 114 |
+
brand = "mastercard";
|
| 115 |
+
break;
|
| 116 |
+
case /^(4)/.test(creditcardNumber):
|
| 117 |
+
brand = "visa";
|
| 118 |
+
break;
|
| 119 |
+
}
|
| 120 |
+
}
|
| 121 |
+
|
| 122 |
+
return brand;
|
| 123 |
+
}
|
| 124 |
+
|
| 125 |
+
/**
|
| 126 |
+
* Event Handler for the display of the card icons
|
| 127 |
+
*/
|
| 128 |
+
Paymill.prototype.paymillShowCardIcon = function()
|
| 129 |
+
{
|
| 130 |
+
var brand = this.detectCreditcardBranding(pmQuery('#' + this.paymillCode + '_number').val());
|
| 131 |
+
brand = brand.toLowerCase();
|
| 132 |
+
pmQuery('#' + this.paymillCode + '_number')[0].className = pmQuery('#' + this.paymillCode + '_number')[0].className.replace(/paymill-card-number-.*/g, '');
|
| 133 |
+
if (brand !== 'unknown') {
|
| 134 |
+
if (brand === 'american express') {
|
| 135 |
+
brand = 'amex';
|
| 136 |
+
}
|
| 137 |
+
|
| 138 |
+
pmQuery('#' + this.paymillCode + '_number').addClass("paymill-card-number-" + brand);
|
| 139 |
+
}
|
| 140 |
+
}
|
| 141 |
+
|
| 142 |
+
/**
|
| 143 |
+
* Prototype selector
|
| 144 |
+
*
|
| 145 |
+
* @param {type} selector
|
| 146 |
+
* @returns {String}
|
| 147 |
+
*/
|
| 148 |
+
Paymill.prototype.getValueIfExist = function(selector)
|
| 149 |
+
{
|
| 150 |
+
if ($$(selector)[0]) {
|
| 151 |
+
return $$(selector)[0].value;
|
| 152 |
+
}
|
| 153 |
+
|
| 154 |
+
return '';
|
| 155 |
+
}
|
| 156 |
+
|
| 157 |
+
/**
|
| 158 |
+
* Validate the form data and try to create a token
|
| 159 |
+
*
|
| 160 |
+
* @returns {Boolean}
|
| 161 |
+
*/
|
| 162 |
+
Paymill.prototype.paymillSubmitForm = function()
|
| 163 |
+
{
|
| 164 |
+
PAYMILL_PUBLIC_KEY = pmQuery('.paymill-info-public_key-' + this.getPaymillCode()).val();
|
| 165 |
+
this.paymillSelectedPaymentName = pmQuery("input[name='payment[method]']:checked").val();
|
| 166 |
+
|
| 167 |
+
if (!window.PAYMILL_LOADING !== "undefined" && window.PAYMILL_LOADING) {
|
| 168 |
+
return false;
|
| 169 |
+
}
|
| 170 |
+
|
| 171 |
+
switch (this.paymillSelectedPaymentName) {
|
| 172 |
+
case this.paymillCc:
|
| 173 |
+
paymill.config('3ds_cancel_label', pmQuery('.paymill_3ds_cancel').val());
|
| 174 |
+
if (pmQuery('.paymill-info-fastCheckout-cc').val() === 'false') {
|
| 175 |
+
var valid = (paymill.validateCvc(pmQuery('#' + this.paymillSelectedPaymentName + '_cvc').val()) || paymill.cardType(pmQuery('#' + this.paymillSelectedPaymentName + '_number').val()).toLowerCase() === 'maestro')
|
| 176 |
+
&& paymill.validateHolder(pmQuery('#' + this.paymillSelectedPaymentName + '_holdername').val())
|
| 177 |
+
&& paymill.validateExpiry(pmQuery('#' + this.paymillSelectedPaymentName + '_expiry_month').val(), pmQuery('#' + this.paymillSelectedPaymentName + '_expiry_year').val())
|
| 178 |
+
&& paymill.validateCardNumber(pmQuery('#' + this.paymillSelectedPaymentName + '_number').val());
|
| 179 |
+
|
| 180 |
+
if (!valid) {
|
| 181 |
+
return false;
|
| 182 |
+
}
|
| 183 |
+
|
| 184 |
+
var cvc = '000';
|
| 185 |
+
|
| 186 |
+
if (pmQuery('#' + this.paymillSelectedPaymentName + '_cvc').val() !== '') {
|
| 187 |
+
cvc = pmQuery('#' + this.paymillSelectedPaymentName + '_cvc').val();
|
| 188 |
+
}
|
| 189 |
+
|
| 190 |
+
window.PAYMILL_LOADING = true;
|
| 191 |
+
this.debug("Generating Token");
|
| 192 |
+
paymill.createToken({
|
| 193 |
+
amount_int: parseInt(this.getTokenAmount()),
|
| 194 |
+
currency: pmQuery('.paymill-payment-currency-' + this.getPaymillCode()).val(), // ISO 4217 e.g. "EUR"
|
| 195 |
+
number: pmQuery('#' + this.paymillSelectedPaymentName + '_number').val(),
|
| 196 |
+
exp_month: pmQuery('#' + this.paymillSelectedPaymentName + '_expiry_month').val(),
|
| 197 |
+
exp_year: pmQuery('#' + this.paymillSelectedPaymentName + '_expiry_year').val(),
|
| 198 |
+
cvc: cvc,
|
| 199 |
+
cardholder: pmQuery('#' + this.paymillSelectedPaymentName + '_holdername').val()
|
| 200 |
+
}, paymillResponseHandler);
|
| 201 |
+
}
|
| 202 |
+
break;
|
| 203 |
+
case this.paymillElv:
|
| 204 |
+
if (pmQuery('.paymill-info-fastCheckout-elv').val() === 'false') {
|
| 205 |
+
if (pmQuery('.paymill-info-sepa-elv').val() === 'false') {
|
| 206 |
+
var valid = pmQuery('#' + this.paymillSelectedPaymentName + '_holdername').val() !== ''
|
| 207 |
+
&& paymill.validateAccountNumber(pmQuery('#' + this.paymillSelectedPaymentName + '_account').val())
|
| 208 |
+
&& paymill.validateBankCode(pmQuery('#' + this.paymillSelectedPaymentName + '_bankcode').val());
|
| 209 |
+
|
| 210 |
+
if (!valid) {
|
| 211 |
+
return false;
|
| 212 |
+
}
|
| 213 |
+
|
| 214 |
+
window.PAYMILL_LOADING = true;
|
| 215 |
+
this.debug("Generating Token");
|
| 216 |
+
paymill.createToken({
|
| 217 |
+
number: pmQuery('#' + this.paymillSelectedPaymentName + '_account').val(),
|
| 218 |
+
bank: pmQuery('#' + this.paymillSelectedPaymentName + '_bankcode').val(),
|
| 219 |
+
accountholder: pmQuery('#' + this.paymillSelectedPaymentName + '_holdername').val()
|
| 220 |
+
}, paymillResponseHandler);
|
| 221 |
+
} else {
|
| 222 |
+
var valid = pmQuery('#' + this.paymillSelectedPaymentName + '_holdername').val() !== ''
|
| 223 |
+
&& pmQuery('#' + this.paymillSelectedPaymentName + '_iban').val() !== ''
|
| 224 |
+
&& pmQuery('#' + this.paymillSelectedPaymentName + '_bic').val() !== '';
|
| 225 |
+
|
| 226 |
+
if (!valid) {
|
| 227 |
+
return false;
|
| 228 |
+
}
|
| 229 |
+
|
| 230 |
+
window.PAYMILL_LOADING = true;
|
| 231 |
+
this.debug("Generating Token");
|
| 232 |
+
paymill.createToken({
|
| 233 |
+
iban: pmQuery('#' + this.paymillSelectedPaymentName + '_iban').val(),
|
| 234 |
+
bic: pmQuery('#' + this.paymillSelectedPaymentName + '_bic').val(),
|
| 235 |
+
accountholder: pmQuery('#' + this.paymillSelectedPaymentName + '_holdername').val()
|
| 236 |
+
}, paymillResponseHandler);
|
| 237 |
+
}
|
| 238 |
+
}
|
| 239 |
+
|
| 240 |
+
break;
|
| 241 |
+
}
|
| 242 |
+
|
| 243 |
+
return false;
|
| 244 |
+
}
|
| 245 |
+
|
| 246 |
+
/**
|
| 247 |
+
* Log data
|
| 248 |
+
* @param String data
|
| 249 |
+
*/
|
| 250 |
+
Paymill.prototype.logError = function(data)
|
| 251 |
+
{
|
| 252 |
+
var that = this;
|
| 253 |
+
pmQuery.ajax({
|
| 254 |
+
async: false,
|
| 255 |
+
type: "POST",
|
| 256 |
+
url: pmQuery('.paymill-payment-token-log-' + this.getPaymillCode()).val(),
|
| 257 |
+
data: {error: data},
|
| 258 |
+
}).done(function(msg) {
|
| 259 |
+
that.debug('Logging done.');
|
| 260 |
+
}).fail(function(jqXHR, textStatus) {
|
| 261 |
+
that.debug('Logging failed.');
|
| 262 |
+
});
|
| 263 |
+
}
|
| 264 |
+
|
| 265 |
+
/**
|
| 266 |
+
* Return order amount
|
| 267 |
+
* @return float
|
| 268 |
+
*/
|
| 269 |
+
Paymill.prototype.getTokenAmount = function()
|
| 270 |
+
{
|
| 271 |
+
var that = this;
|
| 272 |
+
var returnVal = null;
|
| 273 |
+
pmQuery.ajax({
|
| 274 |
+
async: false,
|
| 275 |
+
type: "POST",
|
| 276 |
+
url: pmQuery('.paymill-payment-token-url-cc').val(),
|
| 277 |
+
}).done(function(msg) {
|
| 278 |
+
returnVal = msg;
|
| 279 |
+
}).fail(function(jqXHR, textStatus) {
|
| 280 |
+
// Appending error
|
| 281 |
+
var nv = {};
|
| 282 |
+
|
| 283 |
+
nv['paymill-validate-' + that.getPaymillCode() + '-token'] = new Validator(
|
| 284 |
+
'paymill-validate-' + that.getPaymillCode() + '-token',
|
| 285 |
+
that.getValueIfExist('.paymill-payment-error-' + that.getPaymillCode() + '-token') + " Amount not accessable. Reason: " + textStatus,
|
| 286 |
+
function(v) {
|
| 287 |
+
return v !== '';
|
| 288 |
+
},
|
| 289 |
+
''
|
| 290 |
+
);
|
| 291 |
+
|
| 292 |
+
Object.extend(Validation.methods, nv);
|
| 293 |
+
});
|
| 294 |
+
|
| 295 |
+
return returnVal;
|
| 296 |
+
}
|
| 297 |
+
|
| 298 |
+
/**
|
| 299 |
+
* Unset elv validation rules
|
| 300 |
+
*/
|
| 301 |
+
Paymill.prototype.unsetElvValidationRules = function()
|
| 302 |
+
{
|
| 303 |
+
var nvElv = {
|
| 304 |
+
'paymill-validate-dd-holdername': new Validator(
|
| 305 |
+
'paymill-validate-dd-holdername',
|
| 306 |
+
'',
|
| 307 |
+
function(v) {
|
| 308 |
+
return true;
|
| 309 |
+
},
|
| 310 |
+
''
|
| 311 |
+
),
|
| 312 |
+
'paymill-validate-dd-iban': new Validator(
|
| 313 |
+
'paymill-validate-dd-iban',
|
| 314 |
+
'',
|
| 315 |
+
function(v) {
|
| 316 |
+
return true;
|
| 317 |
+
},
|
| 318 |
+
''
|
| 319 |
+
),
|
| 320 |
+
'paymill-validate-dd-bic': new Validator(
|
| 321 |
+
'paymill-validate-dd-bic',
|
| 322 |
+
'',
|
| 323 |
+
function(v) {
|
| 324 |
+
return true;
|
| 325 |
+
},
|
| 326 |
+
''
|
| 327 |
+
),
|
| 328 |
+
'paymill-validate-dd-account': new Validator(
|
| 329 |
+
'paymill-validate-dd-account',
|
| 330 |
+
'',
|
| 331 |
+
function(v) {
|
| 332 |
+
return true;
|
| 333 |
+
},
|
| 334 |
+
''
|
| 335 |
+
),
|
| 336 |
+
'paymill-validate-dd-bankcode': new Validator(
|
| 337 |
+
'paymill-validate-dd-bankcode',
|
| 338 |
+
'',
|
| 339 |
+
function(v) {
|
| 340 |
+
return true;
|
| 341 |
+
},
|
| 342 |
+
''
|
| 343 |
+
)
|
| 344 |
+
};
|
| 345 |
+
|
| 346 |
+
Object.extend(Validation.methods, nvElv);
|
| 347 |
+
}
|
| 348 |
+
|
| 349 |
+
/**
|
| 350 |
+
* Unset cc validation rules
|
| 351 |
+
*/
|
| 352 |
+
Paymill.prototype.unsetCcValidationRules = function()
|
| 353 |
+
{
|
| 354 |
+
var nvCc = {
|
| 355 |
+
'paymill-validate-cc-number': new Validator(
|
| 356 |
+
'paymill-validate-cc-number',
|
| 357 |
+
'',
|
| 358 |
+
function(v) {
|
| 359 |
+
return true;
|
| 360 |
+
},
|
| 361 |
+
''
|
| 362 |
+
),
|
| 363 |
+
'paymill-validate-cc-expdate-month': new Validator(
|
| 364 |
+
'paymill-validate-cc-expdate-month',
|
| 365 |
+
'',
|
| 366 |
+
function(v) {
|
| 367 |
+
return true;
|
| 368 |
+
},
|
| 369 |
+
''
|
| 370 |
+
),
|
| 371 |
+
'paymill-validate-cc-expdate-year': new Validator(
|
| 372 |
+
'paymill-validate-cc-expdate-year',
|
| 373 |
+
'',
|
| 374 |
+
function(v) {
|
| 375 |
+
return true;
|
| 376 |
+
},
|
| 377 |
+
''
|
| 378 |
+
),
|
| 379 |
+
'paymill-validate-cc-holder': new Validator(
|
| 380 |
+
'paymill-validate-cc-holder',
|
| 381 |
+
'',
|
| 382 |
+
function(v) {
|
| 383 |
+
return true;
|
| 384 |
+
},
|
| 385 |
+
''
|
| 386 |
+
),
|
| 387 |
+
'paymill-validate-cc-cvc': new Validator(
|
| 388 |
+
'paymill-validate-cc-cvc',
|
| 389 |
+
'',
|
| 390 |
+
function(v) {
|
| 391 |
+
return true;
|
| 392 |
+
},
|
| 393 |
+
''
|
| 394 |
+
)
|
| 395 |
+
};
|
| 396 |
+
|
| 397 |
+
Object.extend(Validation.methods, nvCc);
|
| 398 |
+
}
|
| 399 |
+
|
| 400 |
+
/**
|
| 401 |
+
* Set elv validation rules
|
| 402 |
+
*/
|
| 403 |
+
Paymill.prototype.setElvValidationRules = function()
|
| 404 |
+
{
|
| 405 |
+
var nvElv = {
|
| 406 |
+
'paymill-validate-dd-holdername': new Validator(
|
| 407 |
+
'paymill-validate-dd-holdername',
|
| 408 |
+
this.getValueIfExist('.paymill-payment-error-holder-elv'),
|
| 409 |
+
function(v) {
|
| 410 |
+
return !(v === '');
|
| 411 |
+
},
|
| 412 |
+
''
|
| 413 |
+
),
|
| 414 |
+
'paymill-validate-dd-iban': new Validator(
|
| 415 |
+
'paymill-validate-dd-iban',
|
| 416 |
+
this.getValueIfExist('.paymill-payment-error-iban-elv'),
|
| 417 |
+
function(v) {
|
| 418 |
+
return !(v === '');
|
| 419 |
+
},
|
| 420 |
+
''
|
| 421 |
+
),
|
| 422 |
+
'paymill-validate-dd-bic': new Validator(
|
| 423 |
+
'paymill-validate-dd-bic',
|
| 424 |
+
this.getValueIfExist('.paymill-payment-error-bic-elv'),
|
| 425 |
+
function(v) {
|
| 426 |
+
return !(v === '');
|
| 427 |
+
},
|
| 428 |
+
''
|
| 429 |
+
),
|
| 430 |
+
'paymill-validate-dd-account': new Validator(
|
| 431 |
+
'paymill-validate-dd-account',
|
| 432 |
+
this.getValueIfExist('.paymill-payment-error-number-elv'),
|
| 433 |
+
function(v) {
|
| 434 |
+
return paymill.validateAccountNumber(v);
|
| 435 |
+
},
|
| 436 |
+
''
|
| 437 |
+
),
|
| 438 |
+
'paymill-validate-dd-bankcode': new Validator(
|
| 439 |
+
'paymill-validate-dd-bankcode',
|
| 440 |
+
this.getValueIfExist('.paymill-payment-error-bankcode'),
|
| 441 |
+
function(v) {
|
| 442 |
+
return paymill.validateBankCode(v);
|
| 443 |
+
},
|
| 444 |
+
''
|
| 445 |
+
)
|
| 446 |
+
};
|
| 447 |
+
|
| 448 |
+
Object.extend(Validation.methods, nvElv);
|
| 449 |
+
}
|
| 450 |
+
|
| 451 |
+
/**
|
| 452 |
+
* Set cc validation rules
|
| 453 |
+
*/
|
| 454 |
+
Paymill.prototype.setCcValidationRules = function()
|
| 455 |
+
{
|
| 456 |
+
var that = this;
|
| 457 |
+
var nvCc = {
|
| 458 |
+
'paymill-validate-cc-number': new Validator(
|
| 459 |
+
'paymill-validate-cc-number',
|
| 460 |
+
this.getValueIfExist('.paymill-payment-error-number'),
|
| 461 |
+
function(v) {
|
| 462 |
+
return paymill.validateCardNumber(v);
|
| 463 |
+
},
|
| 464 |
+
''
|
| 465 |
+
),
|
| 466 |
+
'paymill-validate-cc-expdate-month': new Validator(
|
| 467 |
+
'paymill-validate-cc-expdate-month',
|
| 468 |
+
this.getValueIfExist('.paymill-payment-error-expdate'),
|
| 469 |
+
function(v) {
|
| 470 |
+
|
| 471 |
+
return paymill.validateExpiry(v, pmQuery('.paymill-validate-cc-expdate-year').val());
|
| 472 |
+
},
|
| 473 |
+
''
|
| 474 |
+
),
|
| 475 |
+
'paymill-validate-cc-expdate-year': new Validator(
|
| 476 |
+
'paymill-validate-cc-expdate-year',
|
| 477 |
+
this.getValueIfExist('.paymill-payment-error-expdate'),
|
| 478 |
+
function(v) {
|
| 479 |
+
return paymill.validateExpiry(pmQuery('.paymill-validate-cc-expdate-month').val(), v);
|
| 480 |
+
},
|
| 481 |
+
''
|
| 482 |
+
),
|
| 483 |
+
'paymill-validate-cc-holder': new Validator(
|
| 484 |
+
'paymill-validate-cc-holder',
|
| 485 |
+
this.getValueIfExist('.paymill-payment-error-holder'),
|
| 486 |
+
function(v) {
|
| 487 |
+
return (paymill.validateHolder(v));
|
| 488 |
+
},
|
| 489 |
+
''
|
| 490 |
+
),
|
| 491 |
+
'paymill-validate-cc-cvc': new Validator(
|
| 492 |
+
'paymill-validate-cc-cvc',
|
| 493 |
+
this.getValueIfExist('.paymill-payment-error-cvc'),
|
| 494 |
+
function(v) {
|
| 495 |
+
if (paymill.cardType(pmQuery('#' + that.paymillCode + '_number').val()).toLowerCase() === 'maestro') {
|
| 496 |
+
return true;
|
| 497 |
+
}
|
| 498 |
+
|
| 499 |
+
return paymill.validateCvc(v);
|
| 500 |
+
},
|
| 501 |
+
''
|
| 502 |
+
)
|
| 503 |
+
};
|
| 504 |
+
|
| 505 |
+
Object.extend(Validation.methods, nvCc);
|
| 506 |
+
}
|
| 507 |
+
|
| 508 |
+
/**
|
| 509 |
+
* Add all paymill events
|
| 510 |
+
*/
|
| 511 |
+
Paymill.prototype.addPaymillEvents = function()
|
| 512 |
+
{
|
| 513 |
+
var that = this;
|
| 514 |
+
|
| 515 |
+
this.setElvValidationRules();
|
| 516 |
+
|
| 517 |
+
this.setCcValidationRules();
|
| 518 |
+
|
| 519 |
+
if (pmQuery('.paymill-info-fastCheckout-elv').val() === 'true') {
|
| 520 |
+
that.unsetElvValidationRules();
|
| 521 |
+
}
|
| 522 |
+
|
| 523 |
+
if (pmQuery('.paymill-info-fastCheckout-cc').val() === 'true') {
|
| 524 |
+
that.unsetCcValidationRules();
|
| 525 |
+
}
|
| 526 |
+
|
| 527 |
+
pmQuery('#' + this.paymillCode + '_iban').keyup(function() {
|
| 528 |
+
var iban = pmQuery('#' + that.paymillCode + '_iban').val();
|
| 529 |
+
if (!iban.match(/^DE/)) {
|
| 530 |
+
var newVal = "DE";
|
| 531 |
+
if (iban.match(/^.{2}(.*)/)) {
|
| 532 |
+
newVal += iban.match(/^.{2}(.*)/)[1];
|
| 533 |
+
}
|
| 534 |
+
|
| 535 |
+
pmQuery('#' + that.paymillCode + '_iban').val(newVal);
|
| 536 |
+
}
|
| 537 |
+
});
|
| 538 |
+
|
| 539 |
+
pmQuery('#' + this.paymillCode + '_iban').trigger('keyup');
|
| 540 |
+
|
| 541 |
+
if (!this.eventFlag) {
|
| 542 |
+
|
| 543 |
+
pmQuery('#' + this.paymillCode + '_holdername').live('input', function() {
|
| 544 |
+
that.setElvValidationRules();
|
| 545 |
+
pmQuery('.paymill-info-fastCheckout-elv').val('false');
|
| 546 |
+
});
|
| 547 |
+
|
| 548 |
+
pmQuery('#' + this.paymillCode + '_account').live('input', function() {
|
| 549 |
+
that.setElvValidationRules();
|
| 550 |
+
pmQuery('.paymill-info-fastCheckout-elv').val('false');
|
| 551 |
+
});
|
| 552 |
+
|
| 553 |
+
pmQuery('#' + this.paymillCode + '_bankcode').live('input', function() {
|
| 554 |
+
that.setElvValidationRules();
|
| 555 |
+
pmQuery('.paymill-info-fastCheckout-elv').val('false');
|
| 556 |
+
});
|
| 557 |
+
|
| 558 |
+
pmQuery('#' + this.paymillCode + '_iban').live('input', function() {
|
| 559 |
+
that.setElvValidationRules();
|
| 560 |
+
pmQuery('.paymill-info-fastCheckout-elv').val('false');
|
| 561 |
+
});
|
| 562 |
+
|
| 563 |
+
pmQuery('#' + this.paymillCode + '_bic').live('input', function() {
|
| 564 |
+
that.setElvValidationRules();
|
| 565 |
+
pmQuery('.paymill-info-fastCheckout-elv').val('false');
|
| 566 |
+
});
|
| 567 |
+
|
| 568 |
+
pmQuery('#' + this.paymillCode + '_holdername').live('input', function() {
|
| 569 |
+
that.setCcValidationRules();
|
| 570 |
+
pmQuery('.paymill-info-fastCheckout-cc').val('false');
|
| 571 |
+
});
|
| 572 |
+
|
| 573 |
+
pmQuery('#' + this.paymillCode + '_cvc').live('input', function() {
|
| 574 |
+
that.setCcValidationRules();
|
| 575 |
+
pmQuery('.paymill-info-fastCheckout-cc').val('false');
|
| 576 |
+
});
|
| 577 |
+
|
| 578 |
+
pmQuery('#' + this.paymillCode + '_number').live('input', function() {
|
| 579 |
+
that.setCcValidationRules();
|
| 580 |
+
pmQuery('.paymill-info-fastCheckout-cc').val('false');
|
| 581 |
+
});
|
| 582 |
+
|
| 583 |
+
pmQuery('#' + this.paymillCode + '_expiry_month').live('change', function() {
|
| 584 |
+
that.setCcValidationRules();
|
| 585 |
+
pmQuery('.paymill-info-fastCheckout-cc').val('false');
|
| 586 |
+
});
|
| 587 |
+
|
| 588 |
+
pmQuery('#' + this.paymillCode + '_expiry_year').live('change', function() {
|
| 589 |
+
that.setCcValidationRules();
|
| 590 |
+
pmQuery('.paymill-info-fastCheckout-cc').val('false');
|
| 591 |
+
});
|
| 592 |
+
|
| 593 |
+
pmQuery('#' + this.paymillCode + '_number').live('input', function() {
|
| 594 |
+
that.paymillShowCardIcon();
|
| 595 |
+
});
|
| 596 |
+
|
| 597 |
+
pmQuery('#' + this.paymillCode + '_cvc').live('input', function() {
|
| 598 |
+
that.paymillSubmitForm();
|
| 599 |
+
});
|
| 600 |
+
|
| 601 |
+
pmQuery('#' + this.paymillCode + '_expiry_month').live('change', function() {
|
| 602 |
+
that.paymillSubmitForm();
|
| 603 |
+
});
|
| 604 |
+
|
| 605 |
+
pmQuery('#' + this.paymillCode + '_expiry_year').live('change', function() {
|
| 606 |
+
that.paymillSubmitForm();
|
| 607 |
+
});
|
| 608 |
+
|
| 609 |
+
pmQuery('#' + this.paymillCode + '_number').live('input', function() {
|
| 610 |
+
that.paymillSubmitForm();
|
| 611 |
+
});
|
| 612 |
+
|
| 613 |
+
pmQuery('#' + this.paymillCode + '_holdername').live('input', function() {
|
| 614 |
+
that.paymillSubmitForm();
|
| 615 |
+
});
|
| 616 |
+
|
| 617 |
+
pmQuery('#' + this.paymillCode + '_holdername').live('input', function() {
|
| 618 |
+
that.paymillSubmitForm();
|
| 619 |
+
});
|
| 620 |
+
|
| 621 |
+
pmQuery('#' + this.paymillCode + '_account').live('input', function() {
|
| 622 |
+
that.paymillSubmitForm();
|
| 623 |
+
});
|
| 624 |
+
|
| 625 |
+
pmQuery('#' + this.paymillCode + '_bankcode').live('input', function() {
|
| 626 |
+
that.paymillSubmitForm();
|
| 627 |
+
});
|
| 628 |
+
|
| 629 |
+
pmQuery('#' + this.paymillCode + '_iban').live('input', function() {
|
| 630 |
+
that.paymillSubmitForm();
|
| 631 |
+
});
|
| 632 |
+
|
| 633 |
+
pmQuery('#' + this.paymillCode + '_bic').live('input', function() {
|
| 634 |
+
that.paymillSubmitForm();
|
| 635 |
+
});
|
| 636 |
+
|
| 637 |
+
this.eventFlag = true;
|
| 638 |
+
}
|
| 639 |
+
}
|
| 640 |
+
|
| 641 |
+
/**
|
| 642 |
+
* Handles the response of the paymill bridge. saves the token in a formfield.
|
| 643 |
+
* @param {Boolean} error
|
| 644 |
+
* @param {response object} result
|
| 645 |
+
*/
|
| 646 |
+
paymillResponseHandler = function(error, result)
|
| 647 |
+
{
|
| 648 |
+
window.PAYMILL_LOADING = false;
|
| 649 |
+
|
| 650 |
+
var nv = {};
|
| 651 |
+
paymillObj = new Paymill();
|
| 652 |
+
paymillObj.setCodes();
|
| 653 |
+
if (error) {
|
| 654 |
+
pmQuery('#paymill_creditcard_cvc').val('');
|
| 655 |
+
var message = 'unknown_error';
|
| 656 |
+
var key = error.apierror;
|
| 657 |
+
if(paymillObj.getValueIfExist('.PAYMILL_' + key + '-' + paymillObj.getPaymillCode()) !== ''){
|
| 658 |
+
message = paymillObj.getValueIfExist('.PAYMILL_' + key + '-' + paymillObj.getPaymillCode());
|
| 659 |
+
}
|
| 660 |
+
|
| 661 |
+
if (message === 'unknown_error' && error.message !== undefined) {
|
| 662 |
+
message = error.message;
|
| 663 |
+
}
|
| 664 |
+
|
| 665 |
+
// Appending error
|
| 666 |
+
nv['paymill-validate-' + paymillObj.getPaymillCode() + '-token'] = new Validator(
|
| 667 |
+
'paymill-validate-' + paymillObj.getPaymillCode() + '-token',
|
| 668 |
+
paymillObj.getValueIfExist('.paymill-payment-error-' + paymillObj.getPaymillCode() + '-token') + message,
|
| 669 |
+
function(v) {
|
| 670 |
+
return false;
|
| 671 |
+
},
|
| 672 |
+
''
|
| 673 |
+
);
|
| 674 |
+
|
| 675 |
+
Object.extend(Validation.methods, nv);
|
| 676 |
+
|
| 677 |
+
paymillObj.logError(error);
|
| 678 |
+
|
| 679 |
+
paymillObj.debug(error.apierror);
|
| 680 |
+
paymillObj.debug(error.message);
|
| 681 |
+
paymillObj.debug("Paymill Response Handler triggered: Error.");
|
| 682 |
+
} else {
|
| 683 |
+
nv['paymill-validate-' + paymillObj.getPaymillCode() + '-token'] = new Validator(
|
| 684 |
+
'paymill-validate-' + paymillObj.getPaymillCode() + '-token',
|
| 685 |
+
'',
|
| 686 |
+
function(v) {
|
| 687 |
+
return true;
|
| 688 |
+
},
|
| 689 |
+
''
|
| 690 |
+
);
|
| 691 |
+
|
| 692 |
+
Object.extend(Validation.methods, nv);
|
| 693 |
+
// Appending Token to form
|
| 694 |
+
paymillObj.debug("Saving Token in Form: " + result.token);
|
| 695 |
+
pmQuery('.paymill-payment-token-' + paymillObj.getPaymillCode()).val(result.token);
|
| 696 |
+
}
|
| 697 |
+
}
|
package.xml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>Paymill_Paymill</name>
|
| 4 |
-
<version>
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license>Open Software License</license>
|
| 7 |
<channel>community</channel>
|
|
@@ -13,11 +13,11 @@ The Paymill Magento extension provides a credit card form and a direct debit for
|
|
| 13 |
<br /><br />
|
| 14 |
IMPORTANT: Only use the latest version.
|
| 15 |
</description>
|
| 16 |
-
<notes>*
|
| 17 |
<authors><author><name>PayIntelligent</name><user>Paymill</user><email>community@paymill.de</email></author></authors>
|
| 18 |
-
<date>
|
| 19 |
-
<time>
|
| 20 |
-
<contents><target name="magecommunity"><dir name="Paymill"><dir><dir name="Paymill"><dir name="Block"><dir name="Adminhtml"><dir name="Hook"><dir name="Edit"><file name="Form.php" hash="8e0928b3c817110cae53c179132d679a"/></dir><file name="Edit.php" hash="3201ba9db687f8993f893b4c22123cf4"/><file name="Grid.php" hash="1926f09019fc80dacead18055380c128"/></dir><file name="Hook.php" hash="1f8318e93fca93cfd0cdcb9c4b36c9c8"/><dir name="Log"><file name="Grid.php" hash="7d74f94403297eeb551272ad5c94513f"/><dir name="View"><file name="Plane.php" hash="179e10aea0213d2caed595ae9111b993"/><file name="Tabs.php" hash="d16d9748921a34067242eaf92d6f299e"/></dir><file name="View.php" hash="af850dd16c3e7505a69a6cb3ca3fbc27"/></dir><file name="Log.php" hash="02930fb46a2a4569176ceb29c45037e8"/></dir><dir name="Payment"><dir name="Form"><file name="PaymentFormAbstract.php" hash="b42edc338110bd2f81fcf85169d3d82c"/><file name="PaymentFormCreditcard.php" hash="037ab8502605b450ca5b839bfe074baf"/><file name="PaymentFormDirectdebit.php" hash="ea9ab99268994373866162d432d27556"/></dir><dir name="Info"><file name="PaymentFormCreditcard.php" hash="b268d26aec4a24756564e61efc0c7bca"/><file name="PaymentFormDirectdebit.php" hash="d3a3e0384aa932972a97bc8f719ff545"/></dir></dir></dir><dir name="Helper"><file name="CustomerHelper.php" hash="5aa5cd0dd7f64764ae047b42fe037539"/><file name="Data.php" hash="8e55041f6bb52f1e142b86dfa486b85e"/><file name="FastCheckoutHelper.php" hash="d8577264d2bd9d60b231e12377b8385c"/><file name="HookHelper.php" hash="7074614ef750704d8df8cbb5cc7aa975"/><file name="LoggingHelper.php" hash="53ea7f4d5c3af8de149a06dbe37ac061"/><file name="OptionHelper.php" hash="6bfe33ab13f87c300c1f4a963e70a670"/><file name="PaymentHelper.php" hash="ecdd8d0f7c3854ddb2df54fa829baa7a"/><file name="RefundHelper.php" hash="64ddf9363deed8fb983eb3fc14bee0f8"/></dir><dir name="Model"><file name="Fastcheckout.php" hash="e3b585d2f3265300f08fa44a4e9ccd7b"/><dir name="Log"><file name="Search.php" hash="0ca873e4779126dabf04a413cf53b619"/></dir><file name="Log.php" hash="0662d814e53bd2eeb6f5c906c16ad971"/><dir name="Method"><file name="MethodModelAbstract.php" hash="42bbdeaa31117d17262ae099e089f385"/><file name="MethodModelCreditcard.php" hash="01750a3ffb74f38e0ca6412f3146751c"/><file name="MethodModelDirectdebit.php" hash="1a8ea1470b76545b7e04e418b0be432f"/></dir><dir name="Mysql4"><dir name="Fastcheckout"><file name="Collection.php" hash="14d4aa413ec952fd2452f08ab2a208f6"/></dir><file name="Fastcheckout.php" hash="9b19c307417862938442ddd6789f2b43"/><dir name="Log"><file name="Collection.php" hash="cf4d8fec68a4cc44b2e47bf69e014cf3"/></dir><file name="Log.php" hash="bdf0bf498c1214955e20e72185e5320f"/></dir><file name="Observer.php" hash="668f2cb3667c4d690da79ef1149cd5ab"/><dir name="Source"><dir name="Creditcard"><file name="Creditcards.php" hash="03c3a75891b3883f2c97c2b06160f52c"/></dir><file name="Hooks.php" hash="65042602cd494a4842a4d0d61188113a"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="HookController.php" hash="e8fb264f19b652b64f4e1fb3e74d9944"/><file name="LogController.php" hash="e75064047b35896e57ac8e564bd0ff5a"/></dir><file name="HookController.php" hash="62952686435524168e176fb232c45bc6"/><file name="TokenController.php" hash="8b606f0728fd556a6180ebeb042dbf13"/></dir><dir name="etc"><file name="adminhtml.xml" hash="12f6a03b55bd9f65daae785b31fe0ca5"/><file name="config.xml" hash="39b26d2ebd181a296d3dba774b26d667"/><file name="system.xml" hash="0e29916070ca0142962b6ce58f288fdc"/></dir><dir name="sql"><dir name="paymill_setup"><file name="mysql4-install-3.0.0.php" hash="37e5e1850e143315779e30bd1b45f277"/></dir></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="base"><dir name="default"><dir name="template"><dir name="paymill"><dir><dir name="log"><file name="view.phtml" hash="2d4df28de6e1cb4701963db3d0c0545c"/></dir><dir name="payment"><dir name="info"><file name="creditcard.phtml" hash="8d8f6f828173f145dd3cb29f9770dca9"/><file name="creditcard_pdf.phtml" hash="68febe619bb9918b785dcbb0593c4ebe"/><file name="directdebit.phtml" hash="cd2ea623c0bc54d208f0f30f032da151"/><file name="directdebit_pdf.phtml" hash="5a2e5c36d4f4702e5f9be4b5affe3421"/></dir></dir></dir></dir></dir><dir name="layout"><file name="paymill.xml" hash="4e8dea9280199547d2b3dd96ca90bb53"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="paymill"><dir><dir name="payment"><dir name="form"><file name="creditcard.phtml" hash="f97012161e4b69914c9f1f07ddbd4f77"/><file name="directdebit.phtml" hash="21dbf146de257ca6ab4aafd7bc816a1b"/></dir><dir name="info"><file name="creditcard.phtml" hash="42f875eb1b6e3e6151ddf152ef0bf13a"/><file name="directdebit.phtml" hash="7117525384b82b84fbbbe1f42c52328c"/></dir></dir></dir></dir></dir><dir name="layout"><file name="paymill.xml" hash="81b932339b00b90ed1fa4736c7f85537"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Paymill_Paymill.xml" hash="d36d3af5f5752dcf87517272ddb9af53"/></dir></target><target name="magelocale"><dir name="de_DE"><file name="Paymill_Paymill.csv" hash="eaf2353b41bb71a62cac1393cf7b6d2a"/></dir><dir name="en_GB"><file name="Paymill_Paymill.csv" hash="4c6db84afff830bdcbf1d26269e712b1"/></dir><dir name="en_US"><file name="Paymill_Paymill.csv" hash="4c6db84afff830bdcbf1d26269e712b1"/></dir><dir name="es_ES"><file name="Paymill_Paymill.csv" hash="eed3f7e3064ed2e42511e8e8e543b1b8"/></dir><dir name="de_AT"><file name="Paymill_Paymill.csv" hash="eaf2353b41bb71a62cac1393cf7b6d2a"/></dir><dir name="de_CH"><file name="Paymill_Paymill.csv" hash="eaf2353b41bb71a62cac1393cf7b6d2a"/></dir><dir name="en_AU"><file name="Paymill_Paymill.csv" hash="4c6db84afff830bdcbf1d26269e712b1"/></dir><dir name="en_CA"><file name="Paymill_Paymill.csv" hash="4c6db84afff830bdcbf1d26269e712b1"/></dir><dir name="en_IE"><file name="Paymill_Paymill.csv" hash="4c6db84afff830bdcbf1d26269e712b1"/></dir><dir name="en_NZ"><file name="Paymill_Paymill.csv" hash="4c6db84afff830bdcbf1d26269e712b1"/></dir><dir name="en_ZA"><file name="Paymill_Paymill.csv" hash="4c6db84afff830bdcbf1d26269e712b1"/></dir><dir name="es_AR"><file name="Paymill_Paymill.csv" hash="e640a01398c07d53c8eb388fb8016c17"/></dir><dir name="es_CL"><file name="Paymill_Paymill.csv" hash="eed3f7e3064ed2e42511e8e8e543b1b8"/></dir><dir name="es_CO"><file name="Paymill_Paymill.csv" hash="eed3f7e3064ed2e42511e8e8e543b1b8"/></dir><dir name="es_CR"><file name="Paymill_Paymill.csv" hash="eed3f7e3064ed2e42511e8e8e543b1b8"/></dir><dir name="es_MX"><file name="Paymill_Paymill.csv" hash="eed3f7e3064ed2e42511e8e8e543b1b8"/></dir><dir name="es_PE"><file name="Paymill_Paymill.csv" hash="eed3f7e3064ed2e42511e8e8e543b1b8"/></dir><dir name="es_VE"><file name="Paymill_Paymill.csv" hash="eed3f7e3064ed2e42511e8e8e543b1b8"/></dir><dir name="fr_CA"><file name="Paymill_Paymill.csv" hash="5867e6c29a276a141c344c00283208c6"/></dir><dir name="fr_FR"><file name="Paymill_Paymill.csv" hash="5867e6c29a276a141c344c00283208c6"/></dir><dir name="it_CH"><file name="Paymill_Paymill.csv" hash="0abbc8a86db33ecb6eec67cc0dc6badf"/></dir><dir name="it_IT"><file name="Paymill_Paymill.csv" hash="0abbc8a86db33ecb6eec67cc0dc6badf"/></dir><dir name="pt_BR"><file name="Paymill_Paymill.csv" hash="23e37698bf34cafa56bddd5ddedaad0f"/></dir><dir name="pt_PT"><file name="Paymill_Paymill.csv" hash="23e37698bf34cafa56bddd5ddedaad0f"/></dir></target><target name="mage"><dir name="js"><dir name="paymill"><file name="BrandDetection.js" hash="398d4b916fbbce5e84e6788517a02064"/><file name="Creditcard.js" hash="5cddb80ecb2b8b9701ea197ab428a0e0"/><file name="Elv.js" hash="67b3555e4d51284f5ef7422a7e1aa15c"/><file name="Iban.js" hash="c05a4791a0cc414f2f7cc720fcd665ec"/><file name="Paymill.js" hash="08be54f65ef49950a96e0c84cead8e69"/><file name="PaymillHelper.js" hash="59bc5d786dd201a7530b8e7ce8107bec"/></dir></dir></target><target name="magelib"><dir name="Services"><dir><dir name="Paymill"><dir name="Apiclient"><file name="Curl.php" hash="cce77823a94425aaa2b421e63f130422"/><file name="Interface.php" hash="349309458455e550c562fb17cf23f4a6"/><file name="paymill.crt" hash="51e14b4c734e450402ea2cf73f2aee0f"/></dir><file name="Base.php" hash="141fa330c6894ff15faf413be19bf209"/><file name="Clients.php" hash="c8eb5fe8780f2da7b5eb173a5be43c7f"/><file name="Exception.php" hash="9beffb75d92c0de3c1c7ea5b33930fff"/><file name="LoggingInterface.php" hash="46ebeede1da14b761c54a18aff6c3b79"/><file name="Offers.php" hash="e2dcf9c9a54d9aba16e1caf02b438098"/><file name="PaymentProcessor.php" hash="4ee5f6e16dfdefaa8dc6565cfce2d271"/><file name="Payments.php" hash="d2a6d0679701d100c9e876f88215455c"/><file name="Preauthorizations.php" hash="597f7228584f32ee42d8916ae098b454"/><file name="Refunds.php" hash="e909af53108426a9e178417db850675f"/><file name="Subscriptions.php" hash="b72a31c4041029e08df1d7e85aa7391b"/><file name="Transactions.php" hash="382c12f290752b7c50e2001cdf5cd4a8"/><file name="Webhooks.php" hash="5fd2e6baf7bb0dc3ad8edb1eab41fb91"/></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="paymill"><file name="logo.css" hash="a0597a469bd0e0354ac4e561621d6584"/></dir></dir><dir name="images"><dir name="paymill"><file name="ajax-loader.gif" hash="07c56b266e277696ee3d9e3ffd627450"/><file name="icon_32x20_amex.png" hash="42c5fb43b4b603804b50da9761927d40"/><file name="icon_32x20_carta-si.png" hash="236ea747b59067b1d25cdc317e52aae5"/><file name="icon_32x20_carte-bleue.png" hash="187f19af694d83bd745c278845c3b3cd"/><file name="icon_32x20_china-unionpay.png" hash="6c9d16d6c65c0da5ff11e8ae13b01d15"/><file name="icon_32x20_dankort.png" hash="938df2f2100d1182dfdd677eb6a0bded"/><file name="icon_32x20_diners-club.png" hash="0a7a8fc8f679ccf05d91298c9968629c"/><file name="icon_32x20_dinersclub.png" hash="0a7a8fc8f679ccf05d91298c9968629c"/><file name="icon_32x20_discover.png" hash="4fe8ef419087bed97cddbdeb251b847c"/><file name="icon_32x20_jcb.png" hash="774a040f938c5566fa3fddfa840d4743"/><file name="icon_32x20_maestro.png" hash="a6ffd22c9bbedb603449e2aa6136dbd1"/><file name="icon_32x20_mastercard.png" hash="09aef6dcbc50038605b7c0e5a38eb76e"/><file name="icon_32x20_unionpay.png" hash="6c9d16d6c65c0da5ff11e8ae13b01d15"/><file name="icon_32x20_visa.png" hash="e6d54e5c0120202eb5757bcfe499d73b"/><file name="icon_paymill.png" hash="303983a288b45cc7ddc5b88ad2eedd51"/></dir></dir></dir></dir></dir></target></contents>
|
| 21 |
<compatible/>
|
| 22 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
| 23 |
</package>
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>Paymill_Paymill</name>
|
| 4 |
+
<version>4.0.0</version>
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license>Open Software License</license>
|
| 7 |
<channel>community</channel>
|
| 13 |
<br /><br />
|
| 14 |
IMPORTANT: Only use the latest version.
|
| 15 |
</description>
|
| 16 |
+
<notes>* Integration of PayFrame to enable use of SAQ A for easier PCI DSS 3.0 compliance.</notes>
|
| 17 |
<authors><author><name>PayIntelligent</name><user>Paymill</user><email>community@paymill.de</email></author></authors>
|
| 18 |
+
<date>2015-07-21</date>
|
| 19 |
+
<time>11:57:27</time>
|
| 20 |
+
<contents><target name="magecommunity"><dir name="Paymill"><dir><dir name="Paymill"><dir name="Block"><dir name="Adminhtml"><dir name="Hook"><dir name="Edit"><file name="Form.php" hash="8e0928b3c817110cae53c179132d679a"/></dir><file name="Edit.php" hash="3201ba9db687f8993f893b4c22123cf4"/><file name="Grid.php" hash="1926f09019fc80dacead18055380c128"/></dir><file name="Hook.php" hash="1f8318e93fca93cfd0cdcb9c4b36c9c8"/><dir name="Log"><file name="Grid.php" hash="7d74f94403297eeb551272ad5c94513f"/><dir name="View"><file name="Plane.php" hash="179e10aea0213d2caed595ae9111b993"/><file name="Tabs.php" hash="d16d9748921a34067242eaf92d6f299e"/></dir><file name="View.php" hash="af850dd16c3e7505a69a6cb3ca3fbc27"/></dir><file name="Log.php" hash="02930fb46a2a4569176ceb29c45037e8"/></dir><dir name="Payment"><dir name="Form"><file name="PaymentFormAbstract.php" hash="d1cffc7f4319b8d311e9ae8725a1df15"/><file name="PaymentFormCreditcard.php" hash="320c7d214ddebc732baf7228e1855520"/><file name="PaymentFormDirectdebit.php" hash="ea9ab99268994373866162d432d27556"/></dir><dir name="Info"><file name="PaymentFormCreditcard.php" hash="b268d26aec4a24756564e61efc0c7bca"/><file name="PaymentFormDirectdebit.php" hash="d3a3e0384aa932972a97bc8f719ff545"/></dir></dir></dir><dir name="Helper"><file name="CustomerHelper.php" hash="5aa5cd0dd7f64764ae047b42fe037539"/><file name="Data.php" hash="8e55041f6bb52f1e142b86dfa486b85e"/><file name="FastCheckoutHelper.php" hash="d8577264d2bd9d60b231e12377b8385c"/><file name="HookHelper.php" hash="7074614ef750704d8df8cbb5cc7aa975"/><file name="LoggingHelper.php" hash="53ea7f4d5c3af8de149a06dbe37ac061"/><file name="OptionHelper.php" hash="ccb5767eaab691cadb930c081cbbd6f6"/><file name="PaymentHelper.php" hash="ecdd8d0f7c3854ddb2df54fa829baa7a"/><file name="RefundHelper.php" hash="64ddf9363deed8fb983eb3fc14bee0f8"/></dir><dir name="Model"><file name="Fastcheckout.php" hash="e3b585d2f3265300f08fa44a4e9ccd7b"/><dir name="Log"><file name="Search.php" hash="0ca873e4779126dabf04a413cf53b619"/></dir><file name="Log.php" hash="0662d814e53bd2eeb6f5c906c16ad971"/><dir name="Method"><file name="MethodModelAbstract.php" hash="42c68d0d909101c369e138ce1bcc36b4"/><file name="MethodModelCreditcard.php" hash="01750a3ffb74f38e0ca6412f3146751c"/><file name="MethodModelDirectdebit.php" hash="1a8ea1470b76545b7e04e418b0be432f"/></dir><dir name="Mysql4"><dir name="Fastcheckout"><file name="Collection.php" hash="14d4aa413ec952fd2452f08ab2a208f6"/></dir><file name="Fastcheckout.php" hash="9b19c307417862938442ddd6789f2b43"/><dir name="Log"><file name="Collection.php" hash="cf4d8fec68a4cc44b2e47bf69e014cf3"/></dir><file name="Log.php" hash="bdf0bf498c1214955e20e72185e5320f"/></dir><file name="Observer.php" hash="668f2cb3667c4d690da79ef1149cd5ab"/><dir name="Source"><dir name="Creditcard"><file name="Creditcards.php" hash="03c3a75891b3883f2c97c2b06160f52c"/><file name="Pci.php" hash="64a9f90f8f1e0966160ad54b05d5c8e1"/></dir><file name="Hooks.php" hash="65042602cd494a4842a4d0d61188113a"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="HookController.php" hash="e8fb264f19b652b64f4e1fb3e74d9944"/><file name="LogController.php" hash="e75064047b35896e57ac8e564bd0ff5a"/></dir><file name="HookController.php" hash="62952686435524168e176fb232c45bc6"/><file name="TokenController.php" hash="8b606f0728fd556a6180ebeb042dbf13"/></dir><dir name="etc"><file name="adminhtml.xml" hash="12f6a03b55bd9f65daae785b31fe0ca5"/><file name="config.xml" hash="760423a618c46ec8d176dd29ac679501"/><file name="system.xml" hash="b91a1c8fbecee13892b3188e96ea3041"/></dir><dir name="sql"><dir name="paymill_setup"><file name="mysql4-install-3.0.0.php" hash="37e5e1850e143315779e30bd1b45f277"/></dir></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="base"><dir name="default"><dir name="template"><dir name="paymill"><dir><dir name="log"><file name="view.phtml" hash="2d4df28de6e1cb4701963db3d0c0545c"/></dir><dir name="payment"><dir name="info"><file name="creditcard.phtml" hash="8d8f6f828173f145dd3cb29f9770dca9"/><file name="creditcard_pdf.phtml" hash="68febe619bb9918b785dcbb0593c4ebe"/><file name="directdebit.phtml" hash="cd2ea623c0bc54d208f0f30f032da151"/><file name="directdebit_pdf.phtml" hash="5a2e5c36d4f4702e5f9be4b5affe3421"/></dir></dir></dir></dir></dir><dir name="layout"><file name="paymill.xml" hash="4e8dea9280199547d2b3dd96ca90bb53"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="paymill"><dir><dir name="payment"><dir name="form"><file name="creditcard.phtml" hash="21125c1817c7b89028d1c8a97d7c12fe"/><file name="creditcard_form.phtml" hash="7bd8f77cc86e7f660fdb6ee88a15776e"/><file name="directdebit.phtml" hash="f6c3b1b073937f60f21ed0e9f589748b"/></dir><dir name="info"><file name="creditcard.phtml" hash="42f875eb1b6e3e6151ddf152ef0bf13a"/><file name="directdebit.phtml" hash="7117525384b82b84fbbbe1f42c52328c"/></dir></dir></dir></dir></dir><dir name="layout"><file name="paymill.xml" hash="8eb76edb5966445f13ee410e64c83f31"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Paymill_Paymill.xml" hash="d36d3af5f5752dcf87517272ddb9af53"/></dir></target><target name="magelocale"><dir name="de_DE"><file name="Paymill_Paymill.csv" hash="4556293c885ac268abed7cdfb2358c82"/></dir><dir name="en_GB"><file name="Paymill_Paymill.csv" hash="7de48e97650e8f90bf9b0f6143192454"/></dir><dir name="en_US"><file name="Paymill_Paymill.csv" hash="7de48e97650e8f90bf9b0f6143192454"/></dir><dir name="es_ES"><file name="Paymill_Paymill.csv" hash="d8eea7061d03482df776bd6cbf7f9616"/></dir><dir name="de_AT"><file name="Paymill_Paymill.csv" hash="4556293c885ac268abed7cdfb2358c82"/></dir><dir name="de_CH"><file name="Paymill_Paymill.csv" hash="4556293c885ac268abed7cdfb2358c82"/></dir><dir name="en_AU"><file name="Paymill_Paymill.csv" hash="7de48e97650e8f90bf9b0f6143192454"/></dir><dir name="en_CA"><file name="Paymill_Paymill.csv" hash="7de48e97650e8f90bf9b0f6143192454"/></dir><dir name="en_IE"><file name="Paymill_Paymill.csv" hash="7de48e97650e8f90bf9b0f6143192454"/></dir><dir name="en_NZ"><file name="Paymill_Paymill.csv" hash="7de48e97650e8f90bf9b0f6143192454"/></dir><dir name="en_ZA"><file name="Paymill_Paymill.csv" hash="7de48e97650e8f90bf9b0f6143192454"/></dir><dir name="es_AR"><file name="Paymill_Paymill.csv" hash="4ba3c0da9abac5c8a4f511bf027733fa"/></dir><dir name="es_CL"><file name="Paymill_Paymill.csv" hash="d8eea7061d03482df776bd6cbf7f9616"/></dir><dir name="es_CO"><file name="Paymill_Paymill.csv" hash="d8eea7061d03482df776bd6cbf7f9616"/></dir><dir name="es_CR"><file name="Paymill_Paymill.csv" hash="d8eea7061d03482df776bd6cbf7f9616"/></dir><dir name="es_MX"><file name="Paymill_Paymill.csv" hash="d8eea7061d03482df776bd6cbf7f9616"/></dir><dir name="es_PE"><file name="Paymill_Paymill.csv" hash="d8eea7061d03482df776bd6cbf7f9616"/></dir><dir name="es_VE"><file name="Paymill_Paymill.csv" hash="d8eea7061d03482df776bd6cbf7f9616"/></dir><dir name="fr_CA"><file name="Paymill_Paymill.csv" hash="ac53bb84ecfe97efa2501398a13dc3b7"/></dir><dir name="fr_FR"><file name="Paymill_Paymill.csv" hash="ac53bb84ecfe97efa2501398a13dc3b7"/></dir><dir name="it_CH"><file name="Paymill_Paymill.csv" hash="251f51db178ee81156bea84a5e7772c1"/></dir><dir name="it_IT"><file name="Paymill_Paymill.csv" hash="251f51db178ee81156bea84a5e7772c1"/></dir><dir name="pt_BR"><file name="Paymill_Paymill.csv" hash="10f73d4da969cb2cefe3da1a6ce20b76"/></dir><dir name="pt_PT"><file name="Paymill_Paymill.csv" hash="10f73d4da969cb2cefe3da1a6ce20b76"/></dir></target><target name="mage"><dir name="js"><dir name="paymill"><file name="BrandDetection.js" hash="398d4b916fbbce5e84e6788517a02064"/><file name="Creditcard.js" hash="62d856d1e2b71a5ee2ddc2efadf42f7f"/><file name="Elv.js" hash="67b3555e4d51284f5ef7422a7e1aa15c"/><file name="Iban.js" hash="c05a4791a0cc414f2f7cc720fcd665ec"/><file name="Paymill.js" hash="a83536acb19367f1a3da8648e9efe649"/><file name="PaymillHelper.js" hash="59bc5d786dd201a7530b8e7ce8107bec"/><file name="paymentForm.js" hash="48812878cc1ae9edde563dbf1feaf671"/></dir></dir></target><target name="magelib"><dir name="Services"><dir><dir name="Paymill"><dir name="Apiclient"><file name="Curl.php" hash="cce77823a94425aaa2b421e63f130422"/><file name="Interface.php" hash="349309458455e550c562fb17cf23f4a6"/><file name="paymill.crt" hash="51e14b4c734e450402ea2cf73f2aee0f"/></dir><file name="Base.php" hash="141fa330c6894ff15faf413be19bf209"/><file name="Clients.php" hash="c8eb5fe8780f2da7b5eb173a5be43c7f"/><file name="Exception.php" hash="9beffb75d92c0de3c1c7ea5b33930fff"/><file name="LoggingInterface.php" hash="46ebeede1da14b761c54a18aff6c3b79"/><file name="Offers.php" hash="e2dcf9c9a54d9aba16e1caf02b438098"/><file name="PaymentProcessor.php" hash="4ee5f6e16dfdefaa8dc6565cfce2d271"/><file name="Payments.php" hash="d2a6d0679701d100c9e876f88215455c"/><file name="Preauthorizations.php" hash="597f7228584f32ee42d8916ae098b454"/><file name="Refunds.php" hash="e909af53108426a9e178417db850675f"/><file name="Subscriptions.php" hash="b72a31c4041029e08df1d7e85aa7391b"/><file name="Transactions.php" hash="382c12f290752b7c50e2001cdf5cd4a8"/><file name="Webhooks.php" hash="5fd2e6baf7bb0dc3ad8edb1eab41fb91"/></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="paymill"><file name="logo.css" hash="a0597a469bd0e0354ac4e561621d6584"/></dir></dir><dir name="images"><dir name="paymill"><file name="ajax-loader.gif" hash="07c56b266e277696ee3d9e3ffd627450"/><file name="icon_32x20_amex.png" hash="42c5fb43b4b603804b50da9761927d40"/><file name="icon_32x20_carta-si.png" hash="236ea747b59067b1d25cdc317e52aae5"/><file name="icon_32x20_carte-bleue.png" hash="187f19af694d83bd745c278845c3b3cd"/><file name="icon_32x20_china-unionpay.png" hash="6c9d16d6c65c0da5ff11e8ae13b01d15"/><file name="icon_32x20_dankort.png" hash="938df2f2100d1182dfdd677eb6a0bded"/><file name="icon_32x20_diners-club.png" hash="0a7a8fc8f679ccf05d91298c9968629c"/><file name="icon_32x20_dinersclub.png" hash="0a7a8fc8f679ccf05d91298c9968629c"/><file name="icon_32x20_discover.png" hash="4fe8ef419087bed97cddbdeb251b847c"/><file name="icon_32x20_jcb.png" hash="774a040f938c5566fa3fddfa840d4743"/><file name="icon_32x20_maestro.png" hash="a6ffd22c9bbedb603449e2aa6136dbd1"/><file name="icon_32x20_mastercard.png" hash="09aef6dcbc50038605b7c0e5a38eb76e"/><file name="icon_32x20_unionpay.png" hash="6c9d16d6c65c0da5ff11e8ae13b01d15"/><file name="icon_32x20_visa.png" hash="e6d54e5c0120202eb5757bcfe499d73b"/><file name="icon_paymill.png" hash="303983a288b45cc7ddc5b88ad2eedd51"/></dir></dir></dir></dir></dir></target></contents>
|
| 21 |
<compatible/>
|
| 22 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
| 23 |
</package>
|
