Crear un payin QR
Envíamethod: "qr" a POST /v1/payins. La clave es opcional y puede viajar
en el body JSON o en el header Idempotency-Key.
201:
qr_image_url que devuelve la API. Cuando el
cliente paga, la cuenta se acredita automáticamente. Consulta el estado actual
con GET /v1/payins/{payinID}.
Reintentos idempotentes
idempotency_key es opcional para payins QR. Envíala en el body JSON o en el
header Idempotency-Key. Si envías ambas, se usa el valor del body. La
plataforma aplica internamente un namespace por cuenta; el integrador manda la
clave tal cual.
La identidad de la solicitud incluye país, moneda, método y monto numérico.
El canal QR no forma parte de la identidad del replay: la misma clave reproduce el mismo cobro independientemente del canal.
Por ejemplo, "100" y "100.00" son equivalentes. description es texto de
presentación y no forma parte de la identidad del replay.
La primera solicitud crea un solo cobro. Un reintento con la misma clave y un
payload equivalente devuelve el objeto original con idempotency_hit: true;
no crea otro cobro:
409 idempotency_conflict:
GET /v1/payins/{payinID} para consultar su estado vivo.
El core y la plataforma responden 400 invalid_idempotency_key cuando la clave
del integrador supera 256 caracteres o contiene retornos de carro/saltos de
línea. La plataforma también rechaza con el mismo código si su namespace de
cuenta del lado servidor hace que la clave resultante supere 256 caracteres.
Ese namespace es invisible para el integrador: envía la clave sin modificar.
Errores
Preguntas frecuentes
¿Puedo cambiar la descripción al reintentar?
¿Puedo cambiar la descripción al reintentar?
Sí. La descripción es texto de presentación y no forma parte de la identidad
del replay.
¿Qué hago si el cliente pagó mientras mi solicitud expiró?
¿Qué hago si el cliente pagó mientras mi solicitud expiró?
Reintenta con la misma clave y consulta el
payin_id devuelto con
GET /v1/payins/{payinID}. No crees una clave nueva para la misma operación.