Version Notes
Hi there, here is the latest release from us.
RELEASE NOTE
Highlights
- Provides a solution for One Step Checkout extensions.
Enhancements
- Refactor and clean up code in Block/Form/Cc.php class and payment/form/omisecc.phtml form
---
For more detail, please check our release note below.
https://github.com/omise/omise-magento/releases/tag/v1.12
Download this release
Release Info
Developer | Omise |
Extension | Omise_Gateway |
Version | 1.12.0 |
Comparing to | |
See all releases |
Code changes from version 1.11.0 to 1.12.0
- app/code/community/Omise/Gateway/Block/Form/Cc.php +24 -47
- app/code/community/Omise/Gateway/Model/Omise.php +1 -1
- app/code/community/Omise/Gateway/Model/PaymentMethod.php +10 -2
- app/code/community/Omise/Gateway/etc/config.xml +2 -1
- app/code/community/Omise/Gateway/etc/system.xml +19 -0
- app/design/frontend/base/default/template/payment/form/omisecc.phtml +284 -195
- package.xml +10 -11
app/code/community/Omise/Gateway/Block/Form/Cc.php
CHANGED
@@ -1,15 +1,23 @@
|
|
1 |
<?php
|
2 |
class Omise_Gateway_Block_Form_Cc extends Mage_Payment_Block_Form
|
3 |
{
|
4 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
{
|
6 |
-
parent::_construct();
|
7 |
-
|
8 |
if ($this->isApplicable()) {
|
9 |
$this->setTemplate('payment/form/omisecc.phtml');
|
10 |
} else {
|
11 |
$this->setTemplate('payment/form/omise-inapplicable-method.phtml');
|
12 |
}
|
|
|
|
|
13 |
}
|
14 |
|
15 |
/**
|
@@ -55,6 +63,16 @@ class Omise_Gateway_Block_Form_Cc extends Mage_Payment_Block_Form
|
|
55 |
return false;
|
56 |
}
|
57 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
/**
|
59 |
* Retrieve Omise keys from database
|
60 |
*
|
@@ -64,14 +82,13 @@ class Omise_Gateway_Block_Form_Cc extends Mage_Payment_Block_Form
|
|
64 |
{
|
65 |
// Create a new model instance and query data from 'omise_gateway' table.
|
66 |
$config = Mage::getModel('omise_gateway/config')->load(1);
|
67 |
-
$data = array(
|
68 |
-
'public_key' => $config->public_key,
|
69 |
-
'secret_key' => $config->secret_key
|
70 |
-
);
|
71 |
|
72 |
if ($config->test_mode) {
|
73 |
$data['public_key'] = $config->public_key_test;
|
74 |
$data['secret_key'] = $config->secret_key_test;
|
|
|
|
|
|
|
75 |
}
|
76 |
|
77 |
if ($omise_key == '') {
|
@@ -142,49 +159,9 @@ class Omise_Gateway_Block_Form_Cc extends Mage_Payment_Block_Form
|
|
142 |
*/
|
143 |
public function hasVerification()
|
144 |
{
|
145 |
-
if ($this->getMethod()) {
|
146 |
-
$configData = $this->getMethod()->getConfigData('useccv');
|
147 |
-
if (is_null($configData)) {
|
148 |
-
return true;
|
149 |
-
}
|
150 |
-
return (bool) $configData;
|
151 |
-
}
|
152 |
return true;
|
153 |
}
|
154 |
|
155 |
-
/**
|
156 |
-
* Whether switch/solo card type available
|
157 |
-
*
|
158 |
-
* @return boolean
|
159 |
-
*/
|
160 |
-
public function hasSsCardType()
|
161 |
-
{
|
162 |
-
$availableTypes = explode(',', $this->getMethod()->getConfigData('cctypes'));
|
163 |
-
$ssPresentations = array_intersect(array('SS', 'SM', 'SO'), $availableTypes);
|
164 |
-
if ($availableTypes && count($ssPresentations) > 0) {
|
165 |
-
return true;
|
166 |
-
}
|
167 |
-
return false;
|
168 |
-
}
|
169 |
-
|
170 |
-
/**
|
171 |
-
* solo/ switch card start year
|
172 |
-
*
|
173 |
-
* @return array
|
174 |
-
*/
|
175 |
-
public function getSsStartYears()
|
176 |
-
{
|
177 |
-
$years = array();
|
178 |
-
$first = date("Y");
|
179 |
-
|
180 |
-
for ($index = 5; $index >= 0; $index--) {
|
181 |
-
$year = $first - $index;
|
182 |
-
$years[$year] = $year;
|
183 |
-
}
|
184 |
-
$years = array(0 => $this->__('Year')) + $years;
|
185 |
-
return $years;
|
186 |
-
}
|
187 |
-
|
188 |
/**
|
189 |
* Render block HTML
|
190 |
*
|
1 |
<?php
|
2 |
class Omise_Gateway_Block_Form_Cc extends Mage_Payment_Block_Form
|
3 |
{
|
4 |
+
/**
|
5 |
+
* Preparing global layout
|
6 |
+
* You can redefine this method in child classes for changing layout
|
7 |
+
*
|
8 |
+
* @return Mage_Core_Block_Abstract
|
9 |
+
*
|
10 |
+
* @see Mage_Core_Block_Abstract
|
11 |
+
*/
|
12 |
+
protected function _prepareLayout()
|
13 |
{
|
|
|
|
|
14 |
if ($this->isApplicable()) {
|
15 |
$this->setTemplate('payment/form/omisecc.phtml');
|
16 |
} else {
|
17 |
$this->setTemplate('payment/form/omise-inapplicable-method.phtml');
|
18 |
}
|
19 |
+
|
20 |
+
return $this;
|
21 |
}
|
22 |
|
23 |
/**
|
63 |
return false;
|
64 |
}
|
65 |
|
66 |
+
/**
|
67 |
+
* Whether the One Step Checkout Support option is enabled
|
68 |
+
*
|
69 |
+
* @return bool
|
70 |
+
*/
|
71 |
+
public function isOscSupportEnabled()
|
72 |
+
{
|
73 |
+
return Mage::getModel('omise_gateway/paymentMethod')->isOscSupportEnabled();
|
74 |
+
}
|
75 |
+
|
76 |
/**
|
77 |
* Retrieve Omise keys from database
|
78 |
*
|
82 |
{
|
83 |
// Create a new model instance and query data from 'omise_gateway' table.
|
84 |
$config = Mage::getModel('omise_gateway/config')->load(1);
|
|
|
|
|
|
|
|
|
85 |
|
86 |
if ($config->test_mode) {
|
87 |
$data['public_key'] = $config->public_key_test;
|
88 |
$data['secret_key'] = $config->secret_key_test;
|
89 |
+
} else {
|
90 |
+
$data['public_key'] = $config->public_key;
|
91 |
+
$data['secret_key'] = $config->secret_key;
|
92 |
}
|
93 |
|
94 |
if ($omise_key == '') {
|
159 |
*/
|
160 |
public function hasVerification()
|
161 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
162 |
return true;
|
163 |
}
|
164 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
165 |
/**
|
166 |
* Render block HTML
|
167 |
*
|
app/code/community/Omise/Gateway/Model/Omise.php
CHANGED
@@ -105,7 +105,7 @@ class Omise_Gateway_Model_Omise extends Mage_Core_Model_Abstract
|
|
105 |
public function defineUserAgent()
|
106 |
{
|
107 |
if (! defined('OMISE_USER_AGENT_SUFFIX')) {
|
108 |
-
define('OMISE_USER_AGENT_SUFFIX', 'OmiseMagento/1.
|
109 |
}
|
110 |
}
|
111 |
|
105 |
public function defineUserAgent()
|
106 |
{
|
107 |
if (! defined('OMISE_USER_AGENT_SUFFIX')) {
|
108 |
+
define('OMISE_USER_AGENT_SUFFIX', 'OmiseMagento/1.12 Magento/' . Mage::getVersion());
|
109 |
}
|
110 |
}
|
111 |
|
app/code/community/Omise/Gateway/Model/PaymentMethod.php
CHANGED
@@ -242,14 +242,14 @@ class Omise_Gateway_Model_PaymentMethod extends Omise_Gateway_Model_Payment
|
|
242 |
|
243 |
if (is_array($data)) {
|
244 |
if (! isset($data['omise_token'])) {
|
245 |
-
Mage::throwException(Mage::helper('payment')->__('
|
246 |
}
|
247 |
|
248 |
Mage::log('Data that assign is Array');
|
249 |
$this->getInfoInstance()->setAdditionalInformation('omise_token', $data['omise_token']);
|
250 |
} elseif ($data instanceof Varien_Object) {
|
251 |
if (! $data->getData('omise_token')) {
|
252 |
-
Mage::throwException(Mage::helper('payment')->__('
|
253 |
}
|
254 |
|
255 |
Mage::log('Data that assign is Object');
|
@@ -319,4 +319,12 @@ class Omise_Gateway_Model_PaymentMethod extends Omise_Gateway_Model_Payment
|
|
319 |
)
|
320 |
);
|
321 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
322 |
}
|
242 |
|
243 |
if (is_array($data)) {
|
244 |
if (! isset($data['omise_token'])) {
|
245 |
+
Mage::throwException(Mage::helper('payment')->__('Cannot retrieve your credit card information. Please make sure that you put a proper card information or contact our support team if you have any questions.'));
|
246 |
}
|
247 |
|
248 |
Mage::log('Data that assign is Array');
|
249 |
$this->getInfoInstance()->setAdditionalInformation('omise_token', $data['omise_token']);
|
250 |
} elseif ($data instanceof Varien_Object) {
|
251 |
if (! $data->getData('omise_token')) {
|
252 |
+
Mage::throwException(Mage::helper('payment')->__('Cannot retrieve your credit card information. Please make sure that you put a proper card information or contact our support team if you have any questions.'));
|
253 |
}
|
254 |
|
255 |
Mage::log('Data that assign is Object');
|
319 |
)
|
320 |
);
|
321 |
}
|
322 |
+
|
323 |
+
/**
|
324 |
+
* @return bool
|
325 |
+
*/
|
326 |
+
public function isOscSupportEnabled()
|
327 |
+
{
|
328 |
+
return Mage::getStoreConfig('payment/omise_gateway/osc_support') ? true : false;
|
329 |
+
}
|
330 |
}
|
app/code/community/Omise/Gateway/etc/config.xml
CHANGED
@@ -14,7 +14,7 @@
|
|
14 |
-->
|
15 |
<modules>
|
16 |
<Omise_Gateway>
|
17 |
-
<version>1.
|
18 |
</Omise_Gateway>
|
19 |
</modules>
|
20 |
|
@@ -108,6 +108,7 @@
|
|
108 |
<model>omise_gateway/paymentMethod</model>
|
109 |
<cctypes>VI,MC</cctypes>
|
110 |
<title>Credit Card (Powered by Omise)</title>
|
|
|
111 |
</omise_gateway>
|
112 |
|
113 |
<omise_offsite_internet_banking>
|
14 |
-->
|
15 |
<modules>
|
16 |
<Omise_Gateway>
|
17 |
+
<version>1.12.0</version>
|
18 |
</Omise_Gateway>
|
19 |
</modules>
|
20 |
|
108 |
<model>omise_gateway/paymentMethod</model>
|
109 |
<cctypes>VI,MC</cctypes>
|
110 |
<title>Credit Card (Powered by Omise)</title>
|
111 |
+
<osc_support>0</osc_support>
|
112 |
</omise_gateway>
|
113 |
|
114 |
<omise_offsite_internet_banking>
|
app/code/community/Omise/Gateway/etc/system.xml
CHANGED
@@ -79,6 +79,25 @@
|
|
79 |
<show_in_website>1</show_in_website>
|
80 |
<show_in_store>0</show_in_store>
|
81 |
</cctypes>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
</fields>
|
83 |
</omise_gateway>
|
84 |
|
79 |
<show_in_website>1</show_in_website>
|
80 |
<show_in_store>0</show_in_store>
|
81 |
</cctypes>
|
82 |
+
|
83 |
+
<osc_header translate="label">
|
84 |
+
<label>One Step Checkout</label>
|
85 |
+
<frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
|
86 |
+
<sort_order>7</sort_order>
|
87 |
+
<show_in_default>1</show_in_default>
|
88 |
+
<show_in_website>1</show_in_website>
|
89 |
+
<show_in_store>0</show_in_store>
|
90 |
+
</osc_header>
|
91 |
+
|
92 |
+
<osc_support translate="label">
|
93 |
+
<label>One Step Checkout Support</label>
|
94 |
+
<frontend_type>select</frontend_type>
|
95 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
96 |
+
<sort_order>8</sort_order>
|
97 |
+
<show_in_default>1</show_in_default>
|
98 |
+
<show_in_website>1</show_in_website>
|
99 |
+
<show_in_store>0</show_in_store>
|
100 |
+
</osc_support>
|
101 |
</fields>
|
102 |
</omise_gateway>
|
103 |
|
app/design/frontend/base/default/template/payment/form/omisecc.phtml
CHANGED
@@ -1,122 +1,4 @@
|
|
1 |
-
|
2 |
-
function getScript(url, success) {
|
3 |
-
var script = document.createElement("script");
|
4 |
-
script.src = url;
|
5 |
-
|
6 |
-
var head = document.getElementsByTagName("head")[0],
|
7 |
-
done = false;
|
8 |
-
|
9 |
-
// Attach handlers for all browsers
|
10 |
-
script.onload = script.onreadystatechange = function() {
|
11 |
-
if (! done && (!this.readyState || this.readyState == "loaded" || this.readyState == "complete")) {
|
12 |
-
done = true;
|
13 |
-
|
14 |
-
// callback function provided as param
|
15 |
-
success();
|
16 |
-
|
17 |
-
script.onload = script.onreadystatechange = null;
|
18 |
-
head.removeChild(script);
|
19 |
-
};
|
20 |
-
};
|
21 |
-
|
22 |
-
head.appendChild(script);
|
23 |
-
};
|
24 |
-
|
25 |
-
// Hook Payment.save function by wrapping Omise logic on top of the 'Payment.prototype.save'
|
26 |
-
Payment.prototype.save = Payment.prototype.save.wrap(function(superMethod) {
|
27 |
-
var omisePayment = document.getElementById("p_method_omise_gateway");
|
28 |
-
|
29 |
-
if (! omisePayment.checked) {
|
30 |
-
return superMethod();
|
31 |
-
}
|
32 |
-
|
33 |
-
var validator = new Validation("co-payment-form");
|
34 |
-
|
35 |
-
if (validator.validate()) {
|
36 |
-
checkout.setLoadWaiting('payment');
|
37 |
-
|
38 |
-
getScript("https://cdn.omise.co/omise.min.js.gz", function() {
|
39 |
-
// Set Omise key
|
40 |
-
Omise.setPublicKey("<?php echo $this->getOmiseKeys('public_key'); ?>");
|
41 |
-
|
42 |
-
var formInput = {
|
43 |
-
"name" : document.getElementById("omise_gateway_cc_name"),
|
44 |
-
"number" : document.getElementById("omise_gateway_cc_number"),
|
45 |
-
"expiration_month" : document.getElementById("omise_gateway_expiration"),
|
46 |
-
"expiration_year" : document.getElementById("omise_gateway_expiration_yr"),
|
47 |
-
"security_code" : document.getElementById("omise_gateway_cc_cid"),
|
48 |
-
"omise_token" : document.getElementById("omise_gateway_token")
|
49 |
-
},
|
50 |
-
omiseValidationAdvice = document.getElementById("omise-validation-advice");
|
51 |
-
|
52 |
-
var card = {
|
53 |
-
"name" : formInput.name.value,
|
54 |
-
"number" : formInput.number.value,
|
55 |
-
"expiration_month" : formInput.expiration_month.value,
|
56 |
-
"expiration_year" : formInput.expiration_year.value,
|
57 |
-
"security_code" : formInput.security_code.value
|
58 |
-
};
|
59 |
-
|
60 |
-
/**
|
61 |
-
* Send a request to create a token then trigger the callback function once
|
62 |
-
* a response is received from Omise.
|
63 |
-
*
|
64 |
-
* Note that the response could be an error and this needs to be handled within
|
65 |
-
* the callback.
|
66 |
-
*/
|
67 |
-
Omise.createToken("card", card, function(statusCode, response) {
|
68 |
-
if (response.object == "error") {
|
69 |
-
omiseValidationAdvice.innerHTML = response.message;
|
70 |
-
checkout.setLoadWaiting(false);
|
71 |
-
} else if (typeof response.card != 'undefined' && !response.card.security_code_check) {
|
72 |
-
omiseValidationAdvice.innerHTML = 'This card cannot authorize, please contact our support.';
|
73 |
-
checkout.setLoadWaiting(false);
|
74 |
-
} else {
|
75 |
-
formInput.omise_token.value = response.id;
|
76 |
-
|
77 |
-
formInput.name.disabled = true;
|
78 |
-
formInput.number.disabled = true;
|
79 |
-
formInput.expiration_month.disabled = true;
|
80 |
-
formInput.expiration_year.disabled = true;
|
81 |
-
formInput.security_code.disabled = true;
|
82 |
-
|
83 |
-
checkout.setLoadWaiting(false);
|
84 |
-
return superMethod();
|
85 |
-
};
|
86 |
-
});
|
87 |
-
});
|
88 |
-
}
|
89 |
-
});
|
90 |
-
</script>
|
91 |
-
|
92 |
-
<?php
|
93 |
-
/**
|
94 |
-
* Magento
|
95 |
-
*
|
96 |
-
* NOTICE OF LICENSE
|
97 |
-
*
|
98 |
-
* This source file is subject to the Academic Free License (AFL 3.0)
|
99 |
-
* that is bundled with this package in the file LICENSE_AFL.txt.
|
100 |
-
* It is also available through the world-wide-web at this URL:
|
101 |
-
* http://opensource.org/licenses/afl-3.0.php
|
102 |
-
* If you did not receive a copy of the license and are unable to
|
103 |
-
* obtain it through the world-wide-web, please send an email
|
104 |
-
* to license@magento.com so we can send you a copy immediately.
|
105 |
-
*
|
106 |
-
* DISCLAIMER
|
107 |
-
*
|
108 |
-
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
109 |
-
* versions in the future. If you wish to customize Magento for your
|
110 |
-
* needs please refer to http://www.magento.com for more information.
|
111 |
-
*
|
112 |
-
* @category design
|
113 |
-
* @package base_default
|
114 |
-
* @copyright Copyright (c) 2006-2014 X.commerce, Inc. (http://www.magento.com)
|
115 |
-
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
116 |
-
*/
|
117 |
-
|
118 |
-
$_code = $this->getMethodCode();
|
119 |
-
?>
|
120 |
|
121 |
<ul id="payment_form_<?php echo $_code; ?>" class="form-list" style="display:none;">
|
122 |
|
@@ -151,7 +33,7 @@ $_code = $this->getMethodCode();
|
|
151 |
<em>*</em><?php echo $this->__('Credit Card Holder Name'); ?>
|
152 |
</label>
|
153 |
<div class="input-box">
|
154 |
-
<input id="<?php echo $_code; ?>_cc_name" type="text"
|
155 |
</div>
|
156 |
</li>
|
157 |
|
@@ -161,7 +43,7 @@ $_code = $this->getMethodCode();
|
|
161 |
<em>*</em><?php echo $this->__('Credit Card Number'); ?>
|
162 |
</label>
|
163 |
<div class="input-box">
|
164 |
-
<input id="<?php echo $_code; ?>_cc_number" type="text"
|
165 |
</div>
|
166 |
</li>
|
167 |
|
@@ -172,7 +54,7 @@ $_code = $this->getMethodCode();
|
|
172 |
</label>
|
173 |
<div class="input-box">
|
174 |
<div class="v-fix">
|
175 |
-
<select id="<?php echo $_code; ?>_expiration"
|
176 |
<?php $_ccExpMonth = $this->getInfoData('cc_exp_month'); ?>
|
177 |
<?php foreach ($this->getCcMonths() as $k=>$v): ?>
|
178 |
<option value="<?php echo $k ? $k : ''; ?>"<?php if($k == $_ccExpMonth): ?> selected="selected"<?php endif; ?>><?php echo $v; ?></option>
|
@@ -181,7 +63,7 @@ $_code = $this->getMethodCode();
|
|
181 |
</div>
|
182 |
<div class="v-fix">
|
183 |
<?php $_ccExpYear = $this->getInfoData('cc_exp_year'); ?>
|
184 |
-
<select id="<?php echo $_code; ?>_expiration_yr"
|
185 |
<?php foreach ($this->getCcYears() as $k=>$v): ?>
|
186 |
<option value="<?php echo $k ? $k : ''; ?>"<?php if($k == $_ccExpYear): ?> selected="selected"<?php endif; ?>><?php echo $v; ?></option>
|
187 |
<?php endforeach; ?>
|
@@ -190,79 +72,286 @@ $_code = $this->getMethodCode();
|
|
190 |
</div>
|
191 |
</li>
|
192 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
193 |
<!-- Security Code -->
|
194 |
<?php echo $this->getChildHtml(); ?>
|
|
|
195 |
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
259 |
}
|
260 |
-
}
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php $_code = $this->getMethodCode(); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
<ul id="payment_form_<?php echo $_code; ?>" class="form-list" style="display:none;">
|
4 |
|
33 |
<em>*</em><?php echo $this->__('Credit Card Holder Name'); ?>
|
34 |
</label>
|
35 |
<div class="input-box">
|
36 |
+
<input id="<?php echo $_code; ?>_cc_name" type="text" title="<?php echo $this->__('Credit Card Holder Name'); ?>" value="<?php echo $this->escapeHtml($this->getInfoData('cc_owner')); ?>" class="input-text required-entry" />
|
37 |
</div>
|
38 |
</li>
|
39 |
|
43 |
<em>*</em><?php echo $this->__('Credit Card Number'); ?>
|
44 |
</label>
|
45 |
<div class="input-box">
|
46 |
+
<input id="<?php echo $_code; ?>_cc_number" type="text" title="<?php echo $this->__('Credit Card Number'); ?>" autocomplete="off" value="" class="input-text validate-cc-number validate-cc-type" />
|
47 |
</div>
|
48 |
</li>
|
49 |
|
54 |
</label>
|
55 |
<div class="input-box">
|
56 |
<div class="v-fix">
|
57 |
+
<select id="<?php echo $_code; ?>_expiration" class="month validate-cc-exp required-entry">
|
58 |
<?php $_ccExpMonth = $this->getInfoData('cc_exp_month'); ?>
|
59 |
<?php foreach ($this->getCcMonths() as $k=>$v): ?>
|
60 |
<option value="<?php echo $k ? $k : ''; ?>"<?php if($k == $_ccExpMonth): ?> selected="selected"<?php endif; ?>><?php echo $v; ?></option>
|
63 |
</div>
|
64 |
<div class="v-fix">
|
65 |
<?php $_ccExpYear = $this->getInfoData('cc_exp_year'); ?>
|
66 |
+
<select id="<?php echo $_code; ?>_expiration_yr" class="year required-entry">
|
67 |
<?php foreach ($this->getCcYears() as $k=>$v): ?>
|
68 |
<option value="<?php echo $k ? $k : ''; ?>"<?php if($k == $_ccExpYear): ?> selected="selected"<?php endif; ?>><?php echo $v; ?></option>
|
69 |
<?php endforeach; ?>
|
72 |
</div>
|
73 |
</li>
|
74 |
|
75 |
+
<li id="<?php echo $_code; ?>_cc_type_cvv_div">
|
76 |
+
<label for="<?php echo $_code; ?>_cc_cid" class="required">
|
77 |
+
<em>*</em><?php echo $this->__('Card Verification Number'); ?>
|
78 |
+
</label>
|
79 |
+
<div class="input-box">
|
80 |
+
<div class="v-fix">
|
81 |
+
<input id="<?php echo $_code; ?>_cc_cid" type="password" title="<?php echo $this->__('Card Verification Number'); ?>" autocomplete="off" value="" class="input-text cvv required-entry validate-cc-cvn" />
|
82 |
+
</div>
|
83 |
+
<a href="#" class="cvv-what-is-this"><?php echo $this->__('What is this?'); ?></a>
|
84 |
+
</div>
|
85 |
+
</li>
|
86 |
+
|
87 |
<!-- Security Code -->
|
88 |
<?php echo $this->getChildHtml(); ?>
|
89 |
+
</ul>
|
90 |
|
91 |
+
<script type="text/javascript">
|
92 |
+
var method, messageBox, tokenField, cardObject, card, processing, dirty,
|
93 |
+
buttons, inMemoryButton, getScript, createOmiseToken, successCallback,
|
94 |
+
failCallback, alwaysCallback, disableFields, enableFields;
|
95 |
+
|
96 |
+
method = document.getElementById('p_method_omise_gateway');
|
97 |
+
messageBox = document.getElementById('omise-validation-advice');
|
98 |
+
tokenField = document.getElementById('omise_gateway_token');
|
99 |
+
cardObject = {
|
100 |
+
name : document.getElementById('omise_gateway_cc_name'),
|
101 |
+
number : document.getElementById('omise_gateway_cc_number'),
|
102 |
+
expiration_month : document.getElementById('omise_gateway_expiration'),
|
103 |
+
expiration_year : document.getElementById('omise_gateway_expiration_yr'),
|
104 |
+
security_code : document.getElementById('omise_gateway_cc_cid')
|
105 |
+
};
|
106 |
+
card = {};
|
107 |
+
processing = false;
|
108 |
+
dirty = true;
|
109 |
+
|
110 |
+
/**
|
111 |
+
* @param {string} url
|
112 |
+
* @param {Function} success
|
113 |
+
*
|
114 |
+
* @return {void}
|
115 |
+
*/
|
116 |
+
getScript = function(url, success) {
|
117 |
+
var script, head, done;
|
118 |
+
|
119 |
+
script = document.createElement("script");
|
120 |
+
script.src = url;
|
121 |
+
|
122 |
+
head = document.getElementsByTagName("head")[0];
|
123 |
+
done = false;
|
124 |
+
|
125 |
+
// Attach handlers for all browsers
|
126 |
+
script.onload = script.onreadystatechange = function() {
|
127 |
+
if (! done && (!this.readyState || this.readyState == "loaded" || this.readyState == "complete")) {
|
128 |
+
done = true;
|
129 |
+
|
130 |
+
// callback function provided as param
|
131 |
+
success();
|
132 |
+
|
133 |
+
script.onload = script.onreadystatechange = null;
|
134 |
+
head.removeChild(script);
|
135 |
+
};
|
136 |
+
};
|
137 |
+
|
138 |
+
head.appendChild(script);
|
139 |
+
};
|
140 |
+
|
141 |
+
/**
|
142 |
+
* @return {void}
|
143 |
+
*/
|
144 |
+
createOmiseToken = function() {
|
145 |
+
Omise.setPublicKey("<?php echo $this->getOmiseKeys('public_key'); ?>");
|
146 |
+
|
147 |
+
Omise.createToken("card", card, function(statusCode, response) {
|
148 |
+
if (statusCode == 200) {
|
149 |
+
successCallback(statusCode, response);
|
150 |
+
}
|
151 |
+
else {
|
152 |
+
failCallback(statusCode, response);
|
153 |
+
}
|
154 |
+
|
155 |
+
alwaysCallback(statusCode, response);
|
156 |
+
});
|
157 |
+
}
|
158 |
+
|
159 |
+
/**
|
160 |
+
* @param {number} statusCode
|
161 |
+
* @param {Object} response
|
162 |
+
*
|
163 |
+
* @return {mix}
|
164 |
+
*/
|
165 |
+
successCallback = function(statusCode, response) {
|
166 |
+
tokenField.value = response.id;
|
167 |
+
}
|
168 |
+
|
169 |
+
/**
|
170 |
+
* @param {number} statusCode
|
171 |
+
* @param {Object} response
|
172 |
+
*
|
173 |
+
* @return {mix}
|
174 |
+
*/
|
175 |
+
failCallback = function(statusCode, response) {
|
176 |
+
messageBox.innerHTML = response.message;
|
177 |
+
}
|
178 |
+
|
179 |
+
/**
|
180 |
+
* @param {number} statusCode
|
181 |
+
* @param {Object} response
|
182 |
+
*
|
183 |
+
* @return {mix}
|
184 |
+
*/
|
185 |
+
alwaysCallback = function(statusCode, response) {
|
186 |
+
return true;
|
187 |
+
}
|
188 |
+
|
189 |
+
/**
|
190 |
+
* @param {Object} fields
|
191 |
+
*
|
192 |
+
* @return {void}
|
193 |
+
*/
|
194 |
+
disableFields = function(fields) {
|
195 |
+
for (field in fields) {
|
196 |
+
fields[field].disabled = true;
|
197 |
+
}
|
198 |
+
}
|
199 |
+
|
200 |
+
/**
|
201 |
+
* @param {Object} fields
|
202 |
+
*
|
203 |
+
* @return {void}
|
204 |
+
*/
|
205 |
+
enableFields = function(fields) {
|
206 |
+
for (field in fields) {
|
207 |
+
fields[field].disabled = false;
|
208 |
+
}
|
209 |
+
}
|
210 |
+
|
211 |
+
if ('<?php echo $this->isOscSupportEnabled(); ?>') {
|
212 |
+
var observeForm;
|
213 |
+
|
214 |
+
/**
|
215 |
+
* @param {number} statusCode
|
216 |
+
* @param {Object} response
|
217 |
+
*
|
218 |
+
* @return {mix}
|
219 |
+
*/
|
220 |
+
successCallback = function(statusCode, response) {
|
221 |
+
if (typeof response.card != 'undefined' && !response.card.security_code_check) {
|
222 |
+
messageBox.innerHTML = 'This card cannot be authorized, security code is invalid.';
|
223 |
+
}
|
224 |
+
else {
|
225 |
+
tokenField.value = response.id;
|
226 |
+
}
|
227 |
+
}
|
228 |
+
|
229 |
+
/**
|
230 |
+
* @param {number} statusCode
|
231 |
+
* @param {Object} response
|
232 |
+
*
|
233 |
+
* @return {mix}
|
234 |
+
*/
|
235 |
+
alwaysCallback = function(statusCode, response) {
|
236 |
+
var i;
|
237 |
+
|
238 |
+
for (i = 0; i < inMemoryButton.length; ++i) {
|
239 |
+
inMemoryButton[i].disabled = false;
|
240 |
+
}
|
241 |
+
|
242 |
+
processing = false;
|
243 |
+
dirty = false;
|
244 |
+
enableFields(cardObject);
|
245 |
+
}
|
246 |
+
|
247 |
+
/**
|
248 |
+
* @param {Object} event
|
249 |
+
*
|
250 |
+
* @return {mix}
|
251 |
+
*/
|
252 |
+
observeForm = function(event) {
|
253 |
+
event.preventDefault();
|
254 |
+
|
255 |
+
for (key in cardObject) {
|
256 |
+
if (card[key] && card[key] != cardObject[key].value) {
|
257 |
+
dirty = true;
|
258 |
+
tokenField.value = '';
|
259 |
+
}
|
260 |
+
|
261 |
+
if (cardObject[key].value == '') {
|
262 |
+
return false;
|
263 |
+
}
|
264 |
+
|
265 |
+
card[key] = cardObject[key].value;
|
266 |
+
}
|
267 |
+
|
268 |
+
if (! processing && dirty) {
|
269 |
+
var i;
|
270 |
+
|
271 |
+
processing = true;
|
272 |
+
buttons = document.getElementsByTagName('button');
|
273 |
+
inMemoryButton = [];
|
274 |
+
messageBox.innerHTML = '';
|
275 |
+
|
276 |
+
disableFields(cardObject);
|
277 |
+
|
278 |
+
for (i = 0; i < buttons.length; ++i) {
|
279 |
+
if (! buttons[i].disabled) {
|
280 |
+
buttons[i].disabled = true;
|
281 |
+
inMemoryButton.push(buttons[i]);
|
282 |
}
|
283 |
+
}
|
284 |
+
|
285 |
+
if (typeof Omise === 'undefined') {
|
286 |
+
getScript('https://cdn.omise.co/omise.min.js.gz', createOmiseToken);
|
287 |
+
}
|
288 |
+
else {
|
289 |
+
createOmiseToken();
|
290 |
+
}
|
291 |
+
}
|
292 |
+
}
|
293 |
+
|
294 |
+
cardObject.name.addEventListener('blur', observeForm);
|
295 |
+
cardObject.number.addEventListener('blur', observeForm);
|
296 |
+
cardObject.expiration_month.addEventListener('blur', observeForm);
|
297 |
+
cardObject.expiration_year.addEventListener('blur', observeForm);
|
298 |
+
cardObject.security_code.addEventListener('blur', observeForm);
|
299 |
+
}
|
300 |
+
else {
|
301 |
+
// Hook Payment.save function by wrapping Omise logic on top of the 'Payment.prototype.save'
|
302 |
+
Payment.prototype.save = Payment.prototype.save.wrap(function(superMethod) {
|
303 |
+
var validator;
|
304 |
+
|
305 |
+
if (! method.checked) {
|
306 |
+
return superMethod();
|
307 |
+
}
|
308 |
+
|
309 |
+
/**
|
310 |
+
* @param {number} statusCode
|
311 |
+
* @param {Object} response
|
312 |
+
*
|
313 |
+
* @return {mix}
|
314 |
+
*/
|
315 |
+
successCallback = function(statusCode, response) {
|
316 |
+
if (typeof response.card != 'undefined' && !response.card.security_code_check) {
|
317 |
+
messageBox.innerHTML = 'This card cannot be authorized, security code is invalid.';
|
318 |
+
}
|
319 |
+
else {
|
320 |
+
tokenField.value = response.id;
|
321 |
+
checkout.setLoadWaiting(false);
|
322 |
+
|
323 |
+
return superMethod();
|
324 |
+
}
|
325 |
+
}
|
326 |
+
|
327 |
+
/**
|
328 |
+
* @param {number} statusCode
|
329 |
+
* @param {Object} response
|
330 |
+
*
|
331 |
+
* @return {mix}
|
332 |
+
*/
|
333 |
+
alwaysCallback = function(statusCode, response) {
|
334 |
+
enableFields(cardObject);
|
335 |
+
checkout.setLoadWaiting(false);
|
336 |
+
}
|
337 |
+
|
338 |
+
validator = new Validation('co-payment-form');
|
339 |
+
|
340 |
+
if (validator.validate()) {
|
341 |
+
checkout.setLoadWaiting('payment');
|
342 |
+
disableFields(cardObject);
|
343 |
+
|
344 |
+
for (key in cardObject) {
|
345 |
+
card[key] = cardObject[key].value;
|
346 |
+
}
|
347 |
+
|
348 |
+
if (typeof Omise === 'undefined') {
|
349 |
+
getScript('https://cdn.omise.co/omise.min.js.gz', createOmiseToken);
|
350 |
+
}
|
351 |
+
else {
|
352 |
+
createOmiseToken();
|
353 |
+
}
|
354 |
+
}
|
355 |
+
});
|
356 |
+
}
|
357 |
+
</script>
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Omise_Gateway</name>
|
4 |
-
<version>1.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.opensource.org/licenses/mit-license.php">MIT License</license>
|
7 |
<channel>community</channel>
|
@@ -44,23 +44,22 @@ Please check the following link to see "Installation Instruction" & "User Gu
|
|
44 |

