Pasos para implementar una venta.
Ahora que has podido autorizar tu aplicación y obtener un access_token, el siguiente paso es realizar una transacción de prueba. Recuerda que debes conectar a internet la terminal, configurar la aplicación para poder realizar una venta y configurar el servicio de respuesta como se indica en la sección de Introducción.
Para realizar una venta, es necesario contar con la siguiente información:
- traceability: objeto JSON para enviar información relevante para el comercio.
- {{serialNumber}} : Numero de serie. Cadena numérica a 10 dígitos ubicada en la parte posterior de la terminal (S/N).
- {{storeId}} : Número identificador de comercio asignado por terminal.
- {{msi}} : Número que identifica la promoción a MSI que se desea integrar Ej: 3, 6, 9, 12 o 18 msi ( esta promoción no aplica para tarjetas Amex) (Este dato no es mandatorio, solo si el cliente lo requiere).
- {{folioNumber}} : Número de folio que se mostrará en el ticket.
- {{access_token}} : Token de acceso necesario para consumir el servicio. Ver sección Generar Token.
4.1 Cosas a tener en cuenta.
- La terminal debe tener acceso a internet en todo momento sin restricciones al dominio y subdominios que involucren a *.netpay.com.mx para recibir y enviar solicitudes.
- Debe estar encendida la pantalla de la terminal y estar en primer plano la pantalla principal de la aplicación.
4.2 Estructura de una petición.
POST http://nubeqa.netpay.com.mx:3334/integration-service/transactions/sale
Headers
Los siguientes headers deben ser enviados en la petición
- Content-Type: application/json
- Authorization: Bearer {{access_token}}
Nombre | Descripción | Tipo | Valor | Requerido |
---|---|---|---|---|
Content-Type | Identificador de dos partes para formatos de archivo transmitidos por Internet. | string | application/json | true |
Authorization | Esquema de autenticación HTTP. | string | Bearer {access_token} | true |
Body
En la petición, se debe mandar un objeto JSON con los datos según se requieran. Los 5 valores mínimos requeridos son serialNumber, amount, storeId, traceability y folionumber.
{
"serialNumber": "{serialNumber}",
"amount": "{{amount}}",
"storeId": "{storeId}",
"folioNumber":"{folioNumber}",
"msi":"{msi}"
"traceability": {}
}
Ejemplo:
{
"traceability": {
"idProducto": "123456",
"idTienda": 0987
},
"serialNumber": "1400000000",
"amount":0.01,
"folioNumber":"123",
"storeId": "9194",
"msi":"03"
}
Tabla de parámetros mandatorios a enviar en una petición de Venta.
Nombre campo | Descripción | Tipo de dato |
---|---|---|
serialNumber | Número de serie del dispositivo al que se requiere enviar la petición. | String (Máximo hasta 20 caracteres) |
amount | Monto total de la transacción. | Double(15,2) |
storeId | Identificador de la tienda asignada al dispositivo. | String (Máximo hasta 38 caracteres) |
folioNumber | Número identificador de transacción que puede ser enviado en la solicitud de venta. | String (Máximo hasta 250 caracteres) |
msi (este valor es opcional) | Número que identifica la promoción a MSI que se desea integrar Ej: 03, 06, 09, 12 o 18 msi ( esta promoción no aplica para tarjetas Amex) | String (Máximo 2 carateres). |
traceability | Objeto json para enviar información relevante para el comercio (puede ser algún id de la transacción que posteriormente les servirá para hacer “match” dentro de su sistema. | Object. |
4.3 Ejemplo de solicitud / respuesta.
A continuación, se muestran ejemplos en diferentes lenguajes de programación para realizar una petición y solicitar una venta con los diferentes mensajes de respuesta.