DFC partner pages

What the pages send DFC

Eduardo's partner embedded-checkout contract (Oct 20, 2026). One call per signup, from our server, never from the browser.

POST {DFC_API_URL}/partners/<offer name>/embedded-checkout
x-api-key: <key>
Content-Type: application/json

{
  "email": "person@example.com",
  "partner": "nift",
  "utmSource": "niftoffer1",
  "utmMedium": "post_checkout_placement",
  "utmCampaign": "nift_2026",
  "landingPage": "niftoffer1",
  "coupon": null,
  "returnUrl": "https://dfc-partner-pages.vercel.app/welcome?session_id={CHECKOUT_SESSION_ID}",
  "partnerReferenceId": "<partner click id from the landing link, or empty>"
}

→ { "clientSecret": "cs_..." }   409 = already a paid member   401 = bad key   404 = no Partner Page of that name

Price, trial length and membership are set on the Partner Page in DFC's admin portal with the same name as the offer. Our pages only word the offer. Offer names: niftoffer1 (/nift), niftoffer3 (/nift2), niftoffer4 (/nift2/b), discooffer1 (/disco), discoshipping1 (/disco-shipping).