> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pay-me.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introducción a Pay-me Transit PinPAD

> Integra el sistema central de un comercio con Pay-me PinPAD en un terminal Wiseasy P5L.

**Pay-me Transit PinPAD** permite que el sistema de un comercio inicie, consulte, cancele y extorne pagos procesados en un terminal físico. La integración utiliza HTTP/JSON sobre la red local.

Esta documentación corresponde a la aplicación **Pay-me PinPAD** con package `com.alignet.pinpad.ecr`, instalada en el terminal **Wiseasy P5L**.

<Info>
  En esta guía, **sistema central** identifica al cliente HTTP del comercio o integrador. Puede ser un punto de venta, un sistema de caja, un backend o un Sistema de Control de Carril (SCC). El servidor HTTP es Pay-me PinPAD en el Wiseasy P5L.
</Info>

## Alcance de la integración

La interfaz local expone cinco operaciones: comprobar disponibilidad, autorizar y consultar pagos, y solicitar y consultar cancelaciones o extornos. Consulta la [referencia de endpoints](/procesamiento-fisico/alignet-transit/referencia-de-endpoints) para ver métodos, rutas y respuestas HTTP.

El contrato no requiere instalar una librería en el sistema central. Debes implementar un cliente HTTP capaz de enviar y recibir JSON, mantener abierta una solicitud síncrona y recuperar operaciones inciertas.

## Flujo en cinco pasos

<Steps>
  <Step title="Comprobar conectividad">
    Ejecuta `GET /health`. Durante la configuración inicial, esta llamada también permite que Pay-me PinPAD confirme que el sistema central alcanza el terminal.
  </Step>

  <Step title="Crear la referencia">
    Genera y persiste un `operationNumber` único antes de iniciar el cobro.
  </Step>

  <Step title="Enviar la autorización">
    Ejecuta `POST /authorize` con el monto en unidades menores. Configura un timeout HTTP de al menos 100 a 110 segundos.
  </Step>

  <Step title="Interpretar el resultado">
    Confirma el pago únicamente si recibes HTTP `200`, `status: "APPROVED"` y `resultCode: "00"`.
  </Step>

  <Step title="Recuperar un resultado incierto">
    Ante HTTP `202`, timeout o pérdida de conexión, consulta `GET /payments/{operationNumber}`. No inicies otro cobro.
  </Step>
</Steps>

## Principios de implementación

* Una operación real de cobro utiliza un único `operationNumber`.
* `amount` es un String numérico que representa un entero positivo en unidades menores. Por ejemplo, `"1500"` equivale a S/ 15.00.
* El cobro es síncrono. `POST /authorize` permanece abierto mientras el usuario presenta la tarjeta e ingresa el PIN cuando corresponde.
* `PENDING` y `UNKNOWN` no significan rechazo. Debes consultar antes de tomar una decisión o iniciar otro cobro.
* Pay-me PinPAD procesa una operación a la vez. Una referencia diferente recibida durante un cobro activo obtiene `409 POS_BUSY`.
* La cancelación detiene una autorización activa; el extorno revierte una venta que ya fue aprobada. No intercambies estos flujos.
* El sistema central no recibe PAN completo, CVV, PIN, PIN Block, pistas ni datos EMV sensibles.

## Contenido de esta guía

<CardGroup cols={2}>
  <Card title="Arquitectura, red y seguridad" icon="diagram-project" href="/procesamiento-fisico/alignet-transit/arquitectura-y-trazabilidad">
    Comprende los componentes, la red local y la protección de datos.
  </Card>

  <Card title="Requisitos y responsabilidades" icon="list-check" href="/procesamiento-fisico/alignet-transit/requisitos-y-responsabilidades">
    Prepara al comercio, al integrador y al terminal.
  </Card>

  <Card title="Configuración" icon="sliders" href="/procesamiento-fisico/alignet-transit/configuracion">
    Registra los parámetros de cada ambiente y terminal.
  </Card>

  <Card title="Autenticación" icon="shield-halved" href="/procesamiento-fisico/alignet-transit/autenticacion">
    Aplica los controles de acceso admitidos por la interfaz local.
  </Card>

  <Card title="Referencia de endpoints" icon="code" href="/procesamiento-fisico/alignet-transit/referencia-de-endpoints">
    Revisa métodos, rutas y respuestas disponibles.
  </Card>

  <Card title="Solicitud de autorización" icon="file-export" href="/procesamiento-fisico/alignet-transit/parametros-de-envio">
    Implementa `POST /authorize`, sus validaciones y ejemplos.
  </Card>

  <Card title="Cancelación y extorno" icon="rotate-left" href="/procesamiento-fisico/alignet-transit/extorno">
    Usa `POST /reversals`; Pay-me PinPAD cancela o extorna según el estado actual.
  </Card>

  <Card title="Respuestas, consulta y códigos" icon="code" href="/procesamiento-fisico/alignet-transit/respuesta-estados-y-codigos">
    Interpreta estados de negocio, códigos HTTP y `GET /payments/{operationNumber}`.
  </Card>

  <Card title="Operación y recuperación" icon="rotate" href="/procesamiento-fisico/alignet-transit/operacion-y-recuperacion">
    Controla timeouts, operaciones pendientes, idempotencia y concurrencia.
  </Card>

  <Card title="Solución de problemas" icon="screwdriver-wrench" href="/procesamiento-fisico/alignet-transit/solucion-de-problemas">
    Diagnostica conectividad, errores operativos y resultados inciertos.
  </Card>

  <Card title="Ejemplos de integración" icon="ethernet" href="/procesamiento-fisico/alignet-transit/ejemplos-de-integracion">
    Usa ejemplos completos de cURL, Java, C#, Python y Node.js.
  </Card>

  <Card title="Certificación y producción" icon="flask-vial" href="/procesamiento-fisico/alignet-transit/pruebas-y-salida-a-produccion">
    Valida escenarios, evidencias y criterios de salida.
  </Card>

  <Card title="Datos por validar" icon="clipboard-question" href="/procesamiento-fisico/alignet-transit/datos-por-validar">
    Revisa decisiones abiertas sin asumir valores no confirmados.
  </Card>
</CardGroup>
