5. Venta

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.