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 "Varios codigos opcionales en ejecucion";
foreach($codigos as $value) {
if ($cd->datos($opcional,$value)) {
echo "Codigo ".$value." abonado ";
}
else {
echo "Codigo ".$value." No abonado ";
}
}
?>
Hola, te hago una consulta.
Yo necesitaría que hacer que al verificar un pago se compute en otro sistema que tengo.
Específicamente quiero que en una hora determinada, verifique los pagos ingresados en el día anterior y que los aplique a las facturas correspondientes en mi sistema de WHMCS http://www.whmcs.com con la api que tiene.
Me gustaría que me ayudaras, desde ya que no estoy pidiendo que me regales tu ayuda.
Por favor contactame.