{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://ucp.dev/draft/schemas/shopping/types/pan_credential.json",
  "title": "PAN Credential",
  "description": "A card credential carrying a funding primary account number (FPAN). Credential selection follows the shape of the value on the wire rather than its provenance: a network token surfaced in PAN form and verified with a `cvc` — as with credentials where a dynamic verification code proxies the cryptogram — is carried here, while a token verified with a discrete `cryptogram` uses Network Token Credential. This credential type MUST NOT be used for checkout, only with payment handlers that tokenize or encrypt credentials. CRITICAL: Both parties handling a PAN credential (sender and receiver) MUST be PCI DSS compliant. Transmission MUST use HTTPS/TLS with strong cipher suites.",
  "allOf": [
    {
      "$ref": "https://ucp.dev/draft/schemas/shopping/types/payment_credential.json"
    },
    {
      "type": "object",
      "required": [
        "type",
        "number"
      ],
      "properties": {
        "type": {
          "const": "pan",
          "description": "The credential type identifier for PAN credentials."
        },
        "number": {
          "type": "string",
          "description": "Funding primary account number (FPAN).",
          "examples": [
            "4242424242424242"
          ]
        },
        "expiry_month": {
          "type": "integer",
          "description": "The month of the card's expiration date (1-12)."
        },
        "expiry_year": {
          "type": "integer",
          "description": "The year of the card's expiration date."
        },
        "name": {
          "type": "string",
          "description": "Cardholder name.",
          "examples": [
            "Jane Doe"
          ]
        },
        "cvc": {
          "type": "string",
          "maxLength": 4,
          "description": "Card verification code.",
          "examples": [
            "223"
          ]
        }
      }
    }
  ]
}