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
Realizar un pago
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