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 PayRetailers Chile |
pg_price
Requerido
|
string |
Monto del pago: ej. 1000.00 /^[0-9]+\.[0-9]{2}$/ |
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 PayRetailers Chile |
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 PayRetailers Chile |
pg_ip
Requerido
|
string |
Dirección IP del pagador. |
pg_price
Requerido
|
string |
Monto del pago: ej. 1000.00 /^[0-9]+\.[0-9]{2}$/ |
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
Requerido
|
string |
Nombre del pagador |
pg_last_name
Requerido
|
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) |
pg_address
Opcional
|
string |
Dirección del comprador (Max 256) |
pg_city
Opcional
|
string |
Ciudad del comprador (Max 64) |
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": "SERVICE_ID",
"transaction_id": "b023a79c-222f-454f-9ce9-dcf9c5712f4c",
"status": "created",
"payment_method": "webpay",
"amount": "3500.00",
"currency": "CLP",
"payment_method_url": "https://gateway.payretailers.cl/pay-direct/b023a79c-222f-454f-9ce9-dcf9c5712f4c",
"custom": "Pago cuenta VIP",
"customer": {
"first_name": "Roberto",
"last_name": "Fernandez",
"email": "roberto@gmail.com",
"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 PayRetailers Chile |
pg_token
Requerido
|
string |
Token de autenticación |
transaction_id
Requerido
|
string |
ID de transacción de PayRetailers Chile |
POST /api/v2/payment/status
Respuesta 200 OK - Content-Type: application/json
{
"payment": {
"service_id": "SERVICE_ID",
"transaction_id": "b023a79c-222f-454f-9ce9-dcf9c5712f4c",
"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": "roberto@gmail.com",
"phone": "",
"personal_id": "",
"country": "CL"
}
}
}
OneClick
OneClick permite a los comercios ofrecer a sus clientes, la opción de realizar pagos dentro del comercio sin la necesidad de tener que ingresar la información de la tarjeta de crédito cada vez que realiza una compra.
PayRetailers NUNCA almacenará los datos de las tarjetas de los clientes
OneClick sólo está disponible para integraciones API
Firmar una petición
Para garantizar la autenticidad y la integridad de los datos de las solicitudes entrantes, PayRetailers requiere que estas solicitudes estén firmadas. Esta firma se basa en un Código de autenticación de mensajes basado en hash calculado (Hash-based Message Authentication Code (HMAC)) utilizando la carga útil de una solicitud, ordenada de forma ascendente y una clave secreta, que solo usted y PayRetailers conocen.
Antes de enviar una solicitud a PayRetailers, debes calcular la firma y agregarla en la cabecera x-pg-sig. Al recibir una solicitud, PayRetailers calcula la misma firma en función de los parámetros recibidos y la clave secreta almacenada. Al verificar que ambas firmas sean iguales, PayRetailers se asegura de que la solicitud no sea manipulada.
Inscribir una tarjeta
Permite la inscripción de la tarjeta del cliente para su uso posterior en el comercio.
Cabeceras
X-Pg-Sig
Requerido
|
string |
Firma de la petición HMAC-SHA256 |
Parámetros
pg_serviceid
Requerido
|
string |
ID de comercio de PayRetailers Chile |
pg_email
Requerido
|
string |
Correo electrónico del pagador |
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 |
POST /api/v2/oneclick/register
Respuesta 200 OK - Content-Type: application/json
{
"pg_token": "97462c4c-b807-4245-9716-d1b33acd2a5e",
"redirect_url": "https://gatewayint.paygol.com/oneclick/session/97462c4c-b807-4245-9716-d1b33acd2a5e"
}
Confirmar la inscripción de una tarjeta
Al finalizar el proceso de inscripción por parte del cliente, este será redirigido a la URL entregada por el comercio (pg_return_url
) adjuntando el parámetro pg_token
. Para completar el proceso de inscripción, el comercio deberá realizar una llamada de confirmación enviando los parámetros pg_serviceid
y pg_token
.
Cabeceras
X-Pg-Sig
Requerido
|
string |
Firma de la petición HMAC-SHA256 |
Parámetros
pg_serviceid
Requerido
|
string |
ID de comercio de PayRetailers Chile |
pg_token
Requerido
|
string |
|
POST /api/v2/oneclick/confirm
Respuesta 200 OK - Content-Type: application/json
{
"pg_oneclick_card": "f81812f9-0e1b-4998-8dab-8c4084163eba",
"pg_card_type": "visa",
"pg_card_number": "XXXXXXXXXXXX9658"
}
Autorizar una transacción
Una vez realizada la inscripción, el comercio puede usar el parámetro pg_card recibido en la inscripción para realizar transacciones.
El proceso de pago utilizando una tarjeta previamente inscrita, es similar al proceso de pago regular utilizado en una integración API, con la única diferencia de que, para pagos OneClick, se debe además enviar el parámetro pg_oneclick_card
.
Cabeceras
X-Pg-Sig
Requerido
|
string |
Firma de la petición HMAC-SHA256 |
Parámetros
pg_serviceid
Requerido
|
string |
ID de comercio de PayRetailers Chile |
pg_price
Requerido
|
string |
Monto del pago: ej. 1000.00 /^[0-9]+\.[0-9]{2}$/ |
pg_currency
Requerido
|
string |
Tipo de divisa especificado en código alfabético ISO 4217 |
pg_first_name
Requerido
|
string |
Nombre del pagador |
pg_last_name
Requerido
|
string |
Apellido del pagador |
pg_email
Requerido
|
string |
Correo electrónico del pagador |
pg_oneclick_card
Requerido
|
string |
Identificador único de la tarjeta del cliente |
POST /api/v2/oneclick/create
Respuesta 200 OK - Content-Type: application/json
{
"data": {
"amount": 5000,
"currency": "CLP",
"customer": {
"first_name": "Roberto",
"last_name": "Fernandez",
"email": "user@site.cl",
"country": "CL"
},
"payment_method": "oneclick",
"status": "completed",
"transaction_id": "2418fa18-3e38-4adf-9a4a-ba943956bd59",
}
}
Eliminar una tarjeta inscrita
Permite eliminar una tarjeta inscrita
Cabeceras
X-Pg-Sig
Requerido
|
string |
Firma de la petición HMAC-SHA256 |
Parámetros
pg_serviceid
Requerido
|
string |
ID de comercio de PayRetailers Chile |
pg_email
Requerido
|
string |
Correo electrónico del pagador |
pg_oneclick_card
Requerido
|
string |
Identificador único de la tarjeta del cliente |
POST /api/v2/oneclick/unregister
Respuesta 200 OK - Content-Type: application/json
Listar tarjetas inscritas
Obtener las tarjetas inscritas para un cliente.
Cabeceras
X-Pg-Sig
Requerido
|
string |
Firma de la petición HMAC-SHA256 |
Parámetros
pg_serviceid
Requerido
|
string |
ID de comercio de PayRetailers Chile |
pg_email
Requerido
|
string |
Correo electrónico del pagador |
POST /api/v2/oneclick/cards
Respuesta 200 OK - Content-Type: application/json
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 PayRetailers 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 PayRetailers 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": "SERVICE_ID",
"status": "completed",
"transaction_id": "ZISS-A7Q8-RE2Z-S73W",
}
Recuperar información de la notificación