|
45 |
<h1>RELEASE NOTE</h1>
|
46 |

|
47 |
-
<strong>
|
48 |

|
49 |
-
-
|
50 |

|
51 |
-
<strong>
|
52 |

|
53 |
-
-
|
54 |

|
55 |
---
|
56 |

|
57 |
For more detail, please check our release note below.
|
58 |
-
<a href="https://github.com/omise/omise-magento/releases/tag/v1.
|
59 |
-
</notes>
|
60 |
<authors><author><name>Omise</name><user>omise</user><email>apps@omise.co</email></author></authors>
|
61 |
-
<date>2017-
|
62 |
-
<time>
|
63 |
-
<contents><target name="magecommunity"><dir name="Omise"><dir name="Gateway"><dir name="Block"><dir name="Adminhtml"><dir name="Config"><dir name="Edit"><file name="Form.php" hash="35295e47578bfd3b034bfe6c36c8a4cc"/></dir><file name="Edit.php" hash="84fdd93ef432aba685bcac6cdb9bbe49"/></dir><dir name="Dashboard"><file name="Dashboard.php" hash="993c3d2c63d3b2a6c64940a09042155b"/></dir><dir name="System"><dir name="Config"><dir name="Fieldset"><file name="Payment.php" hash="c5c162c6c4d58bd8b479445097ae2299"/></dir></dir></dir></dir><dir name="Form"><file name="Cc.php" hash="
|
64 |
<compatible/>
|
65 |
-
<dependencies><required><php><min>5.4.0</min><max>7.1.
|
66 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Omise_Gateway</name>
|
4 |
+
<version>1.12.0</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.opensource.org/licenses/mit-license.php">MIT License</license>
|
7 |
<channel>community</channel>
|
44 |

