Inglés Portugués

Introducción Última actualización 2019-06-01

Puedes integrar pagos mediante Paygol fácilmente utilizando nuestra Implementación Webcheckout, sin necesidad de conocimientos técnicos. Así mismo, ofrecemos alternativas tales como una Implementación Whitelabel Webcheckout y una completa API para desarrolladores que deseen funcionalidad adicional.

Todas las opciones mencionadas anteriormente permiten la notificación automática de pagos a tu plataforma, evitando la necesidad de entregar productos/servicios manualmente a tus clientes.

Base URL: https://www.paygol.com

Webcheckout

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.

POST /pay
Parámetros
pg_serviceid
Requerido
string ID de comercio de Paygol
pg_price
Requerido
string Monto del pago: ej. 10.12
pg_currency
Requerido
string Tipo de divisa especificado en código alfabético ISO 4217
pg_country
Opcional
string Código de país ISO 3166-2
pg_method
Opcional
string Código del método de pago
pg_email
Opcional
string Correo electrónico del pagador
pg_first_name
Opcional
string Nombre del pagador
pg_last_name
Opcional
string Apellido del pagador
pg_personalid
Opcional
string Nº de documento del pagador
pg_phone
Opcional
string Nº de teléfono del pagador
pg_sub_merchant_id
Opcional
string Código utilizado para distinguir entre diferentes comercios que utilizan nuestro servicio a través de su plataforma
pg_sub_merchant_url
Opcional
string Sitio web del comercio donde se origina el pago
pg_return_url
Opcional
string Url de redirección para pagos completados
pg_cancel_url
Opcional
string Url de redirección para cuando el pago es fallido o cancelado por el pagador
pg_language
Opcional
string Idioma ISO 639-1
pg_name
Opcional
string Descripción de tu producto/servicio, el cual será mostrado el la pantalla de pago (Max: 255)
pg_custom
Opcional
string Campo flexible, puede ser usado para rastrear usuario, inventario, etc. (Max. 255)

API

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

Firma del mensaje

Todas las solicitudes a la API de pago deben firmarse utilizando la clave secreta del comercio con el algoritmo HMAC SHA256. La firma debe calcularse utilizando la carga útil de la solicitud, ordenada en orden ascendente y agregando este resultado en un encabezado de solicitud con el nombre X-Pg-Sig.

Obtener token
Cabeceras
X-Pg-Sig
Requerido
string Firma de la petición HMAC-SHA256
Parámetros
pg_serviceid
Requerido
string ID de comercio de Paygol
POST /api/v2/auth/token
Respuesta 200 OK - Content-Type: application/json

{
  "token": "dce5b070ba65626dccd4ad700fdf3c1d219105a1"
}
							
Realizar un pago
Cabeceras
X-Pg-Sig
Requerido
string Firma de la petición HMAC-SHA256
Parámetros
pg_serviceid
Requerido
string ID de comercio de Paygol
pg_ip
Requerido
string Dirección IP del pagador.
pg_price
Requerido
string Monto del pago: ej. 10.12
pg_currency
Requerido
string Tipo de divisa especificado en código alfabético ISO 4217
pg_country
Requerido
string Código de país ISO 3166-2
pg_method
Requerido
string Código del método de pago
pg_email
Requerido
string Correo electrónico del pagador
pg_first_name
Opcional
string Nombre del pagador
pg_last_name
Opcional
string Apellido del pagador
pg_personalid
Opcional
string Nº de documento del pagador
pg_phone
Opcional
string Nº de teléfono del pagador
pg_sub_merchant_id
Opcional
string Código utilizado para distinguir entre diferentes comercios que utilizan nuestro servicio a través de su plataforma
pg_sub_merchant_url
Opcional
string Sitio web del comercio donde se origina el pago
pg_return_url
Requerido
string Url de redirección para pagos completados
pg_cancel_url
Requerido
string Url de redirección para cuando el pago es fallido o cancelado por el pagador
pg_custom
Opcional
string Campo flexible, puede ser usado para rastrear usuario, inventario, etc. (Max. 255)

Nota

Algunos países poseen requerimientos especiales para ciertos métodos de pago.

