Esportación de cobros en CuentaDigital
September 28th, 2008
El siguiente es un código PHP (En php 5 principalmente) que permite la exportación de cobros directamente desde cuentadigital para su implementación en diferentes Ecommerce A diferencia de “Callback CuentaDigital“, éste script se encuentra en funcionamiento y sólo es necesaria su aplicación una vez al día.
Recordemos que es mejor importar los datos del día anterior para mantener nuestro sistema completamente actualizado, ya que hay pagos que pueden acreditarse a cualquier hora. (Los cupones de pagofacil se pueden abonar mediante cuentadigital con saldo en cuenta, con lo cual estos mismos pueden ser abonados a las 10 PM.) Así que ya saben la ejecución debería ser a las 8 AM todos los días exportando los datos del día anterior.
<? /* INVISIONARG PROHIBE LA VENTA DEL SCRIPT, Y DEJA ABIERTO EL CÓDIGO PARA DIFERENTES MODIFICACIONES QUE PUDIESEN HACERLES. REQUERIMIENTOS: PHP 5 o superior. CURL instalado. */ define("URL","https://www.cuentadigital.com/exportacion.php?"); // url que entrega cuentadigital - //https://www.cuentadigital.com/area.php?name=Exportacion define("SEPARADOR",";"); //Separador de datos CSV /* En el siguiente campo, deberás identificar la posición del Codigo opcional, lo cual es importante para saber si el pago se acreditó o no en el momento de ejecución del script. Ejemplo: 30122008;1000.50;cliente9879;1 || Fecha del cobro;Monto recibido;Codigo opcional suyo;Cobro numero 1 del archivo El codigo opcional contando desde el número 0 es el : 2 EXPLICACIÓN Fecha del cobro: posición 0 Monto recibido: posición 1 Codigo opcional: posición 2 Cobro número 1 del archivo: posición 3 */ $opcional = 2; class cuentadigital { /* El constructor funciona en PHP 5 o versiones superiores Ejecuta la llamada a cuentadigital una vez instanciada la clase, permite que no se descargue el archivo cada vez que realizamos una comprobación dentro del script */ function __construct() { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, URL); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $this->archivo = curl_exec($ch); } /* Funcion DATOS, requiere de dos parametros, la posición del codigo opcional y el codigo opcional a comprobar. Devuelve TRUE en caso de que el cupón de pago haya sido abonado o FALSE en caso de que no. */ function datos($opcional,$codigo) { $a = explode("\n",$this->archivo); foreach ($a as $value) { $r=explode(SEPARADOR,$value); if ($r[$opcional] == $codigo) { return true; } } return false; } } /* Si tuvieramos una lista de codigos a chequear no ejecutaríamos curl cada vez que necesitamos comprobar sino que a diferencia de otros scripts el archivo CSV ya fue guardado en memoria. por ejemplo: */ $codigos = array("74965116","74965117","74965118","74965119"); echo "<b>Varios codigos opcionales en ejecucion</b><br>"; foreach($codigos as $value) { if ($cd->datos($opcional,$value)) { echo "Codigo ".$value." abonado <br>"; } else { echo "Codigo ".$value." No abonado <br>"; } } ?>




