POST /authorize a Pay-me PinPAD. La conexión permanece abierta mientras el terminal procesa la operación, hasta recibir un resultado o completar el tiempo de espera de la solicitud.
Mientras la autorización continúa en curso, puedes solicitar su cancelación mediante POST /cancel con el mismo operationNumber. La solicitud original de /authorize puede seguir abierta hasta completar su tiempo de espera, aunque la cancelación ya se haya procesado y el PINPAD haya salido de la pantalla de pago.
Si la conexión falla al solicitar cancelación, no puedes asegurar que el PinPAD la recibió ni que cerró la pantalla. Consulta siempre la referencia original; sin solicitud de cancelación, un QR con transaction.state: "AUTORIZADO" en una consulta 200/00 confirma el pago.
Si posteriormente /authorize responde HTTP 202 con success: false, resultCode: "WAITING_RESULT" y result: null, significa que venció la espera de esa solicitud. Esta respuesta no invalida una cancelación confirmada. Si aún no conoces el resultado del cobro, consulta GET /payments/{operationNumber}.
Flujos por método
Consulta los diagramas y las respuestas de cancelación. Si la cancelación falla o no está confirmada, consulta el cobro original; no existe una consulta de cancelación.
Solicitud mínima
SolooperationNumber y amount son obligatorios. Este ejemplo también indica moneda y método:
Parámetros
Respeta los nombres y los tipos JSON de cada campo. Por ejemplo, envía
paymentMethod, no payment_method.
Detalle de los parámetros
operationNumber
Genera un operationNumber nuevo para cada pago y almacénalo antes de llamar a POST /authorize. El valor debe cumplir estas condiciones:
- ser una cadena de 1 a 64 caracteres sin espacios;
- ser único para una operación real de pago;
- permanecer asociado a la operación hasta obtener un resultado final.
amount
Expresa el importe en unidades menores, sin símbolo de moneda, separadores ni decimales:
Envía
amount como entero JSON o String numérico positivo de 1 a 12 dígitos (^\d{1,12}$). No utilices decimales, signos, espacios ni separadores. El servidor puede aplicar un máximo configurado; el ejemplo S/ 500.00 de la guía no establece un límite universal.
currency
currency es opcional: acepta un número de tres dígitos o su String. Si lo omites, se usa 604.
Para pagos en soles peruanos, utiliza "604". Confirma con Alignet cualquier moneda distinta de PEN antes de habilitarla en producción.
paymentMethod
Si envías paymentMethod, usa uno de estos valores, sin distinguir mayúsculas. Si lo omites, se usa CARD:
Cada solicitud admite un solo método de pago. No envíes
CARD y QR juntos, arreglos, valores combinados como "CARD,QR", ni valores diferentes de los documentados. card y qr son válidos.
tollData
Utiliza tollData para enviar datos de la operación de peaje con fines de trazabilidad. El objeto y todos sus campos son opcionales. Se fusiona con additionalFields; ante claves coincidentes prevalece tollData. Las claves siguientes son convenciones de peaje, no un catálogo de restricciones del servidor.
Como recomendación de conciliación para el comercio, relaciona los importes de peaje y retención así; la guía no documenta esta igualdad como validación del servidor:
Interpretación de shiftId para reportes
El formato de shiftId se acuerda para cada integración. Por ejemplo, si el formato acordado es punto + vía + turno + fecha operativa (AAAAMMDD), el valor ilustrativo AB2N20260710 se interpreta así:
Con la convención acordada, estos componentes pueden usarse como filtros y columnas del reporte de conciliación. En esta convención, deriva
shift y shiftDate de shiftId para reportes; no necesitas duplicarlos en el request. Define también cómo interpretar la fecha operativa cuando un turno cruza la medianoche; puede ser distinta del día indicado por transactionDateTime.
Si el formato del identificador es diferente, define la regla de extracción antes de usarlo en reportes. No apliques el formato ilustrativo a todas las integraciones.
additionalFields
El comercio puede declarar en additionalFields cualquier otro dato complementario que necesite. Los valores se envían como cadenas.
additionalFields.
Ejemplo de autorización para peaje
El siguiente ejemplo ilustra los datos de la operación de peaje con identificadores genéricos. El formato deshiftId mostrado es solo un ejemplo de composición: código del punto (AB) + vía (2) + turno (N) + fecha operativa (20260710). Cada integración debe acordar su propia convención.
Enviar la solicitud
Este ejemplo envía una solicitud mínima:<IP_DEL_PINPAD> y <PUERTO> por los valores configurados en tu terminal.
Respuestas de autorización
Interpretasuccess, resultCode, resultMessage y result; este endpoint no devuelve status propio. Consulta el contrato, los ejemplos y la tabla HTTP. La respuesta de /cancel se interpreta por separado en Cancelación.
Verificar el resultado final
- Conserva
operationNumber; ante HTTP202 WAITING_RESULT, timeout o incertidumbre, consulta la pasarela conGET /payments/{operationNumber}. - En una consulta
200/00, interpretatransaction.state;00solo indica que la operación fue encontrada. - Una consulta
200/03,404/05,503o504no confirma rechazo ni permite otro cobro. Mantén la operación sin resolver y consulta o escala. - No sustituyas un resultado confirmado por un
202 WAITING_RESULTtardío ni decidas por el cierre de pantalla. Tras cancelación fallida, un CARD autorizado permite evaluar un extorno independiente; conserva QR autorizado sin devolución.

