{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/gnosis-pay/main/json-schema/gnosis-pay-pci-challenge-response-schema.json",
  "title": "PciChallengeResponse",
  "description": "Complete EIP-712 typed data. Pass this object directly to signTypedData —\nconvert message.nonce to BigInt before signing.",
  "x-generated": "2026-10-27",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/gnosis-pay-openapi.json#/components/schemas/PciChallengeResponse",
  "type": "object",
  "required": [
    "domain",
    "primaryType",
    "types",
    "message"
  ],
  "properties": {
    "domain": {
      "$ref": "#/$defs/PciChallengeDomain",
      "description": "EIP-712 domain separator."
    },
    "primaryType": {
      "type": "string",
      "enum": [
        "Message"
      ],
      "description": "EIP-712 primary type."
    },
    "types": {
      "$ref": "#/$defs/PciChallengeTypes",
      "description": "EIP-712 type definitions."
    },
    "message": {
      "$ref": "#/$defs/PciChallengeMessage",
      "description": "EIP-712 message payload."
    }
  },
  "$defs": {
    "PciChallengeDomain": {
      "type": "object",
      "required": [
        "name",
        "version",
        "chainId"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "version": {
          "type": "string"
        },
        "chainId": {
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "PciChallengeMessage": {
      "type": "object",
      "required": [
        "authorization",
        "nonce"
      ],
      "properties": {
        "authorization": {
          "type": "string",
          "description": "Human-readable action string, e.g. \"Display VISA Card Details\". This is\nwhat the user will see in their wallet."
        },
        "nonce": {
          "type": "string",
          "description": "Random uint256 as a decimal string. Must be passed back as the\nx-eip712-nonce header alongside the signature."
        }
      }
    },
    "PciChallengeTypes": {
      "type": "object",
      "required": [
        "Message"
      ],
      "properties": {
        "Message": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/PciEip712Field"
          }
        }
      }
    },
    "PciEip712Field": {
      "type": "object",
      "required": [
        "name",
        "type"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      }
    }
  }
}