Jump to content

Modulo de DineroMail y CuentaDigital


matiasoporto

Recommended Posts

Hola a todos los usuarios de Argentina. Les traigo una buena novedad. He podido hacer un modulo para que los clientes puedan abonar con DineroMail y otro para CuentaDigital.

 

Como sabran todos los usuarios Argentinos estas empresas son las mas utilizadas aqui, ya que permiten al cliente abonar con PagoFacil, RapiPago, Bapro, Tarjeta de Credito, etc.

 

Cualquiera que desee el modulo solo debe enviarme un mensaje privado y se los paso.

 

El código es muy simple de interpretar y modificar.

 

Saludos Cordiales

Matias Oporto

http://www.oporthost.com

Link to comment
Share on other sites

  • Replies 118
  • Created
  • Last Reply

Top Posters In This Topic

Les dejo el codigo del archivo de DineroMail

<?php

 

############################

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

##########GRATIS#############

 

$GATEWAYMODULE["dineromailname"]="dineromail";

$GATEWAYMODULE["dineromailvisiblename"]="dineromail";

$GATEWAYMODULE["dineromailtype"]="Invoices";

 

function dineromail_activate() {

defineGatewayField("dineromail","text","username","","Gateway Username","20","");

defineGatewayField("dineromail","yesno","testmode","","Test Mode","","");

}

 

function dineromail_link($params) {

# Gateway Specific Variables

$gatewayusername = $params['username'];

$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

 

 

# ID cliente de DineroMail (esto aparece en la pagina de DineroMail y son 6 digitos).

$numerodecliente = 123456;

 

# Moneda en la que tenes a WHCMS 1=Pesos 2=Dolares

$moneda = 1;

 

 

$code = '<FORM target=_blank action="https://www.dineromail.com/Shop/Shop_Ingreso.asp" METHOD="post">

<p><input type="image" src="https://www.dineromail.com/imagenes/post-login/boton-comprar-01.jpg" border="0" name="submit" alt="Pagar con DineroMail"></p>

<input type="hidden" value="'.$numerodecliente.'" 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="https://www.oporthost.com/logo.jpg" name="image_url">

<input type="hidden" value="http://www.oporthost.com/pagos/dineromail/exito.html" name="DireccionExito">

<input type="hidden" value="http://www.oporthost.com/pagos/dineromail/fracaso.html" name="DireccionFracaso">

<input type="hidden" value="4,5,6,14,15,16,17,2,7,13" name="MediosPago" >

<input type="hidden" value="Pago Factura Nro '.$invoiceid.'" name="NombreItem">

</form>';

 

return $code;

 

}

 

?>

Link to comment
Share on other sites

Aquí les dejo el código mejorado. Con esta mejora es posible configurar el archivos desde la Opcion de nuestro WHCMS: CONFIGURATION -> PAYMENT GATEWAYS

 

solo crean un archivo dineromail.php y colocan el código completo.

 

<?php

 

###############################

##Realizado por OportHost.com##

###########GRATIS##############

 

$GATEWAYMODULE["dineromailname"]="dineromail";

$GATEWAYMODULE["dineromailvisiblename"]="DineroMail";

$GATEWAYMODULE["dineromailtype"]="Invoices";

 

function dineromail_activate() {

defineGatewayField("dineromail","text","numerocuenta","","Número de cuenta","6","Ej.: 0<strong>315379</strong>/5");

defineGatewayField("dineromail","text","moneda","","Moneda","1","Pesos=1 Dolares=2");

defineGatewayField("dineromail","text","logo","","URL Logo","","Ej. https://www.dominio.com/logo.jpg o dejar solo http://");

defineGatewayField("dineromail","text","exito","","URL Exito","","Ej. http://www.dominio.com/exito.html sin http://");

defineGatewayField("dineromail","text","fracaso","","URL Fracaso","","Ej. http://www.dominio.com/fracaso.html sin http://");

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/Shop/Shop_Ingreso.asp" METHOD="post">

<p><input type="image" src="https://www.dineromail.com/imagenes/post-login/boton-comprar-01.jpg" 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="'.$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="'.$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,14,15,16,17,2,7,13" name="MediosPago" >

<input type="hidden" value="Pago por FACTURA Nº '.$invoiceid.'" name="NombreItem">

</form>';

 

return $code;

 

}

 