|
45 |
<h1>RELEASE NOTE</h1>
|
46 |

|
47 |
+
<strong>Highlights</strong>
|
48 |

|
49 |
+
- Provides a solution for One Step Checkout extensions.
|
50 |

|
51 |
+
<strong>Enhancements</strong>
|
52 |

|
53 |
+
- Refactor and clean up code in Block/Form/Cc.php class and payment/form/omisecc.phtml form
|
54 |

|
55 |
---
|
56 |

|
57 |
For more detail, please check our release note below.
|
58 |
+
<a href="https://github.com/omise/omise-magento/releases/tag/v1.12">https://github.com/omise/omise-magento/releases/tag/v1.12</a></notes>
|
|
|
59 |
<authors><author><name>Omise</name><user>omise</user><email>apps@omise.co</email></author></authors>
|
60 |
+
<date>2017-05-24</date>
|
61 |
+
<time>07:22:10</time>
|
62 |
+
<contents><target name="magecommunity"><dir name="Omise"><dir name="Gateway"><dir name="Block"><dir name="Adminhtml"><dir name="Config"><dir name="Edit"><file name="Form.php" hash="35295e47578bfd3b034bfe6c36c8a4cc"/></dir><file name="Edit.php" hash="84fdd93ef432aba685bcac6cdb9bbe49"/></dir><dir name="Dashboard"><file name="Dashboard.php" hash="993c3d2c63d3b2a6c64940a09042155b"/></dir><dir name="System"><dir name="Config"><dir name="Fieldset"><file name="Payment.php" hash="c5c162c6c4d58bd8b479445097ae2299"/></dir></dir></dir></dir><dir name="Form"><file name="Cc.php" hash="e7617b7944de4e69692f3ed1ad4eeb66"/><file name="Offsiteinternetbankingpayment.php" hash="8dd6eac77eafcf3d3d77a0a3b6764824"/></dir></dir><dir name="Helper"><file name="Data.php" hash="5c586a7cd4c9ac106cceda2fbd758145"/></dir><dir name="Model"><dir name="Config"><dir name="Var"><file name="Cctype.php" hash="ac2790871eaf969ce9e705c7e499188d"/><file name="Paymentaction.php" hash="2606f24f33aaae56b780e67011711b99"/></dir></dir><file name="Config.php" hash="328cae40a1233e412d3386be9bcf3ce2"/><file name="Offsiteinternetbankingpayment.php" hash="1153232c830e26681766b8b262cd5416"/><file name="Omise.php" hash="1993de5f61ac0d5b37462abd88e8c970"/><file name="OmiseAccount.php" hash="f716dcd2ece38c0381a61c1ff5f1151b"/><file name="OmiseBalance.php" hash="c2ab02f0a72423d4c5bec5df62459477"/><file name="OmiseCharge.php" hash="1fa0ff4a69881f9b67f353af017b76d4"/><file name="OmiseTransfer.php" hash="5d1f80b32ee835629977c483cee53330"/><file name="Payment.php" hash="68d2c07bebe659a841a010d9ead2f411"/><file name="PaymentMethod.php" hash="ae9eeefaf67b5537f9e82283ff68aa4a"/><dir name="Resource"><file name="Config.php" hash="940c4e25613da01ce6c419c9a69f9577"/></dir><dir name="Strategies"><file name="AuthorizeStrategy.php" hash="fa143b7e10a88846263e8c4098618593"/><file name="AuthorizeThreeDSecureStrategy.php" hash="8c588b44729843b1dc8d3653a189a232"/><file name="CaptureStrategy.php" hash="d7dc0a76f52de532231273070888ac06"/><file name="CaptureThreeDSecureStrategy.php" hash="6abb4dc786965b09a8f460861311cd22"/><file name="ManualCaptureStrategy.php" hash="070b050bd18474d2164b5c36bfd5f81b"/><file name="OffsiteInternetBankingStrategy.php" hash="81dec322da649bad78f64b53d0bd9232"/><file name="StrategyAbstract.php" hash="1fa0a02d32d013da0f19ee286f78b423"/><file name="StrategyInterface.php" hash="b6efc25d7cfe232cd5b597ed6dfdd4cf"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="OmiseController.php" hash="12e10c8f1b72437b5bea2a24df9ecab5"/></dir><dir name="Callback"><file name="ValidateoffsiteinternetbankingController.php" hash="56ed06847cd0405f167e7ab4ebfab937"/><file name="ValidatethreedsecureController.php" hash="0380871a1b590c0465d04b7df85d458a"/></dir></dir><dir name="data"><dir name="omise_gateway_setup"><file name="data-install-0.0.0.1.php" hash="ace699435b757bc10c2f19a5e9555dab"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="6904e384ede6b5e4ba3203d748e9d802"/><file name="config.xml" hash="5962edc20cc134ee62784b3e272bb071"/><file name="system.xml" hash="cbf3582c8d453bbe98178272d9f48d6d"/></dir><dir name="sql"><dir name="omise_gateway_setup"><file name="install-0.0.0.1.php" hash="93f7f4a16be87ef83a84215c72e667a1"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Omise_Gateway.xml" hash="6d354708ee537b9bd833e0916135e6bf"/></dir></target><target name="magelib"><dir name="omise-php"><file name="CHANGELOG.md" hash="c0fc5c2ca02a3f16ff2c6c286da3ae7e"/><file name="LICENSE" hash="4b764c86995cbfed1e733d4e1b28edc1"/><file name="README.md" hash="403943c009df14557a173c0d2d741567"/><dir name="data"><file name="ca_certificates.pem" hash="e2c6e1ebee2ffc481d3be02aaf12c46c"/></dir><dir name="lib"><file name="Omise.php" hash="0dd224bf0853d3c99a3cbcd4ceabdcce"/><dir name="omise"><file name="OmiseAccount.php" hash="a6f6065fa76ef7558bc9133ad42202b2"/><file name="OmiseBalance.php" hash="fe3c179b7b07aebe49216ce91fe5f941"/><file name="OmiseCard.php" hash="852846c4427d826011bb609d420134ca"/><file name="OmiseCardList.php" hash="62ea0afd7a3a8b594d8c26f9019bd75b"/><file name="OmiseCharge.php" hash="7e71211c81553de18bd9052fc73b680b"/><file name="OmiseCustomer.php" hash="bd6ce3ba417568dcc5d59ad30dbd4630"/><file name="OmiseDispute.php" hash="5828d42b8ea897d1e38a499979d6d68d"/><file name="OmiseEvent.php" hash="5a9ca900edb659178c4daf336b258c09"/><file name="OmiseLink.php" hash="6a0e55db8c00632eff2f3cefeb5b937b"/><file name="OmiseRecipient.php" hash="8563eb9f56716f19ef8bd86c0c0669a2"/><file name="OmiseRefund.php" hash="2188a91cdc0b8fe65b1eff49bf787935"/><file name="OmiseRefundList.php" hash="47a8b2ac14867921b394f31fe283bf11"/><file name="OmiseTest.php" hash="2c3f9a6aa6e8d074e2c3b62fdef9193b"/><file name="OmiseToken.php" hash="3d47a1fb374a783aa23d913f33a35554"/><file name="OmiseTransaction.php" hash="5913fa5e050ec79b36c95a70eb878579"/><file name="OmiseTransfer.php" hash="370d34418761adb3664b66105a2e78b0"/><dir name="exception"><file name="OmiseExceptions.php" hash="cdfb3256ceda24c0aabe0e4dedfbe3ee"/></dir><dir name="res"><file name="OmiseApiResource.php" hash="4fdeca43703ea6cb8424af75dc575f74"/><file name="OmiseVaultResource.php" hash="989cde47ba91688e1c48e9826e7b559f"/><dir name="obj"><file name="OmiseObject.php" hash="bc1cc21f51d557f8c2640696699e3556"/></dir></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="omise"><file name="dashboard.phtml" hash="857dcf59e34e484b1e0db3cb49beef7b"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="payment"><dir name="form"><file name="omisecc.phtml" hash="0aca62f93d1898a892961b4af9ea89c0"/><file name="omiseoffsiteinternetbankingpayment.phtml" hash="850380c1b5a0e6647abde75aa1613727"/><file name="omise-inapplicable-method.phtml" hash="f829e89be8470f340300c6d0227ddec2"/></dir></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="omise"><file name="omise-admin.css" hash="6a293ba8afa28789c349baa5e2fe1e18"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="omise"><dir name="css"><file name="offsiteinternetbankingpayment.css" hash="2f9407e493c2a769d960e03c2f63ea16"/></dir><dir name="images"><file name="bay.svg" hash="78f135040300d87f34f070141712ea39"/><file name="bbl.svg" hash="23ef91aab184f73cb0fd340d33ec78ba"/><file name="ktb.svg" hash="bccf1cdf5d4383f6403afe26111d47b6"/><file name="scb.svg" hash="341040cf1820811793b30928623cc43f"/></dir></dir></dir></dir></dir></target></contents>
|
63 |
<compatible/>
|
64 |
+
<dependencies><required><php><min>5.4.0</min><max>7.1.4</max></php></required></dependencies>
|
65 |
</package>
|