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:
Nombre | Descripción |
pg_serviceid | 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 | Precio de tu servicio, puedes modificarlo fácilmente. Si tus clientes seleccionan otro país, la divisa será convertida automáticamente. |
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_mode | Debe tener el valor “api” para activar el modo de implementación API. |
pg_country | País del pagador, en formato ISO 3166-2 (ej: GB, DE, ES). |
pg_language | Idioma, en formato ISO 639-1 (ej: es, en). Si el idioma proporcionado no está disponible, utiliza inglés por defecto. |
pg_method | 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. |
pg_format | Formato de respuesta, puede ser “txt” (texto plano) o “xml” (XML). |
pg_ip | Dirección IP del comprador. |
pg_email | Dirección de correo electrónico del pagador. |
pg_first_name | Nombre del pagador. |
pg_last_name | Apellido del pagador. |
pg_personalid | Número de identificación local del pagador. Sólo es requerido por algunos métodos de pagos. |
Códigos de los métodos de pago disponibles:
Nombre | Cobertura | Código | Descripción |
Credit Card | Mundial | creditcard | Pagos con tarjeta de crédito. |
Bitcoin | Mundial | bitcoin | Pagos con bitcoin. |
Paysafecard | Mundial | paysafecard | Pagos con Paysafecard. |
Sofort | Europa | sofort | Pagos mediante Sofort. |
iDEAL | Holanda | ideal | Pagos mediante iDEAL. |
Bancontact | Belgica | bancontact | Pagos mediante Bancontact. |
Przelewy24 | Polonia | przelewy24 | Pagos mediante Przelewy24. |
Giropay | Germany | giropay | Pagos mediante Giropay. |
Boleto | Brasil | boleto | Pagos en efectivo en Brasil mediante Boleto. |
Banco do Brasil | Brasil | bancodobrasil | Pagos mediante transferencia bancaria electrónica en Brasil mediante Banco do Brasil. |
Caixa | Brasil | caixa | Pagos mediante transferencia bancaria electrónica en Brasil mediante Caixa. |
Bradesco | Brasil | bradesco | Pagos mediante transferencia bancaria electrónica en Brasil mediante Bradesco. |
Itau | Brasil | itau | Pagos mediante transferencia bancaria electrónica mediante Itau. |
Santander | México | santander | Pagos mediante transferencia bancaria electrónica mediante Santander. |
Banamex | México | banamex | Pagos mediante transferencia bancaria electrónica en México mediante Banamex. |
OXXO | México | oxxo | Pagos en efectivo en México mediante Oxxo. |
PagoFacil | Argentina | pagofacil | Pagos en efectivo en Argentina mediante PagoFacil. |
RapiPago | Argentina | rapipago | Pagos en efectivo en Argentina mediante RapiPago. |
WebPay | Chile | webpay | Pagos con tarjetas de débito y crédito en Chile mediante WebPay. |
Servipag | Chile | servipag | Pagos con tarjetas de débito, crédito y en efectivo. |
Multicaja | Chile | multicaja | Pagos en efectivo. |
PSE | Colombia | pse | Pagos mediante transferencia bancaria electrónica en Colombia mediante PSE (varios bancos). |
Efecty | Colombia | efecty | Pagos en efectivo en Colombia mediante Efecty. |
Davivienda | Colombia | davivienda | Pagos en efectivo en Colombia mediante Davivienda. |
PagoEfectivo | Perú | pagoefectivo | BBVA Continental, BCP (Banco del crédito del Perú), Interbank, Scotiabank, Banbif, Western Union, Full carga, y Agente Kasnet. |
Redpagos | Uruguay | redpagos | Pagos en efectivo en Uruguay mediante Redpagos. |
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.
Nombre | Descripción |
response | “OK” si la solicitud fue exitosa, “NOK” si existió algún error. En caso de error, el único otro parámetro de respuesta disponible es error_message. |
service | ID de servicio de tu cuenta. (ej: 123456). |
payment_method | Método de pago usado en esta transacción (ej: creditcard). |
payment_methods | Listado, separado por comas, de los métodos de pago disponibles en el país especificado (ej: creditcard,paysafecard). |
id | Identificador único de la transacción (Ej: XXXX-YYYY-ZZZZ-1234). |
price | Precio original. |
currency | Divisa original. |
price_consumer | Obsoleto. Mismo valor que ‘price’. |
currency_consumer | Obsoleto. Mismo valor que ‘currency’. |
locale | Código locale del país del pagador (e.g. en-GB, nl-NL). |
payment_method_url | Esta URL abre la pantalla de pago. Usualmente los desarrolladores redireccionarán al pagador aquí (sólo aplica a pagos no móviles). |
custom | Valor personalizado tal cual se envió originalmente mediante pg_custom. |
return_url | URL de retorno tal cual se envió originalmente mediante pg_return_url. |
cancel_url | URL de cancelación tal cual se envió originalmente mediante pg_cancel_url. |
error_message | Descripción del error (sólo es proporcionado en caso de error). |
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:
Nombre | Descripción |
service | ID de servicio de tu cuenta. |
id | ID de la transacción. |
format | Formato de respuesta, puede ser “txt” (texto plano) o “xml” (XML). |
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.
Nombre | Descripción |
response | “OK” si el ID de transacción existe, “NOK” si el ID no existe o si ocurrió un error. En caso de error, el único otro parámetro de respuesta disponible es error_message. |
status | Estado del pago, puede ser “completed” (completado) o “pending” (pendiente). |
error_message | Descripción del error (sólo es proporcionado en caso de error). |
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
Parámetro | Descripción |
transaction_id | ID de la transacción. |
service_id | ID de servicio de tu cuenta. |
country | Código de país de tu cliente especificado en ISO 3166 (Ej: EN, ES, FR, DE, etc.). |
custom | Campo flexible especificado en tu formulario original. |
key | Clave secreta de tu servicio, utilizada para validar las notificaciones de pago. |
price | Precio del producto de la transacción. |
currency | Código de moneda de la transacción (Ej: EUR, USD, GBP, MXN, etc.). |
frmprice | Precio original presente en el código de tu botón de pago. Puede ser usado para validación. |
frmcurrency | Moneda original presente en el código de tu botón de pago. Puede ser usado para validación. |
method | Método de pago utilizado por el pagador. |