{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Checkout", "description": "Core checkout resource returned by the Checkouts API. A checkout is created before payment processing and then updated as payment attempts, redirects, and resulting transactions are attached to it.", "type": "object", "properties": { "checkout_reference": { "description": "Merchant-defined reference for the checkout. Use it to correlate the SumUp checkout with your own order, cart, subscription, or payment attempt in your systems.", "type": "string", "example": "f00a8f74-b05d-4605-bd73-2a901bae5802", "maxLength": 90 }, "amount": { "description": "Amount to be charged to the payer, expressed in major units.", "type": "number", "format": "float", "example": 10.1 }, "currency": { "$ref": "#/components/schemas/Currency" }, "merchant_code": { "description": "Merchant account that receives the payment.", "type": "string", "example": "MH4H92C7" }, "description": { "description": "Short merchant-defined description shown in SumUp tools and reporting. Use it to make the checkout easier to recognize in dashboards, support workflows, and reconciliation.", "type": "string", "example": "Purchase" }, "return_url": { "description": "Optional backend callback URL used by SumUp to notify your platform about processing updates for the checkout.", "type": "string", "format": "uri", "example": "http://example.com" }, "id": { "description": "Unique SumUp identifier of the checkout resource.", "type": "string", "example": "4e425463-3e1b-431d-83fa-1e51c2925e99", "readOnly": true }, "status": { "description": "Current high-level state of the checkout. `PENDING` means the checkout exists but is not yet completed, `PAID` means a payment succeeded, `FAILED` means the latest processing attempt failed, and `EXPIRED` means the checkout can no longer be processed.", "type": "string", "example": "PENDING", "enum": [ "PENDING", "FAILED", "PAID", "EXPIRED" ] }, "date": { "description": "Date and time of the creation of the payment checkout. Response format expressed according to [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) code.", "type": "string", "format": "date-time", "example": "2020-02-29T10:56:56+00:00" }, "valid_until": { "description": "Optional expiration timestamp. The checkout must be processed before this moment, otherwise it becomes unusable. If omitted, the checkout does not have an explicit expiry time.", "type": "string", "format": "date-time", "example": "2020-02-29T10:56:56+00:00", "nullable": true }, "customer_id": { "description": "Merchant-scoped identifier of the customer associated with the checkout. Use it when storing payment instruments or reusing saved customer context for recurring and returning-payer flows.", "type": "string", "example": "831ff8d4cd5958ab5670" }, "mandate": { "$ref": "#/components/schemas/MandateResponse" }, "hosted_checkout_url": { "description": "URL of the SumUp-hosted payment page that handles the payment flow. Returned when Hosted Checkout is enabled for the checkout.", "type": "string", "format": "uri", "example": "https://checkout.sumup.com/pay/8f9316a3-cda9-42a9-9771-54d534315676", "readOnly": true }, "transactions": { "description": "Payment attempts and resulting transaction records linked to this checkout. Use the Transactions endpoints when you need the authoritative payment result and event history.", "type": "array", "items": { "allOf": [ { "$ref": "#/components/schemas/TransactionBase" }, { "$ref": "#/components/schemas/TransactionCheckoutInfo" } ] }, "example": [ { "id": "410fc44a-5956-44e1-b5cc-19c6f8d727a4", "transaction_code": "TEENSK4W2K", "amount": 10.1, "currency": "EUR", "timestamp": "2020-02-29T10:56:56.876000+00:00", "status": "SUCCESSFUL", "payment_type": "ECOM", "installments_count": 1, "merchant_code": "MH4H92C7", "vat_amount": 6, "tip_amount": 3, "entry_mode": "CUSTOMER_ENTRY", "auth_code": "012345" } ], "uniqueItems": true } } }