public static function validar() { $nro_tarjeta = str_replace('-', '', Input::get('nro_tarjeta')); $pago = Input::get('pago'); $cuotas = Input::get('cuotas') * 1; $importe = str_replace(',', '.', Input::get('importe')); $cupon = Input::get('cupon'); $fechahoy = Formatos::fechaHoraActual(); //--- Validar tarjeta --- $datos = TarjetasPlasticos::validarTarjeta($nro_tarjeta); if (count($datos) == 0) { return 'Nro. de Tarjeta Inválido'; } $fechahoy = Formatos::fechaHoraActual(); //$nombre = Formatos::capital($datos[0]->nombre); $tarjeta_estado = $datos[0]->tarjeta_estado; $socio_estado = $datos[0]->socio_estado; $cuenta_estado = $datos[0]->cuenta_estado; $fecha_vencimiento = $datos[0]->fecha_vencimiento; $fecha_inicio = $datos[0]->fecha_inicio; if ($tarjeta_estado != 0) { return 'La tarjeta no está Activa'; } if ($socio_estado != 'A') { return 'El socio no está activo'; } if ($cuenta_estado != 0 && $cuenta_estado != 4) { return 'Cuenta inactiva'; } $dt = new DateTime($fecha_vencimiento); if (date_format($dt, 'd-m-Y') < $fechahoy) { return 'Tarjeta Vencida ' . $fechahoy; } if ($fecha_inicio > $fechahoy) { return 'Fecha de Inicio posterior a hoy'; } //--- Validar cantidad de cuotas if ($pago == 0 || $pago > 2) { return 'Forma de pago incorrecta'; } if ($pago == 1) { $pago = 'contado'; } if ($pago == 2) { $pago = 'cuotas'; } if ($pago == 'cuotas' && $cuotas <= 1) { return 'Para pago en Cuotas, el mínimo de cuotas es 2'; } if ($pago == 'contado' && $cuotas != 1) { return 'Para pago de Contado, la cantidad de cuotas debe ser 1'; } $planes = TarjetasPlanes::validarCuotas($cuotas) * 1; if ($planes <= 0) { return 'Supera el límite de cuotas'; } //--- Validar períodos de cuotas $numero_cuenta = TarjetasPlasticos::cuenta($nro_tarjeta); if (!TarjetasLiquidaciones::validarLiquidaciones($numero_cuenta, $cuotas)) { return 'Faltan cargar Períodos para éstas cuotas'; } //--- Validar importe if ($importe * 1 <= 0) { return 'Importe Inválido'; } try { $nro_socio = TarjetasPlasticos::find($nro_tarjeta)->numero_socio; $numero_cuenta = TarjetasPlasticos::find($nro_tarjeta)->numero_cuenta; } catch (Exception $e) { return 'Falta Validar Nro. de Tarjeta'; } $datos = Socio::scoring($nro_socio); $pendiente = Socio::consumosPendiente($numero_cuenta, $pago); $saldo_contado = $datos[0]->saldo_contado - $pendiente; $saldo_cuotas = $datos[0]->saldo_cuotas - $pendiente; if ($pago == 'contado') { $resto = $saldo_contado - $importe; } if ($pago == 'cuotas') { $resto = $saldo_cuotas - $importe; } if ($resto < 0) { return 'No tiene saldo suficiente'; } //--- Validar cupón if ($cupon * 1 <= 0) { return 'Nro de Cupón Inválido'; } if (TarjetasCupones::validarCupon($cupon) <= 0) { return 'Cupón no válido, o ya fué usado'; } //$codigo_autorizacion = ParametrosTarjeta::codigoAutorizacion($pago); $codigo_comercio = Persona::numeroComercio(); DB::beginTransaction(); $codigo_autorizacion_mostrar = ParametrosTarjeta::codigoAutorizacion($pago); if ($codigo_autorizacion_mostrar == 'error') { return 'No se pudo generar el Código de Autorización.'; } $cod_aut = explode('/', $codigo_autorizacion_mostrar); $codigo_autorizacion = $cod_aut[0]; $codigo_autorizacion_add = $cod_aut[1]; $sql = "\n\t\t insert into hb_autorizaciones\n\t\t (\n\t\t nro_empresa,\t\t nro_sucursal,\n\t\t codigo_tarjeta,\t\t codigo_autorizacion,\n\t\t codigo_autorizacion_add, numero_cuenta,\n\n\t\t numero_tarjeta,\t\t fecha_autorizacion,\n\t\t importe,\t\t \tcant_cuotas,\n\t\t numero_cupon,\t\t codigo_comercio\n\t\t )\n\t\t values\n\t\t (\n\t\t 1,\t\t \t\t\t1,\n\t\t 1,\t\t \t\t\t{$codigo_autorizacion},\n\t\t '{$codigo_autorizacion_add}',\t'{$numero_cuenta}',\n\t\t \n\t\t '{$nro_tarjeta}',\t\t '{$fechahoy}',\n\t\t {$importe},\t\t \t{$cuotas},\n\t\t {$cupon},\t\t \t\t{$codigo_comercio}\n\t\t )\n\t\t "; try { $grabar = DB::insert($sql); } catch (Exception $e) { DB::rollback(); return 'No se pudo finalizar la operación. Reintentar.'; } if ($grabar != 1) { DB::rollback(); return 'No se pudo finalizar la operación. Reintentar.'; } DB::commit(); return 'Código de Autorización: ' . $codigo_autorizacion_mostrar; }