Documentación
  • Inicio
  • Community
  • Ayuda

›Smart API

Checkout

  • Introducción
  • Autenticación
  • Procesar datos de compra
  • Cargar página de pago alojada en nuestros servidores
  • Consulta del detalle de la transacción
  • Cancelar transacción
  • Recursos Checkout

    • Información Checkout

Smart API

  • Terminal punto de venta Smart
  • Autorización
  • Realizando una venta
  • Recibiendo la respuesta
  • Realizando una reimpresión
  • Realizando una cancelación
  • API Reference
  • Recursos terminal Smart

    • Netpay Market
    • Configuracion de la terminal
    • Configuración app Smart Pinpad

Realizando una reimpresión

En algunos escenarios, como cuando la terminal se queda sin papel y no se tiene uno a la mano, es necesario reimprimir el ticket ya sea para brindar una copia al cliente como comprobante de pago o para el negocio, como comprobante de cobro.

 

Para realizar una reimpresión, es necesario contar con la siguiente información:  

  • {{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.
  • {{access_token}} : Token de acceso necesario para consumir el servicio. Ver obtener token de acceso.
  • {{orderId}} : numero de orden generado al realizar una venta. Ver información de regreso de la terminal.  

Cosas a tener en cuenta

  • La terminal debe tener acceso a internet en todo momento sin restricciones al dominio y subdominios *.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.

Ambientes

SANDBOX URL BASE:
http://nubeqa.netpay.com.mx:3334

PRODUCCIÓN URL BASE:
https://suite.netpay.com.mx/

Estructura de una petición

POST /netpay-integration-service/transactions/reprint

Headers

Los siguientes headers deben ser enviados en la petición

  • Content-Type: application/json
  • Authorization: Bearer {{access_token}}

Body

En la petición, se debe mandar un objeto JSON con los datos según se requieran. Los 3 valores mínimos requeridos son serialNumber, orderId, storeId. Consulta lista de valores permitidos en una petición.

{
    "serialNumber": "{{serialNumber}}",
    "orderId": "{{orderId}}",
    "storeId": "{{storeId}}"
}

 

Ejemplo de solicitud / respuesta

A continuación, se muestra un ejemplo de una petición para solicitar una reimpresión y los diferentes mensajes de respuesta.

Solicitud de reimpresión

cURL
C#
PHP
JAVA
Python
curl -L -X POST 'http://nubeqa.netpay.com.mx:3334/netpay-integration-service/transactions/reprint' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {{access_token}}' \
--data-raw '{
"orderId": "{{orderId}}",
"serialNumber": "{{serialNumber}}",
"storeId": "{{storeId}}"
}'

var client = new RestClient("http://nubeqa.netpay.com.mx:3334/netpay-integration-service/transactions/reprint");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer {{access_token}}");
request.AddParameter("application/json", "{\r\n \"orderId\": \"{{orderId}}\",\r\n \"serialNumber\": \"{{serialNumber}}\",\r\n \"storeId\": \"{{storeId}}\"\r\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "http://nubeqa.netpay.com.mx:3334/netpay-integration-service/transactions/reprint",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS =>"{\r\n \"orderId\": \"{{orderId}}\",\r\n \"serialNumber\": \"{{serialNumber}}\",\r\n \"storeId\": \"{{storeId}}\"\r\n}",
CURLOPT_HTTPHEADER => array(
"Content-Type: application/json",
"Authorization: Bearer {{access_token}}"
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\r\n \"orderId\": \"{{orderId}}\",\r\n \"serialNumber\": \"{{serialNumber}}\",\r\n \"storeId\": \"{{storeId}}\"\r\n}");
Request request = new Request.Builder()
.url("http://nubeqa.netpay.com.mx:3334/netpay-integration-service/transactions/reprint")
.method("POST", body)
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer {{access_token}}")
.build();
Response response = client.newCall(request).execute();
import requests

url = "http://nubeqa.netpay.com.mx:3334/netpay-integration-service/transactions/reprint"

payload = "{\r\n \"orderId\": \"{{orderId}}\",\r\n \"serialNumber\": \"{{serialNumber}}\",\r\n \"storeId\": \"{{storeId}}\"\r\n}"
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer {{access_token}}'
}

response = requests.request("POST", url, headers=headers, data = payload)

Respuestas

  • SUCCESS: Se obtendrá la siguiente respuesta si la información enviada es correcta.
  • INVALID TOKEN: Se obtendrá la siguiente respuesta si el {{access_token}} enviado es incorrecto.
  • MISSING TERMINAL: Se obtendrá la siguiente respuesta si el {{serialNumber}} enviado es incorrecto.

 

SUCCESS
INVALID TOKEN
MISSING TERMINAL
{
"code": "00",
"message": "Mensaje enviado exitosamente"
}
{
"error": "invalid_token",
"error_description": "Cannot convert access token to JSON"
}
{
"code": "19",
"message": "No se encontró la terminal"
}

 

NOTA: Es importante que el {{serialNumber}}, {{storeId}}, URL BASE y PATH queden configurables dentro de algún menú de configuración o un archivo externo dado que pueden cambiar en el ambiente de producción.

← Recibiendo la respuestaRealizando una cancelación →
  • Cosas a tener en cuenta
  • Ambientes
  • Estructura de una petición
    • Headers
    • Body
  • Ejemplo de solicitud / respuesta
    • Solicitud de reimpresión
  • Respuestas
Documentación
Docs
Ecommerce CheckoutTerminal Smart API
Community
CommunityAyudaGitHub
Contacto
[email protected]
© 2020 NetPay