Ir al contenido
Pagando Hub
  • Inicio
Cuentas
Pagos
Créditos
  • Integraciones
Ingresar
Crear cuenta
Pagando Hub

API de pagos

  • Autenticación
  • Envío de información de forma segura
  • Servicios generales
  • Procesamiento de transacciones
  • Compra normal
  • Compra con Promoción
  • Compra con card-on-file
  • Compra con 3D-Secure
  • Cancelación
  • Devolución
  • Cierre de Check In

Pagando Check Services

  • Conexión con Pagando Servicios²
  • Autenticación
  • Configuración de dispositivo
  • Procesamiento de Operaciones
  • Hotelería y renta de autos
  • Restaurantes
  • Ventas con promoción
  • Información de las organizaciones
  • Corte de terminal
  • Uso de terminal
  • Glosario de códigos de respuesta

Integración con Pagando Check Pad

  • Arquitectura
  • Conexión con Pagando Check Pad²
  • Comunicación y mensajes.
  • Inicio
  • Documentacion
  • Integración con Pagando Check Pad
  • Comunicación y mensajes.
View Categories

Comunicación y mensajes.

Aspectos generales

Como parte del proceso y para asegurar la recepción de mensajes tomar en cuenta lo siguiente.

  • Al ser una comunicación TCP/IP no tenemos un tiempo de espera predeterminado (normalmente no es más de un segundo), por lo que el cliente tendrá que generar una lógica para la recepción de mensajes en espera de una transacción.
  • El cliente deberá de implementar una mecánica de verificación de estatus de operación después de esperar durante 120 segundos la transacción, por medio del uso de tipo de operación GET_TRANSACTION_STATUS.
  • El cliente tendrá que tener validado la recepción de una sola respuesta del socket por transacción enviada.
  • Toda comunicación es por medio de JSON.

Estructura del JSON

Como antes mencionado la comunicación entre dispositivos se realiza por medio de JSON, por lo que se tiene que tomar en cuenta las siguientes cuestiones:

  • El JSON debe presentar una estructura completa y válida, conformando un objeto o un arreglo de objetos bien definido.
  • Todas las claves (nombres de propiedades) dentro del JSON deben ir obligatoriamente entre comillas dobles.
  • Las estructuras de datos internas deben adherirse estrictamente a los estándares de formato JSON.
  • El JSON debe ser transmitido como una cadena de texto, asegurando que se respeten y manejen correctamente los caracteres de escape necesarios.
  • La cadena de texto del JSON debe incluir un salto de línea al final (\n) para indicar el término del mensaje.
  • Estos criterios aplican para la recepción y envió de mensajes.
//Ejemplo de cadena de texto para una venta.

"{\"actionType\":\"OPERATIVE\",\"operationType\":\"SALE\",\"amount\":\"252.00\",\"folio\":\"\",\"commerceReference\":\"\",\"id\":\"\",\"cvvAmex\":\"\"}\n"
//Ejemplo de cadena de texto para log in

"{\"operationType\":\"LOG_IN\",\"key\":\"<KEY>\",\"cookie\":\"<COOKIE>\",\"sandbox\":\"false\"}\n"
//Ejemplo de cadena de texto para consulta de estatus de una transacción enfocado a cuando se tiene token

"{\"actionType\":\"GET_TRANSACTION_STATUS\",\"token\":\"08e44c57f2741dc07d572a990ba3ba25eea10c05f8a862cc10f7903d9b6d332159\"}\n"

Ejemplo para el envío de mensajes

Paso 1: Preparación del mensaje

De acuerdo con la especificación del servicio, el mensaje JSON debe generarse siguiendo su estructura definida. Recomendamos encarecidamente el uso de librerías para facilitar la manipulación del JSON durante el desarrollo.

String actionType = "LOG_IN";
String jsonRequest = "{\\"operationType\\": \\"" + actionType + "\\"}";
tipoDeAccion = "LOG_IN"

solicitudJson = "{" + "operationType: \\"" + tipoDeAccion + "\\"" + "}"

Paso 2: Enviar mensaje al socket

Para enviar el mensaje, utiliza librerías o herramientas de manejo de texto. Estas te permitirán transmitir el mensaje como un flujo de datos (stream) a través del socket previamente establecido.

PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
out.println(jsonRequest);               

