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) conteniendo información detallada acerca de cómo iniciar un nuevo pago. De esta forma podrás fácilmente proporcionar instrucciones de pago a tus clientes (fpara tu conveniencia, también se incluyen instrucciones prefabricadas junto con esta información). En el caso de métodos de pago que dependan de pantallas de pago de terceros (tales como aquellas que permiten transferencias bancarias o la impresión de cupones de pago) proporcionaremos una URL de pago 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=sms&pg_format=txt
&pg_ip=123.123.123.123&[email protected]&pg_personalid=12345678-6

Respuesta (texto plano)
Respuesta para pagos por SMS:

OK|service|payment_method|payment_methods|id|keyword|pin|shortcode|sms|price|currency|price_consumer|currency_consumer|locale|locale_instructions
|disclaimer|custom|return_url|cancel_url

Ejemplo:

OK|123456|sms|sms,call|XXXX-YYYY-ZZZZ-1234|PAY|412537|3555|1|6.40|EUR|4.50|GBP|en-GB|Send PAY 412537 to 3555 (1 SMS)|Connection provided by ABC|player123
|http://www.mysite.com/return.php|http://www.mysite.com/cancel.php

Respuesta para pagos por llamada:

OK|service|payment_method|payment_methods|id|number|pin|time|price|currency|price_consumer|currency_consumer|locale|locale_instructions
|disclaimer|custom|return_url|cancel_url

Ejemplo:

OK|123456|sms|sms,call|XXXX-YYYY-ZZZZ-1234|0900 5500800|303012|00:00:47|6.40|EUR|4.50|GBP|en-GB|Call 0900 5500800 for 47 seconds. Keep your PIN 303012 at hand.
|Connection provided by ABC|player123|http://www.mysite.com/return.php|http://www.mysite.com/cancel.php

Respuesta para pagos no móviles.:

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|sms,webpay|XXXX-YYYY-ZZZZ-1234|10.00|EUR|6800.00|CLP|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)
Respuesta para pagos por SMS (ejemplo):

<transaction>
  <response>OK</response>
  <id>XXXX-YYYY-ZZZZ-1234</id>
  <keyword>PAY</keyword>
  <pin>412537</pin>
  <shortcode>3555</shortcode>
  <sms>1</sms>
  <price>6.40</price>
  <currency>EUR</currency>
  <price_consumer>4.50</price_consumer>
  <currency_consumer>GBP</currency_consumer>
  <locale>en-GB</locale>
  <locale_instructions>Send PAY 412537 to 3555 (1 SMS)</locale_instructions>
  <disclaimer>Connection provided by ABC</disclaimer>
  <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 para pagos por llamada (ejemplo):

<transaction>
  <response>OK</response>
  <id>XXXX-YYYY-ZZZZ-1234</id>
  <number>0900 5500800</number>
  <pin>303012</pin>
  <time>00:00:47</time>
  <price>6.40</price>
  <currency>EUR</currency>    
  <price_consumer>4.50</price_consumer>
  <currency_consumer>GBP</currency_consumer>
  <locale>en-GB</locale>
  <locale_instructions>Call 0900 5500800 for 47 seconds. Keep your PIN 303012 at hand.</locale_instructions>
  <disclaimer>Connection provided by ABC</disclaimer>
  <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 para pagos no móviles. (ejemplo):

<transaction>
  <response>OK</response>
  <service>123456</service>
  <payment_method>webpay</payment_method>
  <payment_methods>sms,webpay</payment_methods>
  <id>XXXX-YYYY-ZZZZ-1234</id>
  <price>10.00</price>
  <currency>EUR</currency>
  <price_consumer>6800.00</price_consumer>
  <currency_consumer>CLP</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'];
$shortcode	     = $_GET['shortcode'];
$keyword	       = $_GET['keyword'];
$message	       = $_GET['message'];
$sender	        = $_GET['sender'];
$operator	      = $_GET['operator'];
$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