Pay Gateway
Presentamos la documentación técnica sobre PayGateway API. Esta guía está planificada exclusivamente para desarrolladores. Podrás aprender sobre el proceso de integración en sistemas de terceros que deseen comunicarse con los servicios web (API's) de PayGateway.
- Antes de comenzar
- Puntos de acceso (endpoints)
- Comprobación de conexión
- Autenticación
- Servicios disponibles
- Ejemplos de integración
Antes de comenzar
Para iniciar la integración de cualquier servicio de PayGateway API, es necesario poseer credenciales de acceso (una cuenta y llaves) generadas por un técnico de soporte de PayGateway API.
Todos los servicios manejados por PayGateway API funcionan a través de peticiones HTTP en formato JSON.
Puntos de acceso (endpoints)
El punto de conexión o endpoint para los servicios son los siguientes:
Punto de enlace para entorno de producción:
https://latam.paygateway-api.com
Punto de enlace para entorno de desarrollo:
https://dev-latam.paygateway-api.com
Comprobación de conexión
Puede comprobar que su conexión funciona haciendo uso del siguiente servicio:
GET: /extra/api/status
Dicha petición funcionará únicamente bajo autenticación. Obtendrá de respuesta el estado del API, así como información de su usuario y la región en la cual se encuenta el servidor que respondió su petición.
Autenticación
Autenticación
En todos los servicios protegidos (no públicos) es necesaria realizar autenticación. Para ello, se proveen llaves de API, las cuales constan de dos partes:
API Key: Token identificador de la llave.
Secret Key: Token secreto de la llave.
Para el envío de solicitudes, debe concatenar el API key y Secret Key separados por dos puntos ":", dicho token debe enviarlo en el header de todas las solicitudes que necesiten autenticación utilizando el header http "Authorization" bajo el tipo de autenticación "Bearer".
Por ejemplo:
Incluya en el header de su petición:
Servicios disponibles
Descripción de servicios y parámetros
Puede validar el listado servicios disponibles en el siguiente enlace:
https://docs.pygateway.com/
NOTA: Los servicios disponibles pueden variar basado en la cuenta, contratación o niveles de acceso. Para corroborar esto, por favor consulte con su agente de servicio asignado.
Ejemplos de integración
A continuación encontrarás ejemplos de integración para los servicios más utilizados en PayGateway
Pago y creación de ordenes
Permite crear ordenes, pagarlas y facturarlas (si aplica).
POST: /payments/create-pay-order
Creación de ordenes mediante link de pago (pago posterior)
{
"clienteDireccion": "Ciudad",
"clienteEmail": "demo@demo.com",
"clienteNombre": "Nombre de cliente",
"clienteTaxId": "CF",
"clienteTelefono": "55555555",
"ordenDetalle": {
"0": {
"productoCantidad": 1,
"productoId": 0,
"productoPrecio": "7.91",
"productoDescMontoDirecto": "Pago de monto directo, pruebas"
}
},
"ordenMonto": "7.91",
"ordenTiendaDomain": "__DOMINIO_DE_TIENDA__",
"pagoMetodo": "later_on_store"
}
Creación de ordenes mediante pago en efectivo
{
"clienteDireccion": "Ciudad",
"clienteEmail": "demo@demo.com",
"clienteNombre": "Nombre de cliente",
"clienteTaxId": "CF",
"clienteTelefono": "55555555",
"ordenDetalle": {
"0": {
"productoCantidad": 1,
"productoId": 0,
"productoPrecio": "7.91",
"productoDescMontoDirecto": "Pago de monto directo, pruebas"
}
},
"ordenMonto": "7.91",
"ordenTiendaDomain": "__DOMINIO_DE_TIENDA__",
"pagoMetodo": "cash"
}
Creación de ordenes mediante pago con tarjeta
NOTA: Para realizar una orden mediante pago con tarjeta, es necesario poseer configurada una afiliación de pago*.
{
"clienteDireccion": "Ciudad",
"clienteEmail": "demo@demo.com",
"clienteNombre": "Nombre de cliente",
"clienteTaxId": "CF",
"clienteTelefono": "55555555",
"ordenDetalle": {
"0": {
"productoCantidad": 1,
"productoId": 0,
"productoPrecio": "10",
"productoDescMontoDirecto": "Pago de monto directo, PRUEBA"
}
},
"ordenMonto": "10",
"ordenTiendaDomain": "__DOMINIO_DE_TIENDA__",
"pagoMetodo": "card",
"pagoTcExp": "07/24",
"pagoTcNombre": "Nombre en TC",
"pagoTcNumero": "4111111111111111"
}
Validación de pagos
Permite validar si una orden es válida y su estado de pago.
POST: /payments/validate-pay
Request:
{
"token": "4385509296a6fvz",
"ordenTiendaDomain": "__DOMINIO_DE_TIENDA___"
}
Cancelar ordenes (con sus pagos y facturas)
Permite cancelar una orden, incluyendo todos los pagos y facturas asociados. En el caso de pagos, se realizará la reversa (si el procesador de pagos aún no ha realizado corte). En el caso de facturas, se realizará la anulación de la misma.
POST: /payments/cancel-order
Request:
{
"orderId": "__ID DE LA ORDEN__"
}
Inicio de sesión mediante SSO
Permite Iniciar sesión por medio del API de ingreso SSO.
POST: /users/sso/authorize
Request:
{
"username": "__NOMBRE_DE_USUARIO__",
"password": "testPassword",
"storeDomain": "__DOMINIO_DE_TIENDA__"
}
Validar sesión iniciada desde SSO
Permite validar si un token es una sesión válida, el token debe haber sido creado mediante el API para ingreso SSO.
POST: /users/sso/check-session
Request:
{
"storeDomain": "__DOMINIO_DE_TIENDA__",
"token": "ayJ0evZiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MSwic3RpZCI6MTIwLCJleHAiOjE2NzcxOTYwNzUsInQiOiJzc286fF.1_q643etS-d3LVIU6mZUPc6jsI6LnfUCv9Qhvv6QR6V"
}