Version Notes
_last updated: Aug 11, 2016_
## Objective
#### 1. MAKE PLUGIN WORKS WELL WITH MAGENTO'S TEMPLATE (ENHANCEMENT) (PR #24)
For the previous, some users could't use Omise's checkout form because their theme/template doesn't include/import jQuery library to the project at the initial step that our plugin required. (they always got "Need Omise's key" error when try to checkout the order)
This enhancement's providing a solution to detach the 3rd-party library out from the project to make those templates work.
## Tested on
**PHP 5.6.21**
**Magento (community edition) 1.9.2.4**
---
See [CHANGELOG.md](https://github.com/omise/omise-magento/blob/master/CHANGELOG.md#1906-2016-08-10) for more information.
Download this release
Release Info
| Developer | Omise |
| Extension | Omise_Gateway |
| Version | 1.9.0.6 |
| Comparing to | |
| See all releases | |
Code changes from version 1.9.0.5 to 1.9.0.6
app/code/community/Omise/Gateway/Model/Omise.php
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
<?php
|
| 2 |
// Define 'OMISE_USER_AGENT_SUFFIX'
|
| 3 |
if(!defined('OMISE_USER_AGENT_SUFFIX'))
|
| 4 |
-
define('OMISE_USER_AGENT_SUFFIX', 'OmiseMagento/1.9.0.
|
| 5 |
|
| 6 |
// Define 'OMISE_API_VERSION'
|
| 7 |
if(!defined('OMISE_API_VERSION'))
|
| 1 |
<?php
|
| 2 |
// Define 'OMISE_USER_AGENT_SUFFIX'
|
| 3 |
if(!defined('OMISE_USER_AGENT_SUFFIX'))
|
| 4 |
+
define('OMISE_USER_AGENT_SUFFIX', 'OmiseMagento/1.9.0.6 Magento/'.Mage::getVersion());
|
| 5 |
|
| 6 |
// Define 'OMISE_API_VERSION'
|
| 7 |
if(!defined('OMISE_API_VERSION'))
|
app/code/community/Omise/Gateway/etc/config.xml
CHANGED
|
@@ -14,7 +14,7 @@
|
|
| 14 |
-->
|
| 15 |
<modules>
|
| 16 |
<Omise_Gateway>
|
| 17 |
-
<version>1.9.0.
|
| 18 |
</Omise_Gateway>
|
| 19 |
</modules>
|
| 20 |
|
| 14 |
-->
|
| 15 |
<modules>
|
| 16 |
<Omise_Gateway>
|
| 17 |
+
<version>1.9.0.6</version>
|
| 18 |
</Omise_Gateway>
|
| 19 |
</modules>
|
| 20 |
|
app/design/frontend/base/default/template/payment/form/omisecc.phtml
CHANGED
|
@@ -1,77 +1,92 @@
|
|
| 1 |
<script type="text/javascript">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
Payment.prototype.save = Payment.prototype.save.wrap(function(superMethod) {
|
| 3 |
-
var
|
| 4 |
|
| 5 |
-
if (
|
| 6 |
-
|
|
|
|
| 7 |
|
| 8 |
-
|
| 9 |
-
} else if (paymentMethod == "omise_gateway") {
|
| 10 |
-
var omiseValidation = new Validation('co-payment-form');
|
| 11 |
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
jQuery.getScript("https://cdn.omise.co/omise.min.js.gz", function() {
|
| 15 |
|
| 16 |
-
|
| 17 |
-
|
|
|
|
| 18 |
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22 |
|
| 23 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 24 |
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
// * within the callback.
|
| 40 |
-
Omise.createToken("card", card, function (statusCode, response) {
|
| 41 |
-
// If has an error (can not create a card's token).
|
| 42 |
-
if (response.object == "error") {
|
| 43 |
-
// Display an error message - "Omise Response: "+response.message.
|
| 44 |
-
formValidation.css({'opacity': 1, 'display': 'block'});
|
| 45 |
-
formValidationMsg.html("Omise Response: "+response.message);
|
| 46 |
-
|
| 47 |
-
jQuery("#payment-buttons-container").find("button").prop("disabled", false);
|
| 48 |
-
} else if (typeof response.card != 'undefined' && !response.card.security_code_check) {
|
| 49 |
-
// Display an error message - "Omise Response: Card authorization failure.".
|
| 50 |
-
formValidation.css({'opacity': 1, 'display': 'block'});
|
| 51 |
-
formValidationMsg.html("Omise Response: Card authorization failure.");
|
| 52 |
-
|
| 53 |
-
jQuery("#payment-buttons-container").find("button").prop("disabled", false);
|
| 54 |
-
} else {
|
| 55 |
-
form.find("[data-omise=holder_name]").prop("disabled", true);
|
| 56 |
-
form.find("[data-omise=number]").prop("disabled", true);
|
| 57 |
-
form.find("[data-omise=expiration_month]").prop("disabled", true);
|
| 58 |
-
form.find("[data-omise=expiration_year]").prop("disabled", true);
|
| 59 |
-
form.find("[data-omise=security_code]").prop("disabled", true);
|
| 60 |
-
|
| 61 |
-
form.find("[data-omise=omise_token]").val(response.id);
|
| 62 |
-
|
| 63 |
-
return superMethod();
|
| 64 |
-
};
|
| 65 |
-
});
|
| 66 |
|
|
|
|
|
|
|
|
|
|
| 67 |
});
|
| 68 |
-
|
| 69 |
-
return false;
|
| 70 |
-
}
|
| 71 |
-
} else {
|
| 72 |
-
return superMethod();
|
| 73 |
}
|
| 74 |
-
}
|
| 75 |
</script>
|
| 76 |
|
| 77 |
<?php
|
|
@@ -99,127 +114,155 @@
|
|
| 99 |
* @copyright Copyright (c) 2006-2014 X.commerce, Inc. (http://www.magento.com)
|
| 100 |
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
| 101 |
*/
|
|
|
|
|
|
|
| 102 |
?>
|
| 103 |
-
<?php $_code=$this->getMethodCode() ?>
|
| 104 |
-
<ul class="form-list" id="payment_form_<?php echo $_code ?>" style="display:none;">
|
| 105 |
|
| 106 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 107 |
|
|
|
|
| 108 |
<li>
|
| 109 |
-
<label for="<?php echo $_code ?>_cc_type" class="required"
|
|
|
|
|
|
|
| 110 |
<div class="input-box">
|
| 111 |
-
<select id="<?php echo $_code ?>_cc_type" name="payment[cc_type]" class="required-entry validate-cc-type-select">
|
| 112 |
-
<option value=""><?php echo $this->__('--Please Select--')?></option>
|
| 113 |
-
|
| 114 |
-
|
| 115 |
-
|
| 116 |
-
|
|
|
|
| 117 |
</select>
|
| 118 |
</div>
|
| 119 |
|
| 120 |
-
|
|
|
|
| 121 |
</li>
|
| 122 |
|
| 123 |
-
<!--
|
| 124 |
<li>
|
| 125 |
-
<label for="<?php echo $_code ?>
|
|
|
|
|
|
|
| 126 |
<div class="input-box">
|
| 127 |
-
<input
|
| 128 |
</div>
|
| 129 |
</li>
|
| 130 |
|
| 131 |
-
<!--
|
| 132 |
<li>
|
| 133 |
-
<label for="<?php echo $_code ?>_cc_number" class="required"
|
|
|
|
|
|
|
| 134 |
<div class="input-box">
|
| 135 |
-
<input
|
| 136 |
</div>
|
| 137 |
</li>
|
| 138 |
|
| 139 |
<!-- Expiration Date -->
|
| 140 |
-
<li id="<?php echo $_code ?>_cc_type_exp_div">
|
| 141 |
-
<label for="<?php echo $_code ?>_expiration" class="required"
|
|
|
|
|
|
|
| 142 |
<div class="input-box">
|
| 143 |
<div class="v-fix">
|
| 144 |
-
<select
|
| 145 |
-
|
| 146 |
-
|
| 147 |
-
|
| 148 |
-
|
| 149 |
</select>
|
| 150 |
</div>
|
| 151 |
<div class="v-fix">
|
| 152 |
-
<?php $_ccExpYear = $this->getInfoData('cc_exp_year') ?>
|
| 153 |
-
<select
|
| 154 |
-
|
| 155 |
-
|
| 156 |
-
|
| 157 |
</select>
|
| 158 |
</div>
|
| 159 |
</div>
|
| 160 |
</li>
|
| 161 |
|
| 162 |
<!-- Security Code -->
|
| 163 |
-
<?php echo $this->getChildHtml() ?>
|
|
|
|
| 164 |
<?php if($this->hasVerification()): ?>
|
| 165 |
-
|
| 166 |
-
|
| 167 |
-
|
| 168 |
-
|
| 169 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 170 |
</div>
|
| 171 |
-
|
| 172 |
-
</div>
|
| 173 |
-
</li>
|
| 174 |
<?php endif; ?>
|
| 175 |
|
| 176 |
<?php if ($this->hasSsCardType()): ?>
|
| 177 |
-
|
| 178 |
-
|
| 179 |
-
|
| 180 |
-
|
| 181 |
-
|
| 182 |
-
|
| 183 |
-
|
| 184 |
-
|
| 185 |
-
|
| 186 |
-
|
| 187 |
-
|
| 188 |
-
|
| 189 |
-
|
| 190 |
-
|
| 191 |
-
|
| 192 |
-
|
| 193 |
-
|
| 194 |
-
|
| 195 |
-
|
| 196 |
-
</
|
| 197 |
-
<div class="
|
| 198 |
-
<
|
| 199 |
-
|
| 200 |
-
|
| 201 |
-
|
| 202 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 203 |
</div>
|
| 204 |
-
</
|
| 205 |
-
|
| 206 |
-
|
| 207 |
-
</ul>
|
| 208 |
-
<script type="text/javascript">
|
| 209 |
-
//<![CDATA[
|
| 210 |
-
var SSChecked<?php echo $_code ?> = function() {
|
| 211 |
-
var elm = $('<?php echo $_code ?>_cc_type');
|
| 212 |
-
if (['SS','SM','SO'].indexOf(elm.value) != -1) {
|
| 213 |
-
$('<?php echo $_code ?>_cc_type_ss_div').show();
|
| 214 |
-
} else {
|
| 215 |
-
$('<?php echo $_code ?>_cc_type_ss_div').hide();
|
| 216 |
-
}
|
| 217 |
-
};
|
| 218 |
|
| 219 |
-
|
| 220 |
-
|
| 221 |
-
|
| 222 |
-
|
| 223 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 224 |
<?php endif; ?>
|
| 225 |
</ul>
|
| 1 |
<script type="text/javascript">
|
| 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
|
| 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 |
+
|
| 123 |
+
<!-- Omise's validation advice -->
|
| 124 |
+
<li>
|
| 125 |
+
<div id="omise-validation-advice" class="validation-advice"></div>
|
| 126 |
+
</li>
|
| 127 |
|
| 128 |
+
<!-- Card Type -->
|
| 129 |
<li>
|
| 130 |
+
<label for="<?php echo $_code; ?>_cc_type" class="required">
|
| 131 |
+
<em>*</em><?php echo $this->__('Credit Card Type'); ?>
|
| 132 |
+
</label>
|
| 133 |
<div class="input-box">
|
| 134 |
+
<select id="<?php echo $_code; ?>_cc_type" name="payment[cc_type]" class="required-entry validate-cc-type-select">
|
| 135 |
+
<option value=""><?php echo $this->__('--Please Select--'); ?></option>
|
| 136 |
+
|
| 137 |
+
<?php $_ccType = $this->getInfoData('cc_type'); ?>
|
| 138 |
+
<?php foreach ($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
|
| 139 |
+
<option value="<?php echo $_typeCode; ?>"<?php if($_typeCode == $_ccType): ?> selected="selected"<?php endif; ?>><?php echo $_typeName; ?></option>
|
| 140 |
+
<?php endforeach; ?>
|
| 141 |
</select>
|
| 142 |
</div>
|
| 143 |
|
| 144 |
+
<!-- For keep Omise's token -->
|
| 145 |
+
<input id="<?php echo $_code; ?>_token" type="hidden" name="payment[omise_token]">
|
| 146 |
</li>
|
| 147 |
|
| 148 |
+
<!-- Card Holder Name -->
|
| 149 |
<li>
|
| 150 |
+
<label for="<?php echo $_code; ?>_cc_name" class="required">
|
| 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" name="payment[cc_name]" title="<?php echo $this->__('Credit Card Holder Name'); ?>" value="<?php echo $this->escapeHtml($this->getInfoData('cc_owner')); ?>" class="input-text required-entry" />
|
| 155 |
</div>
|
| 156 |
</li>
|
| 157 |
|
| 158 |
+
<!-- Card Number -->
|
| 159 |
<li>
|
| 160 |
+
<label for="<?php echo $_code; ?>_cc_number" class="required">
|
| 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" name="payment[cc_number]" title="<?php echo $this->__('Credit Card Number'); ?>" autocomplete="off" value="" class="input-text validate-cc-number validate-cc-type" />
|
| 165 |
</div>
|
| 166 |
</li>
|
| 167 |
|
| 168 |
<!-- Expiration Date -->
|
| 169 |
+
<li id="<?php echo $_code; ?>_cc_type_exp_div">
|
| 170 |
+
<label for="<?php echo $_code; ?>_expiration" class="required">
|
| 171 |
+
<em>*</em><?php echo $this->__('Expiration Date'); ?>
|
| 172 |
+
</label>
|
| 173 |
<div class="input-box">
|
| 174 |
<div class="v-fix">
|
| 175 |
+
<select id="<?php echo $_code; ?>_expiration" name="payment[cc_exp_month]" class="month validate-cc-exp required-entry">
|
| 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>
|
| 179 |
+
<?php endforeach; ?>
|
| 180 |
</select>
|
| 181 |
</div>
|
| 182 |
<div class="v-fix">
|
| 183 |
+
<?php $_ccExpYear = $this->getInfoData('cc_exp_year'); ?>
|
| 184 |
+
<select id="<?php echo $_code; ?>_expiration_yr" name="payment[cc_exp_year]" class="year required-entry">
|
| 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; ?>
|
| 188 |
</select>
|
| 189 |
</div>
|
| 190 |
</div>
|
| 191 |
</li>
|
| 192 |
|
| 193 |
<!-- Security Code -->
|
| 194 |
+
<?php echo $this->getChildHtml(); ?>
|
| 195 |
+
|
| 196 |
<?php if($this->hasVerification()): ?>
|
| 197 |
+
<li id="<?php echo $_code; ?>_cc_type_cvv_div">
|
| 198 |
+
<label for="<?php echo $_code; ?>_cc_cid" class="required">
|
| 199 |
+
<em>*</em><?php echo $this->__('Card Verification Number'); ?>
|
| 200 |
+
</label>
|
| 201 |
+
<div class="input-box">
|
| 202 |
+
<div class="v-fix">
|
| 203 |
+
<input id="<?php echo $_code; ?>_cc_cid" type="password" name="payment[cc_cid]" title="<?php echo $this->__('Card Verification Number'); ?>" autocomplete="off" value="" class="input-text cvv required-entry validate-cc-cvn" />
|
| 204 |
+
</div>
|
| 205 |
+
<a href="#" class="cvv-what-is-this"><?php echo $this->__('What is this?'); ?></a>
|
| 206 |
</div>
|
| 207 |
+
</li>
|
|
|
|
|
|
|
| 208 |
<?php endif; ?>
|
| 209 |
|
| 210 |
<?php if ($this->hasSsCardType()): ?>
|
| 211 |
+
<li id="<?php echo $_code; ?>_cc_type_ss_div">
|
| 212 |
+
<ul class="inner-form">
|
| 213 |
+
<li class="form-alt">
|
| 214 |
+
<label for="<?php echo $_code; ?>_cc_issue" class="required">
|
| 215 |
+
<em>*</em><?php echo $this->__('Switch/Solo/Maestro Only'); ?>
|
| 216 |
+
</label>
|
| 217 |
+
</li>
|
| 218 |
+
<li>
|
| 219 |
+
<label for="<?php echo $_code; ?>_cc_issue">
|
| 220 |
+
<?php echo $this->__('Issue Number'); ?>:
|
| 221 |
+
</label>
|
| 222 |
+
<span class="input-box">
|
| 223 |
+
<input id="<?php echo $_code; ?>_cc_issue" type="text" name="payment[cc_ss_issue]" title="<?php echo $this->__('Issue Number'); ?>" value="" class="input-text validate-cc-ukss cvv" />
|
| 224 |
+
</span>
|
| 225 |
+
</li>
|
| 226 |
+
|
| 227 |
+
<li>
|
| 228 |
+
<label for="<?php echo $_code; ?>_start_month">
|
| 229 |
+
<?php echo $this->__('Start Date'); ?>:
|
| 230 |
+
</label>
|
| 231 |
+
<div class="input-box">
|
| 232 |
+
<div class="v-fix">
|
| 233 |
+
<select id="<?php echo $_code; ?>_start_month" name="payment[cc_ss_start_month]" class="validate-cc-ukss month">
|
| 234 |
+
<?php foreach ($this->getCcMonths() as $k=>$v): ?>
|
| 235 |
+
<option value="<?php echo $k ? $k : ''; ?>"<?php if($k == $this->getInfoData('cc_ss_start_month')): ?> selected="selected"<?php endif; ?>><?php echo $v; ?></option>
|
| 236 |
+
<?php endforeach; ?>
|
| 237 |
+
</select>
|
| 238 |
+
</div>
|
| 239 |
+
<div class="v-fix">
|
| 240 |
+
<select id="<?php echo $_code; ?>_start_year" name="payment[cc_ss_start_year]" class="validate-cc-ukss year">
|
| 241 |
+
<?php foreach ($this->getSsStartYears() as $k=>$v): ?>
|
| 242 |
+
<option value="<?php echo $k ? $k : ''; ?>"<?php if($k==$this->getInfoData('cc_ss_start_year')): ?> selected="selected"<?php endif; ?>><?php echo $v; ?></option>
|
| 243 |
+
<?php endforeach; ?>
|
| 244 |
+
</select>
|
| 245 |
+
</div>
|
| 246 |
</div>
|
| 247 |
+
</li>
|
| 248 |
+
<li class="adv-container"> </li>
|
| 249 |
+
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 250 |
|
| 251 |
+
<script type="text/javascript">
|
| 252 |
+
//<![CDATA[
|
| 253 |
+
var SSChecked<?php echo $_code; ?> = function() {
|
| 254 |
+
var elm = $('<?php echo $_code; ?>_cc_type');
|
| 255 |
+
if (['SS','SM','SO'].indexOf(elm.value) != -1) {
|
| 256 |
+
$('<?php echo $_code; ?>_cc_type_ss_div').show();
|
| 257 |
+
} else {
|
| 258 |
+
$('<?php echo $_code; ?>_cc_type_ss_div').hide();
|
| 259 |
+
}
|
| 260 |
+
};
|
| 261 |
+
|
| 262 |
+
Event.observe($('<?php echo $_code; ?>_cc_type'), 'change', SSChecked<?php echo $_code; ?>);
|
| 263 |
+
SSChecked<?php echo $_code; ?>();
|
| 264 |
+
//]]>
|
| 265 |
+
</script>
|
| 266 |
+
</li>
|
| 267 |
<?php endif; ?>
|
| 268 |
</ul>
|
package.xml
CHANGED
|
@@ -1,32 +1,49 @@
|
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>Omise_Gateway</name>
|
| 4 |
-
<version>1.9.0.
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license uri="http://www.opensource.org/licenses/mit-license.php">MIT License</license>
|
| 7 |
<channel>community</channel>
|
| 8 |
<extends/>
|
| 9 |
-
<summary>
|
| 10 |
-
<description>Start accepting omise payment gateway with your magento store now. Omise is a Payment Gateway in Thailand. This extension integrate omise api
|
| 11 |
-
|
| 12 |
<h1>Features</h1>
|
| 13 |
-
1. Support for all major international debit and credit cards - Visa, Mastercard
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
<
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 30 |
<compatible/>
|
| 31 |
-
<dependencies><required><php><min>5.4.0</min><max>5.6.
|
| 32 |
</package>
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>Omise_Gateway</name>
|
| 4 |
+
<version>1.9.0.6</version>
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license uri="http://www.opensource.org/licenses/mit-license.php">MIT License</license>
|
| 7 |
<channel>community</channel>
|
| 8 |
<extends/>
|
| 9 |
+
<summary>Start accepting Omise Payment Gateway with your magento store now.</summary>
|
| 10 |
+
<description>Start accepting omise payment gateway with your magento store now. Omise is a Payment Gateway in Thailand. This extension integrate omise api.
|
| 11 |
+

|
| 12 |
<h1>Features</h1>
|
| 13 |
+
1. Support for all major international debit and credit cards - Visa, Mastercard.
|
| 14 |
+

|
| 15 |
+
2. Build-in Omise configuration in Magento admin system for predefining Omise API Key.
|
| 16 |
+

|
| 17 |
+
3. Provide Omise option in checkout process.
|
| 18 |
+

|
| 19 |
+
4. Show briefly Omise payment information.
|
| 20 |
+

|
| 21 |
+
5. Integrate Omise refund with Magento refund system.
|
| 22 |
+

|
| 23 |
+
7. Omise dashbord show the lastest transaction.
|
| 24 |
+

|
| 25 |
+
8. Allow sending transfer request from omise account to bank account.</description>
|
| 26 |
+
<notes>_last updated: Aug 11, 2016_
|
| 27 |
+

|
| 28 |
+
## Objective
|
| 29 |
+

|
| 30 |
+
#### 1. MAKE PLUGIN WORKS WELL WITH MAGENTO'S TEMPLATE (ENHANCEMENT) (PR #24)
|
| 31 |
+
For the previous, some users could't use Omise's checkout form because their theme/template doesn't include/import jQuery library to the project at the initial step that our plugin required. (they always got "Need Omise's key" error when try to checkout the order)
|
| 32 |
+

|
| 33 |
+
This enhancement's providing a solution to detach the 3rd-party library out from the project to make those templates work.
|
| 34 |
+

|
| 35 |
+
## Tested on
|
| 36 |
+

|
| 37 |
+
**PHP 5.6.21**
|
| 38 |
+

|
| 39 |
+
**Magento (community edition) 1.9.2.4**
|
| 40 |
+

|
| 41 |
+
---
|
| 42 |
+
See [CHANGELOG.md](https://github.com/omise/omise-magento/blob/master/CHANGELOG.md#1906-2016-08-10) for more information.</notes>
|
| 43 |
+
<authors><author><name>Omise</name><user>omise</user><email>apps@omise.co</email></author></authors>
|
| 44 |
+
<date>2016-08-21</date>
|
| 45 |
+
<time>18:34:28</time>
|
| 46 |
+
<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="054202ddf6a68ca939a91e83f11c69a5"/></dir><file name="Edit.php" hash="2809bd01cafdae402b4e13cb4ad65634"/></dir><dir name="Dashboard"><file name="Dashboard.php" hash="3576b49045c637c0f5945f0c9efa8a77"/></dir></dir><dir name="Form"><file name="Cc.php" hash="732fc793c78406cae18607fcbfa853b6"/></dir></dir><dir name="Helper"><file name="Data.php" hash="452185cad964f13ea481c9d6bced22b1"/></dir><dir name="Model"><dir name="Config"><dir name="Var"><file name="Currency.php" hash="9f2f2e2e0a6e8afe4035cf86cc5df109"/><file name="Paymentaction.php" hash="a1337a3e869c8b563d434b1b691b5d53"/></dir></dir><file name="Config.php" hash="50be3ce038026a6554cf87af96ed3ab9"/><file name="Omise.php" hash="0a20c97a63506843aa7b8c6add18db8f"/><file name="OmiseAccount.php" hash="d4de8e3237a4b8c906035eb00d4ec591"/><file name="OmiseBalance.php" hash="b2f03f29d2682a1b8a01be8358f2a7fc"/><file name="OmiseCharge.php" hash="19c077d6ab0f58e4636318ef1e2ef581"/><file name="OmiseTransfer.php" hash="3e03c0b51419ffe73d29b16a1119afcb"/><file name="PaymentMethod.php" hash="440043c5cd2851dddf815f9b6f97bb5a"/><dir name="Resource"><file name="Config.php" hash="4e7f6d668ef0e61b6b9dfb67ea943d3d"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="OmiseController.php" hash="d76592c3f3cb70c11317191aaecf9fca"/></dir></dir><dir name="data"><dir name="omise_gateway_setup"><file name="data-install-0.0.0.1.php" hash="28ffdd99157244db56f444ee2fd4fffb"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="6904e384ede6b5e4ba3203d748e9d802"/><file name="config.xml" hash="4a9fa71473a353a22a2fa5d43b32342d"/><file name="system.xml" hash="34cfa722e906fcfbbfeef5e45727da08"/></dir><dir name="sql"><dir name="omise_gateway_setup"><file name="install-0.0.0.1.php" hash="413280bc428e285a4ee29200668bcf96"/></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="1a62ce220b573dff8638721090bb60b6"/><file name="LICENSE" hash="4b764c86995cbfed1e733d4e1b28edc1"/><file name="README.md" hash="791f37d5a23d012a83d412f3b558574c"/><file name="circle.yml" hash="fd592afc9207e55436bc6a50d226f5cd"/><file name="composer.json" hash="bfbc905757e707cd906f500b8a75752f"/><dir name="data"><file name="ca_certificates.pem" hash="e2c6e1ebee2ffc481d3be02aaf12c46c"/></dir><dir name="lib"><file name="Omise.php" hash="fcc47369f482d3b32bd8b5d180e51977"/><dir name="omise"><file name="OmiseAccount.php" hash="4ace83cd415ca6fd79f1bc6ab228edbc"/><file name="OmiseBalance.php" hash="f3e3ebdd3e44d62bc5495c445663b3e3"/><file name="OmiseCard.php" hash="51978bfca8b983ca9acfe474007779c2"/><file name="OmiseCardList.php" hash="8b6aefa9cc128af0763e83852614f3a2"/><file name="OmiseCharge.php" hash="4c448bb8d7ddc57405896ab924526b47"/><file name="OmiseCustomer.php" hash="f824255b8bd48b17432428f5166d6f86"/><file name="OmiseDispute.php" hash="64e936274241550cb95c0ee3011856ab"/><file name="OmiseRecipient.php" hash="60240921485d59071ac3da516b698bef"/><file name="OmiseRefund.php" hash="c117d970052cd477c50f12b0c655c489"/><file name="OmiseRefundList.php" hash="6e5fcb11b14b95d7af3dfeaf84a7faa4"/><file name="OmiseTest.php" hash="13446fbdd16b279a72b00c54504a8737"/><file name="OmiseToken.php" hash="1f3afeff7989118be61676c42e71a7a9"/><file name="OmiseTransaction.php" hash="4c2667aa507feba21c4a2411127e5ff7"/><file name="OmiseTransfer.php" hash="c1cf4132509c35fe043ca09183a91781"/><dir name="exception"><file name="OmiseExceptions.php" hash="88cc98f46392a3803e0cb3d36ef3fd58"/></dir><dir name="res"><file name="OmiseApiResource.php" hash="b95cece57fd215429af2334bcb17f8e7"/><file name="OmiseVaultResource.php" hash="c581b12a6ee35ce3d296377b654534d8"/><dir name="obj"><file name="OmiseObject.php" hash="818880c775de17b1187cae8f1220ed34"/></dir></dir></dir></dir><file name="phpunit.xml" hash="10b1894c6e40b45e1166876607894599"/><dir name="tests"><dir name="fixtures"><dir name="api.omise.co"><file name="account-get.json" hash="dd0af5ba4e83c37dce0f528ae55265e1"/><file name="balance-get.json" hash="2411326d435dac7e322982809ad2f0a6"/><dir name="charges"><dir name="chrg_test_4zmrjgxdh4ycj2qncoj"><file name="capture-post.json" hash="2e2f1d5f84978a706c4861fd5fa32bf2"/><dir name="refunds"><file name="rfnd_test_4zmrjhlbqy587sw6fwt-get.json" hash="63abc2d0c623f9fd9b861fed39491250"/></dir><file name="refunds-get.json" hash="724c40cf4fe34aa5646b34a8291e98d7"/><file name="refunds-post.json" hash="63abc2d0c623f9fd9b861fed39491250"/></dir><file name="chrg_test_4zmrjgxdh4ycj2qncoj-get.json" hash="a2cf3a2e9a9e98e5df2b3cce956eeb9b"/><file name="chrg_test_4zmrjgxdh4ycj2qncoj-patch.json" hash="7a17e253ee103c65e630b9f12a02a0cf"/><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir><file name="charges-get.json" hash="8de2a2546605ddd0463adb693b789fc4"/><file name="charges-post.json" hash="5b42f42b3d37ed1f2985cb87ed6b4c91"/><dir name="customers"><dir name="cust_test_4zmrjg2hct06ybwobqc"><dir name="cards"><file name="card_test_4zmrjfzf0spz3mh63cs-delete.json" hash="7e2355759cb45b39648e47b66d674e82"/><file name="card_test_4zmrjfzf0spz3mh63cs-get.json" hash="93db2746e1ab36922c53a5a46df49313"/><file name="card_test_4zmrjfzf0spz3mh63cs-patch.json" hash="658fe2f9d32e06ed9690c711907c35ea"/></dir></dir><file name="cust_test_4zmrjg2hct06ybwobqc-delete.json" hash="39393c074fbfc549d54a4462d0418ae2"/><file name="cust_test_4zmrjg2hct06ybwobqc-get.json" hash="2359ed7cac6f06e7ab2134b78f0a80c0"/><file name="cust_test_4zmrjg2hct06ybwobqc-patch.json" hash="c9f43bc5d6abda836af2219b89d37322"/></dir><file name="customers-get.json" hash="94004c38dc91a85508111b8aa5f6f4db"/><file name="customers-post.json" hash="9ab098c4d510a2eb19e54619bae1ac5f"/><dir name="disputes"><file name="closed-get.json" hash="3b42074f4c51022cb697043d3c269476"/><file name="dspt_test_4zgf15h89w8t775kcm8-get.json" hash="74c867b793f5c44c202d34e15b43545c"/><file name="dspt_test_4zgf15h89w8t775kcm8-patch.json" hash="4a0a57988efa7b5b2906108e27172afd"/><file name="open-get.json" hash="d594c8a57bc478840ef257a7c0a4d247"/><file name="pending-get.json" hash="c4df6e0b877658489e0dcf521104dbca"/></dir><file name="disputes-get.json" hash="a41dae7bc2453230e63028fbb012d6af"/><dir name="recipients"><file name="recp_test_508a9dytz793gxv9m77-delete.json" hash="8f2911b4009127be4fae4c74ea7807dc"/><file name="recp_test_508a9dytz793gxv9m77-get.json" hash="c2b6e427c63e74feb4805da8fc64b1aa"/><file name="recp_test_508a9dytz793gxv9m77-patch.json" hash="d2a8fdd18d6989b472297fcb01529670"/></dir><file name="recipients-get.json" hash="e932beb18693f23bce525d2b8ff80104"/><file name="recipients-post.json" hash="c2b6e427c63e74feb4805da8fc64b1aa"/><dir name="transactions"><file name="trxn_test_4zmrjhlflnz6id6q0bo-get.json" hash="07eec8be08692f87f43a9c20b37f9be4"/></dir><file name="transactions-get.json" hash="4046a654d53076e4c11439fe560820fc"/><dir name="transfers"><file name="trsf_test_4zmrjicrvw7j6uhv1l4-delete.json" hash="c33d94ae8855086a6347f231401f7d62"/><file name="trsf_test_4zmrjicrvw7j6uhv1l4-get.json" hash="324d71559ca7f3a57181ba94d8b35d10"/><file name="trsf_test_4zmrjicrvw7j6uhv1l4-patch.json" hash="14eb0ad78c28df8ee1adc2447ad5568a"/></dir><file name="transfers-get.json" hash="4661e19d530501a9bd82a8272f7f35ef"/><file name="transfers-post.json" hash="324d71559ca7f3a57181ba94d8b35d10"/></dir><dir name="vault.omise.co"><dir name="tokens"><file name="tokn_test_4zmrjhuk2rndz24a6x0-get.json" hash="bed4f9d84db36bc8ee2394d46e098299"/></dir><file name="tokens-post.json" hash="bed4f9d84db36bc8ee2394d46e098299"/></dir></dir><dir name="omise"><file name="AccountTest.php" hash="2b31cc6ec17a55849c8545fe95c62285"/><file name="BalanceTest.php" hash="e6754c58230c754dd5dbd6d181d0463f"/><file name="CardTest.php" hash="579bd6674eec60869f03d503dcac546f"/><file name="ChargeTest.php" hash="4ffa6412c4061e9ccaa0163685908c33"/><file name="CustomerTest.php" hash="77fe9af1773a27517ba7ba6999c52f78"/><file name="DisputeTest.php" hash="e28bf8dbd3f65b4005feaf54eba7a1bb"/><file name="RecipientTest.php" hash="622056f6ab1cc07e660a0e728e6aaba0"/><file name="RefundTest.php" hash="2476fee14d25e739594e2a4418fc35df"/><file name="TestConfig.php" hash="0582a4d154688d30e247d14584f5189c"/><file name="TokenTest.php" hash="2ae61745b127c9545218b98e69f7efdd"/><file name="TransactionTest.php" hash="73b76cae43f3f439852d8565ab36a343"/><file name="TransferTest.php" hash="c32dd0a74d83f2fc26a5da347870f8f6"/><dir name="exception"><file name="OmiseExceptionTest.php" hash="6935decc4d1cc6758d773139e4529a9e"/></dir><dir name="res"><dir name="obj"><file name="OmiseObjectTest.php" hash="8c9e04bd9d6afb303827bc5f5d1afec2"/></dir></dir><file name="testall.sh" hash="4821c00f7473e7abffba790d91420c8a"/></dir></dir><file name=".gitignore" hash="04c5ce480da5e27bb9a1c2da304bbbca"/></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="cc719fbf45e1639d97f573c786103d75"/></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="e65ce4f060e83204e37760e4ca813d57"/></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></target></contents>
|
| 47 |
<compatible/>
|
| 48 |
+
<dependencies><required><php><min>5.4.0</min><max>5.6.25</max></php></required></dependencies>
|
| 49 |
</package>
|
