{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/agentaos-ai/json-schema/agentaos-ai-checkout-detail-schema.json",
  "title": "CheckoutDetail",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/agentaos-ai-checkouts-api-openapi.yml#/components/schemas/CheckoutDetail",
  "allOf": [
    {
      "$ref": "#/$defs/Checkout"
    },
    {
      "type": "object",
      "properties": {
        "amount": {
          "type": [
            "number",
            "null"
          ],
          "description": "Computed effective price: amount_override, else the linked payment link's amount."
        },
        "link_amount": {
          "type": [
            "number",
            "null"
          ]
        },
        "link_currency": {
          "type": [
            "string",
            "null"
          ]
        },
        "link_description": {
          "type": [
            "string",
            "null"
          ]
        },
        "transactions": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/LinkTransactionRow"
          }
        },
        "invoices": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Invoice"
          }
        }
      },
      "required": [
        "amount",
        "link_amount",
        "link_currency",
        "link_description",
        "transactions",
        "invoices"
      ]
    }
  ],
  "$defs": {
    "Checkout": {
      "type": "object",
      "additionalProperties": true,
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "description": "Internal checkout UUID."
        },
        "payment_link_id": {
          "type": [
            "string",
            "null"
          ],
          "format": "uuid"
        },
        "org_id": {
          "type": "string",
          "format": "uuid"
        },
        "session_id": {
          "type": "string",
          "description": "Public ID, used in the checkout URL and as the path parameter for every other call on this resource."
        },
        "idempotency_key": {
          "type": [
            "string",
            "null"
          ]
        },
        "amount_override": {
          "type": [
            "number",
            "null"
          ],
          "description": "Set only if you passed amount or amountOverride at create."
        },
        "currency": {
          "type": "string"
        },
        "metadata": {
          "type": "object"
        },
        "webhook_url": {
          "type": [
            "string",
            "null"
          ]
        },
        "success_url": {
          "type": [
            "string",
            "null"
          ]
        },
        "cancel_url": {
          "type": [
            "string",
            "null"
          ]
        },
        "tax_rate_id": {
          "type": [
            "string",
            "null"
          ],
          "format": "uuid"
        },
        "supported_networks": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "expires_at": {
          "type": "string",
          "format": "date-time"
        },
        "status": {
          "type": "string",
          "enum": [
            "open",
            "completed",
            "expired",
            "cancelled"
          ]
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time"
        },
        "seller_mode": {
          "type": "string",
          "enum": [
            "mor",
            "crypto"
          ]
        },
        "environment": {
          "type": "string",
          "enum": [
            "test",
            "live"
          ]
        },
        "checkoutUrl": {
          "type": "string",
          "description": "Send your buyer here. Computed, camelCase."
        },
        "invoiceId": {
          "type": [
            "string",
            "null"
          ],
          "format": "uuid",
          "description": "Set once an invoice has been issued for this session; null until then."
        },
        "invoiceNumber": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "id",
        "payment_link_id",
        "org_id",
        "session_id",
        "idempotency_key",
        "amount_override",
        "currency",
        "metadata",
        "webhook_url",
        "success_url",
        "cancel_url",
        "tax_rate_id",
        "supported_networks",
        "expires_at",
        "status",
        "created_at",
        "updated_at",
        "seller_mode",
        "environment",
        "checkoutUrl"
      ]
    },
    "Invoice": {
      "type": "object",
      "additionalProperties": true,
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "invoice_number": {
          "type": "string",
          "description": "Human-readable, e.g. INV-2026-0142."
        },
        "transaction_id": {
          "type": [
            "string",
            "null"
          ],
          "format": "uuid",
          "description": "Linked settled transaction, once paid."
        },
        "session_id": {
          "type": [
            "string",
            "null"
          ],
          "description": "Linked checkout."
        },
        "amount": {
          "type": "number",
          "description": "Currency units."
        },
        "currency": {
          "type": "string"
        },
        "payment_token": {
          "type": "string",
          "description": "What the buyer paid (or will pay) with."
        },
        "status": {
          "type": "string",
          "enum": [
            "issued",
            "paid",
            "voided"
          ],
          "description": "issued (created, not yet paid), paid (payment settled), or voided."
        },
        "fiat_amount": {
          "type": [
            "number",
            "null"
          ],
          "description": "EUR/USD equivalent, for stablecoin payments."
        },
        "fiat_currency": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "EUR",
            "USD",
            null
          ]
        },
        "exchange_rate": {
          "type": [
            "number",
            "null"
          ],
          "description": "Rate applied at settlement."
        },
        "exchange_rate_source": {
          "type": [
            "string",
            "null"
          ]
        },
        "tax_rate": {
          "type": [
            "number",
            "null"
          ],
          "description": "Applied rate, e.g. 19 for 19%."
        },
        "tax_amount": {
          "type": [
            "number",
            "null"
          ],
          "description": "Currency units."
        },
        "tax_name": {
          "type": [
            "string",
            "null"
          ],
          "description": "e.g. DE VAT."
        },
        "tax_inclusive": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "Whether amount already includes tax."
        },
        "merchant_name": {
          "type": [
            "string",
            "null"
          ],
          "description": "Seller name on the document."
        },
        "buyer_email": {
          "type": [
            "string",
            "null"
          ]
        },
        "buyer_name": {
          "type": [
            "string",
            "null"
          ]
        },
        "buyer_company": {
          "type": [
            "string",
            "null"
          ]
        },
        "buyer_country": {
          "type": [
            "string",
            "null"
          ],
          "description": "ISO 3166-1 alpha-2."
        },
        "buyer_vat": {
          "type": [
            "string",
            "null"
          ]
        },
        "tx_hash": {
          "type": [
            "string",
            "null"
          ],
          "description": "On-chain hash, for crypto payments."
        },
        "issued_at": {
          "type": "string",
          "format": "date-time"
        },
        "voided_at": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "id",
        "invoice_number",
        "transaction_id",
        "session_id",
        "amount",
        "currency",
        "payment_token",
        "status",
        "fiat_amount",
        "fiat_currency",
        "exchange_rate",
        "exchange_rate_source",
        "tax_rate",
        "tax_amount",
        "tax_name",
        "tax_inclusive",
        "merchant_name",
        "buyer_email",
        "buyer_name",
        "buyer_company",
        "buyer_country",
        "buyer_vat",
        "tx_hash",
        "issued_at",
        "voided_at",
        "created_at"
      ]
    },
    "LinkTransactionRow": {
      "type": "object",
      "description": "A raw transaction row as nested under a Payment Link or Checkout detail response: same shape as a Transaction, but without the computed `money` breakdown.",
      "additionalProperties": true,
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "direction": {
          "type": "string",
          "enum": [
            "inbound",
            "outbound"
          ]
        },
        "status": {
          "type": "string"
        },
        "amount": {
          "type": "number"
        },
        "payment_method": {
          "type": [
            "string",
            "null"
          ]
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "id",
        "direction",
        "status",
        "amount",
        "created_at"
      ]
    }
  }
}