?>

 

Esperemos que creen una sección en este foro en español. 8)

Link to comment
Share on other sites

Aqui les dejo el codigo de cuentadigital.com.

 

Solo crear un archivo cuentadigital.php

 

<?php

 

################################################

######### Cortesía de Ultrasitios.com ##########

################################################

######### Mejorado por OportHost.com ##########

################################################

 

# copiar este archivo en /public_html/whmcs/modules/gateways/ (reemplazar por la carpeta en donde está el sistema whmcs)

 

$GATEWAYMODULE["cuentadigitalname"]="cuentadigital";

$GATEWAYMODULE["cuentadigitalvisiblename"]="CuentaDigital";

$GATEWAYMODULE["cuentadigitaltype"]="Invoices";

 

function cuentadigital_activate() {

defineGatewayField("cuentadigital","text","idcuentadigital","","Id","4","Ej.: 1234 ");

defineGatewayField("cuentadigital","text","sitio","","Sitio","","Ej.: MiEmpresa.com");

defineGatewayField("cuentadigital","text","email","","Mail","","Ej.: ventas@miempresa.com");

defineGatewayField("cuentadigital","text","diasvence","","Vencimiento de las Boletas","","Ej.: 30 (expresar en días)");

defineGatewayField("cuentadigital","yesno","testmode","","Test Mode","","");

}

 

function cuentadigital_link($params) {

# Gateway Specific Variables

$gatewayidcuentadigital = $params['idcuentadigital'];

$gatewaysitio = $params['sitio'];

$gatewayemail = $params['email'];

$gatewaydiasvence = $params['diasvence'];

$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 = '<p><u><font face="Verdana" size="2">Sólo para residentes Argentinos Pagofacil,Rapipago o Bapropagos</font></u></p>

<p><font face="Verdana" size="1">Click en el bonton <b>"imprimir cupón"</b> para imprimir cupon de pago</font></b></font></p>

 

<FORM target=_blank action="https://www.cuentadigital.com/string.php" METHOD="get">

<p><input type="submit" value="Imprimir cupón de pago"></p>

<input type="hidden" value="'.$gatewayidcuentadigital.'" name="id">

<input type="hidden" value="'.$invoiceid.'" name="codigo">

<input type="hidden" value="'.$amount.'" name="precio">

<input type="hidden" value="'.$gatewaydiasvence.'" name="venc">

<input type="hidden" value="'.$gatewaysitio.'" name="site">

<input type="hidden" value="'.$gatewayemail.'" name="desde">

<input type="hidden" value="'.$email.'" name="hacia">

<input type="hidden" value="Pago por FACTURA Nº '.$invoiceid.'" name="concepto"></form>';

 

return $code;

 

}

 

?>

Link to comment
Share on other sites

Matías, muchas gracias por compartir el código con todos.

 

¿Exactamente que hace? Es decir, aparte de permitir seleccionar DineroMail como medio de pago, ¿también manda la boleta de Pago Fácil / Rapipago o una solicitud de pago para que el cliente pague via DineroMail si tiene dinero en su cuenta?

Link to comment
Share on other sites

Hola Juanzo, exactamente genera el botón de pago. Es como el botón de pago que hay de PayPal, pero de dineromail.

Generando el botón de pago, el cliente al hacer clic puede elegir entre pagar con PagoFacil, RapiPago, Bapro, CobroExpress, Tarjeta de Crédito, Transferencia Bancaria o fondos de su cuenta de DineroMail.

 

whmcsdineromail.JPG

 

Lo mismo hace el de cuentadigital, este ultimo genera la boleta con solo apretar el botón.

 

Cualquier duda aqui estoy para ayudarte.8)

Link to comment
Share on other sites

De nada Juanzo, cualquier cosa que no sepas me avisas. Si vos le cobras a tus clientes la comisión de dineromail puedo hacerte el modulo para que te calcule directamente la comisión.

 

Saludos

Se agradece el trabajo realizado ;)

Thanks for the job done mate ;)

