payment_url. Open it in a
popup or redirect. Card data stays in the hosted fields and 3-D Secure runs
inside the checkout modal when the issuer requests it.
Create the payin
idempotency_key is mandatory in the body or Idempotency-Key header.
CLP is an integer currency: "150000.50" returns 400 invalid_amount.
Replaying the same key returns the original payin with
idempotency_hit: true; never create a second key after an ambiguous result.
Hosted checkout and stored cards
Openpayment_url in a popup. The checkout shows the waiting modal only for
CL/CLP/card, validates the integer CLP amount before submit, and reports
availability with a status indicator. Saving a card requires both the
integrator’s offer and the payer’s consent. Later one-click and merchant-
initiated charges use the server-side stored-card endpoint; the PAN is never
sent to your server.
The universal checkout quotes CL/CLP/card when the catalog reports it as
available. Always read GET /platform/v1/payins/methods before showing the
option.
Read, void, and refund
pending, and a signed notification
closes it. Both operations require idempotency and never retry an ambiguous
dispatch automatically.
Errors
Webhooks
Verify the signature before processing. Relevant events arepayin_credited, payin_refunded, dispute, and card_stored.
FAQ
Can I send decimal CLP?
Can I send decimal CLP?
No. Chilean pesos have no decimal minor unit; send an integer string.
What if the create request times out?
What if the create request times out?
Read the resource or repeat the request with the same idempotency key. Do
not submit a new charge.
When is a refund final?
When is a refund final?
A refund can remain
pending until the signed notification confirms it.