/**
  * Devuelve array con los parámetros a enviar a la pasarela de pago
  * 
  * @param integer $idTipo Tipo de pasarela
  * @param integer $idPedido El id de pedido web
  * @return array
  */
 static function getParametros($idTipo, $idPedido)
 {
     $pedido = new PedidosWebCab($idPedido);
     $total = $pedido->getTotal() + $pedido->getGastosEnvio();
     unset($pedido);
     // El número de pedido debe tener al menes 4 cifras
     if ($idPedido < 1000) {
         $idPedido = str_pad($idPedido, 4, "0", STR_PAD_LEFT);
     }
     switch ($idTipo) {
         case '1':
             //Paypal
             $parametros = self::getParamsPaypal($idPedido, $total);
             break;
         case '2':
             // Redsys
             $parametros = self::getParamsRedsys($idPedido, $total);
             break;
         case '3':
             // Pagantis
             $parametros = self::getParamsPagantis($idPedido, $total);
             break;
         case '4':
             // CECA
             $parametros = self::getParamsCeca($idPedido, $total);
             break;
         default:
             $parametros = array();
     }
     return $parametros;
 }
示例#2
0
 /**
  * Devuelve array con los parámetros para Ceca
  * 
  * @param int $idPedido
  * @param decimal $total
  * @return array
  */
 private static function getParamsCeca($idPedido)
 {
     $pedido = new PedidosWebCab($idPedido);
     $total = $pedido->getTotal() + $pedido->getGastosEnvio();
     unset($pedido);
     $modo = $_SESSION['varEnv']['Pro']['shop']['ceca']['modo'] == '1' ? 'real' : 'test';
     $urlWeb = $_SESSION['varEnv']['Pro']['shop']['url'];
     $clave = $modo === 'real' ? $_SESSION['varEnv']['Pro']['shop']['ceca']['claveReal'] : $_SESSION['varEnv']['Pro']['shop']['ceca']['claveTest'];
     $total = number_format($total, 2, '', '');
     if ($total[0] == '0') {
         // si es menor de 1 hay q quitar el cero inicial (ej: 0.25 => 025 => 25)
         $total = substr($total, 1);
     }
     $string = "lib/calculo {$clave} " . "{$_SESSION['varEnv']['Pro']['shop']['ceca']['MerchantID']} " . "{$_SESSION['varEnv']['Pro']['shop']['ceca']['AcquirerBIN']} " . "{$_SESSION['varEnv']['Pro']['shop']['ceca']['TerminalID']} " . "{$idPedido} " . "{$total} " . "{$_SESSION['varEnv']['Pro']['shop']['ceca']['TipoModena']} " . "{$_SESSION['varEnv']['Pro']['shop']['ceca']['Exponente']} \"\" ";
     $firma = exec($string);
     $parametros = array('url_tpv' => self::$urlTpv[4][$modo], 'Num_operacon' => $idPedido, 'Importe' => $total, 'MerchantID' => $_SESSION['varEnv']['Pro']['shop']['ceca']['MerchantID'], 'AcquirerBIN' => $_SESSION['varEnv']['Pro']['shop']['ceca']['AcquirerBIN'], 'Firma' => $firma, 'TerminalID' => $_SESSION['varEnv']['Pro']['shop']['ceca']['TerminalID'], 'TipoModena' => $_SESSION['varEnv']['Pro']['shop']['ceca']['TipoModena'], 'Exponente' => $_SESSION['varEnv']['Pro']['shop']['ceca']['Exponente'], 'Pago_soportado' => $_SESSION['varEnv']['Pro']['shop']['ceca']['Pago_soportado'], 'URL_OK' => $urlWeb . '/carrito/notificacion/ceca/ok', 'URL_NOK' => $urlWeb . '/carrito/notificacion/ceca/ko');
     return $parametros;
 }
示例#3
0
 /**
  * Devuelve un array con objetos de PedidosWebCab del cliente en curso
  * 
  * @param type $idEstado Por defecto >=2 (a partir de Confirmado)
  * @return \PedidosWebCab Array de objetos PedidosWebCab
  */
 public function getPedidosWeb($idEstado = '2')
 {
     $filtro = "IDCliente='{$this->IDCliente}'";
     if ($idEstado != '') {
         $filtro .= " AND IDEstado>='{$idEstado}'";
     }
     $array = array();
     $pedido = new PedidosWebCab();
     $rows = $pedido->querySelect("IDPedido", $filtro, "Fecha DESC");
     unset($pedido);
     foreach ($rows as $row) {
         $array[] = new PedidosWebCab($row['IDPedido']);
     }
     return $array;
 }