Módulo Paygol para BoxBilling, versión 1.2

 

Requerimientos

  • Instalación funcional de BoxBilling (probado hasta la versión 4.20).
  • Cuenta en Paygol, puede registrarse de forma gratuita en https://secure.paygol.com/signup

 

Instalación

  • Descargue el módulo BoxBilling.
  • Descomprima el archivo paygol-for-boxbilling_1.2.zip directamente en su carpeta base de BoxBilling.
  • Instale el módulo de Paygol en su panel de administración de BoxBilling (Configuration -> Payment Gateways -> New payment gateway), seleccione “Paygol” y presione “Install“.
  • Una vez instalado, configure el módulo (Configuration -> Payment Gateways), seleccione “Paygol” y presione sobre el icono de editar (Icono del lápiz).
  • Inicie sesión en su panel de control de Paygol y vaya a la sección “Notificaciones”, copie el ID de Servicio y el Secret Key desde tu cuenta y peguelos en los campos con los mismos nombres en la configuración del modulo Paygol de su sitio BoxBilling.
  • Copie el campo “IPN Callback URL” desde su configuración del módulo Paygol y péguela en el campo “URL de IPN” en la sección “Notificaciones” de su panel de control Paygol y luego guarde los cambios.
  • Asegúrese que los siguientes parámetros están configurado de esta manera en su módulo Paygol:
    • “Enabled: Yes“.
    • “Allow one time payments: Yes“.
    • “Enable test mode: No
  • Presione “UPDATE” en su sitio BoxBilling, para guardar la configuración.

 

Pruebas

Para probar el módulo tras su instalación, puede activar el modo de pruebas de su servicio con el boton “Live/Test” en la esquina superior derecha de su panel de control en el sitio web de Paygol. Recuerde cambiarlo de vuelta una vez concluidas las pruebas.

 

Imagen del botón de pago

Para asegurarle de que todas las instancias del botón de pago de Paygol se visualizarán correctamente, por favor siga las siguientes instrucciones:

  • Edite el archivo “logos.css” de su instalación de BoxBilling. Este archivo se encuentra en “bb-themes/huraga/assets/css/logos.css“.
  • Agregue las siguientes lineas de código al final del archivo “logos.css” y guarde los cambios.:
    .logo-PayGol{
         background: transparent url("../img/gateway_logos/PayGol.png") no-repeat scroll 0% 0%;
         background-size: contain;
         width:80px;
         height: 28px;
         border: 0;
         margin: 10px;
    }
    

Favor de considerar:

En el caso de no utilizar la plantilla por defecto “huraga“, es necesario hacer lo siguiente:

  • Modificar el archivo CSS en la carpeta correcta, no en “huraga“. Ejemplo: “bb-themes/elThemeQueEstoyUtilizando/assets/css/logos.css“.
  • Copiar la imagen “bb-themes/huraga/assets/img/gateway_logos/Paygol.png” a una ruta similar correspondiente a la otra plantilla. Ejemplo:
    bb-themes/elThemeQueEstoyUtilizando/assets/img/gateway_logos/Paygol.png“.
  • Como método alternativo a los puntos anteriores, simplemente cambie el nombre del directorio “huraga” al nombre del directorio que utilizará, este cambio debe aplicarlo antes de copiar el módulo Paygol a su servidor web.

 

Notas importantes

  • En modo de pruebas se realizará un llamado IPN (notificación de pago a su plataforma) inmediatamente después de cada prueba.
  • Una vez que un pago sea completado, el mismo se mostrará como completado, pero pendiente de instalación (Pending Setup) hasta que usted lo active en su panel de BoxBilling.
  • Los pagos usualmente son notificados de forma inmediata; ahora bien, algunos métodos de pago podrían tomar más tiempo en notificar la transacción (ej: métodos que toman algunos minutos en realizar la notificación, o métodos basados en boletos que deben ser impresos y pagados en efectivo). Recomendamos que informe a su clientela sobre esto a modo de evitar confusiones.