POST /api/v2/payment/create
Respuesta 200 OK - Content-Type: application/json
{
  "data": {
    "service_id": "477980",
    "transaction_id": "OO3Q-73HT-ALEB-Y0G2",
    "status": "created",
    "payment_method": "webpay",
    "amount": "3500.00",
    "currency": "CLP",
    "payment_method_url": "https://www.paygol.com/api/pay-direct/OO3Q-73HT-ALEB-Y0G2",
    "custom": "Pago cuenta VIP",
    "customer": {
      "first_name": "Roberto",
      "last_name": "Fernandez",
      "email": "[email protected]",
      "phone": "",
      "personal_id": "",
      "country": "CL"
    },
    "redirect_urls": {
      "success_url": "http://www.mi-sitio.com/pago-ok",
      "cancel_url": "http://www.mi-sitio.com/pago-cancelado"
    }
  }
}
Consultar un pago
Cabeceras
X-Pg-Sig
Requerido
string Firma de la petición HMAC-SHA256
Parámetros
pg_serviceid
Requerido
string ID de comercio de Paygol
pg_token
Requerido
string Token de autenticación
transaction_id
Requerido
string ID de transacción de Paygol
POST /api/v2/payment/status
Respuesta 200 OK - Content-Type: application/json
{
  "payment": {
    "service_id": "477980",
    "transaction_id": "OO3Q-73HT-ALEB-Y0G2",
    "status": "completed",
    "payment_method": "webpay",
    "amount": "3500.00",
    "currency": "CLP",
    "created_at": "2021-01-02 23:11:00",
    "completed": "2021-01-02 23:13:00",
    "custom": "Pago cuenta VIP",
    "customer": {
      "first_name": "Roberto",
      "last_name": "Fernandez",
      "email": "[email protected]",
      "phone": "",
      "personal_id": "",
      "country": "CL"
    }
  }
}

Notificaciones

IPN (Instant Payment Notification) es una notificación que se envía de un servidor a otro mediante una llamada HTTP POST en relación a tus transacciones.

Para recibir las notificaciones de los eventos en tu sistema, debes haber configurado previamente una url de notificación a la cual Paygol tenga acceso.

Para garantizar la seguridad de los intercambios, los datos se firmarán utilizando el merchant secret_key.

Nota

La URL de notificación y el secret_key puedes encontrarlos en el panel del Merchant, sección Notificaciones.

Confirmación

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.

Notificación pago completado
{
    "country": "CL",
    "completed_at": "2020-11-26T16:22:32-03:00",
    "currency": "CLP",
    "created_at": "2020-11-26T16:19:27-03:00",
    "custom": "Pago cuenta VIP",
    "method": "webpay",
    "price": "7500.00",
    "service_id": "477980",
    "status": "completed",
    "transaction_id": "ZISS-A7Q8-RE2Z-S73W",
}
	
Recuperar información de la notificación

Métodos de pago

Internacional
Tarjeta de Crédito creditcard pg_phone es requerido para este método de pago
Bitcoin bitcoin
Argentina
Pago Fácil pagofacil pg_personalid es requerido para este método de pago
Rapipago rapipago pg_personalid es requerido para este método de pago
Brasil
Boleto Bancario boleto pg_personalid es requerido para este método de pago
Banco do Brazil bancodobrasil pg_personalid y pg_phone son Requerido para este método de pago
Bradesco bradesco pg_personalid y pg_phone es requerido para este método de pago
Itaú itau pg_personalid y pg_phone es requerido para este método de pago
Santander santander pg_personalid y pg_phone es requerido para este método de pago
Mercadopago mercadopago_br pg_personalid es requerido para este método de pago
Chile
Webpay webpay
Servipag servipag
Multicaja multicaja
MACH mach
Khipu khipu
Colombia
Efecty efecty
PSE pse
Via Baloto viabaloto
Bancolombia bancolombia
Apostar apostar
RedServi redservi
Puntored puntored
Susuerte susuerte
Su Red sured
Gana gana
Costa Rica
Banco de Costa Rica bcr
Banco Nacional bncr
Ecuador
Banco Pichincha pichincha
Banco Internacional internacional
Produbanco produbanco
México
Banamex banamex
Bancomer bancomer
Mastercard Débito debmaster
Visa Débito debvisa
OXXO oxxo
Santander santander
Perú
BBVA Continental bbva
BCP bcp
Caja Arequipa arequipa
Caja Cusco cusco
Caja Huancayo huancayo
Caja ICA ica
Caja Piura piura
Caja Tacna tacna
Caja Trujillo trujillo
Interbank interbank
Pago Efectivo pagoefectivo pg_phone es requerido para este método de pago
Scotiabank scotiabank
Western Union wu