Пример #1
0
 /**
  * Muestra datos relativos a la compra, una vez realizada
  * @param unknown $params viene desde OrderConfirmationController
  */
 public function hookDisplayPaymentReturn($params)
 {
     /* $params  (desde OrderConfirmationController):
      * 		getOrdersTotalPaid()
      * 		currency -> sign
      * 		order
      * 		currency
      */
     //si el modulo no esta activo
     if (!$this->active || !$this->isActivo()) {
         return;
     }
     $cart_id = $this->context->cart->id;
     $order = $params['objOrder'];
     $detallesOrden = TPTransaccion::getOptions($order->id_cart);
     $state = $order->getCurrentState();
     //recupero el estado de la orden
     $estadoDenegada = $this->getOrderStatesModulo('DENEGADA');
     $customer = new Customer($order->id_customer);
     //recupera al objeto cliente
     if ($state != $estadoDenegada) {
         $this->smarty->assign(array('total_to_pay' => Tools::displayPrice($params['total_to_pay'], $params['currencyObj'], false), 'status' => 'ok', 'reference' => $order->reference, 'mensaje' => $detallesOrden['status'], 'customer' => $customer->email));
     } else {
         $this->smarty->assign(array('status' => 'failed', 'status_desc' => $state));
     }
     return $this->display(__FILE__, 'payment_return.tpl');
     //asigno el template que quiero usar
 }
Пример #2
0
 protected function take_action($respuesta)
 {
     $cartId = Tools::getValue('cart');
     $status = Tools::getValue('estado');
     $cart = new Cart($cartId);
     if ($status == 0) {
         if (isset($respuesta['Payload']['Answer'])) {
             $this->_tranUpdate($cartId, array("first_step" => null, "second_step" => null));
             throw new Exception($respuesta['StatusMessage']);
         }
         $this->_guardarTransaccion($cart, $respuesta['StatusMessage'], $respuesta['Payload']['Answer']);
         $respuesta = Transaccion::getOptions($cart->id);
         $this->_tranUpdate($cartId, array("first_step" => null, "second_step" => null));
         throw new Exception($respuesta['StatusMessage']);
     }
     //en el caso de pagar con Rapipago o Pago Facil
     if (strlen($respuesta['Payload']['Answer']["BARCODE"]) > 0) {
         $datosBarcode = array('nroop' => $order_id, 'venc' => $respuesta['Payload']['Answer']["COUPONEXPDATE"], 'total' => $respuesta['Payload']['Request']['AMOUNT'], 'code' => $respuesta['Payload']['Answer']["BARCODE"], 'tipocode' => $respuesta['Payload']['Answer']["BARCODETYPE"], 'empresa' => $respuesta['Payload']['Answer']["PAYMENTMETHODNAME"]);
         $this->_guardarTransaccion($cart, $respuesta['StatusMessage'], $respuesta['Payload']['Answer']);
         //guardo el StatusMessage y los detalles de la transaaccion
         Tools::redirect($this->context->link->getModuleLink(strtolower($this->module->name), 'barcode', $datosBarcode, true));
         //redrijo al controller de barcode
     }
     if ($respuesta['StatusCode'] == $this->codigoAprobacion && $this->_isAmountIgual($cart, $respuesta['Payload']['Request']['AMOUNT'])) {
         $this->_guardarTransaccion($cart, $respuesta['StatusMessage'], $respuesta['Payload']['Answer']);
         //guardo el StatusMessage y los detalles de la transaaccion
         $this->module->log->info('Redireccionando al controller de validacion');
         Tools::redirect($this->context->link->getModuleLink(strtolower($this->module->name), 'validation', array(), false));
         //redirijo al controller de validacion
     } else {
         throw new Exception($respuesta['StatusMessage']);
     }
 }