Webcheckout

Implementación Web checkout
Descripción de parámetros
Métodos de pago disponibles

Implementación Web checkout

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.

Descripción de parámetros

Parámetro Tipo Descripción Requerido
pg_serviceid integer Este es el ID de servicio de tu cuenta. requerido
pg_price numeric Monto de la transacción. requerido
pg_currency string 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.
requerido
pg_country string País del pagador, en formato ISO 3166-2 (ej: GB, DE, ES).
Ver listado
requerido
pg_language string Idioma, en formato ISO 639-1 (ej: es, en). Si el idioma proporcionado no
está disponible, utiliza inglés por defecto.
opcional
pg_method string Método de pago. Favor de revisar la tabla que se presenta a continuación
para una lista de métodos disponibles y sus códigos. Para más
información referente a cada método de pago, visita nuestra página de
Costos.
requerido solo para checkout transparente
pg_name string Descripción de tu producto/servicio, el cual será mostrado el la
pantalla de pago.
opcional
pg_custom string Campo flexible, puede ser usado para rastrear usuario,
inventario, etc.
opcional
pg_email string Dirección de correo electrónico del pagador. requerido solo para checkout transparente
pg_phone string Número de teléfono del pagador.
Requerido en Brasil para Banco Do Brasil, Itaú, Santander y Bradesco. En Perú Pagoefectivo
requerido solo para checkout transparente en algunos métodos locales.
pg_first_name string Nombre del pagador. requerido solo para checkout transparente
pg_last_name string Apellido del pagador. requerido solo para checkout transparente
pg_personalid string Número de identificación local del pagador. requerido solo para checkout transparente en algunos métodos locales
pg_sub_merchant_id string opcional
pg_sub_merchant_id string opcional
pg_return_url string Tus clientes serán redireccionados aquí una vez que el
proceso de pago sea completado (ej:
https://www.misitio.com/pago-completado).
opcional
pg_cancel_url string Tus clientes serán redireccionados aquí si el proceso de pago
falla o es cancelado (ej: https://www.misitio.com/pago-cancelado).
opcional

Métodos de pago disponibles:

Nombre Código Descripción

Tarjeta de crédito

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido

Bitcoin

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido

Webpay

pg_country requerido
pg_email requerido

Multicaja

pg_country requerido
pg_email requerido

Servipag

pg_country requerido
pg_email requerido

PagoEfectivo

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido
pg_personalid requerido
pg_phone requerido

Pago Fácil

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido
pg_personalid requerido

Rapipago

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido
pg_personalid requerido

Paysafecard

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido

Giropay

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido
pg_personalid requerido (Usar este campo para BIC)

iDEAL

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido

Sofort

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido

EPS

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido
pg_personalid requerido

SEPA

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido
pg_personalid requerido

MyBank

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido

Verkkopankki

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido

Przelewy24

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido

Bancontact

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido

Bradesco

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido
pg_personalid requerido
pg_phone requerido (Formato Ej.: 5531123456789)

OXXO

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido
pg_personalid requerido

Itaú

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido
pg_personalid requerido
pg_phone requerido (Formato Ej.: 5531123456789)

Davivienda

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido
pg_personalid requerido

Boleto

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido
pg_personalid requerido

Redpagos

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido
pg_personalid requerido

Santander Brasil

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido
pg_personalid requerido
pg_phone requerido (Formato Ej.: 5531123456789)

Santander México

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido
pg_personalid requerido

Banco do Brasil

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido
pg_personalid requerido
pg_phone requerido (Formato Ej.: 5531123456789)

PSE

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido
pg_personalid requerido

Efecty

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido
pg_personalid requerido

ViaBaloto

pg_country requerido
pg_email requerido
pg_first_name requerido
pg_last_name requerido
Notificación Instantánea de Pago V2 (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 órdenes, 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 llamada GET/POST a la URL de tu servicio IPN previamente configurado en cuanto tu cliente completa la transacción. Puedes usar esta notificación para finalizar y completar las órdenes, habilitar la descarga de 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 de implementación

<?php 

use Paygol\Notification;

/**
 * Merchant service ID
 *
 * @var int
 */
$service_id = "123";
/**
 * Merchant shared secret
 *
 * @var string
 */
$shared_secret = "7c1a6a24-7943-102d-92f8-29573711ad31";

$ipn = new Notification($service_id, $shared_secret);

try {
    $ipn->validate();

    $params = $ipn->getParams();

    var_dump($params);
    
    // do something

    // Confirm reception
    $ipn->sendResponse(['OK'], 200);
} catch (\Exception $e) {
    $ipn->sendResponse(['error' => 'Validation error'], 400);
}

La petición anterior devuelve un objeto JSON estructurado de la siguiente manera:

{
  "country": "ES",
  "currency": "USD",
  "custom": "Producto 1 - Producto 2 - Producto 3",
  "method": "teleingreso",
  "price": "10.00",
  "service_id": "123",
  "status": "completed",
  "transaction_id": "ZISS-A7Q8-RE2Z-S73W"
}

 

Manejo de notificaciones

El manejo correcto de las notificaciones es crucial para asegurarse de que la lógica de negocios de su integración funcione como se espera.

 

Confirmación de las notificaciones

Si su script de notificaciones ejecuta una lógica muy compleja o realiza llamadas a la red, es posible que el tiempo de espera se agote antes de que Paygol reciba la confirmación de recepción. Idealmente, su código que maneja la recepción de notificaciones (acusando recibo con código de estado 2xx) sea independiente de cualquier otra lógica.

 

Manejo de notificaciones duplicadas

Los endpoints de notificaciones pueden recibir en ocasiones la misma notificación más de una vez. Es por eso que recomendamos que evite recibos de notificaciones duplicados haciendo que su procesamiento de eventos sea idempotente.

Implementación API

Vista General
Cómo usar la Implementación API
Descripción de parámetros
Métodos de pago disponibles
Consultar métodos de pago
Creando una Transacción
Verificar el estado de una transacción
Estados

 


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 formato JSON. La respuesta contendrá la URL a la cual deberás redirigir a tus clientes para comenzar el proceso de pago.

Cómo usar la implementación API

https://www.paygol.com/api/v2/

Descripción de parámetros

Métodos de pago disponibles

Nombre Cobertura Código Descripción

Consultar métodos de pago

Esta función devuelve una lista con los métodos de pago válidos para el país solicitado.

<?php

use \Paygol\API;
use \Paygol\Exceptions\InvalidParameterException;

/**
 * Merchant service ID
 *
 * @var int
 */
$service_id = "123";

/**
 * Merchant shared secret
 *
 * @var string
 */
$shared_secret = "7c1a6a24-7943-102d-92f8-29573711ad31";

try {
  $pg = new API($service_id, $shared_secret);

  $payment_methods = $pg->getPaymentMethods("de");

  var_dump($payment_methods);
} catch (\Exception $e) {
  die($e->getMessage());
}

Resultado de la petición

{
  "methods": {
    "creditcard": {
      "code": "creditcard",
      "name": "Credit Card",
      "image": "https://www.paygol.com/pay-now/images/method_button_creditcard.png"
    },
    "paysafecard": {
      "code": "paysafecard",
      "name": "Paysafecard",
      "image": "https://www.paygol.com/pay-now/images/method_button_paysafecard.png"
    },
    "bitcoin": {
      "code": "bitcoin",
      "name": "Bitcoin",
      "image": "https://www.paygol.com/pay-now/images/method_button_bitcoin.png"
    },
    "giropay": {
      "code": "giropay",
      "name": "Giropay",
      "image": "https://www.paygol.com/pay-now/images/method_button_giropay.png"
    }
  }
}


Creando una Transacción

Cada solicitud de pago en la API generará una transacción. Cada Transacción se identifica de forma única por el ID de Transacción. Para obtener detalles sobre una transacción, debe realizar una solicitud GET por separado.

<?php

use \Paygol\API;
use \Paygol\Models\Payer;
use \Paygol\Models\RedirectUrls;


/**
 * Merchant service ID
 *
 * @var int
 */
$service_id = "123";

/**
 * Merchant shared secret
 *
 * @var string
 */
$shared_secret = "7c1a6a24-7943-102d-92f8-29573711ad31";

try {
    $pg = new API($service_id, $shared_secret);

    $redirectUrls = new RedirectUrls();
    $redirectUrls->setRedirects(
        "https://www.my-site.com/success", 
        "https://www.my-site.com/failure"
    ); // optional

    $pg->setRedirects($redirectUrls);

    $pg->setCountry('DE');
    $pg->setPrice(11.00, 'EUR');
    $pg->setPaymentMethod('bitcoin');

    $payer = new Payer();
    $payer->setFirstName('John');
    $payer->setLastName('Doe');
    $payer->setEmail('[email protected]');
    $payer->setBIC('123423432');

    $pg->setPayer($payer);

    $payment = $pg->createPayment();

    var_dump( $payment );

    if (!empty($payment['data']['payment_method_url'])) {
        // do something
    }
} catch (\Exception $e) {
    die($e->getMessage());
}

La petición anterior devuelve un objeto JSON estructurado de la siguiente manera:

{
  "data": {
    "service_id": "123",
    "transaction_id": "ABCD-ZZZZ-BIKE-R000",
    "status": "created",
    "payment_method": "bitcoin",
    "amount": "11.00",
    "currency": "EUR",
    "payment_method_url": "https://www.paygol.com/api/pay-direct/ABCD-ZZZZ-BIKE-R000",
    "custom":"internalID=918273645",
    "customer": {
      "first_name": "John",
      "last_name": "Doe",
      "email": "[email protected]",
      "phone": "5699334453",
      "personal_id": "111111111",
      "country": "CL"
    },
    "redirect_urls": {
        "success_url": "https://www.my-site.com/success",
        "cancel_url": "https://www.my-site.com/failure"
      }
  },
}

Verificar el estado de una transacción

<?php

use \Paygol\API;

/**
 * Merchant service ID
 *
 * @var int
 */
$service_id = "123";

/**
 * Merchant shared secret
 *
 * @var string
 */
$shared_secret = "7c1a6a24-7943-102d-92f8-29573711ad31";

try {
    $pg = new API($service_id, $shared_secret);

    $status = $pg->getPaymentStatus('1234-5678-ABCD-EFGH');

    var_dump( $status );
} catch (\Exception $e) {
    die($e->getMessage());
}

La petición anterior devuelve un objeto JSON estructurado de la siguiente manera:

{
  "payment": {
    "service_id": "123",
    "transaction_id": "ABCD-ZZZZ-BIKE-R000",
    "status": "created",
    "payment_method": "webpay",
    "amount": "11.00",
    "currency": "EUR",
    "created_at": "2019-05-30 22:01:46",
    "completed_at": null,
    "custom":"internalID=918273645",
    "customer": {
      "first_name": "John",
      "last_name": "Doe",
      "email": "[email protected]",
      "phone": "5699334453",
      "personal_id": "111111111",
      "country": "CL"
    }
  }
}

Estados

Estado Código Descripción
Notificación Instantánea de Pago (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

Página de Webcheckout Personalizable

La página de Webcheckout personalizable está diseñada para minimizar nuestra pasarela de pago y mantener el enfoque en su negocio y sus productos. Sus clientes seguirán comprometidos con su marca durante más tiempo y creemos que esto disminuirá las tasas de abandono del carrito y aumentará sus ventas.

Habilitando su Página de Webcheckout Personalizada

  • Inicie sesión en su Panel de Control Paygol.
  • Vaya a la sección Cuenta en su panel de control y haga clic en la pestaña de Personalización.
  • A continuación, verá dos cuadros desplegables. El cuadro superior está designado para su logotipo y el cuadro inferior está designado para su Imagen de fondo o diseño.
  • Suba un archivo de imagen a uno o a ambos cuadros (tenga en cuenta las restricciones de «Tamaño máximo» para cargar sus archivos).
  • Una vez que las imágenes estén visibles en su panel de control, puede hacer clic en «Guardar». La página se actualizará y su página de Webcheckout personalizada se habilitará.

 Algunas Cosas para Considerar

  • Use la página de Webcheckout personalizable como una extensión de su tienda en línea. Intente mantener el mismo esquema de color y patrón de diseño que su tienda en línea.
  • El widget de pago siempre estará ubicado en el centro de la página de Webcheckout. Intente no usar una imagen de fondo que será obstruida por el widget de pago.
  • La página de Webcheckout solo se ve al usar la integración básica o el uso de un módulo Paygol. El checkout transparente y la integración API están diseñadas para eludir la página de Webcheckout.
  • Su logotipo se mostrará para ciertos métodos de pago que utilizan cupones imprimibles (por ejemplo, PagoFacil). Conveniente para tiendas virtuales que utilizan el checkout transparente y la integración API.

Jumpseller


Implementación de Paygol como pasarela de pago

 

Panel de Paygol

  • Crea una nueva cuenta en Paygol
  • Asegúrate de que tu cuenta se encuentre en modo Live.
  • En la sección “Notificaciones”, encontrarás tu ID de servicio y Secret Key, recuerda tenerlos a mano ya que los necesitarás luego.

Panel Jumpseller

  • Ingresa a tu cuenta Jumpseller.
  • Ingresa a  “Configuración”, luego “Pagos”.
  • En el combobox “Agregar Método de Pago”, selecciona la opción “Pasarela de Pagos Externa”
  • Ingresa “https://www.paygol.com/pay/jumpseller” en el campo “Url de método de pago”
  • En el campo «Llave de medio de pago«, ingresa el Service ID de tu cuenta de Paygol.
  • Finalmente, en el campo «Secret de medio de pago«, ingresa el Secret key de tu cuenta de Paygol.

Dating Pro
 

 


Módulo de Paygol para Dating Pro

 

Acerca del software

  • Versión Cupid 2014.3 y superior

Instalación

  • Descargar módulo DatingPro.
  • Crear Cuenta en Paygol.
  • En tu panel de DatingPro, ingresa el ID de servicio y Secret Key de tu cuenta, los cuales pueden ser encontrados en la sección «Notificaciones» de tu panel de Paygol.

Pruebas

  • 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.

PrestaShop v1.6


Módulo de Paygol para PrestaShop, versión 1.1

 

Acerca de Paygol:

 

Requerimientos:

  •  Instalación funcional de PrestaShop (este modulo fue probado en PrestaShop v1.6.1.13,  v1.6.1.6  y  v1.6.1.0).
  •  Cuenta en Paygol, puedes registrarte de forma gratuita en https://secure.paygol.com/signup.

 

Instalación:

  • Descarga nuestro módulo para PrestaShop.
  • Opcion 1: subir el archivo via FTP, descomprimir el contenido del archivo «paygol_for_prestashop_1.1.zip» directamente en la carpeta «modules/» de tu sitio PrestaShop.
  • Opcion 2: subir el archivo al servidor vía PrestaShop, favor ir a Módulos y Servicios-> Agregar nuevo modulo-> presionar elegir un fichero, buscar el fichero en tu computador («paygol_for_prestashop_1.1.zip»), presionar botón subir este modulo, esperar que el modulo se instale y luego configurar.
  • Activar el modulo «Paygol» en tu panel de administración de PrestaShop. (Módulos y Servicios->lista de módulos-> Buscar modulo «Paygol»), selecciona instalar y configurar. luego ingresar a la configuración del modulo Paygol.
  • Ingresa el ID de Servicio y Secret Key de tu cuenta de Paygol (puede ser encontrado en la sección “Notificaciones” de tu panel de Paygol).
  • Copia la URL de IPN proporcionada y pégala en el campo correspondiente de la sección “Notificaciones” de tu panel de Paygol.

 

Pruebas:

  • 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:

  • En modo de pruebas se realizará un llamado a tu archivo IPN inmediatamente después de cada prueba.
  • Los pagos usualmente son notificados inmediatamente; 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 se mostrará como no pagado, y sólo una vez sea confirmado por el proveedor se mostrará como pagado. Recomendamos que informes a tu clientela sobre esto a modo de evitar confusiones.

 


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.
DonationCraft


Cómo habilitar Paygol como plataforma de pago – DonationCraft

 

Implementación

  • Crea una cuenta de Paygol e ingresa.
  • Asegúrate de que tu cuenta está en modo Live.
  • En la sección de  “Notificaciones”, ingresa tu IPN (ej. “http://shopname.enjin.com/paygol.php” ) en el apartado de IPN URL ( Tu IPN puede ser encontrado en tu panel de administrador de Enjin). También puedes ingresar un email para recibir notificaciones de pagos.
  • También puedes encontrar tu  ID de Servicio Secret Key, las que necesitarás luego así que debes mantenerlas a la mano.

Enjin dashboard

  • Ingresa a tu panel de admin Enjin.
  • Ve a  “Modules > Donationcraft server store > Settings > Payments gateways”.
  • Selecciona  Paygol gateway, y haz click en “accept payments through Paygol.com”, luego ingresa el  ID de Servicio Secret Key de tu cuenta de Paygol.
  • Clic en  “Save changes” para completar la implementación.

¡Haz terminado!

Ahora puedes comenzar a aceptar pagos con Paygol.

 


Implementación de Tebex

 

Panel de Paygol

  • Crea una nueva cuenta en Paygol
  • Asegúrate de que tu cuenta está en modo Live.
  • En la sección “Notificaciones”, ingresa “https://www.tebex.io/ipn/paygol” en el campo URL de IPN. También puedes ingresar un correo para recibir notificaciones de pago.
  • También encontrarás tu ID de servicio y Secret Key, recuerda tenerlos a mano ya que los necesitarás luego.

Panel de Tebex

  • Ingresa a tu panel de Tebex.
  • Ingresa a “Settings > Payment Gateways” y haz click en “Add Gateway.
  • Selecciona Paygol, e ingresa el ID de servicioSecret Key de tu cuenta de Paygol.
  • Si lo deseas, elige una compensación de precio.
  • Haz click en “Create” para completar la configuración.

Para más información, favor de revisar la documentación de Tebex.


Módulo Paygol para WooCommerce, versión 1.3.3

 

Requerimientos

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

 

Instalación

  • Inicie sesión en su panel de control WooCommerce.
  • Existen 3 formas de instalar nuestro plugin en tu sitio:
  1. Vaya a “Plugins -> Add new”, escriba “paygol for woocommerce” en el campo “Search plugin” y presione “Install Now”. (RECOMENDADA)
  2. Descargue el plugin desde el Sitio Oficial de WordPress, presione “Upload plugin”, seleccione el archivo desde su equipo y luego presione “Install Now”.
  3. Descargue el plugin desde el Sitio Oficial de WordPress, abra su cliente FTP y extraiga el archivo zip en el directorio wp-content/plugins/.
  • Vaya a “Plugins -> Installed Plugins” busque “Paygol plugin for Woocommerce” y presione “Activate”.
  • Vaya a “WooCommerce->Settings->Checkout->Paygol” luego, 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 WooCommerce.
  • Copie la “URL IPN” 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.
  • Presione “Save Changes” en su sitio WooCommerce.

 

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.

 

Notas Importantes

  • En modo de pruebas se realizará un llamado IPN (notificación de pago a tu plataforma) inmediatamente después de cada prueba.
  • 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).  En esos casos el producto se mostrará como pago pendiente (“Pending payment“), y sólo una vez sea confirmado por el proveedor se mostrará como pagado (“Processing“, Lo que señala que esa orden está pagada y a la espera de ser despachada). 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


 


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).

 

Implementación avanzada

 

Vista General
Cómo usar la Implementación Avanzada
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
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

 

La documentación para la implementación API v1.2 está disponible.

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 JSON, 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 Cobertura Código Descripción

Ejemplo:

<?php

$endpoint_url = 'https://www.paygol.com/pay?';

$params = [
  'pg_mode'=>'api',
  'pg_serviceid'=>123,
  'pg_price'=>10.00,
  'pg_currency'=>'EUR',
  'pg_custom'=>'player123',
  'pg_country'=>'DE',
  'pg_language'=>'de',
  'pg_method'=>'creditcard',
  'pg_format'=>'json',
  'pg_ip'=>'123.13.12.13',
  'pg_email'=>'[email protected]',
  'pg_first_name'=>'josdhsn',
  'pg_last_name'=>'smitdh',
  'pg_personalid'=>'1234567238-6',
  'pg_return_url'=>'http://www.mysite.com/return.php',
  'pg_cancel_url'=>'http://www.mysite.com/cancel.php'
];

$buff = [];
foreach ($params as $k => $v) {
  array_push($buff, "{$k}={$v}");
}

$url = $endpoint_url . implode('&', $buff);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
$result = curl_exec($ch);
curl_close($ch);

$response = json_decode($result, true);

Respuesta JSON

{
    "data": {
        "service_id": "123",
        "transaction_id": "NDFF-PM4J-PVIA-CM1O",
        "status": "created",
        "payment_method": "creditcard",
        "amount": "10.00",
        "currency": "EUR",
        "payment_method_url": "https://www.paygol.com/api/pay-direct/NDFF-PM4J-PVIA-CM1O",
        "customer": {
            "first_name": "john",
            "last_name": "smith",
            "email": "[email protected]",
            "phone": "5531996145534",
            "personal_id": "58888854525",
            "country": "DE"
        },
        "redirect_urls": {
            "success_url": "http://www.mysite.com/return.php",
            "cancel_url": "http://www.mysite.com/cancel.php"
        }
    }
}

Respuesta en caso de error:

{
    "error": {
        "status": 400,
        "internal_code": "9702",
        "message": "Bad request - Invalid CPF"
    }
}

Respuesta (XML)

<transaction>
  <response>OK</response>
  <service>123</service>
  <payment_method>creditcard</payment_method>
  <payment_methods>creditcard,paysafecard,bitcoin,giropay,sofort</payment_methods>
  <id>NDFF-PM4J-PVIA-CM1O</id>
  <price>10.00</price>
  <currency>EUR</currency>
  <price_consumer>10.00</price_consumer>
  <currency_consumer>EUR</currency_consumer>
  <locale>de-DE</locale>
  <payment_method_url>https://www.paygol.com/api/pay-direct/NDFF-PM4J-PVIA-CM1O
</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>

Parámetros de respuesta formato XML.

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:

<?php

$endpoint_url = 'https://www.paygol.com/api/check-payment?';

$params = [
    'service'=>'123',
    'id'=>'N38K-WMP9-HUHM-Q6G7',
    'format'=>'json',
];

$buff = [];
foreach ($params as $k => $v) {
  array_push($buff, "{$k}={$v}");
}

$url = $endpoint_url . implode('&', $buff);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
$result = curl_exec($ch);
curl_close($ch);

var_dump(json_decode($result, true));


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

{
    "data": {
        "service_id": "123",
        "transaction_id": "N38K-WMP9-HUHM-Q6G7",
        "status": "created",
        "payment_method": "itau",
        "amount": "5.00",
        "currency": "EUR",
        "created_at": "2019-04-08 00:21:00",
        "completed_at": null,
        "customer": {
            "first_name": "john",
            "last_name": "smith",
            "email": "[email protected]",
            "phone": "5531996145534",
            "personal_id": "58888854525",
            "country": "BR"
        }
    }
}

Respuesta en caso de error:

{
    "error": {
        "status": 404,
        "internal_code": "0302",
        "message": "Bad request - Transaction 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>

Parámetros de respuesta formato XML.

Status Definitions

Completed-El consumidor completó el proceso de pago con éxito y se han acreditado los fondos a su cuenta
Created-El consumidor nunca completó el proceso de pago, o el pago aún no ha sido registrado por el proveedor del servicio
Failed-El consumidor intentó pagar pero el proveedor del método de pago no aceptó el pago
Rejected-Paygol ha rechazado el pago, probablemente debido a una notificación de contracargo del proveedor del método de pago

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

 

Implementación Premium SMS

Vista General
IPN Comenzar ahora
IPN Descripción de parámetros
IPN Uso con tus propios parámetros

 


 

Vista General

Tal como en Televisión y en muchos otros medios de comunicación puedes crear ahora tus propias campañas de marketing, encuestas, promociones, votaciones y mucho más. Puedes crear tu propia palabra clave a la cual tus usuarios enviarán mensajes de texto.

Por ejemplo: envía TEXT al 1234

Cómo funciona?
1. El usuario envía un mensaje de texto a tu palabra clave creada (por ejemplo: TEXT al 1234)
2. Un mensaje pre-definido por ti será enviado como mensaje de respuesta al usuario (por ejemplo: Gracias por tu pago)
3. Este pago será cargado a la cuenta telefónica del usuario.
4. Recibes tus ganancias y una notificación de pago será enviada a tu correo electrónico

Algunos beneficios:
– Activación inmediata.
– No requiere de sitio web ni de alguna aplicación.
– Distintos precios por cada país.
– Gran cobertura.

 

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.

Este código de ejemplo en PHP solamente te envía un correo electrónico cada vez que un pago ha sido notificado. Por supuesto que puedes agregar tus funcionalidades propias en lugar de solamente enviar un correo electrónico.

<?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
$service_id	= $_GET['service_id'];
$shortcode	 = $_GET['shortcode'];
$keyword	   = $_GET['keyword'];
$subkeyword	= $_GET['subkeyword'];
$message	   = $_GET['message'];
$sender	    = $_GET['sender'];
$operator	  = $_GET['operator'];
$country	   = $_GET['country'];
$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

 

IPN Uso con tus propios parámetros

Necesito recibir información de parte de mi cliente, ¿qué hago?
Puede que a veces necesites recibir información de parte del pagador, como por ejemplo su nombre de usuario. Nuestros servicios Premium SMS están preparados para esto y permiten al pagador agregar parámetros al final del mensaje, los cuales luego puedes utilizar para lo que requieras.

Entonces, ¿cómo funciona?
Simplemente indica a tu cliente que envíe el mensaje seguido del parámetro requerido.
Por ejemplo, digamos que las instrucciones de tu servicio Premium SMS son «Envía GOL VIP al 1234»: En este caso, si alguien envía «GOL VIP JUAN», el parámetro GET ‘message’ contendrá «JUAN».

¿Puedo obtener múltiples parámetros?
Por supuesto! Por ejemplo, un mensaje con el texto «GOL VIP JUAN ESPADA» retornará «JUAN ESPADA» a través del parámetro GET ‘message’.
Puedes usar incluso más parámetros de ser necesario.