> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.givechariot.com/v2026-04-01/guides/dafpay/integrating-dafpay/integration/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.givechariot.com/_mcp/server. # Integrating Connect ## Content Security Policy DAFpay is distributed as a cross-origin web component. The button renders inline on your page, but the checkout itself runs in either a cross-origin **iframe** embedded in your page (most desktop browsers, when the viewport supports the modal) or a cross-origin **popup window** at `https://secure.dafpay.com` (mobile devices, Safari, or when the parent viewport is too small for the modal). In both modes, the DAFpay JavaScript bundle is loaded from Chariot's CDN and the web component injects `@font-face` declarations and inline styles into your page's document. If your site sends a [Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) (CSP) header — via either `Content-Security-Policy` or `Content-Security-Policy-Report-Only` — you must allow the directives below or the integration will silently fail to load. ### Required Directives | Directive | Add to allowlist | Why it's needed | | ------------ | -------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | | `script-src` | `https://cdn.givechariot.com` | Loads `chariot-connect.umd.js` from Chariot's CDN. | | `frame-src` | `https://secure.dafpay.com` | Embeds the DAFpay checkout in a cross-origin iframe. If `frame-src` is not set, browsers fall back to `child-src`, then `default-src`. | | `font-src` | `https://cdn.givechariot.com` | The DAFpay web component injects `@font-face` rules into your document referencing Chariot-hosted fonts. | | `style-src` | `'unsafe-inline'` (or a matching nonce/hash) | The web component injects inline `