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.

paygateway_api.png

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.

 

image.png

Autenticació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:

image.png

Servicios disponibles

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

Ejemplos de integración

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

Ejemplos de integración

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

Ejemplos de integración

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

Ejemplos de integración

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

Ejemplos de integración

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