canalDeSalida = NuevoCanalDeEscritura(socket.FlujoDeSalida)

ENVIAR(solicitudJson)

Ejemplo de recepción de mensajes

Paso 1: Generación de escucha continua.

Por la naturaleza del protocolo es necesario activar un mecanismo de escucha continua, ya que el procesamiento de las transacciones puede variar. debido a que la terminal tiene procesos internos que pueden variar el tiempo de respuesta, de está manera nos aseguramos de siempre recibir el resultado

try (BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()))) {
    String msg;
    // se detiene en in.readLine() hasta recibir un mensaje terminado en '\\n'
    while ((msg = in.readLine()) != null) {
        messages.add(msg); // Añade el mensaje a una cola
    }
}
UTILIZANDO canalDeEntrada = AbrirCanalDeLectura(socket.FlujoDeEntrada) HACER

  MIENTRAS (hay_datos_para_leer_en(canalDeEntrada)) HACER

    mensaje = LEER_LINEA(canalDeEntrada)

    AÑADIR mensaje A cola_de_mensajes

  FIN MIENTRAS

FIN UTILIZANDO 

Para evitar la congestión del socket, recomendamos implementar una cola. Esta actúa como un búfer seguro, lo que permite que el hilo de red reciba mensajes rápidamente, mientras la lógica principal los procesa a su propio ritmo.

Paso 2: Procesamiento de mensaje

Una vez recibido el mensaje se deberá de procesar por medio de una herramienta que permita el convertir texto a un JSON para ser usado por el cliente. Es necesario recordar que el manejo de la respuesta recibida será según las necesidades del negocio.

String msg = messages.poll(); // Extrae un mensaje de la cola
if (msg != null) {
    return msg;
}
mensaje = EXTRAER_DE_COLA(cola_de_mensajes)

SI mensaje NO ES NULO ENTONCES
  DEVOLVER mensaje
FIN SI

Ejecución de Operación con PinPad.

Para realizar una operación desde la Pagando Check Pad² se recomienda seguir el siguiente flujo:

Estructura de peticiones a la terminal

Como lo mencionado en el apartado de “Comunicación y mensajes” cada acción realizada a la terminal requiere una comunicación por medio de JSON. Para esto se establece la siguiente tabla que explica cada campo necesario para las operativas.

CampoTipo de datoDescripciónTiposRequerido
actionTypeStringDefine el tipo de acción que se llevará a cabo en Pagando Check Pad²OPERATIVE, LOG_IN, GET_TRANSACTION_STATUSSí
operationTypeStringDefine el tipo de operación a realizar por la Pagando Check Pad²SALE, REFUND, CHECK_IN, CHECK_OUT, CANCELSí, si actionType es OPERATIVE
amountStringMonto de la operación. Debe estar en formato "0.00" con comillas y dos decimales—Sí, si actionType es OPERATIVE
folioStringFolio de la transacción relacionada. Corresponde a la transacción originalEj: PAG-00000001Sí, si operationType es CHECK_OUT, REFUND o CANCEL
commerceReferenceStringReferencia interna del negocio para control de transacciones—Sí
cookieStringCookie provisto por el equipo de Pagando¹—Sí, si actionType es LOG_IN
keyParamStringKey provista por el equipo de Pagando¹—Sí, si actionType es LOG_IN
sandBoxBooleanIdentifica si la operación se realiza en entorno de pruebastrue, falseNo
tokenStringToken proporcionado al realizar una venta, para verificar el estado de la transacción—Sí, si actionType es GET_TRANSACTION_STATUS

Ejemplos de JSON (Envío).

Los ejemplos mostrados a continuación son para ejemplificar la estructura necesaria del json de una manera más amigable para el cliente, recodar que estos tiene que estar completamente en texto y con un saldo de línea al final de la cadena.

Ejemplos para JSON de configuración de terminal

 {
 	 "actionType":"LOG_IN", 
	 "cookie":"cookie",     
	 "keyParam":"key",      
	 "sandbox":false,        
 }

Ejemplos de JSON para la realización de operativas

SALE

{
	"actionType":"OPERATIVE", // Define la acción que se llevará acabo en la terminal
	"operationType":"SALE",   // Define el tipo de operación que se realizará
	"amount":"255.00",        // Monto el cual se cobrará
	"folio":"",
	"commerceReference":"Folio dado por el cliente"
}

