Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- protected function Asentar_transaccion_interdin($TramaPosProceso){
- $transaccion = false;
- try{
- $Plataforma = "WEB";
- if (!isset($TramaPosProceso)||strlen(trim($TramaPosProceso)) <= 0) {
- $permiso = false;
- }else{
- //si se enviò la trama, entonces la separamos.
- $TramaPP = explode("&", $TramaPosProceso);
- $permiso = true;
- }
- if ($permiso) {
- //////////////////// graba en la bitacora la trama pos_proceso de interdin //////////
- $dateTime = date("Y-m-d H:i:s");
- $datos = explode("=", $TramaPP[0]); //Referencia 2 (dato enviado en el formulario de invocación)[id_compra]
- $aut = explode("=", $TramaPP[1]); //Número de autorización del pago(Generado por el CAO)
- $Cre = explode("=", $TramaPP[2]); //Tipo de Crédito (Configurado por cada establecimiento)
- $mes = explode("=", $TramaPP[3]); //Número de meses que se pagará la transacción
- $ttar = explode("=", $TramaPP[4]); //Tipo de Tarjeta
- $sub = explode("=", $TramaPP[5]); //Subtotal
- $Iva = explode("=", $TramaPP[6]); //Iva
- $Ice = explode("=", $TramaPP[7]); //Ice y/o otros impuestos
- $Int = explode("=", $TramaPP[8]); //Intereses
- $Tot = explode("=", $TramaPP[9]); //Total (incluyendo intereses)
- $tNo = explode("=", $TramaPP[10]); //Número de Orden del pago (TransaccionID)
- $cDt = explode("=", $TramaPP[11]); //Referencia 1 (dato opcional enviado en el formulario de invocación)[id_usuario]
- $Tipo = explode("=", $TramaPP[12]); //Parámetro que indica ‘P’ para indicar que el pago es exitoso y el valor ‘R’ cuando se realiza el reverso al no recibir la respuesta indicada en el post proceso.
- /////
- $idCompra = explode(":", $datos[1]);//$datos[1]: equivale a setReferencia2 en la encriptacion
- //$idUsuario = explode(":", $cDt[1]);
- $cDtDetalle = explode("|", $cDt[1]); //$datos[1]: equivale a setReferencia1 en la encriptacion
- $idUsuario = explode(":", $cDtDetalle[0]);
- $Locatidad = explode(":", $cDtDetalle[1]);
- if ($Locatidad[1] == 'W') {
- $Plataforma = "WEB";
- }elseif($Locatidad[1] == 'I'){
- $Plataforma = "IOS";
- }elseif($Locatidad[1] == 'A'){
- $Plataforma = "ANDROID";
- }
- $Subtotal_Cal = $sub[1]/100;
- $Iva_Cal = $Iva[1]/100;
- //////// Registramos los datos recibidos, en la bitacora
- $Bitacora = new Bitacora();
- $Bitacora->seg_codigo_alias = $tNo[1];
- $Bitacora->seg_codigo = new \MongoId($idCompra[1]);
- $Bitacora->usu_codigo = new \MongoId($idUsuario[1]);
- $Bitacora->car_codigo = NULL;//Codigo de Carrito al q está atado
- $Bitacora->pol_codigo = NULL;//Código de poliza q se generó
- $Bitacora->bit_createdat = new \MongoDate(strtotime($dateTime));
- $Bitacora->bit_updatedat = new \MongoDate(strtotime($dateTime));
- $Bitacora->bit_metodo_pago = "interdin";
- $Bitacora->bit_estado = "N";
- $Bitacora->bit_datos = $datos[1];
- $Bitacora->bit_aut = $aut[1];
- $Bitacora->bit_cre = $Cre[1];
- $Bitacora->bit_mes = $mes[1];
- $Bitacora->bit_ttar = $ttar[1];
- $Bitacora->bit_sub = $Subtotal_Cal;
- $Bitacora->bit_iva = $Iva_Cal;
- $Bitacora->bit_ice = $Ice[1]/100;
- $Bitacora->bit_int = $Int[1]/100;
- $Bitacora->bit_tot = $Tot[1]/100;
- $Bitacora->bit_cDt = $cDt[1];
- $Bitacora->bit_tipo = $Tipo[1];
- $Bitacora->bit_lsdata = $TramaPosProceso;
- $Bitacora->bit_plataforma = $Plataforma;
- //Estos campos se actualizan cuanto interdin devuelve el control.
- $Bitacora->bit_procesoEND = false;//Indica q el proceso Todavía no acaba la etapa de PosProceso (etapa2)
- $Bitacora->bit_procesoDetalle = null;//Se utiliza para detallar el error en caso de existir
- //array se utiliza para guardar los datos del pago en el carrito
- $seg_pago = array(
- 'pag_metodo_pago' => 'interdin',
- 'seg_codigo' => new \MongoId($idCompra[1]),
- 'seg_codigo_alias' => $tNo[1],
- 'id_usuario' => $idUsuario[1],
- 'pag_createdat' => new \MongoDate(strtotime($dateTime)),
- 'pag_aut' => $aut[1],
- 'pag_cre' => $Cre[1],
- 'pag_mes' => $mes[1],
- 'pag_tipo_tarjeta' => $ttar[1],
- 'pag_subtotal' => $Subtotal_Cal,
- 'pag_iva' => $Iva_Cal,
- 'pag_ice' => $Ice[1]/100,
- 'pag_int' => $Int[1]/100,
- 'pag_tot' => $Tot[1]/100,
- 'pag_cDt' => $cDt[1],
- 'pag_estado' => $Tipo[1],
- );
- if ($Bitacora->save()) {
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement