Jump to content

Modulo de DineroMail y CuentaDigital


matiasoporto

Recommended Posts

Alguien tiene idea como puedo hacer para tomar el dato "Custom Client Profile Fields"

 

Para poner aqui:

# Client Variables
$firstname = $params['clientdetails']['firstname'];
$lastname = $params['clientdetails']['lastname'];
$email = $params['clientdetails']['email'];
$address1 = $params['clientdetails']['address1'];
$address2 = $params['clientdetails']['address2'];
$city = $params['clientdetails']['city'];
$state = $params['clientdetails']['state'];
$postcode = $params['clientdetails']['postcode'];
$country = $params['clientdetails']['country'];
$phone = $params['clientdetails']['phone'];
$numerodecuenta = $params['NumeroDeCuenta'];

 

En si seria como tomo ese parametro NumeroDeCuenta que yo tengo agregado en Custom Client Profile Fields

 

Muchas Gracias

Link to comment
Share on other sites

  • Replies 118
  • Created
  • Last Reply

Top Posters In This Topic

Amigos, soy de Venezuela y les comento lo siguiente, mirando la integracion de este post, aplique varias nociones fundamentales de lo que aplicaron a dineromail y cuentadigital, y he logrado integrar el boton de pago del Banco Mercantil de Venezuela para WHMCS, gracias a su trabajo!!!. Claro aun falta una parte que es el desarrollod el callback para actualizar la base de datos, pero me imagino que debe ser igual de sencillo. Si alguien ha desarrollado un callback, le agradeceria me indicara donde puedo conseguir mas informacion, ya que lo que sale en el wiki no es muy explicito.

 

Saludos y muchisimas gracias.

 

Juan

Venedata.com

Link to comment
Share on other sites

  • 2 weeks later...
  • 3 weeks later...

Hola, estoy interesado en hacer un Web Site que me permita

1.- enviar y recibir dinero en Internet con tarjetas de crédito, efectivo o transferencias bancarias.

2.- Ofrecer productos diferenciados para enviar y recibir dinero: servicios dirigidos a personas que compran y venden en subastas on line, a comercios electrónicos y a personas que necesitan hacer pagos entre sí en forma on line.

 

Alguien puede por favor orientarme, saludos, muchas gracias de antemano.

Link to comment
Share on other sites

  • 2 weeks later...

Matias,

 

Integré perfectamente el código de DineroMail que nos dejaste. Yo soy de chile y procesa bien los pagos. GRACIAS!

 

Sólo tengo un problema, al procesar la orden vía web y elegir Dinero Mail como método me deja la pagina en blanco en la url /cart.php?a=checkout (algo asi es).. y no redirecciona a la factura virtual.

 

Me gustaría saber si me puedes ayudar al respecto, te dejo el código actual que uso.

 

 

<?php

###############################
##Realizado por OportHost.com##
###########GRATIS##############

$GATEWAYMODULE["dineromailname"]="dineromail";
$GATEWAYMODULE["dineromailvisiblename"]="DineroMail";
$GATEWAYMODULE["dineromailtype"]="Invoices";

function dineromail_activate() {

defineGatewayField("dineromail","text","moneda","" ,"Moneda","1","Pesos=1 Dolares=2");
defineGatewayField("dineromail","yesno","testmode" ,"","Test Mode","","");
}

function dineromail_link($params) {
# Gateway Specific Variables
$gatewayusername = $params['numerocuenta'];
$gatewaymoneda = $params['moneda'];
$gatewaylogo = $params['logo'];
$gatewayexito = $params['exito'];
$gatewayfracaso = $params['fracaso'];
$gatewaytestmode = $params['testmode'];
# Invoice Variables
$invoiceid = $params['invoiceid'];
$description = $params["description"];
$amount = $params['amount'];
$duedate = $params['duedate'];
# Client Variables
$firstname = $params['clientdetails']['firstname'];
$lastname = $params['clientdetails']['lastname'];
$email = $params['clientdetails']['email'];
$address1 = $params['clientdetails']['address1'];
$address2 = $params['clientdetails']['address2'];
$city = $params['clientdetails']['city'];
$state = $params['clientdetails']['state'];
$postcode = $params['clientdetails']['postcode'];
$country = $params['clientdetails']['country'];
$phone = $params['clientdetails']['phone'];
# System Variables
$companyname = $params['companyname'];
$systemurl = $params['systemurl'];
$currency = $params['currency'];
# End of Variables


$code = '<FORM target=_blank action="https://www.dineromail.com/cl/Shop/Shop_Ingreso.asp" METHOD="post">
<p><input type="image" src="http://xxxxxx/modules/DineroMail.png" border="0" name="submit" alt="Pagar con DineroMail" /></p>
<input type="hidden" value="XXXXX" name="E_Comercio">
<input type="hidden" value="-" name="NroItem">
<input type="hidden" value="'.$moneda.'" name="TipoMoneda">
<input type="hidden" value="'.$amount.'" name="PrecioItem">
<input type="hidden" value="0" name="DireccionEnvio">
<input type="hidden" value="'.$email.'" name="usr_email">
<input type="hidden" value="'.$firstname.'" name="usr_nombre">
<input type="hidden" value="'.$lastname.'" name="usr_apellido">
<input type="hidden" value="'.$phone.'" name="usr_tel_numero">
<input type="hidden" value="1" name="Mensaje">
<input type="hidden" value="http://XXXX/logo_whmcs.jpg" name="image_url">
<input type="hidden" value="http://XXXXX/DineroMailExito.php?invoice='.$invoiceid.'&monto='.$amount.'&hash='.md5(md5($invoiceid)).'" name="DireccionExito">
<input type="hidden" value="http://XXXXXX/DineroMailFracaso.php" name="DireccionFracaso">
<input type="hidden" value="4,5,6,7" name="MediosPago" >
<input type="hidden" value="Pago No. '.$invoiceid.'" name="NombreItem">
</form>';

return $code;

}

?> 

 

 

Saludos.

Link to comment
Share on other sites

Aca tenes el codigo para dineromail chile

 

Colocar en un archivo llamado dineromailcl.php

 

<?php

###############################
##Realizado por OportHost.com##
###########GRATIS##############

$GATEWAYMODULE["dineromailclname"]="dineromailcl";
$GATEWAYMODULE["dineromailclvisiblename"]="DineroMail Chile";
$GATEWAYMODULE["dineromailcltype"]="Invoices";

function dineromailcl_activate() {
defineGatewayField("dineromailcl","text","numerocuenta","","Número de cuenta","5","Ej.: 0<strong>31434</strong>/5");
defineGatewayField("dineromailcl","text","moneda","","Moneda","1","Pesos=1 Dolares=2");
defineGatewayField("dineromailcl","text","logo","","URL Logo","","Ej. https://www.dominio.com/logo.jpg o dejar solo http://");
defineGatewayField("dineromailcl","text","exito","","URL Exito","","Ej. www.dominio.com/exito.html sin http://");
defineGatewayField("dineromailcl","text","fracaso","","URL Fracaso","","Ej. www.dominio.com/fracaso.html sin http://");
defineGatewayField("dineromailcl","yesno","testmode","","Test Mode","","");
}

function dineromailcl_link($params) {
# Gateway Specific Variables
$gatewayusername = $params['numerocuenta'];
$gatewaymoneda = $params['moneda'];
$gatewaylogo = $params['logo'];
$gatewayexito = $params['exito'];
$gatewayfracaso = $params['fracaso'];
$gatewaytestmode = $params['testmode'];
# Invoice Variables
$invoiceid = $params['invoiceid'];
$description = $params["description"];
$amount = $params['amount'];
$duedate = $params['duedate'];
# Client Variables
$firstname = $params['clientdetails']['firstname'];
$lastname = $params['clientdetails']['lastname'];
$email = $params['clientdetails']['email'];
$address1 = $params['clientdetails']['address1'];
$address2 = $params['clientdetails']['address2'];
$city = $params['clientdetails']['city'];
$state = $params['clientdetails']['state'];
$postcode = $params['clientdetails']['postcode'];
$country = $params['clientdetails']['country'];
$phone = $params['clientdetails']['phone'];
# System Variables
$companyname = $params['companyname'];
$systemurl = $params['systemurl'];
$currency = $params['currency'];
# End of Variables


$code = '<FORM target=_blank action="https://www.dineromail.com/cl/Shop/Shop_Ingreso.asp" METHOD="post">
<p><input type="image" src="https://www.dineromail.com/cl/imagenes/vender/boton/comprar-gris.gif" border="0" name="submit" alt="Pagar con DineroMail"></p>	
<input type="hidden" value="'.$gatewayusername.'" name="E_Comercio">
<input type="hidden" value="-" name="NroItem">
<input type="hidden" value="'.$gatewaymoneda.'" name="TipoMoneda">
<input type="hidden" value="'.$amount.'" name="PrecioItem">
<input type="hidden" value="0" name="DireccionEnvio">
<input type="hidden" value="1" name="Mensaje">
<input type="hidden" value="'.$gatewaylogo.'" name="image_url">
<input type="hidden" value="http://'.$gatewayexito.'" name="DireccionExito">
<input type="hidden" value="http://'.$gatewayfracaso.'" name="DireccionFracaso">
<input type="hidden" value="4,5,6,23,2,7" name="MediosPago" >
<input type="hidden" value="Pago por e-Recibo '.$invoiceid.'" name="NombreItem">
</form>';

return $code;

}

?>

Link to comment
Share on other sites

  • 3 weeks later...

Amigo Matias.

 

He seguido tu script para la construccion de un gateway de pago para Banco Mercantil en Venezuela. La creacion del mismo la he logrado exitosamente en la fase de envio de los datos via post hacia el banco. Siguiendo otro hilo de aca he modificado un script de callback. Hasta ahora funciona regular, y digo regular ya que al finalizar la transacción el mencionado script me da que se ha producido un error. Sin embargo la transacción se registra exitosamente. Adjunto el codigo para ver si me puedes ayudar a mejorarlo, ya que no tengo conocimientos de programacion mas alla de la logica de donde colocar cada cosa. Me gustaria incluirle como diferenciar de una transaccion exitosa de una que no lo es, y otras cosas como redireccionar al area de clientes de whmcs.

 

Saludos

 

Juan

 

Callback para Boton de Pago Banco Mercantil (Venezuela)

 

PHP Code:

 

<?php

 

$url = "http://www.midominio.com/clientes/includes/api.php"; # URL to WHMCS API file

 

 

$username = "username"; # Admin username goes here

 

$password = "password"; # Admin password goes here

 

$Minvoiceid = $_POST['invoiceNumber'];

$Mtransid = $_POST['confirmationNumber'];

$Mamount = $_POST['totalAmount'];

 

$postfields["username"] = $username;

$postfields["password"] = md5($password);

$postfields["action"] = "addinvoicepayment";

 

$postfields["invoiceid"] = $Minvoiceid;

 

$postfields["transid"] = $Mtransid;

 

$postfields["amount"] = $Mamount;

 

$postfields["gateway"] = "mercantil";

 

 

$ch = curl_init();

 

 

curl_setopt($ch, CURLOPT_URL, $url);

 

 

curl_setopt($ch, CURLOPT_POST, 1);

 

 

curl_setopt($ch, CURLOPT_TIMEOUT, 100);

 

 

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

 

 

curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);

 

 

$data = curl_exec($ch);

 

 

curl_close($ch);

 

 

 

 

 

$data = explode(";",$data);

 

 

foreach ($data AS $temp) {

 

 

$temp = explode("=",$temp);

 

 

$results[$temp[0]] = $temp[1];

 

 

}

 

 

 

 

 

if ($results["result"]=="Operacion Exitosa") {

 

 

# Result was OK!

 

 

} else {

 

 

# An error occured

 

 

echo "El Siguiente Error ha Ocurrido: ".$results["message"];

 

 

}

 

 

 

 

?>

Link to comment
Share on other sites

Hola Matias

 

La pagina del banco Mercantil no habla del callback. Simplemente trabajan todo con get y post. El core del boton de pago funciona con JSP. En realidad es la primera vez que alguien hace una integracion de este tipo para whmcs. Sobre el callback, lo hice tal cual como sale en el ejemplo de la api de la documentación que esta en el sitio de whmcs. Basicamente es el codigo que adjunte al hilo.

 

El boton funciona de forma simple, envias los datos del WHMCS al banco por POST a una pagina JSP

 

Luego de esta pagina pasas el proceso a los servers del banco para el pago. Y una vez que lo procesas el te envia a una pagina de verificación tambien con JSP y de alli lo estoy reenviando por POST al callback para que whmcs actualice la base de datos y marque la factura como pagada. En principio pues funciona, pero pienso que no correctamente ya que si envio facturas que no han podido ser pagadas es decir con valor 0, el callback las marca pagadas dentro del sistema. Total que tendria que actualizar todo a mano porque el sistema no marca cuando es erronea la transacción y cuando no.

 

Si requieres mas info, te puedo pasar los codigos de las paginas. Actualmente tengo todo corriendo en linea pero no puedo mostrarte live como funciona ya que al estar en estado de desarrollo el sistema de boton de pago, pues filtran por IP para el trabajo de prueba.

 

Saludos y Gracias

 

Juan

Link to comment
Share on other sites

Me envia:

 

1.- Numero de Factura Pagada.

2.- Numero de transaccion.

3.- Monto Cobrado.

4.- Campo DSA (Es el token que indica que la transaccion fue realizada en los servidores del banco.

 

adjunto screenshot

http://www.venedata.com/recolecciondedatos.JPG

 

Tambien te paso el codigo de esa pagina del screenshot para que veas como vienen los datos y como se procesan. Esta pagina yo la tengo redireccionada directamente al api para que actualice el sistema

 

<HTML>

 

<HEAD>

 

<title> Página de verificación de mensajes </title>

 

</head>

 

<%@ page import="com.todo1.model.paymentbutton.merchant.MerchantHelper" %>

 

<body>

 

<table width="450" border="0" cellspacing="1" cellpadding="2" align="center">

 

<tr align="center">

 

<td colspan="4"><img src="http://www.solodominios.com.ve/imgs/LOGO EPAGOS OK.gif" alt=""><br>

 

<br></td>

 

</tr>

 

<tr>

 

<td> </td>

 

<td> </td>

 

</tr>

 

<tr>

 

<td> </td>

 

<td> </td>

 

</tr>

 

</table>

 

<%

 

boolean isValid = false;

 

String invoiceNumber = request.getParameter("invoiceNumber");

 

String confirmationNumber = request.getParameter("confirmationNumber");

 

String totalAmount = request.getParameter("totalAmount");

 

String extra = request.getParameter("extra");

 

String dsa = request.getParameter("dsa");

 

String tax = request.getParameter("tax");

 

 

 

out.print("<table width='75%' align='center' border='1'>");

 

out.print("<TR><TD colspan='2' align='center'><strong><font color='#0000FF'> RESULTADO DE LA TRANSACCIÓN </strong></TD></TR>");

 

out.print("<TR><TD> Número de Orden: </TD><TD> <input name='invoiceNumber' type='text' size='12' maxlength='12' readonly='true' value=" + invoiceNumber + "> </TD></TR>" );

 

out.println("<TR><TD> Código de Aprobación: </TD><TD> <input name='confirmationNumber' type='text' size='12' maxlength='12' readonly='true' value=" + confirmationNumber + "> </TD></TR>");

 

out.println("<TR><TD> Monto total (Bs.): </TD><TD> <input name='totalAmount' type='text' size='12' readonly='true' value=" + totalAmount + "> </TD></TR>");

 

out.println("<TR><TD> Extra: </TD><TD> <input name='extra' type='text' size='12' maxlength='255' readonly='true' value=" + extra + "> </TD></TR>");

 

out.println("<TR><TD> dsa: </TD><TD> <input name='dsa' type='text' size='100' maxlength='255' readonly='true' value=" + dsa + "> </TD></TR>");

 

 

 

try{

 

MerchantHelper helper = new MerchantHelper();

 

helper.setPath("/var/tomcat4/webapps/merchantv2/WEB-INF/lib/Todo1.jar");

 

 

 

if ( tax == null ) {

 

isValid = helper.verify( invoiceNumber,

 

confirmationNumber,

 

totalAmount,

 

extra,

 

dsa );

 

} else {

 

isValid = helper.verify( invoiceNumber,

 

confirmationNumber,

 

totalAmount,

 

extra,

 

dsa,

 

tax);

 

}

 

 

 

 

 

}catch(Exception e){

 

out.println("Exception: No se pudo verificar la autenticidad del Mensaje <BR>");

 

out.println(e.toString());

 

}

 

%>

 

<p align = "center">

 

<% if (isValid)

 

{

 

try

 

{

 

out.println("<TR><TD> Autenticidad: </TD><TD> La respuesta proviene de TODO1, el mensaje es Verdadero </TD></TR>");

 

if ( Double.parseDouble(totalAmount) == 0.00 || Double.parseDouble(confirmationNumber) == 0.00 )

 

{

 

out.println("<TR><TD> Resultado: </TD><TD><strong> LA TRANSACCIÓN FUE RECHAZADA </strong></TD></TR>");

 

}

 

else

 

{

 

out.println("<TR><TD> Resultado: </TD><TD><strong> LA TRANSACCIÓN FUE APROBADA </strong></TD></TR>");

 

}

 

}

 

catch (java.lang.NumberFormatException e)

 

{

 

if ( Double.parseDouble(totalAmount) != 0.00 && confirmationNumber != null )

 

{

 

out.println("<TR><TD> Resultado: </TD><TD><strong> LA TRANSACCIÓN FUE APROBADA </strong></TD></TR>");

 

} else

 

{

 

out.println("<TR><TD> Resultado: </TD><TD><strong> LA TRANSACCIÓN FUE RECHAZADA </strong></TD></TR>");

 

}

 

}

 

} else

 

{

 

out.println("<TR><TD> Autenticidad: </TD><TD> La respuesta NO proviene de TODO1, el mensaje no es autentico </TD></TR>");

 

out.println("<TR><TD> Resultado: </TD><TD><strong> LA TRANSACCIÓN FUE RECHAZADA </strong></TD></TR>");

 

}

 

out.print("<TR><TD colspan='2' align='center'><input type=button name=Imprimir value=Imprimir onClick='print()'></input></TD></TR>");

 

out.print("</table>");

 

%>

 

<BR>

 

</p>

 

<p align = "center"><strong><font color="#FF0000"><img src="http://www.solodominios.com.ve/imgs/M_com-e.gif" width="107" height="35"></font></strong></p>

</body>

 

</HTML>

 

Edited by juanalfonso
Link to comment
Share on other sites

Lo que pasa es que vos en ningun momento estas poniendo que si en resultado dice otra cosa de "LA TRANSACCION FUE APROVADA" marque como error.

 

Vos estas solo tomando los datos:

 

invoiceNumber

confirmationNumber

totalAmount

 

que estimo que si da error igual te los va a poner

 

o me equivoco?

Link to comment
Share on other sites

Te explico mejor. El callback tiene la opcion de si fue positiva o negativa la actualizacion de los datos dentro del WHMCS. Lo mas extraño es que el me da error y los datos son actualizados correctamente. Ahota solo le estoy pasando esos datos porque son los que me trae el servidor, ya que la pagina de verificacion que me da el banco (verifyconfirmation.jsp) es la que se encarga de decir si fue aprobada o no, empleando la logica de que si la transaccion es distinta de cero, quiere decir que fue aprobada, y si es cero pues fue rechazada. El asunto esta que mi archivo callback no dispone de esta funcion y no se como configurarla con php.

 

De verdad te agradezco toda la ayuda brindada y el tiempo empleado en el estudio de mi consulta.

 

Saludos Cordiales

 

Juan

Link to comment
Share on other sites

Si, efectivamente. Si ves en el codigo del callback que yo añadi al hilo, te daras cuenta que al finalizar tiene un IF ELSE. Pues me marca que se ha producido un error, pero no marca el tipo de error dentro del WHMCS. Lo mas curioso es que si se produce registro en la base de datos y pasa perfecto los datos que recibo del banco es decir todo perfecto en cuanto al pase de datos. El problema esta en que como recibe los datos en "crudo" y yo no envio nada de si fue aprobado o no pues entonces habria que cambiar las variables del IF ELSE. La cosa esta en determinar lo siguiente:

 

1.- ver que variables correnponden a la respuesta erronea para ver si existe el valor "transaccion rechazada"

2.- que si viene la transaccion rechazada pues efectivamente lo marque como tal porque como veras actualmente el callback "funciona" a medias, es decir, me da los datos y me actualiza el sistema pero no sabemos si algo esta bien o mal porque me da error.

 

Saludos y Gracias

 

Juan

Edited by juanalfonso
Link to comment
Share on other sites

  • 4 weeks later...
  • 2 weeks later...

Excelente script!!!,

 

Solo una cosa, lo configure correctamente, solo que me tira error ya que soy de mexico y me indica:

 

Ocurrió un error al procesar tu compra.

Los parámetros necesarios para procesar la compra son incorrectos.

No podrás realizar la compra hasta que el comercio no corrija este error.

 

Por favor comunícate con el comercio para solucionar este problema.

Si deseas acceder a tu cuenta DineroMail para otras operaciones haz click aquí.

 

ademas que me redirige a dineromail argentina.

 

me podrias asesora? de antemano muchas gracias. :)

Link to comment
Share on other sites

  • 3 weeks later...
Matías, deberías ponerte en contacto con DineroMail para ver si sponsorean tu trabajo :)

 

¿Por casualidad tu módulo para Argentina no hace callback según el manual de IPN de ellos para confirmar los pagos no?

 

Dudo que DineroMail haga algo por los clientes (estoy muy decepcionado con DineroMail, les super recomiendo CuentaDigital.com realmente muy profesionales y sobre todo ágiles)

 

Con respecto a la comprobación de pago, para cuentadigital estoy tratando de hacer que una vez al día compruebe los pagos del día anterior y los compute.

 

Para DineroMail, no voy hacer nada mas hasta tanto no sean una empresa seria y responsable.

Link to comment
Share on other sites

Acabo de intentar recuperar el pass de Cuenta Digital sin éxito. Me comuniqué con ellos para ver si le doy una mirada, tampoco me gusta mucho la atención de DM.

 

¿La última versión del módulo de Cuenta Digital es la que posteó cagnese acá?

 

Depende que hagas con tus clientes.... Si les cobras la comision a ellos si ese modulo... sino el que hice yo....

 

 

yo particularmente no les cobro la comision.

 

Saludos

Link to comment
Share on other sites

Matías, gracias por tu respuesta. Probé el modulo de Cuenta Digital y funciona lo mas bien. Ahora te quería consultar si hay forma de configurar el modulo para mostrar la boleta de pago en castellano en lugar de en inglés directamente.

 

Te paso la informacion para que lo puedas hacer

 

Un API puede ser utilizado para la integracion en cualquier carro de compras existente o desarrollos propios, Adicionalmente puede tambien utilizarlo como un link directo (boton de compra) desde su WebSite hacia nuestro sistema de generacion de cupones o utilizarlo ingresando las variables mediante un formulario simple.

 

Las variables son:

id= Su numero de CuentaDigital

precio= El monto a cobrar (En esta herramienta debe de incluir 2 cifras adicionales que indicaran los centavos

venc= Dias desde la fecha actual hasta el vencimiento del cupon

site= El dominio de su Website que mostrara su cupon

codigo= Codigo opcional para individualizacion del pago e integracion con sus sistemas. (El codigo opcional NO puede superar el maximo de 50 caracteres alfanumericos)

desde= Envio del cupon desde el email ingresado

hacia= Envio del cupon hacia el email ingresado

concepto= Concepto de la venta que aparecera en el cupon

pais= Pais de su cliente, en codigos ISO en mayusculas, dejandolo vacio el sistema detecta el pais del cliente.

moneda= La moneda base en codigo ISO en mayusculas en la cual el sistema se basara para calcular el precio correcto segun el pais del cliente, dejandolo vacio la base es ARS (Pesos Argentinos), ejemplos: ARS,CLP,RBL,MXN,USD,EUR

 

A continuacion se presenta un link a modo de ejemplo con su numero de CuentaDigital, monto a cobrar de $15,30 , vencimiento a 7 dias, 1.com como site de compra y un codigo opcional de individualizacion (ejemplo de cobro a su cliente numero 15) desde el e-mail desdeenvio@cuentadigital.com y hacia el e-mail testdeenvio@cuentadigital.com

 

https://www.CuentaDigital.com/api.php?id=8610&precio=15,30&venc=7&site=1.com&codigo=15

&desde=desdeenvio@cuentadigital.com&hacia=testdeenvio@cuentadigital.com&concepto=venta de hosting plan 4

 

 

Todas las variables son opcionales menos el id, de esa forma el codigo estara ligado a su cuenta, de no usar una variable esta no aparecera en su cupon.

 

 

Feliz Año nuevo

Link to comment
Share on other sites

Espectacular Matías! Estuve probando el módulo de exportación de cobros; parece sencillo pero no sabría como interactuar entre la API del WHMcs y lo que genera CuentaDigital.

 

Voy a probarlo con algunos clientes y cuando la exportación de cobros efectivamente emita datos hago algunas pruebas. ¡Estaría genial poder comprobar los pagos automáticamente!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated