Skip to main content
El sistema central del comercio inicia un pago mediante una solicitud HTTP a Pay-me PinPAD. POST /authorize es síncrono: la conexión permanece abierta mientras el terminal procesa la operación y devuelve el resultado.
Construye la URL con la dirección IP y el puerto configurados en el terminal:

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 0 al 9;
  • ser único para una operación real de pago;
  • permanecer asociado a la operación hasta obtener un resultado final.
Si no recibes el resultado por un timeout o una pérdida de conexión, conserva la referencia original. Utilízala para consultar la operación o para reenviar exactamente la misma solicitud.
No generes otro operationNumber después de un timeout. La solicitud original puede haber producido un cargo.

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:
No envíes números, booleanos, arreglos, objetos anidados ni valores 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 incluye additionalFields con valores String:

Enviar la solicitud

Este ejemplo envía una solicitud mínima:
Reemplaza <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 HTTP 400 con resultCode: "BAD_REQUEST". Este resultado indica un error en la solicitud y no un rechazo financiero.
Corrige el campo indicado antes de reenviar la solicitud. Conserva el error y el intento en los registros del sistema central para mantener la trazabilidad.

Antes de producción

Confirma las monedas y medios de pago habilitados, el catálogo de additionalFields, 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:
  • operationNumber está almacenado, es único y contiene únicamente entre 1 y 64 dígitos.
  • amount es un String numérico de hasta 12 dígitos que representa un entero positivo en unidades menores.
  • currency es un String numérico de exactamente tres dígitos.
  • paymentMethod está presente y contiene exactamente un valor: CARD o QR, 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.