Create checkouts, follow their status, and charge a buyer's saved instrument or a payment terminal.
A checkout is a request for one payment from a buyer. Create it with the amount and the buyer's email, then let the buyer pay through the hosted page (links.checkout), the embeddable page (links.embeddable), or the Payin SDK. You can also charge a saved instrument of the buyer, or send the checkout to a connected terminal so the buyer pays in person. Checkout IDs start with S-.
Each charge attempt is a transaction. A charge is a sale: there is no separate authorization and capture. Confirm the result on your server with the checkout-status-changed webhook event or by reading the checkout.
| Status | Meaning |
|---|---|
PENDING | Created and waiting for payment. |
PROCESSING | A charge attempt is in progress. |
PAID | The buyer paid. Final. |
FAILED | The last charge attempt failed. The hosted page and the SDK do not offer the buyer another attempt; create a new checkout for that. You can charge it again yourself with Charge Checkout until it expires. |
EXPIRED | The checkout passed expiresAt without being paid. Final. |
UNKNOWN | The charge was never confirmed as succeeded or failed. It cannot be charged again. Do not charge the buyer again; contact Payment Labs. Final. |
| Transaction status | Meaning |
|---|---|
PENDING | The charge attempt is being processed. |
PENDING_3DS | Waiting for the buyer to complete 3D Secure authentication. |
SUCCEEDED | The charge succeeded. |
FAILED | The charge failed, or was never confirmed. The checkout's errorTransaction says why. |
See Payins Overview, Hosted Checkout Page and Iframe, and Checkout Statuses and Failure Reasons.
