POST /authorize es síncrono: la conexión permanece abierta mientras el terminal procesa la operación y devuelve el resultado.
Solicitud mínima
Envía los cuatro campos obligatorios en el cuerpo JSON:Parámetros
Respeta los nombres, los tipos JSON y el uso de mayúsculas 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 entre 1 y 64 dígitos;
- contener únicamente caracteres del
0al9; - 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 String. No utilices números JSON, valores decimales, signos, espacios ni separadores.
currency
Envía currency como un String de tres dígitos que contenga el código numérico ISO 4217 de la moneda.
Para pagos en soles peruanos, utiliza "604". Confirma con Alignet cualquier moneda distinta de PEN antes de habilitarla en producción.
paymentMethod
Envía exactamente uno de los siguientes valores en mayúsculas:
Cada solicitud admite un solo método de pago. No envíes
CARD y QR juntos, arreglos, valores combinados como "CARD,QR", variantes como card o qr, ni valores diferentes de los documentados.
additionalFields
Utiliza additionalFields para asociar información complementaria al pago. Cada valor del objeto debe ser una cadena:
null dentro de additionalFields. Si no necesitas enviar información adicional, omite el objeto.
El catálogo de claves admitidas y el uso de cada valor por el procesador están pendientes de validación con Alignet. Las claves del ejemplo son ilustrativas y no representan un catálogo obligatorio.
Ejemplo con información adicional
El siguiente ejemplo incluyeadditionalFields con valores String:
Enviar la solicitud
Este ejemplo envía una solicitud mínima:<IP_DEL_PINPAD> y <PUERTO> por los valores configurados en tu terminal.
Errores de validación
Una solicitud con campos ausentes o valores inválidos devuelve HTTP400 con resultCode: "BAD_REQUEST". Este resultado indica un error en la solicitud y no un rechazo financiero.
Antes de producción
Confirma las monedas y medios de pago habilitados, el catálogo deadditionalFields, el timeout definitivo y el comportamiento de una referencia reutilizada con otro body. Consulta el registro centralizado de Datos por validar.
Hasta confirmar el último punto, reenvía exactamente el mismo cuerpo cuando no hayas recibido el resultado. Para consultar su estado, utiliza el operationNumber original.
Lista de verificación
Antes de enviar la solicitud, verifica lo siguiente:operationNumberestá almacenado, es único y contiene únicamente entre 1 y 64 dígitos.amountes un String numérico de hasta 12 dígitos que representa un entero positivo en unidades menores.currencyes un String numérico de exactamente tres dígitos.paymentMethodestá presente y contiene exactamente un valor:CARDoQR, en mayúsculas.- Todos los valores de
additionalFields, si envías el objeto, son cadenas. - La solicitud utiliza
Content-Type: application/json. - El timeout del cliente HTTP es el acordado para el ambiente.
Respuestas, consulta y códigos
Implementa los códigos HTTP, los estados y la consulta de operaciones.

