Version Notes
Added configuration option. Payment Page Type(IFrame or Popup)
Download this release
Release Info
Developer | KRPartners Co.,Ltd |
Extension | Eximbay |
Version | 1.0.6 |
Comparing to | |
See all releases |
Code changes from version 1.0.5 to 1.0.6
- app/code/local/Mage/Eximbay/Block/Form.php +22 -3
- app/code/local/Mage/Eximbay/Block/Payment.php +94 -0
- app/code/local/Mage/Eximbay/Block/Redirect.php +11 -0
- app/code/local/Mage/Eximbay/Model/Abstract.php +32 -19
- app/code/local/Mage/Eximbay/Model/Event.php +79 -41
- app/code/local/Mage/Eximbay/Model/Source.php +41 -0
- app/code/local/Mage/Eximbay/controllers/ProcessingController.php +44 -39
- app/code/local/Mage/Eximbay/etc/config.xml +1 -0
- app/code/local/Mage/Eximbay/etc/system.xml +20 -9
- app/design/frontend/base/default/template/eximbay/form.phtml +1 -0
- app/design/frontend/base/default/template/eximbay/payment.phtml +31 -6
- app/design/frontend/base/default/template/eximbay/placeform.phtml +2 -2
- app/design/frontend/base/default/template/eximbay/redirect.phtml +15 -3
- package.xml +5 -5
- skin/frontend/base/default/images/eximbay/eximbay_acc.gif +0 -0
app/code/local/Mage/Eximbay/Block/Form.php
CHANGED
@@ -27,14 +27,14 @@ class Mage_Eximbay_Block_Form extends Mage_Payment_Block_Form
|
|
27 |
*
|
28 |
* @var array
|
29 |
*/
|
30 |
-
protected $_supportedInfoLocales = array('
|
31 |
|
32 |
/**
|
33 |
* Default locale for content URL generation
|
34 |
*
|
35 |
* @var string
|
36 |
*/
|
37 |
-
protected $_defaultInfoLocale = '
|
38 |
|
39 |
/**
|
40 |
* Constructor. Set template.
|
@@ -74,8 +74,27 @@ class Mage_Eximbay_Block_Form extends Mage_Payment_Block_Form
|
|
74 |
{
|
75 |
$locale = substr(Mage::app()->getLocale()->getLocaleCode(), 0 ,2);
|
76 |
if (!in_array($locale, $this->_supportedInfoLocales)) {
|
77 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
}
|
|
|
|
|
79 |
return $locale;
|
80 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
}
|
27 |
*
|
28 |
* @var array
|
29 |
*/
|
30 |
+
protected $_supportedInfoLocales = array('zh', 'en', 'ja', 'ko');
|
31 |
|
32 |
/**
|
33 |
* Default locale for content URL generation
|
34 |
*
|
35 |
* @var string
|
36 |
*/
|
37 |
+
protected $_defaultInfoLocale = 'EN';
|
38 |
|
39 |
/**
|
40 |
* Constructor. Set template.
|
74 |
{
|
75 |
$locale = substr(Mage::app()->getLocale()->getLocaleCode(), 0 ,2);
|
76 |
if (!in_array($locale, $this->_supportedInfoLocales)) {
|
77 |
+
if($locale == 'ko'){
|
78 |
+
return 'KR';
|
79 |
+
}else if($locale == 'zh'){
|
80 |
+
return 'CN';
|
81 |
+
}else if($locale == 'ja'){
|
82 |
+
return 'JP';
|
83 |
+
}
|
84 |
}
|
85 |
+
$locale = $this->_defaultInfoLocale;
|
86 |
+
|
87 |
return $locale;
|
88 |
}
|
89 |
+
|
90 |
+
/**
|
91 |
+
* Return info URL for Eximbay payment
|
92 |
+
*
|
93 |
+
* @return string
|
94 |
+
*/
|
95 |
+
public function getEximbayInfoUrl()
|
96 |
+
{
|
97 |
+
$locale = $this->getInfoLocale();
|
98 |
+
return 'https://www.eximbay.com/index.do?lang_sel=' . $locale;
|
99 |
+
}
|
100 |
}
|
app/code/local/Mage/Eximbay/Block/Payment.php
CHANGED
@@ -21,6 +21,33 @@
|
|
21 |
*/
|
22 |
class Mage_Eximbay_Block_Payment extends Mage_Core_Block_Template
|
23 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
/**
|
25 |
* Return Payment logo src
|
26 |
*
|
@@ -34,4 +61,71 @@ class Mage_Eximbay_Block_Payment extends Mage_Core_Block_Template
|
|
34 |
|
35 |
return $this->getSkinUrl('images/eximbay/banner_120_int.gif');
|
36 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
}
|
21 |
*/
|
22 |
class Mage_Eximbay_Block_Payment extends Mage_Core_Block_Template
|
23 |
{
|
24 |
+
|
25 |
+
/**
|
26 |
+
* Return checkout session instance
|
27 |
+
*
|
28 |
+
* @return Mage_Checkout_Model_Session
|
29 |
+
*/
|
30 |
+
protected function _getCheckout()
|
31 |
+
{
|
32 |
+
return Mage::getSingleton('checkout/session');
|
33 |
+
}
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Return order instance
|
37 |
+
*
|
38 |
+
* @return Mage_Sales_Model_Order|null
|
39 |
+
*/
|
40 |
+
protected function _getOrder()
|
41 |
+
{
|
42 |
+
if ($this->getOrder()) {
|
43 |
+
return $this->getOrder();
|
44 |
+
} elseif ($orderIncrementId = $this->_getCheckout()->getLastRealOrderId()) {
|
45 |
+
return Mage::getModel('sales/order')->loadByIncrementId($orderIncrementId);
|
46 |
+
} else {
|
47 |
+
return null;
|
48 |
+
}
|
49 |
+
}
|
50 |
+
|
51 |
/**
|
52 |
* Return Payment logo src
|
53 |
*
|
61 |
|
62 |
return $this->getSkinUrl('images/eximbay/banner_120_int.gif');
|
63 |
}
|
64 |
+
|
65 |
+
/**
|
66 |
+
* Return Payment Order ID
|
67 |
+
*
|
68 |
+
* @return string
|
69 |
+
*/
|
70 |
+
public function getEximbayTransId()
|
71 |
+
{
|
72 |
+
return $this->_getOrder()->getRealOrderId();
|
73 |
+
}
|
74 |
+
|
75 |
+
|
76 |
+
/**
|
77 |
+
* Return Payment Date
|
78 |
+
*
|
79 |
+
* @return string
|
80 |
+
*/
|
81 |
+
public function getEximbayDate()
|
82 |
+
{
|
83 |
+
return $this->_getOrder()->getCreatedAtStoreDate();
|
84 |
+
}
|
85 |
+
|
86 |
+
|
87 |
+
|
88 |
+
/**
|
89 |
+
* Return Payment Amt
|
90 |
+
*
|
91 |
+
* @return string
|
92 |
+
*/
|
93 |
+
public function getEximbayAmt()
|
94 |
+
{
|
95 |
+
$amt = round($this->_getOrder()->getGrandTotal(), 2);
|
96 |
+
$cur = $this->_getOrder()->getOrderCurrencyCode();
|
97 |
+
if($cur == 'KRW' || $cur == 'JPY' || $cur == 'VND')
|
98 |
+
{
|
99 |
+
$amt = round($this->_getOrder()->getGrandTotal(), 0, PHP_ROUND_HALF_UP);
|
100 |
+
}
|
101 |
+
|
102 |
+
$cur_symbol = Mage::app()->getLocale()->currency( $cur )->getSymbol();
|
103 |
+
|
104 |
+
return $cur_symbol.$amt;
|
105 |
+
}
|
106 |
+
|
107 |
+
|
108 |
+
/**
|
109 |
+
* Get Display Type
|
110 |
+
*
|
111 |
+
* @return string
|
112 |
+
*/
|
113 |
+
public function getEximbayDisplayType()
|
114 |
+
{
|
115 |
+
$displayType = Mage::getStoreConfig('payment/eximbay_acc/dtype');
|
116 |
+
return $displayType;
|
117 |
+
}
|
118 |
+
|
119 |
+
/**
|
120 |
+
* Get Eximbay Title
|
121 |
+
*
|
122 |
+
* @return string
|
123 |
+
*/
|
124 |
+
public function getEximbayTitle()
|
125 |
+
{
|
126 |
+
$title = Mage::getStoreConfig('payment/eximbay_acc/title');
|
127 |
+
return $title;
|
128 |
+
}
|
129 |
+
|
130 |
+
|
131 |
}
|
app/code/local/Mage/Eximbay/Block/Redirect.php
CHANGED
@@ -29,4 +29,15 @@ class Mage_Eximbay_Block_Redirect extends Mage_Core_Block_Template
|
|
29 |
parent::_construct();
|
30 |
$this->setTemplate('eximbay/redirect.phtml');
|
31 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
}
|
29 |
parent::_construct();
|
30 |
$this->setTemplate('eximbay/redirect.phtml');
|
31 |
}
|
32 |
+
|
33 |
+
/**
|
34 |
+
* Get Display Type
|
35 |
+
*
|
36 |
+
* @return string
|
37 |
+
*/
|
38 |
+
public function getEximbayDisplayType()
|
39 |
+
{
|
40 |
+
$displayType = Mage::getStoreConfig('payment/eximbay_acc/dtype');
|
41 |
+
return $displayType;
|
42 |
+
}
|
43 |
}
|
app/code/local/Mage/Eximbay/Model/Abstract.php
CHANGED
@@ -73,11 +73,11 @@ abstract class Mage_Eximbay_Model_Abstract extends Mage_Payment_Model_Method_Abs
|
|
73 |
}
|
74 |
|
75 |
/**
|
76 |
-
* Capture payment through
|
77 |
*
|
78 |
* @param Varien_Object $payment
|
79 |
* @param decimal $amount
|
80 |
-
* @return
|
81 |
*/
|
82 |
public function capture(Varien_Object $payment, $amount)
|
83 |
{
|
@@ -92,7 +92,7 @@ abstract class Mage_Eximbay_Model_Abstract extends Mage_Payment_Model_Method_Abs
|
|
92 |
* Cancel payment
|
93 |
*
|
94 |
* @param Varien_Object $payment
|
95 |
-
* @return
|
96 |
*/
|
97 |
public function cancel(Varien_Object $payment)
|
98 |
{
|
@@ -110,7 +110,7 @@ abstract class Mage_Eximbay_Model_Abstract extends Mage_Payment_Model_Method_Abs
|
|
110 |
*/
|
111 |
public function getUrl()
|
112 |
{
|
113 |
-
$test_mode = Mage::getStoreConfig('payment/
|
114 |
if($test_mode){
|
115 |
return 'http://www.test2.eximbay.com/web/payment2.0/payment_real.do';
|
116 |
}else{
|
@@ -156,6 +156,21 @@ abstract class Mage_Eximbay_Model_Abstract extends Mage_Payment_Model_Method_Abs
|
|
156 |
return $this->_defaultLocale;
|
157 |
}
|
158 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
159 |
/**
|
160 |
* prepare params array to send it to gateway page via POST
|
161 |
*
|
@@ -172,12 +187,13 @@ abstract class Mage_Eximbay_Model_Abstract extends Mage_Payment_Model_Method_Abs
|
|
172 |
$email = $this->getOrder()->getCustomerEmail();
|
173 |
}
|
174 |
$amt = round($this->getOrder()->getGrandTotal(), 2);
|
175 |
-
$enc_secretKey = Mage::getStoreConfig('payment/
|
176 |
-
$enc_mid = Mage::getStoreConfig('payment/
|
177 |
$secretKey = Mage::helper('core')->decrypt($enc_secretKey);
|
178 |
$mid = Mage::helper('core')->decrypt($enc_mid);
|
179 |
$ref = $order_id;
|
180 |
-
//$cur = Mage::getStoreConfig('payment/
|
|
|
181 |
$cur = $this->getOrder()->getOrderCurrencyCode();
|
182 |
if($cur == 'KRW' || $cur == 'JPY' || $cur == 'VND')
|
183 |
{
|
@@ -194,27 +210,24 @@ abstract class Mage_Eximbay_Model_Abstract extends Mage_Payment_Model_Method_Abs
|
|
194 |
'ver' => '170',
|
195 |
'mid' => $mid,
|
196 |
'txntype' => 'SALE',
|
197 |
-
'displaytype' =>
|
198 |
'charset' => 'UTF-8',
|
199 |
-
'secretkey' => $secretKey,
|
200 |
'ref' => $ref,
|
201 |
'email' => $email,
|
202 |
-
'
|
203 |
-
|
204 |
'fgkey' => $fgkey,
|
205 |
'lang' => $this->getLocale(),
|
206 |
'amt' => $amt,
|
207 |
'cur' => $cur,
|
208 |
-
'shop' => Mage::app()->getStore()->getName(),//Mage::app()->getWebsite()->getName(),//Mage::app()->getStore()->getGroup()->getName(),//Mage::getStoreConfig('payment/
|
209 |
'buyer' => $billing->getFirstname() . $billing->getLastname(),
|
210 |
'tel' => $billing->getTelephone(),
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
'authcode' => '',
|
217 |
-
'visitorid' => '',
|
218 |
'dm_shipTo_city' => $shipping->getCity(),
|
219 |
'dm_shipTo_country' => $shipping->getCountry_id(),
|
220 |
'dm_shipTo_firstName' => $shipping->getFirstname(),
|
73 |
}
|
74 |
|
75 |
/**
|
76 |
+
* Capture payment through Eximbay api
|
77 |
*
|
78 |
* @param Varien_Object $payment
|
79 |
* @param decimal $amount
|
80 |
+
* @return Mage_Eximbay_Model_Abstract
|
81 |
*/
|
82 |
public function capture(Varien_Object $payment, $amount)
|
83 |
{
|
92 |
* Cancel payment
|
93 |
*
|
94 |
* @param Varien_Object $payment
|
95 |
+
* @return Mage_Eximbay_Model_Abstract
|
96 |
*/
|
97 |
public function cancel(Varien_Object $payment)
|
98 |
{
|
110 |
*/
|
111 |
public function getUrl()
|
112 |
{
|
113 |
+
$test_mode = Mage::getStoreConfig('payment/eximbay_acc/test');
|
114 |
if($test_mode){
|
115 |
return 'http://www.test2.eximbay.com/web/payment2.0/payment_real.do';
|
116 |
}else{
|
156 |
return $this->_defaultLocale;
|
157 |
}
|
158 |
|
159 |
+
/**
|
160 |
+
* Return display type of payment method
|
161 |
+
*
|
162 |
+
* @return string
|
163 |
+
*/
|
164 |
+
public function getDisplayType()
|
165 |
+
{
|
166 |
+
$diplay_mode = Mage::getStoreConfig('payment/eximbay_acc/dtype');
|
167 |
+
if($diplay_mode){
|
168 |
+
return 'I';
|
169 |
+
}else{
|
170 |
+
return 'P';
|
171 |
+
}
|
172 |
+
}
|
173 |
+
|
174 |
/**
|
175 |
* prepare params array to send it to gateway page via POST
|
176 |
*
|
187 |
$email = $this->getOrder()->getCustomerEmail();
|
188 |
}
|
189 |
$amt = round($this->getOrder()->getGrandTotal(), 2);
|
190 |
+
$enc_secretKey = Mage::getStoreConfig('payment/eximbay_acc/secret_key');
|
191 |
+
$enc_mid = Mage::getStoreConfig('payment/eximbay_acc/mid');
|
192 |
$secretKey = Mage::helper('core')->decrypt($enc_secretKey);
|
193 |
$mid = Mage::helper('core')->decrypt($enc_mid);
|
194 |
$ref = $order_id;
|
195 |
+
//$cur = Mage::getStoreConfig('payment/eximbay_acc/currency');
|
196 |
+
$displayType = $this->getDisplayType();
|
197 |
$cur = $this->getOrder()->getOrderCurrencyCode();
|
198 |
if($cur == 'KRW' || $cur == 'JPY' || $cur == 'VND')
|
199 |
{
|
210 |
'ver' => '170',
|
211 |
'mid' => $mid,
|
212 |
'txntype' => 'SALE',
|
213 |
+
'displaytype' => $displayType,
|
214 |
'charset' => 'UTF-8',
|
|
|
215 |
'ref' => $ref,
|
216 |
'email' => $email,
|
217 |
+
'returnurl' => Mage::getUrl('eximbay/processing/success'), //, array('transaction_id' => $order_id)
|
218 |
+
'statusurl' => Mage::getUrl('eximbay/processing/status'),
|
219 |
'fgkey' => $fgkey,
|
220 |
'lang' => $this->getLocale(),
|
221 |
'amt' => $amt,
|
222 |
'cur' => $cur,
|
223 |
+
'shop' => Mage::app()->getStore()->getName(),//Mage::app()->getWebsite()->getName(),//Mage::app()->getStore()->getGroup()->getName(),//Mage::getStoreConfig('payment/eximbay_acc/title'),
|
224 |
'buyer' => $billing->getFirstname() . $billing->getLastname(),
|
225 |
'tel' => $billing->getTelephone(),
|
226 |
+
'param1' => '',
|
227 |
+
'param2' => '',
|
228 |
+
'param3' => '',
|
229 |
+
'visitorid' => '',
|
230 |
+
'directToReturn' => 'N',
|
|
|
|
|
231 |
'dm_shipTo_city' => $shipping->getCity(),
|
232 |
'dm_shipTo_country' => $shipping->getCountry_id(),
|
233 |
'dm_shipTo_firstName' => $shipping->getFirstname(),
|
app/code/local/Mage/Eximbay/Model/Event.php
CHANGED
@@ -25,8 +25,6 @@
|
|
25 |
*/
|
26 |
class Mage_Eximbay_Model_Event
|
27 |
{
|
28 |
-
const EXIMBAY_STATUS_NOT_SUCCESS = -2;
|
29 |
-
const EXIMBAY_STATUS_SUCCESS = 2;
|
30 |
|
31 |
/*
|
32 |
* @param Mage_Sales_Model_Order
|
@@ -83,15 +81,12 @@ class Mage_Eximbay_Model_Event
|
|
83 |
try {
|
84 |
$params = $this->_validateEventData();
|
85 |
$msg = '';
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
$msg = Mage::helper('eximbay')->__('The amount has been authorized and captured by EXIMBAY.');
|
93 |
-
$this->_processSale($params['status'], $msg);
|
94 |
-
break;
|
95 |
}
|
96 |
return $msg;
|
97 |
} catch (Mage_Core_Exception $e) {
|
@@ -103,13 +98,13 @@ class Mage_Eximbay_Model_Event
|
|
103 |
}
|
104 |
|
105 |
/**
|
106 |
-
* Process cancelation
|
107 |
*/
|
108 |
public function cancelEvent() {
|
109 |
try {
|
110 |
$this->_validateEventData(false);
|
111 |
-
$this->_processCancel('Payment was
|
112 |
-
return Mage::helper('eximbay')->__('The order
|
113 |
} catch (Mage_Core_Exception $e) {
|
114 |
return $e->getMessage();
|
115 |
} catch(Exception $e) {
|
@@ -136,7 +131,7 @@ class Mage_Eximbay_Model_Event
|
|
136 |
protected function _processCancel($msg)
|
137 |
{
|
138 |
$this->_order->cancel();
|
139 |
-
$this->_order->addStatusToHistory(Mage_Sales_Model_Order::
|
140 |
$this->_order->save();
|
141 |
}
|
142 |
|
@@ -145,35 +140,50 @@ class Mage_Eximbay_Model_Event
|
|
145 |
* sends order confirmation to customer
|
146 |
* @param string $msg Order history message
|
147 |
*/
|
148 |
-
protected function _processSale($
|
149 |
{
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
$this->_order->getPayment()->setLastTransId($this->getEventData('transid'));
|
158 |
-
// send new order email
|
159 |
-
$this->_order->sendNewOrderEmail();
|
160 |
-
$this->_order->setEmailSent(true);
|
161 |
-
break;
|
162 |
-
}
|
163 |
$this->_order->save();
|
164 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
165 |
|
166 |
/**
|
167 |
* Builds invoice for order
|
168 |
*/
|
169 |
protected function _createInvoice()
|
170 |
{
|
171 |
-
|
172 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
173 |
}
|
174 |
-
$invoice = $this->_order->prepareInvoice();
|
175 |
-
$invoice->register()->capture();
|
176 |
-
$this->_order->addRelatedObject($invoice);
|
177 |
}
|
178 |
|
179 |
/**
|
@@ -194,13 +204,13 @@ class Mage_Eximbay_Model_Event
|
|
194 |
}
|
195 |
|
196 |
// check order ID
|
197 |
-
if (empty($params['
|
198 |
-
|| ($fullCheck == false && $this->_getCheckout()->getEximbayRealOrderId() != $params['
|
199 |
) {
|
200 |
Mage::throwException('Missing or invalid order ID.');
|
201 |
}
|
202 |
// load order for further validation
|
203 |
-
$this->_order = Mage::getModel('sales/order')->loadByIncrementId($params['
|
204 |
if (!$this->_order->getId()) {
|
205 |
Mage::throwException('Order not found.');
|
206 |
}
|
@@ -212,15 +222,43 @@ class Mage_Eximbay_Model_Event
|
|
212 |
// make additional validation
|
213 |
if ($fullCheck) {
|
214 |
// check payment status
|
215 |
-
if (empty($params['
|
216 |
Mage::throwException('Unknown payment status.');
|
217 |
}
|
218 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
219 |
// check transaction amount if currency matches
|
220 |
if ($this->_order->getOrderCurrencyCode() == $params['cur']) {
|
221 |
-
|
222 |
-
|
223 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
224 |
}
|
225 |
}
|
226 |
return $params;
|
25 |
*/
|
26 |
class Mage_Eximbay_Model_Event
|
27 |
{
|
|
|
|
|
28 |
|
29 |
/*
|
30 |
* @param Mage_Sales_Model_Order
|
81 |
try {
|
82 |
$params = $this->_validateEventData();
|
83 |
$msg = '';
|
84 |
+
if($params['rescode'] == '0000') { //ok
|
85 |
+
$msg = Mage::helper('eximbay')->__('The amount has been authorized and captured by EXIMBAY.');
|
86 |
+
$this->_processSale($msg);
|
87 |
+
}else{ //fail
|
88 |
+
$msg = Mage::helper('eximbay')->__('Payment was not successful. Response Code :'.$params['rescode'].' Response Message :'.$params['resmsg']);
|
89 |
+
$this->_processFail($msg);
|
|
|
|
|
|
|
90 |
}
|
91 |
return $msg;
|
92 |
} catch (Mage_Core_Exception $e) {
|
98 |
}
|
99 |
|
100 |
/**
|
101 |
+
* Process cancelation
|
102 |
*/
|
103 |
public function cancelEvent() {
|
104 |
try {
|
105 |
$this->_validateEventData(false);
|
106 |
+
$this->_processCancel('Payment was cancelled by Customer.');
|
107 |
+
return Mage::helper('eximbay')->__('The order has been cancelled.');
|
108 |
} catch (Mage_Core_Exception $e) {
|
109 |
return $e->getMessage();
|
110 |
} catch(Exception $e) {
|
131 |
protected function _processCancel($msg)
|
132 |
{
|
133 |
$this->_order->cancel();
|
134 |
+
$this->_order->addStatusToHistory(Mage_Sales_Model_Order::STATE_CANCELED, $msg);
|
135 |
$this->_order->save();
|
136 |
}
|
137 |
|
140 |
* sends order confirmation to customer
|
141 |
* @param string $msg Order history message
|
142 |
*/
|
143 |
+
protected function _processSale($msg)
|
144 |
{
|
145 |
+
$this->_createInvoice();
|
146 |
+
$this->_order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true, $msg);
|
147 |
+
// save transaction ID
|
148 |
+
$this->_order->getPayment()->setLastTransId($this->getEventData('transid'));
|
149 |
+
// send new order email
|
150 |
+
$this->_order->sendNewOrderEmail();
|
151 |
+
$this->_order->setEmailSent(true);
|
|
|
|
|
|
|
|
|
|
|
|
|
152 |
$this->_order->save();
|
153 |
}
|
154 |
+
|
155 |
+
/**
|
156 |
+
* Processes payment fail
|
157 |
+
* @param string $msg Order history message
|
158 |
+
*/
|
159 |
+
protected function _processFail($msg)
|
160 |
+
{
|
161 |
+
$this->_order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, true, $msg)->save();
|
162 |
+
}
|
163 |
|
164 |
/**
|
165 |
* Builds invoice for order
|
166 |
*/
|
167 |
protected function _createInvoice()
|
168 |
{
|
169 |
+
try{
|
170 |
+
if (!$this->_order->canInvoice()) {
|
171 |
+
Mage::throwException(Mage::helper('eximbay')->__('Cannot create an invoice.'));
|
172 |
+
}
|
173 |
+
$invoice = $this->_order->prepareInvoice();
|
174 |
+
|
175 |
+
if (!$invoice->getTotalQty()) {
|
176 |
+
Mage::throwException(Mage::helper('eximbay')->__('Cannot create an invoice without products.'));
|
177 |
+
}
|
178 |
+
$invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::CAPTURE_ONLINE);
|
179 |
+
$invoice->register();
|
180 |
+
$transactionSave = Mage::getModel('core/resource_transaction')->addObject($invoice)->addObject($invoice->getOrder());
|
181 |
+
$transactionSave->save();
|
182 |
+
} catch (Mage_Core_Exception $e) {
|
183 |
+
return $e->getMessage();
|
184 |
+
} catch(Exception $e) {
|
185 |
+
Mage::logException($e);
|
186 |
}
|
|
|
|
|
|
|
187 |
}
|
188 |
|
189 |
/**
|
204 |
}
|
205 |
|
206 |
// check order ID
|
207 |
+
if (empty($params['ref'])
|
208 |
+
|| ($fullCheck == false && $this->_getCheckout()->getEximbayRealOrderId() != $params['ref'])
|
209 |
) {
|
210 |
Mage::throwException('Missing or invalid order ID.');
|
211 |
}
|
212 |
// load order for further validation
|
213 |
+
$this->_order = Mage::getModel('sales/order')->loadByIncrementId($params['ref']);
|
214 |
if (!$this->_order->getId()) {
|
215 |
Mage::throwException('Order not found.');
|
216 |
}
|
222 |
// make additional validation
|
223 |
if ($fullCheck) {
|
224 |
// check payment status
|
225 |
+
if (empty($params['rescode'])) {
|
226 |
Mage::throwException('Unknown payment status.');
|
227 |
}
|
228 |
|
229 |
+
// check transaction signature
|
230 |
+
if (empty($params['fgkey'])) {
|
231 |
+
Mage::throwException('Invalid transaction signature.');
|
232 |
+
}
|
233 |
+
|
234 |
+
if($params['rescode'] == '0000'){
|
235 |
+
$enc_secretKey = Mage::getStoreConfig('payment/eximbay_acc/secret_key');
|
236 |
+
$secretKey = Mage::helper('core')->decrypt($enc_secretKey);
|
237 |
+
if (empty($secretKey)) {
|
238 |
+
Mage::throwException('Secret key is empty.'.$secretKey);
|
239 |
+
}
|
240 |
+
|
241 |
+
$linkBuf = $secretKey. "?mid=" .$params['mid'] ."&ref=" .$params['ref'] ."&cur=" .$params['cur'] ."&amt=" .$params['amt'] ."&rescode=" .$params['rescode'] ."&transid=" .$params['transid'];
|
242 |
+
//$newFgkey = md5($linkBuf);
|
243 |
+
$newFgkey = hash("sha256", $linkBuf);
|
244 |
+
|
245 |
+
if(strtolower($params['fgkey']) != $newFgkey){
|
246 |
+
Mage::throwException('Hash is not valid. ');
|
247 |
+
}
|
248 |
+
}
|
249 |
+
|
250 |
// check transaction amount if currency matches
|
251 |
if ($this->_order->getOrderCurrencyCode() == $params['cur']) {
|
252 |
+
if($this->_order->getOrderCurrencyCode() == 'KRW' || $this->_order->getOrderCurrencyCode() == 'JPY' || $this->_order->getOrderCurrencyCode() == 'VND')
|
253 |
+
{
|
254 |
+
if(round($this->_order->getGrandTotal(), 0, PHP_ROUND_HALF_UP) != $params['amt']){
|
255 |
+
Mage::throwException('Transaction amount does not match.');
|
256 |
+
}
|
257 |
+
}else{
|
258 |
+
if(round($this->_order->getGrandTotal(), 2) != $params['amt']) {
|
259 |
+
Mage::throwException('Transaction amount does not match.');
|
260 |
+
}
|
261 |
+
}
|
262 |
}
|
263 |
}
|
264 |
return $params;
|
app/code/local/Mage/Eximbay/Model/Source.php
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Eximbay, Online Payment Module
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the GNU General Public License (GPL 3.0)
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://opensource.org/licenses/GPL-3.0 or http://www.gnu.org/copyleft/gpl.html
|
10 |
+
*
|
11 |
+
* DISCLAIMER
|
12 |
+
*
|
13 |
+
* Do not edit or add to this file if you wish to upgrade Eximbay module to newer
|
14 |
+
* versions in the future. If you wish to customize Eximbay module for your
|
15 |
+
* needs please refer to https://www.eximbay.com for more information.
|
16 |
+
*
|
17 |
+
* @category Mage
|
18 |
+
* @package Mage_Eximbay
|
19 |
+
* @copyright Copyright (c) 2013 KRPartners Co.,Ltd (https://www.eximbay.com)
|
20 |
+
* @license http://opensource.org/licenses/GPL-3.0 GNU General Public License (GPL 3.0)
|
21 |
+
*/
|
22 |
+
|
23 |
+
class Mage_Eximbay_Model_Source
|
24 |
+
{
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Options getter
|
28 |
+
*
|
29 |
+
* @return array
|
30 |
+
*/
|
31 |
+
public function toOptionArray()
|
32 |
+
{
|
33 |
+
return array(
|
34 |
+
array('value' => 1, 'label'=>Mage::helper('eximbay')->__('IFrame')),
|
35 |
+
array('value' => 0, 'label'=>Mage::helper('eximbay')->__('Popup')),
|
36 |
+
);
|
37 |
+
}
|
38 |
+
|
39 |
+
}
|
40 |
+
|
41 |
+
?>
|
app/code/local/Mage/Eximbay/controllers/ProcessingController.php
CHANGED
@@ -53,8 +53,9 @@ class Mage_Eximbay_ProcessingController extends Mage_Core_Controller_Front_Actio
|
|
53 |
if (!$order->getId()) {
|
54 |
Mage::throwException('No order for processing found');
|
55 |
}
|
|
|
56 |
$order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, Mage_Sales_Model_Order::STATE_PENDING_PAYMENT,
|
57 |
-
Mage::helper('eximbay')->__('The customer was redirected to
|
58 |
);
|
59 |
$order->save();
|
60 |
|
@@ -79,52 +80,56 @@ class Mage_Eximbay_ProcessingController extends Mage_Core_Controller_Front_Actio
|
|
79 |
$event = Mage::getModel('eximbay/event')
|
80 |
->setEventData($this->getRequest()->getParams());
|
81 |
|
82 |
-
$data = $event->getEventData();
|
83 |
-
|
84 |
try {
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
$message = $event->processStatusEvent();
|
90 |
-
$quoteId = $event->successEvent();
|
91 |
-
$this->_getCheckout()->setLastSuccessQuoteId($quoteId);
|
92 |
-
$this->_redirect('checkout/onepage/success');
|
93 |
-
return;
|
94 |
-
}
|
95 |
-
else // payment not successful
|
96 |
-
{
|
97 |
-
/*
|
98 |
-
$data['status'] = -2;
|
99 |
-
$event->setEventData($data);
|
100 |
-
$message = $event->processStatusEvent();
|
101 |
-
*/
|
102 |
-
$message = $event->cancelEvent();
|
103 |
-
|
104 |
-
// set quote to active
|
105 |
-
$session = $this->_getCheckout();
|
106 |
-
if ($quoteId = $session->getEximbayQuoteId()) {
|
107 |
-
$quote = Mage::getModel('sales/quote')->load($quoteId);
|
108 |
-
if ($quote->getId()) {
|
109 |
-
$quote->setIsActive(true)->save();
|
110 |
-
$session->setQuoteId($quoteId);
|
111 |
-
}
|
112 |
-
}
|
113 |
-
|
114 |
-
$session->addError($message);
|
115 |
-
$this->_redirect('checkout/cart');
|
116 |
-
}
|
117 |
-
|
118 |
} catch (Mage_Core_Exception $e) {
|
119 |
$this->_getCheckout()->addError($e->getMessage());
|
120 |
} catch(Exception $e) {
|
121 |
Mage::logException($e);
|
122 |
}
|
123 |
-
|
124 |
-
|
125 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
}
|
127 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
128 |
/**
|
129 |
* Set redirect into responce. This has to be encapsulated in an JavaScript
|
130 |
* call to jump out of the iframe.
|
53 |
if (!$order->getId()) {
|
54 |
Mage::throwException('No order for processing found');
|
55 |
}
|
56 |
+
|
57 |
$order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, Mage_Sales_Model_Order::STATE_PENDING_PAYMENT,
|
58 |
+
Mage::helper('eximbay')->__('The customer was redirected to Eximbay.')
|
59 |
);
|
60 |
$order->save();
|
61 |
|
80 |
$event = Mage::getModel('eximbay/event')
|
81 |
->setEventData($this->getRequest()->getParams());
|
82 |
|
|
|
|
|
83 |
try {
|
84 |
+
$quoteId = $event->successEvent();
|
85 |
+
$this->_getCheckout()->setLastSuccessQuoteId($quoteId);
|
86 |
+
$this->_redirect('checkout/onepage/success');
|
87 |
+
return;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
} catch (Mage_Core_Exception $e) {
|
89 |
$this->_getCheckout()->addError($e->getMessage());
|
90 |
} catch(Exception $e) {
|
91 |
Mage::logException($e);
|
92 |
}
|
93 |
+
$this->_redirect('checkout/cart');
|
94 |
+
}
|
95 |
+
|
96 |
+
/**
|
97 |
+
* When a customer cancel payment from eximbay.
|
98 |
+
*/
|
99 |
+
public function cancelAction()
|
100 |
+
{
|
101 |
+
$data['ref'] = $this->_getCheckout()->getLastRealOrderId();
|
102 |
+
$event = Mage::getModel('eximbay/event')
|
103 |
+
->setEventData($data);
|
104 |
+
|
105 |
+
$message = $event->cancelEvent();
|
106 |
+
|
107 |
+
// set quote to active
|
108 |
+
$session = $this->_getCheckout();
|
109 |
+
if ($quoteId = $session->getEximbayQuoteId()) {
|
110 |
+
$quote = Mage::getModel('sales/quote')->load($quoteId);
|
111 |
+
if ($quote->getId()) {
|
112 |
+
$quote->setIsActive(true)->save();
|
113 |
+
$session->setQuoteId($quoteId);
|
114 |
+
}
|
115 |
+
}
|
116 |
+
|
117 |
+
$session->addError($message);
|
118 |
+
parent::_redirect('checkout/cart');
|
119 |
}
|
120 |
|
121 |
+
/**
|
122 |
+
* Action to which the transaction details will be posted after the payment
|
123 |
+
* process is complete.
|
124 |
+
*/
|
125 |
+
public function statusAction()
|
126 |
+
{
|
127 |
+
$event = Mage::getModel('eximbay/event')
|
128 |
+
->setEventData($this->getRequest()->getParams());
|
129 |
+
$message = $event->processStatusEvent();
|
130 |
+
$this->getResponse()->setBody($message);
|
131 |
+
}
|
132 |
+
|
133 |
/**
|
134 |
* Set redirect into responce. This has to be encapsulated in an JavaScript
|
135 |
* call to jump out of the iframe.
|
app/code/local/Mage/Eximbay/etc/config.xml
CHANGED
@@ -149,6 +149,7 @@
|
|
149 |
<active>1</active>
|
150 |
<model>eximbay/acc</model>
|
151 |
<title>Credit Card (Eximbay)</title>
|
|
|
152 |
<allowspecific>0</allowspecific>
|
153 |
</eximbay_acc>
|
154 |
</payment>
|
149 |
<active>1</active>
|
150 |
<model>eximbay/acc</model>
|
151 |
<title>Credit Card (Eximbay)</title>
|
152 |
+
<order_status>processing</order_status>
|
153 |
<allowspecific>0</allowspecific>
|
154 |
</eximbay_acc>
|
155 |
</payment>
|
app/code/local/Mage/Eximbay/etc/system.xml
CHANGED
@@ -83,17 +83,18 @@
|
|
83 |
<show_in_website>1</show_in_website>
|
84 |
<show_in_store>0</show_in_store>
|
85 |
</secret_key>
|
86 |
-
|
87 |
<label>New order status</label>
|
|
|
88 |
<frontend_type>select</frontend_type>
|
89 |
-
|
90 |
<!--<source_model>adminhtml/system_config_source_order_status_new</source_model>-->
|
91 |
-
|
92 |
-
|
93 |
<show_in_default>1</show_in_default>
|
94 |
<show_in_website>1</show_in_website>
|
95 |
<show_in_store>0</show_in_store>
|
96 |
-
</order_status
|
97 |
<test translate="label">
|
98 |
<label>Test Mode</label>
|
99 |
<comment>If you want to work in test mode, choose 'Yes'. Otherwise, choose 'No'</comment>
|
@@ -104,11 +105,21 @@
|
|
104 |
<show_in_website>1</show_in_website>
|
105 |
<show_in_store>0</show_in_store>
|
106 |
</test>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
<!--<currency translate="label">
|
108 |
<label>Accepted Currency</label>
|
109 |
<frontend_type>select</frontend_type>
|
110 |
<source_model>adminhtml/system_config_source_currency</source_model>
|
111 |
-
<sort_order>
|
112 |
<show_in_default>1</show_in_default>
|
113 |
<show_in_website>1</show_in_website>
|
114 |
<show_in_store>0</show_in_store>
|
@@ -117,7 +128,7 @@
|
|
117 |
<label>Credit Card Types</label>
|
118 |
<frontend_type>multiselect</frontend_type>
|
119 |
<source_model>paygate/authorizenet_source_cctype</source_model>
|
120 |
-
<sort_order>
|
121 |
<show_in_default>1</show_in_default>
|
122 |
<show_in_website>1</show_in_website>
|
123 |
<show_in_store>0</show_in_store>
|
@@ -125,7 +136,7 @@
|
|
125 |
<!--<allowspecific translate="label">
|
126 |
<label>Payment from applicable countries</label>
|
127 |
<frontend_type>allowspecific</frontend_type>
|
128 |
-
<sort_order>
|
129 |
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
130 |
<show_in_default>1</show_in_default>
|
131 |
<show_in_website>1</show_in_website>
|
@@ -134,7 +145,7 @@
|
|
134 |
<specificcountry translate="label">
|
135 |
<label>Payment from Specific countries</label>
|
136 |
<frontend_type>multiselect</frontend_type>
|
137 |
-
<sort_order>
|
138 |
<source_model>adminhtml/system_config_source_country</source_model>
|
139 |
<show_in_default>1</show_in_default>
|
140 |
<show_in_website>1</show_in_website>
|
83 |
<show_in_website>1</show_in_website>
|
84 |
<show_in_store>0</show_in_store>
|
85 |
</secret_key>
|
86 |
+
<order_status translate="label">
|
87 |
<label>New order status</label>
|
88 |
+
<comment>Choose your preferred order status</comment>
|
89 |
<frontend_type>select</frontend_type>
|
90 |
+
<!--<source_model>adminhtml/system_config_source_order_status</source_model>-->
|
91 |
<!--<source_model>adminhtml/system_config_source_order_status_new</source_model>-->
|
92 |
+
<source_model>adminhtml/system_config_source_order_status_processing</source_model>
|
93 |
+
<sort_order>5</sort_order>
|
94 |
<show_in_default>1</show_in_default>
|
95 |
<show_in_website>1</show_in_website>
|
96 |
<show_in_store>0</show_in_store>
|
97 |
+
</order_status>
|
98 |
<test translate="label">
|
99 |
<label>Test Mode</label>
|
100 |
<comment>If you want to work in test mode, choose 'Yes'. Otherwise, choose 'No'</comment>
|
105 |
<show_in_website>1</show_in_website>
|
106 |
<show_in_store>0</show_in_store>
|
107 |
</test>
|
108 |
+
<dtype translate="label">
|
109 |
+
<label>Payment Page Type</label>
|
110 |
+
<comment>Choose your payment page type, IFrame or Popup.</comment>
|
111 |
+
<frontend_type>select</frontend_type>
|
112 |
+
<source_model>eximbay/source</source_model>
|
113 |
+
<sort_order>7</sort_order>
|
114 |
+
<show_in_default>1</show_in_default>
|
115 |
+
<show_in_website>1</show_in_website>
|
116 |
+
<show_in_store>0</show_in_store>
|
117 |
+
</dtype>
|
118 |
<!--<currency translate="label">
|
119 |
<label>Accepted Currency</label>
|
120 |
<frontend_type>select</frontend_type>
|
121 |
<source_model>adminhtml/system_config_source_currency</source_model>
|
122 |
+
<sort_order>8</sort_order>
|
123 |
<show_in_default>1</show_in_default>
|
124 |
<show_in_website>1</show_in_website>
|
125 |
<show_in_store>0</show_in_store>
|
128 |
<label>Credit Card Types</label>
|
129 |
<frontend_type>multiselect</frontend_type>
|
130 |
<source_model>paygate/authorizenet_source_cctype</source_model>
|
131 |
+
<sort_order>9</sort_order>
|
132 |
<show_in_default>1</show_in_default>
|
133 |
<show_in_website>1</show_in_website>
|
134 |
<show_in_store>0</show_in_store>
|
136 |
<!--<allowspecific translate="label">
|
137 |
<label>Payment from applicable countries</label>
|
138 |
<frontend_type>allowspecific</frontend_type>
|
139 |
+
<sort_order>10</sort_order>
|
140 |
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
141 |
<show_in_default>1</show_in_default>
|
142 |
<show_in_website>1</show_in_website>
|
145 |
<specificcountry translate="label">
|
146 |
<label>Payment from Specific countries</label>
|
147 |
<frontend_type>multiselect</frontend_type>
|
148 |
+
<sort_order>11</sort_order>
|
149 |
<source_model>adminhtml/system_config_source_country</source_model>
|
150 |
<show_in_default>1</show_in_default>
|
151 |
<show_in_website>1</show_in_website>
|
app/design/frontend/base/default/template/eximbay/form.phtml
CHANGED
@@ -29,6 +29,7 @@
|
|
29 |
<li>
|
30 |
<div style="padding:10px 15px 15px;">
|
31 |
<img src="<?php echo $_img ?>" alt="" /><br />
|
|
|
32 |
</div>
|
33 |
</li>
|
34 |
<?php endif; ?>
|
29 |
<li>
|
30 |
<div style="padding:10px 15px 15px;">
|
31 |
<img src="<?php echo $_img ?>" alt="" /><br />
|
32 |
+
<a href="<?php echo $this->getEximbayInfoUrl() ?>" target="_blank"><?php echo Mage::helper('eximbay')->__('More information about Eximbay') ?></a>
|
33 |
</div>
|
34 |
</li>
|
35 |
<?php endif; ?>
|
app/design/frontend/base/default/template/eximbay/payment.phtml
CHANGED
@@ -21,15 +21,40 @@
|
|
21 |
*/
|
22 |
?>
|
23 |
<div class="page-head">
|
24 |
-
<h3><?php echo Mage::helper('eximbay')->__('Please pay your order now')
|
25 |
</div>
|
|
|
26 |
<table style="width:100%;">
|
27 |
-
|
28 |
-
|
|
|
29 |
<iframe style="width:100%; height:600px;" src="<?php echo Mage::getUrl('eximbay/processing/placeform') ?>"></iframe>
|
30 |
-
|
31 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
<img src="<?php echo $this->getEximbayLogoSrc() ?>" title="<?php echo Mage::helper('eximbay')->__('Powered by Eximbay') ?>" alt="<?php echo Mage::helper('eximbay')->__('Powered by Eximbay') ?>" />
|
33 |
</td>
|
34 |
-
|
35 |
</table>
|
21 |
*/
|
22 |
?>
|
23 |
<div class="page-head">
|
24 |
+
<h3><?php echo Mage::helper('eximbay')->__('Please pay your order now') ?> </h3>
|
25 |
</div>
|
26 |
+
|
27 |
<table style="width:100%;">
|
28 |
+
<tr>
|
29 |
+
<td style="width:75%; align:center;">
|
30 |
+
<?php if ($this->getEximbayDisplayType()): ?>
|
31 |
<iframe style="width:100%; height:600px;" src="<?php echo Mage::getUrl('eximbay/processing/placeform') ?>"></iframe>
|
32 |
+
<?php else: ?>
|
33 |
+
<table class="data-table" id="eximbay-review-table" style="width:100%;">
|
34 |
+
<thead>
|
35 |
+
<tr>
|
36 |
+
<th class="a-center"><?php echo $this->__('Order:') ?></th>
|
37 |
+
<th class="a-center"><?php echo $this->__('Date:') ?></th>
|
38 |
+
<th class="a-center"><?php echo $this->__('Total:') ?></th>
|
39 |
+
<th class="a-center"><?php echo $this->__('Payment Method:') ?></th>
|
40 |
+
</tr>
|
41 |
+
</thead>
|
42 |
+
<tr style="height:35px;">
|
43 |
+
<th style="text-align:center;"><?php echo $this->getEximbayTransId() ?></th>
|
44 |
+
<th style="text-align:center;"><?php echo $this->getEximbayDate() ?></th>
|
45 |
+
<th style="text-align:center;"><?php echo $this->getEximbayAmt() ?></th>
|
46 |
+
<th style="text-align:center;"><?php echo $this->getEximbayTitle() ?></th>
|
47 |
+
</tr>
|
48 |
+
</table>
|
49 |
+
<div class="buttons-set" id="eximbay-buttons-container">
|
50 |
+
<p>Thank you for your order, please click the button below to pay with Eximbay.</p>
|
51 |
+
<p class="f-left"><a href="<?php echo $this->getUrl('eximbay/processing/cancel') ?>"><?php echo $this->__('Cancel Order') ?></a></p>
|
52 |
+
<button type="submit" title="<?php echo $this->__('Pay via Eximbay') ?>" class="button btn-checkout" onclick="javascript:window.open('<?php echo Mage::getUrl('eximbay/processing/placeform') ?>','payment2','scrollbars=yes,status=no,toolbar=no,resizable=yes,location=no,menu=no,width=800,height=470,top=200,left=300');"><span><span><?php echo $this->__('Pay via Eximbay') ?></span></span></button>
|
53 |
+
</div>
|
54 |
+
<?php endif; ?>
|
55 |
+
</td>
|
56 |
+
<td style="text-align:center;">
|
57 |
<img src="<?php echo $this->getEximbayLogoSrc() ?>" title="<?php echo Mage::helper('eximbay')->__('Powered by Eximbay') ?>" alt="<?php echo Mage::helper('eximbay')->__('Powered by Eximbay') ?>" />
|
58 |
</td>
|
59 |
+
</tr>
|
60 |
</table>
|
app/design/frontend/base/default/template/eximbay/placeform.phtml
CHANGED
@@ -38,12 +38,12 @@ document.write(unescape("%3Cscript src='" + pkBaseURL + "mwa_siteno.js' type='te
|
|
38 |
<script type="text/javascript">if(set_site_number(111)) set_site_number(111);</script>
|
39 |
|
40 |
<script type="text/javascript">
|
41 |
-
|
42 |
function myfunction() {
|
43 |
var paymentform = document.getElementById('eximbay_place_form');
|
44 |
document.eximbay.visitorid.value = get_visitorid();
|
45 |
paymentform.submit();
|
46 |
}
|
47 |
window.onload = myfunction;
|
48 |
-
|
49 |
</script>
|
38 |
<script type="text/javascript">if(set_site_number(111)) set_site_number(111);</script>
|
39 |
|
40 |
<script type="text/javascript">
|
41 |
+
//<![CDATA[
|
42 |
function myfunction() {
|
43 |
var paymentform = document.getElementById('eximbay_place_form');
|
44 |
document.eximbay.visitorid.value = get_visitorid();
|
45 |
paymentform.submit();
|
46 |
}
|
47 |
window.onload = myfunction;
|
48 |
+
//]]>
|
49 |
</script>
|
app/design/frontend/base/default/template/eximbay/redirect.phtml
CHANGED
@@ -20,6 +20,18 @@
|
|
20 |
* @license http://opensource.org/licenses/GPL-3.0 GNU General Public License (GPL 3.0)
|
21 |
*/
|
22 |
?>
|
23 |
-
<html
|
24 |
-
<
|
25 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
* @license http://opensource.org/licenses/GPL-3.0 GNU General Public License (GPL 3.0)
|
21 |
*/
|
22 |
?>
|
23 |
+
<html>
|
24 |
+
<head>
|
25 |
+
<script type="text/javascript">
|
26 |
+
//<![CDATA[
|
27 |
+
<?php if ($this->getEximbayDisplayType()): ?>
|
28 |
+
parent.location.href="<?php echo $this->getRedirectUrl() ?>";
|
29 |
+
<?php else: ?>
|
30 |
+
window.opener.location.href="<?php echo $this->getRedirectUrl() ?>";
|
31 |
+
window.self.close();
|
32 |
+
<?php endif; ?>
|
33 |
+
//]]>
|
34 |
+
</script>
|
35 |
+
</head>
|
36 |
+
<body></body>
|
37 |
+
</html>
|
package.xml
CHANGED
@@ -1,18 +1,18 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Eximbay</name>
|
4 |
-
<version>1.0.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/gpl-license.php">GNU General Public License</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Official Eximbay Payment Extension</summary>
|
10 |
<description>This payment module offers a variety of popular payment methods for online merchants.</description>
|
11 |
-
<notes>Added configuration option
|
12 |
<authors><author><name>KRPartners Co.,Ltd</name><user>prokod1</user><email>prokod@kr.net</email></author></authors>
|
13 |
-
<date>2014-
|
14 |
-
<time>
|
15 |
-
<contents><target name="magelocal"><dir name="Mage"><dir name="Eximbay"><dir name="Block"><file name="Form.php" hash="
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.0.0</min><max>6.0.0</max></php></required></dependencies>
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Eximbay</name>
|
4 |
+
<version>1.0.6</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/gpl-license.php">GNU General Public License</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Official Eximbay Payment Extension</summary>
|
10 |
<description>This payment module offers a variety of popular payment methods for online merchants.</description>
|
11 |
+
<notes>Added configuration option. Payment Page Type(IFrame or Popup)</notes>
|
12 |
<authors><author><name>KRPartners Co.,Ltd</name><user>prokod1</user><email>prokod@kr.net</email></author></authors>
|
13 |
+
<date>2014-03-06</date>
|
14 |
+
<time>11:24:42</time>
|
15 |
+
<contents><target name="magelocal"><dir name="Mage"><dir name="Eximbay"><dir name="Block"><file name="Form.php" hash="b8147288ed4b1618385ce3435542a525"/><file name="Info.php" hash="d54164acde35a307cba6c2a93efa545d"/><file name="Jsinit.php" hash="8485fc4e1405c247c66bc2c3a998945a"/><file name="Payment.php" hash="f01db54dd0e7b8e9311332a8cf505197"/><file name="Placeform.php" hash="847d84d6cd2a4109fe86167122b48238"/><file name="Redirect.php" hash="5f94a39dbe0d151e0624070f3ea36af3"/></dir><dir name="Helper"><file name="Data.php" hash="152b123f6ff4de1ecb49f07c4ddfb85d"/></dir><dir name="Model"><file name="Abstract.php" hash="1a6ff44b7f363056bd27b5888a94c1c6"/><file name="Acc.php" hash="216134d769ee10f0704b7d592967c5f4"/><file name="Event.php" hash="2721d0bd55a16a44f25ef5789c9ef05f"/><file name="Source.php" hash="105a8fe25e2e08ebca7c425f9353c929"/></dir><dir name="controllers"><file name="EximbayController.php" hash="f4830633769127a2d2558053494fab51"/><file name="ProcessingController.php" hash="a094f99ff8a3edd78e61e2098ab71ba7"/></dir><dir name="etc"><file name="config.xml" hash="3f85e6a4cf9455f6243a7fdc8c63104e"/><file name="system.xml" hash="7ffb8aad1a37974d551db99ae9299f5c"/></dir><dir name="sql"><dir name="eximbay_setup"><file name="mysql4-install-0.1.0.php" hash="a6be2fbf126da40e119bf9d15acd545e"/><file name="mysql4-ugrade-0.1.0-0.2.0.php" hash="b6adcaae8201d20284c53eee72cbca36"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="eximbay.xml" hash="a40141b94abc2e79f48261c380f6bee8"/></dir><dir name="template"><dir name="eximbay"><file name="info.phtml" hash="eb6781c9c3239e9e7680c6d135608a98"/><file name="jsinit.phtml" hash="0c96e841bb9c384df2e04d018c5d3a3e"/><dir name="pdf"><file name="info.phtml" hash="d087d55b5aca15306673e37c37650b9b"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="eximbay.xml" hash="6ff8a6036e516221aad42f5144942278"/></dir><dir name="template"><dir name="eximbay"><file name="blank.phtml" hash="6a2650fc18513a3cfb13d3b8362fac63"/><file name="form.phtml" hash="38fbb480c17767a72c3f2cf957c62255"/><file name="info.phtml" hash="e06bb65b3d5e5c57e15be49b2c69c5b9"/><file name="payment.phtml" hash="716a97fa8472ec990eebdd829a480b54"/><file name="placeform.phtml" hash="dfa8773672b3ec9911bef6e3381c67d1"/><file name="redirect.phtml" hash="3889defdb3ed77611448e05406b193ab"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Mage_Eximbay.xml" hash="d2ad4447bb58e1fb25f3624eee141768"/></dir></target><target name="magelocale"><dir name="en_US"><file name="Mage_Eximbay.csv" hash="dcea44085c5e6f5bd41b49eb9333863d"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="images"><dir name="eximbay"><file name="banner_120_int.gif" hash="54276432f5b4f61f32e8c8cd2a0cc6d1"/><file name="eximbay_acc.gif" hash="0396c67d5d153ee4cae3189a3d469700"/></dir></dir></dir></dir></dir></target></contents>
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.0.0</min><max>6.0.0</max></php></required></dependencies>
|
18 |
</package>
|
skin/frontend/base/default/images/eximbay/eximbay_acc.gif
ADDED
Binary file
|