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>
|
