Version Notes
callback compatibility
Download this release
Release Info
Developer | Eupago |
Extension | Eupago_MBWAY |
Version | 1.0.5 |
Comparing to | |
See all releases |
Code changes from version 1.0.4 to 1.0.5
app/code/community/Eupago/Mbway/controllers/CallbackController.php
CHANGED
@@ -1,13 +1,9 @@
|
|
1 |
<?php
|
2 |
-
/*
|
3 |
-
Mygateway Payment Controller
|
4 |
-
By: Junaid Bhura
|
5 |
-
www.junaidbhura.com
|
6 |
-
*/
|
7 |
|
8 |
class Eupago_Mbway_CallbackController extends Mage_Core_Controller_Front_Action {
|
9 |
|
10 |
-
|
|
|
11 |
|
12 |
// tirar de comentário se pretender validar apenas pedidos post
|
13 |
// if(!$this->getRequest()->isPost())
|
@@ -16,9 +12,115 @@ class Eupago_Mbway_CallbackController extends Mage_Core_Controller_Front_Action
|
|
16 |
// carrega dados de callback e encomenda
|
17 |
$callBack_params = (object)$this->getRequest()->getParams();
|
18 |
$order = Mage::getModel('sales/order')->load($callBack_params->identificador, 'increment_id');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
|
20 |
// valida metodo de pagamento
|
21 |
-
if(!isset($callBack_params->mp) || $callBack_params->mp != '
|
22 |
exit("método de pagamento inválido");
|
23 |
|
24 |
// valida chave API
|
@@ -47,21 +149,158 @@ class Eupago_Mbway_CallbackController extends Mage_Core_Controller_Front_Action
|
|
47 |
|
48 |
// marca como paga ou gera fatura
|
49 |
if($this->validaTransacao($callBack_params, $order)){
|
50 |
-
|
51 |
-
|
|
|
|
|
52 |
}
|
53 |
}
|
54 |
|
55 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
$order->setData('state', "complete");
|
58 |
$order->setStatus("processing");
|
59 |
$order->sendOrderUpdateEmail();
|
60 |
-
$history = $order->addStatusHistoryComment('Encomenda paga por
|
61 |
$history->setIsCustomerNotified(true);
|
|
|
|
|
62 |
$order->setTotalPaid($valor_pago);
|
63 |
$order->save();
|
64 |
-
echo "estado alterado para processing com sucesso";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
}
|
66 |
|
67 |
private function validaTransacao($CallBack, $order){
|
@@ -87,4 +326,5 @@ class Eupago_Mbway_CallbackController extends Mage_Core_Controller_Front_Action
|
|
87 |
echo "Pagamento foi capturado com sucesso. e a fatura foi gerada";
|
88 |
}
|
89 |
|
|
|
90 |
}
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
class Eupago_Mbway_CallbackController extends Mage_Core_Controller_Front_Action {
|
4 |
|
5 |
+
// valida todos os metodos de pagamento
|
6 |
+
public function allAction(){
|
7 |
|
8 |
// tirar de comentário se pretender validar apenas pedidos post
|
9 |
// if(!$this->getRequest()->isPost())
|
12 |
// carrega dados de callback e encomenda
|
13 |
$callBack_params = (object)$this->getRequest()->getParams();
|
14 |
$order = Mage::getModel('sales/order')->load($callBack_params->identificador, 'increment_id');
|
15 |
+
$method = $order->getPayment()->getMethod();
|
16 |
+
$metodo_callback = null;
|
17 |
+
switch(urldecode($callBack_params->mp)){
|
18 |
+
case 'PC:PT':
|
19 |
+
$metodo_callback = "multibanco";
|
20 |
+
break;
|
21 |
+
case 'MW:PT':
|
22 |
+
$metodo_callback = "mbway";
|
23 |
+
break;
|
24 |
+
default:
|
25 |
+
exit("método de pagamento inválido");
|
26 |
+
}
|
27 |
+
|
28 |
+
// valida metodo de pagamento
|
29 |
+
if(!isset($callBack_params->mp) || $method != $metodo_callback)
|
30 |
+
exit("método de pagamento não corresponde ao da encomenda");
|
31 |
+
|
32 |
+
// valida chave API
|
33 |
+
if($callBack_params->chave_api != Mage::getStoreConfig('payment/'.$metodo_callback.'/chave'))
|
34 |
+
exit("chave API inválida");
|
35 |
+
|
36 |
+
// valida order_id
|
37 |
+
if($order->getId() == null)
|
38 |
+
exit("a encomenda não existe");
|
39 |
+
|
40 |
+
// valida estado da encomenda
|
41 |
+
if($order->getStatus() == "canceled") // devemos validar se esta completa?
|
42 |
+
exit("não foi possivel concluir o pagamento porque o estado da encomenda é: ".$order_status);
|
43 |
+
|
44 |
+
// valida valor da encomenda -> comentar no caso de premitir pagamento parcial
|
45 |
+
if($order->getGrandTotal() != $callBack_params->valor)
|
46 |
+
exit ("O valor da encomenda e o valor pago não correspondem!");
|
47 |
+
|
48 |
+
// verifica se a encomenda já está paga
|
49 |
+
if($order->getBaseTotalDue() == 0)
|
50 |
+
exit("A encomenda já se encontra paga!");
|
51 |
+
|
52 |
+
// valida valor por pagar
|
53 |
+
if($order->getBaseTotalDue() < $callBack_params->valor)
|
54 |
+
exit("O valor a pagamento é inferior ao valor pago!");
|
55 |
+
|
56 |
+
// marca como paga ou gera fatura
|
57 |
+
if($this->validaTransacao($callBack_params, $order)){
|
58 |
+
if(class_exists('SOAPClient'))
|
59 |
+
$this->capture($order);
|
60 |
+
else
|
61 |
+
$this->marcaComoPaga($order, $callBack_params->valor, true); // -> para usar para marcar como paga sem gerar fatura
|
62 |
+
}
|
63 |
+
}
|
64 |
+
|
65 |
+
public function multibancoAction($params = null) {
|
66 |
+
|
67 |
+
// tirar de comentário se pretender validar apenas pedidos post
|
68 |
+
// if(!$this->getRequest()->isPost())
|
69 |
+
// exit("pedido de callback deve ser post");
|
70 |
+
|
71 |
+
// carrega dados de callback e encomenda
|
72 |
+
$callBack_params = ($params == null) ? (object)$this->getRequest()->getParams() : $params;
|
73 |
+
$order = Mage::getModel('sales/order')->load($callBack_params->identificador, 'increment_id');
|
74 |
+
|
75 |
+
// valida metodo de pagamento
|
76 |
+
if(!isset($callBack_params->mp) || urldecode($callBack_params->mp) != 'PC:PT')
|
77 |
+
exit("método de pagamento inválido");
|
78 |
+
|
79 |
+
// valida chave API
|
80 |
+
if($callBack_params->chave_api != Mage::getStoreConfig('payment/multibanco/chave'))
|
81 |
+
exit("chave API inválida");
|
82 |
+
|
83 |
+
// valida order_id
|
84 |
+
if($order->getId() == null)
|
85 |
+
exit("a encomenda não existe");
|
86 |
+
|
87 |
+
// valida estado da encomenda
|
88 |
+
if($order->getStatus() == "canceled") // devemos validar se esta completa?
|
89 |
+
exit("não foi possivel concluir o pagamento porque o estado da encomenda é: ".$order_status);
|
90 |
+
|
91 |
+
// valida valor da encomenda -> comentar no caso de premitir pagamento parcial
|
92 |
+
if($order->getGrandTotal() != $callBack_params->valor)
|
93 |
+
exit ("O valor da encomenda e o valor pago não correspondem!");
|
94 |
+
|
95 |
+
// verifica se a encomenda já está paga
|
96 |
+
if($order->getBaseTotalDue() == 0)
|
97 |
+
exit("A encomenda já se encontra paga!");
|
98 |
+
|
99 |
+
// valida valor por pagar
|
100 |
+
if($order->getBaseTotalDue() < $callBack_params->valor)
|
101 |
+
exit("O valor a pagamento é inferior ao valor pago!");
|
102 |
+
|
103 |
+
// marca como paga ou gera fatura
|
104 |
+
if($this->validaTransacao($callBack_params, $order)){
|
105 |
+
if(class_exists('SOAPClient'))
|
106 |
+
$this->capture($order);
|
107 |
+
else
|
108 |
+
$this->marcaComoPaga($order, $callBack_params->valor, true); // -> para usar para marcar como paga sem gerar fatura
|
109 |
+
}
|
110 |
+
}
|
111 |
+
|
112 |
+
public function mbwayAction($params = null) {
|
113 |
+
|
114 |
+
// tirar de comentário se pretender validar apenas pedidos post
|
115 |
+
// if(!$this->getRequest()->isPost())
|
116 |
+
// exit("pedido de callback deve ser post");
|
117 |
+
|
118 |
+
// carrega dados de callback e encomenda
|
119 |
+
$callBack_params = ($params == null) ? (object)$this->getRequest()->getParams() : $params;
|
120 |
+
$order = Mage::getModel('sales/order')->load($callBack_params->identificador, 'increment_id');
|
121 |
|
122 |
// valida metodo de pagamento
|
123 |
+
if(!isset($callBack_params->mp) || urldecode($callBack_params->mp) != 'MW:PT')
|
124 |
exit("método de pagamento inválido");
|
125 |
|
126 |
// valida chave API
|
149 |
|
150 |
// marca como paga ou gera fatura
|
151 |
if($this->validaTransacao($callBack_params, $order)){
|
152 |
+
if(class_exists('SOAPClient'))
|
153 |
+
$this->capture($order);
|
154 |
+
else
|
155 |
+
$this->marcaComoPaga($order, $callBack_params->valor, true); // -> para usar para marcar como paga sem gerar fatura
|
156 |
}
|
157 |
}
|
158 |
|
159 |
+
// CALLBACK ANTIGO FICARÁ DEPRECATED NA PROXIMA VERSÃO
|
160 |
+
public function autorizeAction(){
|
161 |
+
|
162 |
+
///// dados vindos da api para comfirmar
|
163 |
+
$CallBack = $this->getRequest()->getParams();
|
164 |
+
$CallBack_valor = $CallBack['valor'];
|
165 |
+
$CallBack_referencia = $CallBack['referencia'];
|
166 |
+
$CallBack_chave_api = $CallBack['chave_api'];
|
167 |
+
$CallBack_orderId = $CallBack['identificador'];
|
168 |
+
$CallBack_autorizacao = $CallBack['autorizacao'];
|
169 |
+
|
170 |
+
////// dados de encomenda
|
171 |
+
$OrderNumber = $CallBack_orderId; //$CallBack_orderId vaem da api Eupago[order-id]
|
172 |
+
$order = Mage::getModel('sales/order')->load($OrderNumber, 'increment_id');
|
173 |
+
$valor_encomenda = $order->grand_total; //retirado do valor total da encomenda
|
174 |
+
|
175 |
+
/////// dados do pagamento
|
176 |
+
$pagamento = $order->getPayment();
|
177 |
+
|
178 |
+
// se não existir dados de pagamento antigos chama o novo callback
|
179 |
+
if($pagamento->eupago_referencia == null || $pagamento->eupago_referencia == "" ){
|
180 |
+
// carrega dados de callback e encomenda
|
181 |
+
$callBack_params = (object)$CallBack;
|
182 |
+
$method = $order->getPayment()->getMethod();
|
183 |
+
$metodo_callback = null;
|
184 |
+
switch(urldecode($callBack_params->mp)){
|
185 |
+
case 'PC:PT':
|
186 |
+
$metodo_callback = "multibanco";
|
187 |
+
break;
|
188 |
+
case 'MW:PT':
|
189 |
+
$metodo_callback = "mbway";
|
190 |
+
break;
|
191 |
+
default:
|
192 |
+
exit("método de pagamento inválido");
|
193 |
+
}
|
194 |
+
|
195 |
+
// valida metodo de pagamento
|
196 |
+
if(!isset($callBack_params->mp) || $method != $metodo_callback)
|
197 |
+
exit("método de pagamento não corresponde ao da encomenda");
|
198 |
+
|
199 |
+
// valida chave API
|
200 |
+
if($callBack_params->chave_api != Mage::getStoreConfig('payment/'.$metodo_callback.'/chave'))
|
201 |
+
exit("chave API inválida");
|
202 |
+
|
203 |
+
// valida order_id
|
204 |
+
if($order->getId() == null)
|
205 |
+
exit("a encomenda não existe");
|
206 |
+
|
207 |
+
// valida estado da encomenda
|
208 |
+
if($order->getStatus() == "canceled") // devemos validar se esta completa?
|
209 |
+
exit("não foi possivel concluir o pagamento porque o estado da encomenda é: ".$order_status);
|
210 |
+
|
211 |
+
// valida valor da encomenda -> comentar no caso de premitir pagamento parcial
|
212 |
+
if($order->getGrandTotal() != $callBack_params->valor)
|
213 |
+
exit ("O valor da encomenda e o valor pago não correspondem!");
|
214 |
+
|
215 |
+
// verifica se a encomenda já está paga
|
216 |
+
if($order->getBaseTotalDue() == 0)
|
217 |
+
exit("A encomenda já se encontra paga!");
|
218 |
+
|
219 |
+
// valida valor por pagar
|
220 |
+
if($order->getBaseTotalDue() < $callBack_params->valor)
|
221 |
+
exit("O valor a pagamento é inferior ao valor pago!");
|
222 |
+
|
223 |
+
// marca como paga ou gera fatura
|
224 |
+
if($this->validaTransacao($callBack_params, $order)){
|
225 |
+
if(class_exists('SOAPClient'))
|
226 |
+
$this->capture($order);
|
227 |
+
else
|
228 |
+
$this->marcaComoPaga($order, $callBack_params->valor, true); // -> para usar para marcar como paga sem gerar fatura
|
229 |
+
}
|
230 |
+
return;
|
231 |
+
}
|
232 |
+
|
233 |
+
/////// dados do pagamento antigos
|
234 |
+
$entidade = $pagamento->eupago_entidade;
|
235 |
+
$referencia = str_pad($pagamento->eupago_referencia, 9, "0", STR_PAD_LEFT);
|
236 |
+
$valor_gerado = $pagamento->eupago_montante;
|
237 |
|
238 |
+
/////// gera autorizacao
|
239 |
+
$chave_api = Mage::getStoreConfig('payment/multibanco/chave');
|
240 |
+
$autorizacao = md5(date('Y-m-d').$chave_api);
|
241 |
+
|
242 |
+
//////// Confere dados
|
243 |
+
$confere_montantes = (($valor_encomenda == $valor_gerado) == $CallBack_valor ? true : false);
|
244 |
+
$confere_autorizacao = ($autorizacao == $CallBack_autorizacao ? true : false);
|
245 |
+
$confere_referencia = ($referencia == $CallBack_referencia ? true : false);
|
246 |
+
$confere_chave_api = ($CallBack_chave_api == $chave_api ? true : false);
|
247 |
+
|
248 |
+
|
249 |
+
////// se tudo ok, faz o update do estado da encomenda e envia um email ao cliente
|
250 |
+
if($confere_montantes && $confere_chave_api && $confere_referencia){ /*futuro upgrade -> $confere_autorizacao*/
|
251 |
+
|
252 |
+
$order->setData('state', "complete");
|
253 |
+
$order->setStatus("processing");
|
254 |
+
$order->sendOrderUpdateEmail();
|
255 |
+
|
256 |
+
//////// hack for generate invoice automatically
|
257 |
+
$invoice = Mage::getModel('sales/service_order', $order)->prepareInvoice();
|
258 |
+
if (!$invoice->getTotalQty()) {
|
259 |
+
Mage::throwException(Mage::helper('core')->__('Cannot create an invoice without products.'));
|
260 |
+
}
|
261 |
+
$invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::CAPTURE_OFFLINE);
|
262 |
+
$invoice->register();
|
263 |
+
$transactionSave = Mage::getModel('core/resource_transaction')
|
264 |
+
->addObject($invoice)
|
265 |
+
->addObject($invoice->getOrder());
|
266 |
+
$transactionSave->save();
|
267 |
+
////////////////
|
268 |
+
|
269 |
+
$history = $order->addStatusHistoryComment('Order marked as complete automatically.', false);
|
270 |
+
$history->setIsCustomerNotified(true);
|
271 |
+
$order->save();
|
272 |
+
|
273 |
+
echo "alterado para pago..";
|
274 |
+
}else{
|
275 |
+
echo "os valores de pagamento não correspondem com os da encomenda";
|
276 |
+
}
|
277 |
+
}
|
278 |
+
|
279 |
+
private function marcaComoPaga($order,$valor_pago,$geraFatura = false){
|
280 |
$order->setData('state', "complete");
|
281 |
$order->setStatus("processing");
|
282 |
$order->sendOrderUpdateEmail();
|
283 |
+
$history = $order->addStatusHistoryComment('Encomenda paga por MULTIBANCO.', false);
|
284 |
$history->setIsCustomerNotified(true);
|
285 |
+
if($geraFatura)
|
286 |
+
$this->geraFatura($order);
|
287 |
$order->setTotalPaid($valor_pago);
|
288 |
$order->save();
|
289 |
+
echo "estado alterado para processing com sucesso. e gerada fatura sem transação";
|
290 |
+
}
|
291 |
+
|
292 |
+
private function geraFatura($order){
|
293 |
+
//////// hack para gerar fatura sem transação automaticamente
|
294 |
+
$invoice = Mage::getModel('sales/service_order', $order)->prepareInvoice();
|
295 |
+
if (!$invoice->getTotalQty()) {
|
296 |
+
Mage::throwException(Mage::helper('core')->__('Cannot create an invoice without products.'));
|
297 |
+
}
|
298 |
+
$invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::CAPTURE_OFFLINE);
|
299 |
+
$invoice->register();
|
300 |
+
$transactionSave = Mage::getModel('core/resource_transaction')
|
301 |
+
->addObject($invoice)
|
302 |
+
->addObject($invoice->getOrder());
|
303 |
+
$transactionSave->save();
|
304 |
}
|
305 |
|
306 |
private function validaTransacao($CallBack, $order){
|
326 |
echo "Pagamento foi capturado com sucesso. e a fatura foi gerada";
|
327 |
}
|
328 |
|
329 |
+
|
330 |
}
|
app/code/community/Eupago/Mbway/etc/config.xml
CHANGED
@@ -23,7 +23,7 @@
|
|
23 |
<use>standard</use>
|
24 |
<args>
|
25 |
<module>Eupago_Mbway</module>
|
26 |
-
<frontName>
|
27 |
</args>
|
28 |
</Eupago_Mbway>
|
29 |
</routers>
|
23 |
<use>standard</use>
|
24 |
<args>
|
25 |
<module>Eupago_Mbway</module>
|
26 |
+
<frontName>mbway</frontName>
|
27 |
</args>
|
28 |
</Eupago_Mbway>
|
29 |
</routers>
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Eupago_MBWAY</name>
|
4 |
-
<version>1.0.
|
5 |
<stability>stable</stability>
|
6 |
<license>GNU General Public License (GPL)</license>
|
7 |
<channel>community</channel>
|
@@ -11,11 +11,11 @@
|
|
11 |

