{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://ap2-protocol.org/schemas/checkout_mandate.json",
  "title": "Checkout Mandate",
  "description": "Agreement from a User or an Agent to authorize a particular Checkout action.",
  "type": "object",
  "required": [
    "vct",
    "checkout_jwt",
    "checkout_hash"
  ],
  "properties": {
    "vct": {
      "type": "string",
      "description": "Verifiable Credential Type claim as defined in SD-JWT. MUST be 'mandate.checkout'.",
      "const": "mandate.checkout.1",
      "default": "mandate.checkout.1"
    },

   "checkout_jwt": {
     "type": "string",
     "description": "base64url-encoded serialized merchant-signed JWT of the Checkout payload.",
      "x-selectively-disclosable-field": true
    },
    "checkout_hash": {
      "type": "string",
      "description": "base64url-encoded hash of the checkout_jwt field value, uniquely identifying this checkout. If this checkout mandate is presented as an sd-jwt and the _sd_alg field is present then the hash algorithm used MUST match the _sd_alg field. Otherwise, sha-256 MUST be used."
    },
    "iat": {
      "type": "integer",
      "description": "The creation timestamp as a Unix epoch."
    },
    "exp": {
      "type": "integer",
      "description": "The expiration timestamp as a Unix epoch."
    }
  }
}