Requerimientos

Instalación

  • Descarga el módulo para OpenCart de Paygol.
  • Ingresa a la sección de administración de tu OpenCart.
  •  Carga el archivo “paygol-for-opencart.1.2.ocmod.zip” (Extensions -> Installer -> Click en “Upload”).
  •  Instala el módulo de Paygol (Extensions -> Extensions -> Choose the extension type: “Payments” -> Buscar “Paygol” -> Click en “Install”), no cierres esta página.
  •  Haz click en “Edit” (ícono del lápiz junto al módulo correspondiente) para ingresar a a la página de configuración del módulo.
  •  Copia el “IPN URL” y pégalo en el campo “IPN URL” en la sección Notificaciones de tu panel de Paygol (“Cuenta” -> “Notificaciones”). Guarda los cambios.
  • En la sección Notificaciones de tu panel de Paygol, copia el ID de Servicio y Secret Key de tu cuenta y pégalos en los campos correspondientes en la página de configuración del módulo.
  • Activa el módulo (cambia la opción “Status” a “Enabled”) y guarda los cambios realizados a la configuración del módulo.

Modo de Prueba

  • Para probar el módulo tras su instalación, puedes activar el modo Test en la parte superior de tu panel de Paygol. Asegúrate de cambiarlo de vuelta a modo Live antes de comenzar a vender.

Notas Importantes

  • Mientras tu cuenta esté en modo de pruebas, se realizará una notificación de pago (llamada IPN) a tu plataforma después de cada transacción.
  •  Usualmente los pagos son notificados de forma inmediata; ahora bien, algunos métodos de pago podrían tomar más tiempo en notificar la transacción (ej: métodos que toman algunos minutos en realizar la notificación, o métodos basados en boletos que deben ser impresos y pagados en efectivo). En esos casos el producto no se mostrará en el listado de compras hasta que se confirme el pago. Recomendamos que informes a tu clientela sobre esto a modo de evitar
    confusiones.
Implementación básica

 

Cómo usar la Implementación Básica
Descripción de parámetros
Cómo probar tu servicio
IPN
IPN Descripción de parámetros

 


Cómo usar la Implementación Básica

A continuación encontrarás un código de muestra para tu botón de pago. Simplemente reemplaza los valores de ejemplo según se requiera y estarás listo para comenzar a recibir pagos.

<form name="pg_frm" method="post" action="https://www.paygol.com/pay">
 <input type="hidden" name="pg_serviceid" value="123">
 <input type="hidden" name="pg_currency" value="EUR">
 <input type="hidden" name="pg_name" value="DEMO">
 <input type="hidden" name="pg_custom" value="">
 <input type="hidden" name="pg_price" value="1">
 <input type="hidden" name="pg_return_url" value="">
 <input type="hidden" name="pg_cancel_url" value="">
 <input type="image" name="pg_button" src="https://www.paygol.com/pay-now/images/payment-button.png" border="0" alt="Realiza pagos con Paygol: la forma mas facil!" title="Realiza pagos con Paygol: la forma mas facil!" > 
</form>

Descripción de parámetros

Los siguientes parámetros POST/GET son requeridos:

Parámetro Descripción
pg_serviceid Este es el ID de servicio de tu cuenta.
pg_currency Tipo de divisa especificado en código alfabético ISO 4217 que quieres usar (Ej: EUR, USD, GBP, MXN, etc.). Ver lista completa de códigos de divisa.
pg_price El precio de tu producto, puedes modificarlo fácilmente. Si tus clientes seleccionan otro país, la divisa será convertida automáticamente.
pg_name (Opcional) Descripción de tu producto/servicio, el cual será mostrado el la pantalla de pago.
pg_custom (Opcional) Campo flexible, puede ser usado para rastrear usuario, inventario, etc.
pg_return_url (Opcional) Tus clientes serán redireccionados aquí una vez que el proceso de pago sea completado (ej: https://www.misitio.com/gracias).
pg_cancel_url (Opcional) Tus clientes serán redireccionados aquí si el proceso de pago falla o es cancelado (ej: https://www.misitio.com/cancelado).
pg_button Esta es la imagen del botón de pago. Si lo deseas, puedes reemplazarla con una propia.

Cómo probar tu servicio

En la parte superior de tu panel podrás cambiar entre los modos Test y Live. En modo Test puedes simular transacciones sin necesidad de gastar dinero real (simplemente haz click en “Continuar” y se simulará un pago exitoso).

Nótese que en el modo Test no es necesario realizar acciones externas (tales como ingresar información de tu tarjeta de crédito).

IPN

¿Qué es IPN?
Instant Payment Notification (IPN) traducido al español sería Notificación Instantánea de Pago, es un servicio de mensaje que te notifica de eventos relacionados a transacciones de Paygol. Puedes usarlo para automatizar el back-office y las funciones administrativas, tales como completar ordenes, insertar puntos o monedas, actualizar membresía, rastreo de clientes, y proveer el estado y otra información relacionada a la transacción.

Información acerca del pago
Paygol realiza una solicitud GET a tu archivo IPN cuanto tu cliente completa la transacción. Puedes usar esta notificación para finalizar y completar la orden, habilitar la descarga del material digital, información de la tienda en un CRM o en el sistema de contabilidad, etc.

¿Cómo recibir la información desde el IPN en mi página web?
Paygol provee ejemplos de código IPN para ambientes de desarrollo populares. Usa los ejemplos ya funcionando para agilizar tu integración con Paygol.

Ejemplo:

<?php 

$secret_key = "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeee";  // Enter secret key for your service. 

// Secret key validation 
if ($secret_key != $_GET['key']) {
    echo "Validation error"; 
    exit;
}

// get the variables from Paygol system
$transaction_id	 = $_GET['transaction_id'];
$service_id	     = $_GET['service_id'];
$country	        = $_GET['country'];
$custom	         = $_GET['custom'];
$price	          = $_GET['price'];
$currency	       = $_GET['currency'];

// Here you can do whatever you want with the variables, for instance inserting or updating data into your Database 

?>

IPN Descripción de parámetros

Parámetro Descripción
transaction_id El ID de la transacción.
service_id El ID de servicio de tu cuenta.
country El código de país de tu cliente especificado en ISO 3166 (Ej: EN, ES, FR, DE, etc.).
custom El campo flexible especificado en tu formulario original.
key Secret Key de tu cuenta, utilizado para validar las notificaciones de pago.
price El precio del producto de la transacción.
currency El código de moneda de la transacción (Ej: EUR, USD, GBP, MXN, etc.).
frmprice El precio original presente en el código de tu botón de pago. Puede ser usado para validación.
frmcurrency La moneda original presente en el código de tu botón de pago. Puede ser usado para validación.
method El método de pago utilizado por el pagador.

 

Implementación avanzada

 

Vista General
Cómo usar la Implementación Avanzada
Descripción de parámetros
IPN
IPN Descripción de parámetros

Vista General

Nuestra implementación avanzada es una solución de pagos white label que te permite redirigir a tus clientes directamente a un método de pago local sin necesidad de pasar por la pantalla de pago de Paygol.

Cómo usar la implementación avanzada

A continuación encontrarás un código de muestra para tu botón de pago. Simplemente reemplaza los valores de ejemplo según se requiera y estarás listo para comenzar a recibir pagos.

<form name="pg_frm" method="post" action="https://www.paygol.com/pay" >
   <input type="hidden" name="pg_serviceid" value="123">
   <input type="hidden" name="pg_currency" value="EUR">
   <input type="hidden" name="pg_custom" value="">
   <input type="hidden" name="pg_price" value="1">
   <input type="hidden" name="pg_return_url" value="">
   <input type="hidden" name="pg_cancel_url" value="">
   <input type="hidden" name="pg_mode" value="advanced">
   <input type="hidden" name="pg_country" value="GB">
   <input type="hidden" name="pg_method" value="creditcard">
   Email: <input type="text" name="pg_email"><br><br>
   Nombre: <input type="text" name="pg_first_name"><br><br>
   Apellido: <input type="text" name="pg_last_name"><br><br>
   Personal ID: <input type="text" name="pg_personalid"><br><br>
   <input type="image" name="pg_button" src="https://www.paygol.com/pay-now/images/payment-button.png" border="0" alt="Realiza pagos con Paygol: la forma mas facil!" title="Realiza pagos con Paygol: la forma mas facil!" >     
</form>

Descripción de parámetros

Los siguientes parámetros POST/GET son requeridos:

Códigos de los métodos de pago disponibles:

Nombre Código Descripción

IPN

¿Qué es IPN?
Instant Payment Notification (IPN) traducido al español sería Notificación Instantánea de Pago, es un servicio de mensaje que te notifica de eventos relacionados a transacciones de Paygol. Puedes usarlo para automatizar el back-office y las funciones administrativas, tales como completar ordenes, insertar puntos o monedas, actualizar membresía, rastreo de clientes, y proveer el estado y otra información relacionada a la transacción.

Información acerca del pago
Paygol realiza una solicitud GET a tu archivo IPN cuanto tu cliente completa la transacción. Puedes usar esta notificación para finalizar y completar la orden, habilitar la descarga del material digital, información de la tienda en un CRM o en el sistema de contabilidad, etc.

¿Cómo recibir la información desde el IPN en mi página web?
Paygol provee ejemplos de código IPN para ambientes de desarrollo populares. Para archivos IPN personalizados, puedes utilizar el siguiente ejemplo como punto de inicio.

Ejemplo:

<?php 

$secret_key = "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeee";  // Enter secret key for your service. 

// Secret key validation 
if ($secret_key != $_GET['key']) {
    echo "Validation error"; 
    exit;
}


// get the variables from Paygol system
$transaction_id	  = $_GET['transaction_id'];
$service_id	      = $_GET['service_id'];
$country	         = $_GET['country'];
$custom	          = $_GET['custom'];
$price	           = $_GET['price'];
$currency	        = $_GET['currency'];
$frmprice	        = $_GET['frmprice'];
$frmcurrency	     = $_GET['frmcurrency'];

// Here you can do whatever you want with the variables, for instance inserting or updating data into your Database 

?>

IPN Descripción de parámetros

 

Implementación API

 

Vista General
Cómo usar la Implementación API
Descripción de parámetros
Verificar el estado de un pago
IPN
IPN Descripción de parámetros

 


Vista General

Nuestra implementación API ofrece un alto nivel de personalización, permitiéndote implementar una solución de pagos white label directamente en tu plataforma de una forma rápida y fácil.

Esta implementación está basada en llamadas POST/GET a servicios web, los cuales entregarán una respuesta en XML o texto plano, según prefieras. La respuesta contendrá una URL a la cual podrás redirigir a tus clientes para comenzar el proceso de pago.

Cómo usar la implementación API

Para crear un nuevo pago se debe realizar un llamado a la siguiente URL:

https://www.paygol.com/pay

Descripción de parámetros

Los siguientes parámetros POST/GET son requeridos:

 

Códigos de los métodos de pago disponibles:

Nombre Código Descripción

Ejemplo:

https://www.paygol.com/pay?pg_serviceid=123&pg_price=5.00&pg_currency=EUR&pg_custom=player123&pg_return_url=http://www.mysite.com/return.php
&pg_cancel_url=http://www.mysite.com/cancel.php&pg_mode=api&pg_country=ES&pg_language=es&pg_method=creditcard&pg_format=txt
&pg_ip=123.123.123.123&[email protected]&pg_first_name=John&pg_last_name=Smith&pg_personalid=12345678-6

Respuesta (texto plano)

OK|service|payment_method|payment_methods|id|price|currency|price_consumer|currency_consumer|locale|payment_method_url|custom|return_url|cancel_url

Ejemplo:

OK|123456|webpay|webpay,servipag,multicaja|XXXX-YYYY-ZZZZ-1234|10.00|EUR|10.00|EUR|es-CL|https://www.paygol.com/api/pay-direct/XXXX-YYYY-ZZZZ-1234
|player123|http://www.mysite.com/return.php|http://www.mysite.com/cancel.php

Respuesta en caso de error:

NOK|error_message

Ejemplo:

NOK|Wrong country

Respuesta (XML)

<transaction>
  <response>OK</response>
  <service>123456</service>
  <payment_method>webpay</payment_method>
  <payment_methods>webpay,servipag,multicaja</payment_methods>
  <id>XXXX-YYYY-ZZZZ-1234</id>
  <price>10.00</price>
  <currency>EUR</currency>
  <price_consumer>10.00</price_consumer>
  <currency_consumer>EUR</currency_consumer>
  <locale>es-CL</locale>
  <payment_method_url>https://www.paygol.com/api/pay-direct/XXXX-YYYY-ZZZZ-1234</payment_method_url>
  <custom>player123</custom>
  <return_url>http://www.mysite.com/return.php</return_url>
  <cancel_url>http://www.mysite.com/cancel.php</cancel_url>
</transaction>

Respuesta en caso de error (ejemplo):

<transaction>
  <response>NOK</response>
  <error_message>Wrong country</error_message>
</transaction>

Los parámetros de respuesta son los mismos sin importar el formato de la misma.

Verificar el estado de un pago

Para verificar el estado de un pago se debe realizar una petición a la siguiente URL:

https://www.paygol.com/api/check-payment

Los siguientes parámetros POST/GET son requeridos:

Ejemplo:

https://www.paygol.com/api/check-payment?service=123&id=XXXX-YYYY-ZZZZ-1234&format=txt

Respuesta (texto plano)
ID de transacción encontrado, independiente de su estado actual:

OK|status

Ejemplo:

OK|completed

Respuesta en caso de error:

NOK|error_message

Ejemplo:

NOK|Transaction ID not found

Respuesta (XML)
ID de transacción encontrado, independiente de su estado actual (ejemplo):

<transaction>
  <response>OK</response>
  <status>completed</status>
</transaction>

Respuesta en caso de error (ejemplo):

<transaction>
  <response>NOK</response>
  <error_message>Transaction ID not found</error_message>
</transaction>

Los parámetros de respuesta son los mismos sin importar el formato de la misma.

IPN

¿Qué es IPN?
Instant Payment Notification (IPN) traducido al español sería Notificación Instantánea de Pago, es un servicio de mensaje que te notifica de eventos relacionados a transacciones de Paygol. Puedes usarlo para automatizar el back-office y las funciones administrativas, tales como completar ordenes, insertar puntos o monedas, actualizar membresía, rastreo de clientes, y proveer el estado y otra información relacionada a la transacción.

Información acerca del pago
Paygol realiza una solicitud GET a tu archivo IPN cuanto tu cliente completa la transacción. Puedes usar esta notificación para finalizar y completar la orden, habilitar la descarga del material digital, información de la tienda en un CRM o en el sistema de contabilidad, etc.

¿Cómo recibir la información desde el IPN en mi página web?
Paygol provee ejemplos de código IPN para ambientes de desarrollo populares. Para archivos IPN personalizados, puedes utilizar el siguiente ejemplo como punto de inicio.

Ejemplo:

<?php 

$secret_key = "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeee";  // Enter secret key for your service. 

// Secret key validation 
if ($secret_key != $_GET['key']) {
    echo "Validation error"; 
    exit;
}

// get the variables from Paygol system
$transaction_id	= $_GET['transaction_id'];
$service_id	    = $_GET['service_id'];
$country	       = $_GET['country'];
$custom	        = $_GET['custom'];
$price	         = $_GET['price'];
$currency	      = $_GET['currency'];
 
// Here you can do whatever you want with the variables, for instance inserting or updating data into your Database 

?>

IPN Descripción de parámetros