Ir al contenido
Logo Pagando Check Principal
  • Inicio
Productos
  • Comisiones
  • Desarrolladores
  • Contacto

Iniciar sesión

Comienza
Comienza
Logo Pagando Check Principal
  • Inicio
  • Comisiones
  • Desarrolladores
  • Pagando Check Pro
  • Check Link
  • Contacto

Iniciar sesión

Comienza
Comienza
Popular Search apiprestashop

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

Plugins de pago

  • Magento
    • Instalación de módulo en Magento
  • Prestashop
    • Instalación de módulo en Prestashop
  • WooCommerce
    • Instalación de módulo en WooCommerce

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
  • Conexión con Pagando Check Pad
View Categories

Conexión con Pagando Check Pad

La comunicación con la Pagando Check Pad requiere que el cliente desarrolle una aplicación o servicio. Esta aplicación funge como el punto de control para la realización de operaciones. Todo a través de una interfaz TCP/IP, estableciendo la conectividad mediante cable de red conectado directamente a la Pagando Check Pad y el dispositivo controlador..

Rol de la aplicación o servicio (Bridge)

  • Estas serán las funciones básicas que deberá de realizar el Bridge
    • Realizar una conexión TCP/IP en un puerto especifico (49154).
    • Capacidad de generar y enviar mensajes en formato JSON.
    • Capacidad de recibir e interpretar mensajes en formato JSON.

Pasos para la generación del Bridge.

A continuación se enuncian los pasos básicos para la generación de un bridge para lograr la conexión con la Pagando Check Pad. Cabe recalcar que los ejemplos son meramente demostrativos y solo sirven de ayuda para demostrar el propósito de la función.

El cliente puede realizar la selección de cualquier lenguaje de programación que este acostumbrado usar para realizar la aplicación o servicio.

Paso 1: Configuración de ip

La aplicación o servicio necesitara una dirección de red para realizar las operaciones. Esta configuración es crucial para realizar las operaciones y debe ser la misma que obtuvimos en la interfaz de red (dispositivo controlador) al compartir internet a la terminal mediante el cable Ethernet (dirección del gatewat de la red privada entre la Pad y dispositivo controlador).

Estas direcciones suelen ser (se recomienda verificar la dirección asignada en el adaptador de red):

  • Windows → 192.168.137.1
  • MacOs → 192.168.2.1

Actualmente para la conexión se requiere tener habilitado el puerto 49154 en el cuál se realiza la conexión.

Ejemplo de conexión.

int port = 49154;
String ipv4Address = "Ip proporcionada por sistema operativo";
public void init(int port, String ipv4Address){
    this.port = port;
    this.ipv4Address = ipv4Address;
    this.init2();
}

private void init2(){
    try {
        // Se valida y se crea un objeto de dirección de red
        bindAddr = InetAddress.getByName(ipv4Address);
    } 
}
DEFINIR puerto COMO Entero, inicializado en 49154
DEFINIR direccionIPV4 CxOMO Cadena, inicializada en "Ip proporcionada por sistema operativo"
DEFINIR direccionDeEnlace COMO ObjetoDireccionRed 

// -- PROCEDIMIENTO PÚBLICO DE INICIALIZACIÓN --
PROCEDIMIENTO publico inicializar(nuevoPuerto COMO Entero, nuevaDireccion COMO Cadena)

    ESTE.puerto = nuevoPuerto
    ESTE.direccionIPV4 = nuevaDireccion

    // Se llama al procedimiento interno para completar la inicialización.
    LLAMAR A inicializar_interno()
FIN PROCEDIMIENTO

// -- PROCEDIMIENTO PRIVADO INTERNO --

PROCEDIMIENTO privado inicializar_interno()
    // Se intenta realizar una operación que podría fallar.
    INTENTAR
        // Se valida y convierte la cadena de texto de la dirección IP
        // a un objeto de dirección de red manejable por el sistema.
        ESTE.direccionDeEnlace = ObtenerDireccionPorNombre(ESTE.direccionIPV4)
    CAPTURAR EXCEPCION
        // Por ejemplo: MOSTRAR "Error: La dirección IP no es válida."
    FIN INTENTAR
FIN PROCEDIMIENTO

Paso 2: Creación del Punto de Escucha

Dentro de la aplicación o servicio se deberá de generar un socket de conexión que permita la apertura del puerto definido anteriormente con la dirección IP. Así mismo, deberá de mantener una escucha activa.

 serverSocket = new ServerSocket(port, Constants.socketBacklog, bindAddr);

socketServidor = CrearSocketServidor(ESTE.puerto, CONSTANTES.COLA_DE_CONEXIONES, ESTE.direccionDeEnlace)

Paso 3: Mantener hilo en segundo plano.

Para evitar que los procesos impidan un uso de la aplicación mientras se realice esta conexión se recomiendo pasar a una conexión en segundo plano la escucha del socket de conexión.

new Thread(() -> handleConnection()).start();
EJECUTAR_EN_NUEVO_HILO(manejar_conexiones.iniciar)

Paso 4: Aceptación de la Conexión del Cliente

Dentro del hilo, la aplicación entra en un bucle infinito y se detiene esperando a que un cliente se conecte. Cuando esto ocurre, se crea un objeto Socket que representa el canal de comunicación privado con ese cliente.

while (true) {
   // El programa se pausa aquí hasta que un cliente se conecta
   Socket clientSocket = serverSocket.accept();

}
INICIO
  MIENTRAS verdadero HACER
    ESPERAR por una conexión de cliente

    clienteSocket = ACEPTAR conexión del cliente
    
  FIN MIENTRAS
FIN

Paso 5: Asignación a un Gestor Dedicado

Ese Socket se entrega a un objeto CommunicationHandler, que se especializa en gestionar la conversación con un solo cliente. Este gestor también se inicia en su propio Thread para manejar el envío y la recepción de forma independiente.

handler = new CommunicationHandler(clientSocket);
communicationThread = new Thread(handler);
communicationThread.start();
// Crear un manejador de comunicación para el cliente recién conectado
manejador = nuevo ManejadorDeComunicacion(clienteSocket)

// Crear un nuevo hilo de ejecución para manejar la comunicación
hiloDeComunicacion = nuevo Hilo(manejador)

// Iniciar el hilo para que se ejecute de forma concurrente
INICIAR hiloDeComunicacion
¿Te ha resultado útil?
ArquitecturaComunicación y mensajes.
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
  • Rol de la aplicación o servicio (Bridge)
  • Pasos para la generación del Bridge.
    • Paso 1: Configuración de ip
    • Paso 2: Creación del Punto de Escucha
    • Paso 3: Mantener hilo en segundo plano.
    • Paso 4: Aceptación de la Conexión del Cliente
    • Paso 5: Asignación a un Gestor Dedicado

¿Ya lo decidiste? Contacta a ventas

Contáctanos al correo ventas@pagandocheck.com o al teléfono (800) 323 0709 desde el interior de la república.

Imagen soporte Pagando
Logo Pagando Check Footer

Vendes más, seguro.

  • PRODUCTOS
  • Check Link
  • Terminal de Pagos
  • API de Pagos
  • Plugin de Pagos
  • EMPRESA
  • Aviso de Privacidad
  • Términos y Condiciones
  • Folleto Informativo
  • SOPORTE
  • Contacto
  • Preguntas Frecuentes
  • UNE

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 usados por Black Labs, S.A. de C.V. en su carácter de licenciatario autorizado.
XC Networks, S.A. de C.V. Institución de Fondos de Pago Electrónico © 2024 todos los derechos reservados.

Pagando Check utiliza cookies para brindarte la mejor experiencia. Al continuar
navegando en nuestro sitio aceptas nuestra Política de Uso de Cookies
Entendido
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Siempre activado
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDuraciónDescripción
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
GUARDAR Y ACEPTAR
¿Cuál plugin quieres instalar?
WooCommerce pluginMagento pluginPrestaShop plugin
Bancos Participantes

Bancos participantes
Bancos participantes
Bancos participantes