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 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" }