Inglés

Introducción Última actualización 2023-03-31

Puedes integrar pagos mediante PayRetailers Chile 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.

PROD https://gateway.payretailers.cl
INT https://gatewayint.payretailers.cl

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.

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
{
    "status": "OK"
}
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
{
    "status": "OK"
}

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

Plugins

En esta sección podras encontrar todos los plugins que tienes disponible para usar

Prestashop
  1. Descargar el archivo .zip del plugin
  2. En prestashop ir a "Módulos > Gestor de módulos" y seleccionar "Subir un módulo", luego buscar y seleccionar el plugin de PayRetailers descargado en el punto anterior
  3. En "Gestor de módulos" buscar el plugin de "PayRetailers" y presionar el botón "Configurar"
  4. En "Environment" seleccionar "Production" y configurar el módulo con el "Token Service/Service ID" y "Token Secret/Secret Key" entregados por PayRetailers Chile (para realizar pruebas en ambiente de "testing" se debe cambiar el "environment" a "development")
  5. Para que el pago internacional funcione correctamente, debes ir a "Payment" > "Preferences" y en la sección “Restricciones por moneda” configurar las restricciones que apliquen y luego ajustar las restricciones a los países en donde estará habilitado PayRetailers como medio de pago
  6. En la sección "Internacional" luego diríjase a "Ubicaciones Geográficas", en la pestaña "Países" se debe configurar los países donde estará habilitado PayRetailers como medio de pago
  7. Tu e-commerce está listo para aceptar pagos a través de PayRetailers Chile. Si tienes algún problema o duda con la instalación del plugin, puedes contactarnos al correo support.cl@payretailers.cl
Woocommerce
  1. Descargar el archivo .zip del plugin
  2. Ir a la sección de "Plugins", seleccionar "Add new" y presionar botón "Upload Plugin" para cargar el plugin de PayRetailers. Una vez instalado, seleccionar "Activar Plugin"
  3. Para configurar el plugin de PayRetailers, ir a "Woocommerce" > "Settings" > "Payment" y presionar "Manage" en PayRetailers
  4. En "Environment" seleccionar "Production" y configurar el módulo con el "Token Service/Service ID" y "Token Secret/Secret Key" entregados por PayRetailers Chile (para realizar pruebas en ambiente de "testing" se debe cambiar el "environment" a "development")
  5. Tu e-commerce está listo para aceptar pagos a través de PayRetailers Chile. Si tienes algún problema o duda con la instalación del plugin, puedes contactarnos al correo support.cl@payretailers.cl
    NOTA: Para su correcto funcionamiento, debe agregar el campo "país" en su formulario de pago
Magento
  1. Descargar el archivo .zip del plugin (El servidor debe contar con Magento 2.4.3 instalado)
  2. Descomprimir el plugin de PayRetailers dentro de "path_base_magento"/app/code/ (con un cliente FTP, ej: FileZilla)
  3. Desde el terminal (SSH), posicionarse en public_html (dentro del servidor)
  4. Luego, ejecutar los siguientes comandos para habilitar las dependencias del módulo
    composer config repositories.paygol-core "path_base_magento"/app/code/Paygol/PaygolMagento/paygol-core
    composer require kdu/paygolcore Aqui puedes ver como obtener las credenciales
    composer install
    composer dump-autoload
  5. Por último, ejecutar los siguientes comandos para activar el módulo
    php bin/magento module:enable Paygol_PaygolMagento --clear-static-content
    php bin/magento setup:upgrade
    php bin/magento setup:di:compile
    php bin/magento setup:static-content:deploy -f
    php bin/magento cache:flush
  6. Ya dentro de Magento, ir hacia la seccion "Stores", luego entrar a "Configuration"
  7. En "Configuration", seleccionar "Sales" y luego "Payment Methods"
  8. Una vez dentro, en "Merchant Country" se debe seleccionar el país de origen de tu tienda, luego en "Other Payments", se debe buscar PayRetailers Spa
  9. Cambiar el "Environment" a "Production" configurar el módulo con el “Token Service/Service ID” y “Token Secret/Secret Key” entregados por PayRetailers Chile
  10. Para que el pago internacional funcione correctamente, se debe configurar en qué país estará habilitado PayRetailers como medio de pago
  11. Tu e-commerce está listo para aceptar pagos a través de PayRetailers. Si tienes algún problema o duda con la instalación del plugin, puedes contactarnos al correo support.cl@payretailers.cl

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
Ame Digital amedigital pg_personalid (CPF/CNPJ) y pg_phone son Requerido para este método de pago
Boleto Bancario boleto pg_personalid (CPF/CNPJ) y pg_phone son Requerido para este método de pago
Banco do Brazil bancodobrasil pg_personalid (CPF/CNPJ) y pg_phone son Requerido para este método de pago
Bradesco bradesco pg_personalid (CPF/CNPJ) y pg_phone son Requerido para este método de pago
Caixa caixa pg_personalid (CPF/CNPJ) y pg_phone son Requerido para este método de pago
Itaú itau pg_personalid (CPF/CNPJ) y pg_phone son Requerido para este método de pago
Lottery lottery pg_personalid (CPF/CNPJ) y pg_phone son Requerido para este método de pago
PicPay picpay pg_personalid (CPF/CNPJ) y pg_phone son Requerido para este método de pago
Pix pix pg_personalid (CPF/CNPJ) y pg_phone son Requerido para este método de pago
Santander santander pg_personalid (CPF/CNPJ) y pg_phone son Requerido para este método de pago
Mercadopago mercadopago_br pg_personalid (CPF/CNPJ) es requerido para este método de pago
Chile
Webpay webpay
Multicaja multicaja
MACH mach
Khipu khipu
FPay fpay pg_phone, pg_address y pg_city es requerido para este método de pago
Colombia
Efecty efecty pg_address y pg_city son Requerido para este método de pago
PSE pse pg_address y pg_city son Requerido para este método de pago
Bancolombia bancolombia
Apostar apostar
Puntored puntored pg_address y pg_city son Requerido para este método de pago
Susuerte susuerte
Su Red sured
Gana gana
Exito efecty pg_address y pg_city son Requerido para este método de pago
Moviired moviired pg_address y pg_city son Requerido para este método de pago
México
Banamex banamex
Bancomer bancomer
Mastercard Débito debmaster
Visa Débito debvisa
OXXO oxxo
Santander santander
Perú
Pago Efectivo pagoefectivo pg_phone es requerido para este método de pago