Link to comment
Share on other sites

  • 3 weeks later...

Bueno, aca ando probando la pasarela de dineromail.

 

Cuando le doy pagar con dineromail, me manda acá https://www.dineromail.com/Shop/ShopError.asp?CodError=1 que puede llegar a ser. Copie y pegue intacto el codigo de dineromail, y cargue mi cuenta, inclusive el logo, y las otras url.

 

En principio el logo no se, (ya verifique la url).

 

pd. alguien sabe para cambiar la moneda por pesos ARS por ejemplo

Link to comment
Share on other sites

Bueno, aca ando probando la pasarela de dineromail.

 

Cuando le doy pagar con dineromail, me manda acá https://www.dineromail.com/Shop/ShopError.asp?CodError=1 que puede llegar a ser. Copie y pegue intacto el codigo de dineromail, y cargue mi cuenta, inclusive el logo, y las otras url.

 

En principio el logo no se, (ya verifique la url).

 

pd. alguien sabe para cambiar la moneda por pesos ARS por ejemplo

 

Es posible que tengas un error al modificar el código. Te dejo el mismo código pero Mejorado, ya que podes configurarlo desde el panel.

 

http://www.oporthost.com/dineromail.rar

 

Cualquier cosa si sigue este problema avisame que vemos como lo solucionamos.

Link to comment
Share on other sites

con el primer codigo de dineromail, no me tira error, funciona bien, pero el problema es que el usuario se tiene que registrar en dineromail. lo que quiero es evitar es que se registre!

 

en algún lado leí que se puede evitar.

 