CHECK_IN

{
	"actionType":"OPERATIVE", // Define la acción que se llevará acabo en la terminal
	"operationType":"CHECK_IN",   // Define el tipo de operación que se realizará
	"amount":"255.00",        // Monto el cual se cobrará
	"folio":"",
	"commerceReference":"folio dado por el cliente"
}

CHECK_OUT

{
	"actionType":"OPERATIVE", 
	"operationType":"CHECK_OUT",   
	"amount":"255.00",        
	"folio":"PAG-000000000123",
	"commerceReference":"folio dado por el cliente"
}

CANCEL

{
	"actionType":"OPERATIVE", 
	"operationType":"CANCEL",   
	"amount":"255.00",        
	"folio":"PAG-000000000123",
	"commerceReference":"folio dado por el cliente"
}

REFUND

{
	"actionType":"OPERATIVE", 
	"operationType":"REFUND",   
	"amount":"255.00",        
	"folio":"PAG-000000000123",
	"commerceReference":"folio dado por el cliente"
}

GET TRANSACTION STATUS (POR TOKEN DE IDEMPOTENCIA)

{
	"actionType":"GET_TRANSACTION_STATUS", 
	"token":"08e54c57f2741dc07d572a990ba3ba25eea10c05f8a862cc10f7903d9b6d332159"
}

GET TRANSACTION STATUS (POR REFERENCIA EXTERNA)

{
	"actionType":"GET_TRANSACTION_STATUS", 
	"externalReference":"<TU_REFERENCIA>"
}

Nota: Para consultar mediante referencia externa, el valor del campo “externalReference” debe ser generado por el negocio previamente al momento realizar una operativa y enviado mediante el campo commerceReference.

Json de obtener último mensaje (Ejemplo)

 {
 	 "actionType":"GET_LAST_MESSAGE"       
 }

Json de cancelar proceso (Ejemplo)

{
	"actionType":"CANCEL_PROCESS"
}

Ejemplos de JSON (Respuestas).

Glosario de campos

Respuesta Genérica

CampoTIpo de datoDescripción
codeStringCódigo definido de comunicación
messageStringMensaje de comunicación

Respuesta exitosa

CampoTIpo de datoDescripción
accountTypeStringTipo cuenta que se utilizó (DEBITO, CREDITO)
aidStringAID perteneciente a tarjeta
amountStringMontó total de la transacción
arqcStringCriptograma único
authCodeStringNúmero de identificación del emisor
cardBrandStringMarca de tarjeta
currencyStringMoneda en la que se realizó la compra
descriptionMessageStringMensaje descriptivo de el servidor
employeeStringEmpleado
emvTypeStringTipo de lectura de tarjeta
folioStringFolio de la transacción
idempotencyTokenStringId de identificación de transacción
last4StringUltimos 4 dígitos de tajeta
operationTypeStringTipo de operación realizada
requireSignatureStringLa firma fue requerida para autorizar la transacción
responseCodeStringCódigo de respuesta
terminalSerialNumberStringNúmero de serie de la terminal
transactionTimeStringMomento de la transacción
statusStringEl estado actual de la transacción consultada
tipAmountStringEl monto cobrado de propina.

Ejemplos de comunicación generica

{
	"code": "0000",
	"message": "mensaje de comunicación"
}

Ejemplo de respuesta de operación (Ejemplo)

{
	"accountType":"DEBIT",
	"aid":"A0000000000000",
	"amount":0.0,
	"arqc":"4F98EADSD4AEC141",
	"authCode":"000000",
	"cardBrand":"MASTERCARD",
	"currency":"MXN",
	"descriptionMessage":"Successful approval/completion or that VIP PIN verification is valid",
	"employee":"",
	"emvType":"CONTACTLESS",
	"folio":"PAG-000000000000",
	"idempotencyToken":"0000000000000000000000asda00000000dfeg000efadc000000000",
	"last4":"0000",
	"operationType":"SALE",
	"requireSignature":"NOT_REQUIRED",
	"responseCode":0,
	"terminalSerialNumber":"",
	"transactionTime":"0000000000000"
}

Ejemplo de respuesta de GET_STATUS_TRANSACTION (Ejemplo)

{
  "accountType": "DEBIT",
  "aid": "A0000000031010",
  "amount": 99.0,
  "arqc": "696B2CA42338A4F4",
  "authCode": "A45186",
  "cardBrand": "VISA",
  "currency": "MXN",
  "descriptionMessage": "Successful approval/completion or that VIP PIN verification is valid",
  "employee": "",
  "emvType": "CONTACTLESS",
  "folio": "PAG-000000030093",
  "idempotencyToken": "",
  "last4": "4246",
  "operationType": "SELL",
  "requireSignature": "NOT_REQUIRED",
  "responseCode": 0,
  "status": "APPROVED",
  "terminalSerialNumber": "",
  "tipAmount": "0.00",
  "transactionTime": "1764799291087"
}

Comparte este artículo:

  • Facebook
  • X
  • LinkedIn
  • Pinterest
Conexión con Pagando Check Pad²Arquitectura
Suscribirse
Notificar de
guest
guest
0 Comentarios
Más antiguo
Más reciente Más votado
Comentarios en línea
Ver todos los comentarios
En este artículo
  • Aspectos generales
  • Estructura del JSON
  • Ejemplo para el envío de mensajes
    • Paso 1: Preparación del mensaje
    • Paso 2: Enviar mensaje al socket
  • Ejemplo de recepción de mensajes
    • Paso 1: Generación de escucha continua.
    • Paso 2: Procesamiento de mensaje
  • Ejecución de Operación con PinPad.
  • Estructura de peticiones a la terminal
  • Ejemplos de JSON (Envío).
    • Ejemplos para JSON de configuración de terminal
    • Ejemplos de JSON para la realización de operativas
  • Ejemplos de JSON (Respuestas).
    • Glosario de campos
  • Ejemplos de comunicación generica
  • Ejemplo de respuesta de operación (Ejemplo)
  • Ejemplo de respuesta de GET_STATUS_TRANSACTION (Ejemplo)
  • Inicio

PagandoPagandoBusinessBusiness ProExploreExplore PlusNight

Pagando CheckPagando CheckTerminalesCheck LinkPagos en línea

CréditosCréditosAdelantoAdelanto+
  • Integraciones
Ingresar
Crear cuenta

Contáctanos al correo soporte@pagando.mx o al teléfono (800) 461 0119 desde el interior de la república.

Contáctanos
Black LabsPagandoPagando CheckVas PagandoFacebookTwitterInstagramLinkedIn
¿Por qué Pagando?Puntos PagandoApple Pay & Google PayBlogConsejos de seguridadCostos y comisionesAviso de privacidadPagandoCuentas personalesExploreExplore PlusNightCuentas para empresasBusinessBusiness ProPagando CheckTerminalesCheck LinkIntegracionesDocumentaciónVas PagandoUNEEducación financieraEstados financierosContáctanosPreguntas frecuentesLUN - DOM: 08:00 a 21:00 (Hora de CDMX)

PAGANDO®, VAS PAGANDO® y PAGANDO CHECK® incluyendo todos los derechos de propiedad intelectual del sitio web, signos distintivos, dibujos, diseños, fotografías, imágenes, información, textos, música, videos, obras autorales y artísticas, materiales y demás contenido son propiedad de XC Networks, S.A. de C.V., Institución de Fondos de Pago Electrónico, y son usados por Black Labs, S.A. de C.V. y Vas Pagando SAPI de CV SOFOM ENR en su carácter de licenciatarios autorizados.
XC Networks, S.A. de C.V., Institución de Fondos de Pago Electrónico © 2026 todos los derechos reservados.

1 XC Networks, S.A. de C.V. Institución de Fondos de Pago Electrónico (Pagando), es una entidad financiera autorizada, regulada y supervisada por las autoridades financieras en México para operar en términos de lo previsto por la Ley para Regular las Instituciones de Tecnología Financiera.
Ni el Gobierno Federal ni las entidades de la administración pública paraestatal podrán responsabilizarse o garantizar los recursos de los Clientes que sean utilizados en las Operaciones que celebren con las ITF o frente a otros, así como tampoco asumir alguna responsabilidad por las obligaciones contraídas por las ITF o por algún Cliente frente a otro, en virtud de las Operaciones que celebren.

2 El servicio de Pagando Check es operado por Black Labs S.A. de C.V. y su uso no genera comisiones por parte de Pagando (XC Networks S.A. de C.V. Institución de Fondos de Pago Electrónicos). Sin embargo, Pagando Check cobrará una comisión por cada transacción procesada. El titular de la cuenta puede decidir no utilizar este servicio que se ofrece junto con las cuentas Business y Business Pro.

3 Vas Pagando SAPI de CV SOFOM ENR para su constitución y operación con el carácter de Sociedad Financiera de Objeto Múltiple, Entidad No Regulada, no requiere de la autorización de la Secretaría de Hacienda y Crédito Público, y se encuentra sujeta a la supervisión y vigilancia de la Comisión Nacional Bancaria y de Valores (CNBV), únicamente para efectos de lo dispuesto por el artículo 56 de LGOAAC (Ley General de Organizaciones y Actividades Auxiliares del Crédito).

Buró de Entidades FinancierasCondusefPCI
Ingresa a tu cuenta:
Pagando
Pagando

Cuentas

Iniciar sesión

Pagando Check
Pagando Check

Pagos con tarjeta

Iniciar sesión

Vas
Vas

Créditos empresariales

Iniciar sesión

¡Elige tu producto ideal!
Pagando
Pagando

Cuentas para ti o para tu empresa,
con tarjetas y beneficios a tu medida

Abrir mi cuenta

Pagando Check
Pagando Check

Acepta pagos con tarjeta:
Terminales, pagos en línea y enlaces de pago

Empezar a recibir pagos

Vas
Vas

Créditos empresariales para transformar tus ventas en liquidez inmediata

Solicitar crédito

Servicios disponibles
Requisitos

Adelanto+

  • Ser persona moral

  • Cuenta activa Pagando Business Pro 1

  • 6 meses de ventas procesadas con Pagando Check 2
    (Terminal o e-commerce)

  • Identificación oficial vigente del representante legal y de socios con más del 25% de acciones (INE, FMM, FMMd o Pasaporte Mexicano)

  • Poderes del representante legal

  • Acta constitutiva

  • Constancia de situación fiscal ante el SAT

  • Comprobante de domicilio no mayor a 3 meses (Teléfono, luz o agua)

  • Solicitud de autorización de consulta de historial crediticio

Servicios disponibles
Requisitos

Adelanto

  • Ser persona física con actividad empresarial

  • Cuenta activa Pagando Business 1

  • 6 meses de ventas procesadas con Pagando Check 2
    (Terminal o e-commerce)

  • Identificación oficial vigente (INE, FMM, FMMd o Pasaporte Mexicano)

  • RFC con actividad empresarial

  • Constancia de situación fiscal ante el SAT

  • Comprobante de domicilio no mayor a 3 meses (Teléfono, luz o agua)

  • Solicitud de autorización de consulta de historial crediticio

Información adicional
Responsabilidades

El cliente deberá de salvaguardar correctamente sus factores de autenticación para hacer uso de los servicios de Pagando. No deberá de compartir ni divulgar esta información considerada como personal e intransferible.

El cliente se obliga a hacer caso omiso y por consiguiente a no responder los correos electrónicos que parecen provenir de Pagando, en los que se le solicite proporcionar información personal y/o claves de acceso. Así mismo no deberá de seguir las ligas o vínculos que aparezcan en el cuerpo de los correos mencionados anteriormente.

El cliente deberá de asegurar que su dispositivo de acceso se encuentre libre de software malicioso y de actualizar sus mecanismos de seguridad.

El cliente se compromete a leer, entender y cumplir con lo establecido en los términos y condiciones y el aviso de privacidad del producto contratado.

El cliente se obliga a no hacer uso indebido de los productos de Pagando, entendiendo como uso indebido a aquel que es contrario a la legislación y regulación vigente.

El cliente se compromete a cumplir con los requisitos de identificación para la apertura de su cuenta y atender cualquier otro tipo de requerimiento o actualización de información posterior en caso de que Pagando lo requiera.

El cliente se compromete a pagar las comisiones establecidas según el producto contratado en caso de que existiera.

