Create a QR payin
Sendmethod: "qr" to POST /v1/payins. The key is optional and can be sent
in the JSON body or in the Idempotency-Key header.
201:
qr_image_url returned by the API. When the
customer pays, the account is credited automatically. Read the current status
with GET /v1/payins/{payinID}.
Idempotent retries
idempotency_key is optional for QR payins. Send it in the JSON body or as the
Idempotency-Key header. If both are present, the body value is used. The
platform namespaces the key by account internally; the integrator sends the
key exactly as provided.
The request identity includes country, currency, method and the numeric amount.
For example, "100" and "100.00" are equivalent. description is display
text and is not part of replay identity. The QR channel is not part of the
replay identity: the same key replays the same charge regardless of channel.
The first request creates one charge. A retry with the same key and equivalent
payload returns the original object with idempotency_hit: true; it does not
create another charge:
409 idempotency_conflict:
GET /v1/payins/{payinID} to read its live status.
Both the core and the platform return 400 invalid_idempotency_key when the
integrator key is longer than 256 characters or contains carriage-return/
line-feed characters. The platform also rejects the request with the same code
if its server-side account namespace would make the resulting core key exceed
256 characters. That namespace is invisible to the integrator: send the key
unchanged.
Errors
FAQ
Can I change the description when retrying?
Can I change the description when retrying?
Yes. The description is display text and is not part of the replay identity.
What if the customer paid while my request timed out?
What if the customer paid while my request timed out?
Retry with the same idempotency key, then read the returned
payin_id with
GET /v1/payins/{payinID}. Do not create a new key for the same operation.