este último también me tira el mismo error :(

Link to comment
Share on other sites

con el primer código de dineromail, no me tira error, funciona bien, pero el problema es que el usuario se tiene que registrar en dineromail. lo que quiero es evitar es que se registre!

 

en algún lado leí que se puede evitar.

 

este último también me tira el mismo error :(

 

Lo de que no se tenga que registrar, tenes que enviar un mail a dineromail pidiendo que te habiliten la opción de que los usuarios no se tengan que registrar.

 

no entiendo a que te referís con el primer código y con el ultimo código. Ya que anteriormente dijiste que no te funcionaba el primer código y ahora decís que si. Podes exponer exactamente el problema?.

 

Y si podes pone una imagen de como lo tenes configurado al modulo, ya que por ejemplo si no pones logo tenes que dejar igual http://, si no pones url de éxito o fracaso igual tenes que dejar http:// y fíjate de poner bien el numero de cuenta.

Link to comment
Share on other sites

  • 4 weeks later...
  • 1 month later...

Buenas , Matias, soy de Ultrasitios el del script de cuentadigital (el inicial que luego vos mejoraste)

Mi pregunta es la siguiente:

Lograste hacer un callback para que el server verifique automáticamente 2 veces al día si los pagos pagofacil o rapipago han ingresado y marque como pagada la Fc en el sistema?

 

Se puede , pero estoy enredado

Link to comment
Share on other sites

Buenas , Matias, soy de Ultrasitios el del script de cuentadigital (el inicial que luego vos mejoraste)

Mi pregunta es la siguiente:

Lograste hacer un callback para que el server verifique automáticamente 2 veces al día si los pagos pagofacil o rapipago han ingresado y marque como pagada la Fc en el sistema?

 

Se puede , pero estoy enredado

 

Hola Ultra1, antes que nada gracias por el script.

 

Bueno te comento que cuando intente no andaba el call back y luego no intente mas.-

 

Igual mis conocimientos de programacion no son demasiados. Soy solo un aficionado que investiga un poco.

 

Te aviso si hago algo.

 

Tema aparte: me envias un mensaje privado con tu direccion de mail para hacerte unas consultas sobre los vps que vendes, me intereza.

 

Muchas Gracias

Matias

Link to comment
Share on other sites

Mi pequeño grano de arena para este magnífico script desarrollado por Ultra1 y Matiasoporto. Incluyo a continuación el código del portal de pagos para cuenta digital con el cargo de la operación a cuenta del cliente:

<?php

 

######################################

######## Módulo de Pago Cuenta Digital #########

######################################

 

# copiar este archivo en /public_html/instalación_whmcs/modules/gateways/ (poner carpeta en donde está el sistema whmcs)

 

$GATEWAYMODULE["cuentadigitalname"]="cuentadigital";

$GATEWAYMODULE["cuentadigitalvisiblename"]="CuentaDigital";

$GATEWAYMODULE["cuentadigitaltype"]="Invoices";

 

function cuentadigital_activate() {

defineGatewayField("cuentadigital","text","link","","Enlace de Cuenta Digital","65","Enlace de Cuenta Digital para los Tickets");

defineGatewayField("cuentadigital","text","site","","Nombre del Sitio Web","65","Nombre de la Empresa que mostrara el Ticket");

defineGatewayField("cuentadigital","text","id","","Su Número de Cuenta Digital","8","Los cuatro dígitos de su cuenta en Cuenta Digital");

defineGatewayField("cuentadigital","text","venc","","Plazo para el pago","3","Días de validez del ticket emitido para pagar en ventanilla");

defineGatewayField("cuentadigital","text","desde","","Email que envía el ticket","65","Email que está generando el ticket de pago");

defineGatewayField("cuentadigital","yesno","testmode","","Test Mode","","");

}

 

function cuentadigital_link($params) {

# Gateway Specific Variables

$gatewaylink = $params['link'];

$gatewaysite = $params['site'];

$gatewayidctadigital = $params['id'];

$gatewaydiasvence = $params['venc'];

$gatewayemail = $params['desde'];

$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'];

# se le suman las comisiones de cuentadigital, si la comision es menos de 1.82, se pone 1.82

$calculo = $amount * 0.0484;

if ($calculo < 1.82)

{

$calculo = 1.82;

}

else

{

$calculo = $amount * 0.0509;

}

 

$comision = number_format($calculo, 2, '.', ' ');

 

$preciofinal = number_format($amount + $comision, 2, '.', ' ');

$boton = $params['langpaynow'];

# End of Variables

 

 

# título con explicación

$code = '<p><font face="Verdana" size="1">Hacer click en el botón <strong>"'.$boton.'"</strong><br />para emitir el cupon de pago. Importe a pagar<br /><strong>$'.$amount.' '.$currency.' (Servicios) + $'.$comision.' '.$currency.' (PFácil)<br />Total = <font color="#FF0000">$'.$preciofinal.' '.$currency.'</font></strong></font></p>';

 

# formulario con link

$code .=

'<form action="'.$gatewaylink.'" method="get">

<input type="hidden" name="site" value="'.$gatewaysite.'">

<input type="hidden" name="id" value="'.$gatewayidctadigital.'">

<input type="hidden" name="venc" value="'.$gatewaydiasvence.'">

<input type="hidden" name="desde" value="'.$gatewayemail.'">

<input type="hidden" name="concepto" value="'.$description.'">

<input type="hidden" name="codigo" value="'.$invoiceid.'">

<input type="hidden" name="precio" value="'.$preciofinal.'">

<input type="hidden" name="hacia" value="'.$email.'">

<input type="submit" value="'.$boton.'">

</form>';

 

return $code;

 

}

 

?>

Link to comment
Share on other sites

  • 1 month later...

Se ve muy bueno el módulo, pero no logro hacerlo funcionar :roll:

 

Soy de Chile, por lo que probé cambiando https://www.dineromail.com/Shop/Shop_Ingreso.asp por https://www.dineromail.com/cl/Shop/Shop_Ingreso.asp ... pero nada.

 

Ya solicité que mis usuarios no tengan que registrarse y lo activaron. Aún así, nada...

 

- ¿Hay que modificar algo más?

- ¿Hay que estar en la lista de Comercios?

- ¿Es necesario crear un carro de compras o botón en DineroMail para cada producto?

 

De antemano, muchas gracias.

Link to comment
Share on other sites

¡Torpeza mía!.

 

Pasa que al configurar el módulo, al menos para DineroMail Chile, no hay que poner el número de cuenta bajo el formato 0xxxxx/x, sino que se debe poner xxxxx y nada más.

 

¡Muchas gracias pro el módulo, Matías, funciona genial! :D

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