{
  "id": "ucp.payment.handler",
  "protocol": "ucp",
  "layer": "payment",
  "role": "psp",
  "status": "required",
  "title": "Provide a UCP payment handler",
  "description": "Payments in UCP run through payment handlers supplied by the PSP or platform.",
  "goal": "Keeps raw card data out of the agent and the merchant, and lets your PSP plug into UCP.",
  "note": "Payment handlers are declared in the profile under payment_handlers.",
  "how_to_implement": {
    "steps": [
      "Ask your PSP for its UCP payment handler.",
      "Declare it under payment_handlers in /.well-known/ucp."
    ]
  },
  "resources": [
    {
      "label": "UCP spec overview (latest): versioning and hosting",
      "url": "https://ucp.dev/latest/specification/overview/",
      "type": "spec",
      "publisher": "UCP"
    }
  ],
  "audit": {
    "method": "http_get",
    "automatable": true,
    "url_pattern": "/.well-known/ucp",
    "expect": {
      "status": 200,
      "json_keys": [
        "ucp.payment_handlers"
      ]
    },
    "human": "Profile JSON contains a non-empty ucp.payment_handlers object."
  },
  "how_to_verify": "Profile JSON contains a non-empty ucp.payment_handlers object.",
  "artifacts": [
    "payment handler"
  ],
  "depends_on": [
    "ucp.discovery.well-known"
  ],
  "status_note": "Payment handlers are declared in the profile under payment_handlers.",
  "verified": true,
  "slug": "ucp-payment-handler",
  "category": "payment",
  "url": "https://vreeman.ai/commerce/checklist#ucp.payment.handler",
  "updated": "2026-10-12",
  "sources": [
    {
      "label": "UCP spec overview (latest): versioning and hosting",
      "url": "https://ucp.dev/latest/specification/overview/",
      "type": "spec",
      "publisher": "UCP"
    }
  ],
  "related_slugs": [
    "ucp-discovery-well-known"
  ]
}