Ni el Gobierno Federal ni las entidades de la administración pública paraestatal podrán responsabilizarse o garantizar los recursos de los Clientes que sean utilizados en las Operaciones que celebren con las ITF o frente a otros, así como tampoco asumir alguna responsabilidad por las obligaciones contraídas por las ITF o por algún Cliente frente a otro, en virtud de las Operaciones que celebren.
RIESGOS

Riesgo de robo o extravío de información sensible encontrada dentro de los productos de Pagando, por causas de ataques cibernéticos, riesgos tecnológicos, fallas de seguridad o extravío de información por el personal de Pagando.

Riesgo de pérdida de información por consecuencia de desastres naturales que afecten de manera critica la locación de los servidores de base de datos.

Riesgo de intermitencia o suspensión temporal del servicio de los productos de Pagando por causas de mantenimiento programado o extraordinario, ataques cibernéticos, intermitencia en el servicio de proveedores y/o desastres naturales.

Existe el riesgo de inaccesibilidad de la información del cliente del producto por fallas en su conexión de internet o la ausencia total de la misma.

Existe el riesgo del robo o extravío de información de autenticación o identificación para el cliente, permitiendo que una persona ajena al cliente procese o realice transacciones dentro del producto.
Servicios disponibles

Puedes pagar servicios de las siguientes compañías

Servicios disponibles
Servicios disponibles
Servicios disponibles
Servicios disponibles
Servicios disponibles
Servicios disponibles
¡Te recomendamos tu cuenta ideal!
Selecciona la opción con la que más te identifiques


Quiero una cuenta:

Tu tarjeta es tu instrumento de todos los días, ¿Para qué la utilizas normalmente?

¿Que tan importante es para ti obtener beneficios exclusivos y recompensas al usar tu tarjeta?

Cuando quieres le mejor experiencia, ¿Inviertes un poco extra para tenerla?

Al momento de viajar, ¿Cuál es la experiencia que buscas?

¿Planeas transferir tu nómina a esta cuenta o depositarle grandes cantidades ($20mil o más) de vez en cuando?

¿Usualmente ahorras?

La empresa es:

Tu cuenta ideal es:
Business
Tarjeta business
  • Ideal para emprendedores o PyMes (Persona física)

  • Tarjeta virtual y tarjeta física con acabado premium

  • Acceso a beneficios especiales de Mastercard World Elite

  • Realiza SPEI, compras en línea y en tienda

  • Dispersiones y cuentas de colaborador

  • Puntos dobles en el programa Puntos Pagando


¡La quiero!

Tu cuenta ideal es:
Business Pro
Tarjeta Business Pro img
  • Ideal para empresas medianas o grandes (Persona moral)

  • Cuenta 100% digital con tarjeta virtual gratis y al instante

  • Transferencias SPEI ilimitadas

  • Monto máximo acumulado en tu cuenta ¡Sin límite!

  • Dispersiones y cuentas de colaborador

  • Puntos dobles en el programa Puntos Pagando


¡La quiero!

Tu cuenta ideal es:
Explore
Tarjeta explore
  • Transferencias SPEI disponibles 24/7

  • Recibe tarjeta virtual al instante y tarjeta física a domicilio

  • Realiza SPEI, compras en línea y en tienda

  • Recibe depósitos hasta por 3 mil UDIS al mes

  • Acumula hasta 30 mil UDIS de saldo en tu cuenta


¡La quiero!

Tu cuenta ideal es:
Explore Plus
Tarjeta explore Plus
  • Transferencias SPEI ilimitadas y disponibles 24/7
  • Recibe tarjeta virtual al instante y tarjeta física a domicilio
  • Realiza SPEI, compras en línea y en tienda
  • Monto máximo acumulado en tu cuenta ¡Sin límite!
  • Permite transaccionar más de 10mil UDIS mensuales

¡La quiero!

Tu cuenta ideal es:
Night
Tarjeta Night
  • Acceso a beneficios especiales de Mastercard World Elite
  • Transferencias SPEI ilimitadas disponibles 24/7
  • Tarjeta virtual y tarjeta física con acabado premium
  • Realiza SPEI, compras en línea y en tienda
  • Monto máximo acumulado en tu cuenta ¡Sin límite!
  • Puntos dobles en el programa Puntos Pagando

¡La quiero!

Tarjeta explore
Tarjeta explore Plus
Tarjeta Night
Tarjeta business
Tarjeta Business Pro