|
12 |
[EN] - Allow payments by mbway app
|
13 |
</description>
|
14 |
-
<notes>
|
15 |
<authors><author><name>Eupago</name><user>eupago</user><email>suporte@eupago.pt</email></author></authors>
|
16 |
-
<date>2016-12-
|
17 |
-
<time>
|
18 |
-
<contents><target name="magecommunity"><dir name="Eupago"><dir name="Mbway"><dir name="Block"><dir name="Form"><file name="Mbway.php" hash="87f0784cd78d5ce7cfbe532133070d15"/></dir><dir name="Info"><file name="Mbway.php" hash="acadf6f16d5b118124f723ca49aa45be"/></dir></dir><dir name="Model"><file name="Mbway.php" hash="68a6d4f4072a31bd1c94f478ac6a9f17"/><dir name="System"><dir name="Config"><file name="Template.php" hash="718050382dd9d91d291e7827f3267b8e"/></dir></dir></dir><dir name="controllers"><file name="CallbackController.php" hash="
|
19 |
<compatible/>
|
20 |
<dependencies><required><php><min>5.2.0</min><max>7.0.0</max></php></required></dependencies>
|
21 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Eupago_MBWAY</name>
|
4 |
+
<version>1.0.5</version>
|
5 |
<stability>stable</stability>
|
6 |
<license>GNU General Public License (GPL)</license>
|
7 |
<channel>community</channel>
|
11 |

|
12 |
[EN] - Allow payments by mbway app
|
13 |
</description>
|
14 |
+
<notes>callback compatibility</notes>
|
15 |
<authors><author><name>Eupago</name><user>eupago</user><email>suporte@eupago.pt</email></author></authors>
|
16 |
+
<date>2016-12-19</date>
|
17 |
+
<time>14:52:49</time>
|
18 |
+
<contents><target name="magecommunity"><dir name="Eupago"><dir name="Mbway"><dir name="Block"><dir name="Form"><file name="Mbway.php" hash="87f0784cd78d5ce7cfbe532133070d15"/></dir><dir name="Info"><file name="Mbway.php" hash="acadf6f16d5b118124f723ca49aa45be"/></dir></dir><dir name="Model"><file name="Mbway.php" hash="68a6d4f4072a31bd1c94f478ac6a9f17"/><dir name="System"><dir name="Config"><file name="Template.php" hash="718050382dd9d91d291e7827f3267b8e"/></dir></dir></dir><dir name="controllers"><file name="CallbackController.php" hash="0b63ffd1b5112cc2b0341de1983264c1"/></dir><dir name="etc"><file name="config.xml" hash="83bb95028c20e760540f99b6617d8e5b"/><file name="system.xml" hash="033bf9badb6cde28ffb67982a3c821aa"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Eupago_Mbway.xml" hash="1a844093c055d916fc3cc16fa9c86f64"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="eupago"><dir name="mbway"><dir name="form"><file name="default.phtml" hash="2325880e1c94f851c8379996786e128f"/><file name="mbway.phtml" hash="3ca1a607601ca50e70b75ad625032cd9"/></dir><dir name="info"><file name="default.phtml" hash="df73cde94c9f2d9e189396ffe9afbaa3"/><file name="mbway.phtml" hash="cab1c28cdf664e28c496ad8ea4edc5a0"/></dir></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="eupago"><dir name="mbway"><dir name="form"><file name="mbway.phtml" hash="1fa44aab0a61a78c9a2abf4604264db2"/></dir><dir name="info"><file name="mbway.phtml" hash="2486d82ad350cd29d0640ba8799280c0"/></dir></dir></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="images"><dir name="eupago"><dir name="mbway"><file name="MBWAY_RGB_negativo_m.png" hash="71de2353d68621b7ae1d66bb38b63b12"/><file name="MBWAY_RGB_negativo_s.png" hash="71f9710d7968c845d6344d5354b39c46"/><file name="MBWAY_RGB_positivo_m.png" hash="dd01c36caee3bca598831a26eae35aa5"/><file name="MBWAY_RGB_positivo_s.png" hash="1b8445fc5ec6b202c91ec67490a89315"/><file name="mbway_icon.png" hash="c8d7cee9ee9ca2f30eda5dec00d279bc"/></dir></dir></dir></dir></dir></dir></target></contents>
|
19 |
<compatible/>
|
20 |
<dependencies><required><php><min>5.2.0</min><max>7.0.0</max></php></required></dependencies>
|
21 |
</package>
|