[{"data":1,"prerenderedAt":1220},["ShallowReactive",2],{"session":3,"docs":4,"docs:\u002Fdocs\u002Fintegrations\u002Fremix":301,"surround:\u002Fdocs\u002Fintegrations\u002Fremix":1215},null,[5],{"title":6,"path":7,"stem":8,"children":9},"Docs","\u002Fdocs","docs",[10,13,37,77,112,147,174,193,216,243,270],{"title":11,"path":7,"stem":12},"Help Center","docs\u002Findex",{"title":14,"icon":15,"path":16,"stem":17,"children":18},"Getting Started","ph:rocket-launch-duotone","\u002Fdocs\u002Fgetting-started","docs\u002F01.getting-started\u002Findex",[19,21,25,29,33],{"title":20,"path":16,"stem":17},"Introduction",{"title":22,"path":23,"stem":24},"5-Minute Quickstart","\u002Fdocs\u002Fgetting-started\u002Fquickstart","docs\u002F01.getting-started\u002F1.quickstart",{"title":26,"path":27,"stem":28},"Verify Your Setup","\u002Fdocs\u002Fgetting-started\u002Fverify-your-setup","docs\u002F01.getting-started\u002F2.verify-your-setup",{"title":30,"path":31,"stem":32},"Test vs Live Mode","\u002Fdocs\u002Fgetting-started\u002Fstripe-test-vs-live","docs\u002F01.getting-started\u002F3.stripe-test-vs-live",{"title":34,"path":35,"stem":36},"After Setup Checklist","\u002Fdocs\u002Fgetting-started\u002Fafter-setup","docs\u002F01.getting-started\u002F4.after-setup",{"title":38,"icon":39,"path":40,"stem":41,"children":42},"Integrations","ph:puzzle-piece-duotone","\u002Fdocs\u002Fintegrations","docs\u002F02.integrations\u002Findex",[43,45,49,53,57,61,65,69,73],{"title":44,"path":40,"stem":41},"Overview",{"title":46,"path":47,"stem":48},"WordPress","\u002Fdocs\u002Fintegrations\u002Fwordpress","docs\u002F02.integrations\u002F1.wordpress",{"title":50,"path":51,"stem":52},"Webflow","\u002Fdocs\u002Fintegrations\u002Fwebflow","docs\u002F02.integrations\u002F2.webflow",{"title":54,"path":55,"stem":56},"Framer","\u002Fdocs\u002Fintegrations\u002Fframer","docs\u002F02.integrations\u002F3.framer",{"title":58,"path":59,"stem":60},"Squarespace","\u002Fdocs\u002Fintegrations\u002Fsquarespace","docs\u002F02.integrations\u002F4.squarespace",{"title":62,"path":63,"stem":64},"Next.js","\u002Fdocs\u002Fintegrations\u002Fnext-js","docs\u002F02.integrations\u002F5.next-js",{"title":66,"path":67,"stem":68},"Nuxt","\u002Fdocs\u002Fintegrations\u002Fnuxt","docs\u002F02.integrations\u002F6.nuxt",{"title":70,"path":71,"stem":72},"SvelteKit","\u002Fdocs\u002Fintegrations\u002Fsveltekit","docs\u002F02.integrations\u002F7.sveltekit",{"title":74,"path":75,"stem":76},"Remix","\u002Fdocs\u002Fintegrations\u002Fremix","docs\u002F02.integrations\u002F8.remix",{"title":78,"icon":79,"path":80,"stem":81,"children":82},"Stripe & Tracking","ph:plugs-connected-duotone","\u002Fdocs\u002Fstripe-and-tracking","docs\u002F03.stripe-and-tracking\u002Findex",[83,84,88,92,96,100,104,108],{"title":44,"path":80,"stem":81},{"title":85,"path":86,"stem":87},"Connect Stripe","\u002Fdocs\u002Fstripe-and-tracking\u002Fconnect-stripe","docs\u002F03.stripe-and-tracking\u002F1.connect-stripe",{"title":89,"path":90,"stem":91},"Install the Tracking Pixel","\u002Fdocs\u002Fstripe-and-tracking\u002Finstall-the-pixel","docs\u002F03.stripe-and-tracking\u002F2.install-the-pixel",{"title":93,"path":94,"stem":95},"Stripe Checkout Sessions","\u002Fdocs\u002Fstripe-and-tracking\u002Fstripe-checkout-sessions","docs\u002F03.stripe-and-tracking\u002F3.stripe-checkout-sessions",{"title":97,"path":98,"stem":99},"Payment Links & Pricing Tables","\u002Fdocs\u002Fstripe-and-tracking\u002Fpayment-links-and-pricing-tables","docs\u002F03.stripe-and-tracking\u002F4.payment-links-and-pricing-tables",{"title":101,"path":102,"stem":103},"Manual Invoices","\u002Fdocs\u002Fstripe-and-tracking\u002Fmanual-stripe-invoices","docs\u002F03.stripe-and-tracking\u002F5.manual-stripe-invoices",{"title":105,"path":106,"stem":107},"Sign-in Referral Tracking","\u002Fdocs\u002Fstripe-and-tracking\u002Fsign-in-tracking","docs\u002F03.stripe-and-tracking\u002F6.sign-in-tracking",{"title":109,"path":110,"stem":111},"Troubleshoot Missing Sales","\u002Fdocs\u002Fstripe-and-tracking\u002Ftroubleshooting-tracking","docs\u002F03.stripe-and-tracking\u002F7.troubleshooting-tracking",{"title":113,"icon":114,"path":115,"stem":116,"children":117},"Commissions & Rules","ph:currency-circle-dollar-duotone","\u002Fdocs\u002Fcommissions-and-rules","docs\u002F04.commissions-and-rules\u002Findex",[118,119,123,127,131,135,139,143],{"title":44,"path":115,"stem":116},{"title":120,"path":121,"stem":122},"Commission Calculations","\u002Fdocs\u002Fcommissions-and-rules\u002Fhow-commissions-are-calculated","docs\u002F04.commissions-and-rules\u002F1.how-commissions-are-calculated",{"title":124,"path":125,"stem":126},"Commission Rule Types","\u002Fdocs\u002Fcommissions-and-rules\u002Fcommission-rule-types","docs\u002F04.commissions-and-rules\u002F2.commission-rule-types",{"title":128,"path":129,"stem":130},"Product and Price Rules","\u002Fdocs\u002Fcommissions-and-rules\u002Fproduct-and-price-rules","docs\u002F04.commissions-and-rules\u002F3.product-and-price-rules",{"title":132,"path":133,"stem":134},"When Multiple Rules Match","\u002Fdocs\u002Fcommissions-and-rules\u002Frule-priority","docs\u002F04.commissions-and-rules\u002F4.rule-priority",{"title":136,"path":137,"stem":138},"Affiliate Performance Tiers","\u002Fdocs\u002Fcommissions-and-rules\u002Faffiliate-performance-tiers","docs\u002F04.commissions-and-rules\u002F5.affiliate-performance-tiers",{"title":140,"path":141,"stem":142},"Multi-Currency Commissions","\u002Fdocs\u002Fcommissions-and-rules\u002Fmulti-currency-commissions","docs\u002F04.commissions-and-rules\u002F6.multi-currency-commissions",{"title":144,"path":145,"stem":146},"Changing Rules Safely","\u002Fdocs\u002Fcommissions-and-rules\u002Fchanging-rules-safely","docs\u002F04.commissions-and-rules\u002F7.changing-rules-safely",{"title":148,"icon":149,"path":150,"stem":151,"children":152},"Affiliate Portal","ph:layout-duotone","\u002Fdocs\u002Faffiliate-portal","docs\u002F05.affiliate-portal\u002Findex",[153,154,158,162,166,170],{"title":44,"path":150,"stem":151},{"title":155,"path":156,"stem":157},"Branding and Portal Content","\u002Fdocs\u002Faffiliate-portal\u002Fcustomize-branding","docs\u002F05.affiliate-portal\u002F1.customize-branding",{"title":159,"path":160,"stem":161},"Portal FAQ for Affiliates","\u002Fdocs\u002Faffiliate-portal\u002Fportal-faq","docs\u002F05.affiliate-portal\u002F2.portal-faq",{"title":163,"path":164,"stem":165},"Affiliate Agreement","\u002Fdocs\u002Faffiliate-portal\u002Faffiliate-agreement","docs\u002F05.affiliate-portal\u002F3.affiliate-agreement",{"title":167,"path":168,"stem":169},"Portal URL & Custom Domain","\u002Fdocs\u002Faffiliate-portal\u002Fsubdomain-and-custom-domain","docs\u002F05.affiliate-portal\u002F4.subdomain-and-custom-domain",{"title":171,"path":172,"stem":173},"Affiliate Payout Settings","\u002Fdocs\u002Faffiliate-portal\u002Fpayout-settings-on-portal","docs\u002F05.affiliate-portal\u002F5.payout-settings-on-portal",{"title":175,"icon":176,"path":177,"stem":178,"children":179},"Campaigns","ph:megaphone-duotone","\u002Fdocs\u002Fcampaigns","docs\u002F06.campaigns\u002Findex",[180,181,185,189],{"title":44,"path":177,"stem":178},{"title":182,"path":183,"stem":184},"What is a Campaign?","\u002Fdocs\u002Fcampaigns\u002Fwhat-is-a-campaign","docs\u002F06.campaigns\u002F1.what-is-a-campaign",{"title":186,"path":187,"stem":188},"Setting Up Campaign Rules","\u002Fdocs\u002Fcampaigns\u002Fcampaign-rules","docs\u002F06.campaigns\u002F2.campaign-rules",{"title":190,"path":191,"stem":192},"Campaign Success Tips","\u002Fdocs\u002Fcampaigns\u002Frunning-a-successful-campaign","docs\u002F06.campaigns\u002F3.running-a-successful-campaign",{"title":194,"icon":195,"path":196,"stem":197,"children":198},"Managing Affiliates","ph:users-three-duotone","\u002Fdocs\u002Fmanaging-affiliates","docs\u002F07.managing-affiliates\u002Findex",[199,200,204,208,212],{"title":44,"path":196,"stem":197},{"title":201,"path":202,"stem":203},"Auto-Accept vs Manual","\u002Fdocs\u002Fmanaging-affiliates\u002Fauto-accept-vs-manual-approval","docs\u002F07.managing-affiliates\u002F1.auto-accept-vs-manual-approval",{"title":205,"path":206,"stem":207},"Affiliate Statuses","\u002Fdocs\u002Fmanaging-affiliates\u002Faffiliate-statuses","docs\u002F07.managing-affiliates\u002F2.affiliate-statuses",{"title":209,"path":210,"stem":211},"Affiliate Promo Codes","\u002Fdocs\u002Fmanaging-affiliates\u002Faffiliate-promo-codes","docs\u002F07.managing-affiliates\u002F3.affiliate-promo-codes",{"title":213,"path":214,"stem":215},"Affiliate List and Exports","\u002Fdocs\u002Fmanaging-affiliates\u002Faffiliate-directory","docs\u002F07.managing-affiliates\u002F4.affiliate-directory",{"title":217,"icon":218,"path":219,"stem":220,"children":221},"Payouts & Ledger","ph:hand-coins-duotone","\u002Fdocs\u002Fpayouts","docs\u002F08.payouts\u002Findex",[222,223,227,231,235,239],{"title":44,"path":219,"stem":220},{"title":224,"path":225,"stem":226},"How Payouts Work","\u002Fdocs\u002Fpayouts\u002Fhow-payouts-work","docs\u002F08.payouts\u002F1.how-payouts-work",{"title":228,"path":229,"stem":230},"Monthly Payout Workflow","\u002Fdocs\u002Fpayouts\u002Fmonthly-payout-workflow","docs\u002F08.payouts\u002F2.monthly-payout-workflow",{"title":232,"path":233,"stem":234},"PayPal CSV Export","\u002Fdocs\u002Fpayouts\u002Fexport-paypal-csv","docs\u002F08.payouts\u002F3.export-paypal-csv",{"title":236,"path":237,"stem":238},"Wise Batch CSV Export","\u002Fdocs\u002Fpayouts\u002Fexport-wise-csv","docs\u002F08.payouts\u002F4.export-wise-csv",{"title":240,"path":241,"stem":242},"Mark Paid, Undo, & History","\u002Fdocs\u002Fpayouts\u002Fmark-paid-and-ledger","docs\u002F08.payouts\u002F5.mark-paid-and-ledger",{"title":244,"icon":245,"path":246,"stem":247,"children":248},"Attribution & Security","ph:shield-check-duotone","\u002Fdocs\u002Fattribution-and-security","docs\u002F09.attribution-and-security\u002Findex",[249,250,254,258,262,266],{"title":44,"path":246,"stem":247},{"title":251,"path":252,"stem":253},"Referral Attribution","\u002Fdocs\u002Fattribution-and-security\u002Fhow-attribution-works","docs\u002F09.attribution-and-security\u002F1.how-attribution-works",{"title":255,"path":256,"stem":257},"Cookie Window Settings","\u002Fdocs\u002Fattribution-and-security\u002Fcookie-window","docs\u002F09.attribution-and-security\u002F2.cookie-window",{"title":259,"path":260,"stem":261},"Self-Referral Prevention","\u002Fdocs\u002Fattribution-and-security\u002Fself-referral-fraud","docs\u002F09.attribution-and-security\u002F3.self-referral-fraud",{"title":263,"path":264,"stem":265},"Refunds and Chargebacks","\u002Fdocs\u002Fattribution-and-security\u002Frefunds-and-chargebacks","docs\u002F09.attribution-and-security\u002F4.refunds-and-chargebacks",{"title":267,"path":268,"stem":269},"Manual Attribution Edits","\u002Fdocs\u002Fattribution-and-security\u002Ffix-attribution-and-commissions","docs\u002F09.attribution-and-security\u002F5.fix-attribution-and-commissions",{"title":271,"icon":272,"path":273,"stem":274,"children":275},"Account, Team & Billing","ph:credit-card-duotone","\u002Fdocs\u002Faccount-and-billing","docs\u002F10.account-and-billing\u002Findex",[276,277,281,285,289,293,297],{"title":44,"path":273,"stem":274},{"title":278,"path":279,"stem":280},"Team Roles","\u002Fdocs\u002Faccount-and-billing\u002Fteam-roles","docs\u002F10.account-and-billing\u002F1.team-roles",{"title":282,"path":283,"stem":284},"Invite Team Members","\u002Fdocs\u002Faccount-and-billing\u002Finvite-team-members","docs\u002F10.account-and-billing\u002F2.invite-team-members",{"title":286,"path":287,"stem":288},"Plans and Features","\u002Fdocs\u002Faccount-and-billing\u002Fpartnersify-plans-and-pricing","docs\u002F10.account-and-billing\u002F3.partnersify-plans-and-pricing",{"title":290,"path":291,"stem":292},"Referred Revenue Cap","\u002Fdocs\u002Faccount-and-billing\u002Freferred-revenue-usage","docs\u002F10.account-and-billing\u002F4.referred-revenue-usage",{"title":294,"path":295,"stem":296},"Billing FAQ","\u002Fdocs\u002Faccount-and-billing\u002Fsubscription-faq","docs\u002F10.account-and-billing\u002F5.subscription-faq",{"title":298,"path":299,"stem":300},"Close or Delete Your Account","\u002Fdocs\u002Faccount-and-billing\u002Fclose-or-delete-account","docs\u002F10.account-and-billing\u002F6.close-or-delete-account",{"id":302,"title":74,"body":303,"description":1206,"extension":1207,"meta":1208,"navigation":398,"path":75,"seo":1209,"sitemap":1212,"stem":76,"updatedAt":1213,"__hash__":1214},"docs\u002Fdocs\u002F02.integrations\u002F8.remix.md",{"type":304,"value":305,"toc":1201},"minimark",[306,315,320,330,654,666,670,677,1151,1158,1162,1197],[307,308,309,310,314],"p",{},"Remix's ",[311,312,313],"code",{},"root.tsx"," is the right place for the pixel, and action functions or resource routes handle passing the affiliate cookie to Stripe.",[316,317,319],"h2",{"id":318},"step-1-add-the-pixel","Step 1: Add the pixel",[307,321,322,323,325,326,329],{},"Add the pixel in ",[311,324,313],{}," inside the ",[311,327,328],{},"\u003Chead>"," of your document:",[331,332,337],"pre",{"className":333,"code":334,"language":335,"meta":336,"style":336},"language-tsx shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F app\u002Froot.tsx\nimport { Links, Meta, Scripts } from '@remix-run\u002Freact';\n\nexport default function App() {\n  return (\n    \u003Chtml>\n      \u003Chead>\n        \u003CMeta \u002F>\n        \u003CLinks \u002F>\n        \u003Cscript\n          dangerouslySetInnerHTML={{\n            __html: `window.partnersify = window.partnersify || function() { (window.partnersify.q = window.partnersify.q || []).push(arguments); };`,\n          }}\n        \u002F>\n        \u003Cscript\n          async\n          src=\"https:\u002F\u002Fpartnersify.com\u002Fpartner.js\"\n          data-partnersify=\"YOUR_MERCHANT_ID\"\n        \u002F>\n      \u003C\u002Fhead>\n      \u003Cbody>\n        {\u002F* ... *\u002F}\n        \u003CScripts \u002F>\n      \u003C\u002Fbody>\n    \u003C\u002Fhtml>\n  );\n}\n","tsx","",[311,338,339,348,393,400,423,433,445,456,469,479,487,496,517,523,529,536,542,560,575,580,590,600,612,622,631,641,649],{"__ignoreMap":336},[340,341,344],"span",{"class":342,"line":343},"line",1,[340,345,347],{"class":346},"sHwdD","\u002F\u002F app\u002Froot.tsx\n",[340,349,351,355,359,363,366,369,371,374,377,380,383,387,390],{"class":342,"line":350},2,[340,352,354],{"class":353},"s7zQu","import",[340,356,358],{"class":357},"sMK4o"," {",[340,360,362],{"class":361},"sTEyZ"," Links",[340,364,365],{"class":357},",",[340,367,368],{"class":361}," Meta",[340,370,365],{"class":357},[340,372,373],{"class":361}," Scripts",[340,375,376],{"class":357}," }",[340,378,379],{"class":353}," from",[340,381,382],{"class":357}," '",[340,384,386],{"class":385},"sfazB","@remix-run\u002Freact",[340,388,389],{"class":357},"'",[340,391,392],{"class":357},";\n",[340,394,396],{"class":342,"line":395},3,[340,397,399],{"emptyLinePlaceholder":398},true,"\n",[340,401,403,406,409,413,417,420],{"class":342,"line":402},4,[340,404,405],{"class":353},"export",[340,407,408],{"class":353}," default",[340,410,412],{"class":411},"spNyl"," function",[340,414,416],{"class":415},"s2Zo4"," App",[340,418,419],{"class":357},"()",[340,421,422],{"class":357}," {\n",[340,424,426,429],{"class":342,"line":425},5,[340,427,428],{"class":353},"  return",[340,430,432],{"class":431},"swJcz"," (\n",[340,434,436,439,442],{"class":342,"line":435},6,[340,437,438],{"class":357},"    \u003C",[340,440,441],{"class":431},"html",[340,443,444],{"class":357},">\n",[340,446,448,451,454],{"class":342,"line":447},7,[340,449,450],{"class":357},"      \u003C",[340,452,453],{"class":431},"head",[340,455,444],{"class":357},[340,457,459,462,466],{"class":342,"line":458},8,[340,460,461],{"class":357},"        \u003C",[340,463,465],{"class":464},"sBMFI","Meta",[340,467,468],{"class":357}," \u002F>\n",[340,470,472,474,477],{"class":342,"line":471},9,[340,473,461],{"class":357},[340,475,476],{"class":464},"Links",[340,478,468],{"class":357},[340,480,482,484],{"class":342,"line":481},10,[340,483,461],{"class":357},[340,485,486],{"class":431},"script\n",[340,488,490,493],{"class":342,"line":489},11,[340,491,492],{"class":411},"          dangerouslySetInnerHTML",[340,494,495],{"class":357},"={{\n",[340,497,499,502,505,508,511,514],{"class":342,"line":498},12,[340,500,501],{"class":431},"            __html",[340,503,504],{"class":357},":",[340,506,507],{"class":357}," `",[340,509,510],{"class":385},"window.partnersify = window.partnersify || function() { (window.partnersify.q = window.partnersify.q || []).push(arguments); };",[340,512,513],{"class":357},"`",[340,515,516],{"class":357},",\n",[340,518,520],{"class":342,"line":519},13,[340,521,522],{"class":357},"          }}\n",[340,524,526],{"class":342,"line":525},14,[340,527,528],{"class":357},"        \u002F>\n",[340,530,532,534],{"class":342,"line":531},15,[340,533,461],{"class":357},[340,535,486],{"class":431},[340,537,539],{"class":342,"line":538},16,[340,540,541],{"class":411},"          async\n",[340,543,545,548,551,554,557],{"class":342,"line":544},17,[340,546,547],{"class":411},"          src",[340,549,550],{"class":357},"=",[340,552,553],{"class":357},"\"",[340,555,556],{"class":385},"https:\u002F\u002Fpartnersify.com\u002Fpartner.js",[340,558,559],{"class":357},"\"\n",[340,561,563,566,568,570,573],{"class":342,"line":562},18,[340,564,565],{"class":411},"          data-partnersify",[340,567,550],{"class":357},[340,569,553],{"class":357},[340,571,572],{"class":385},"YOUR_MERCHANT_ID",[340,574,559],{"class":357},[340,576,578],{"class":342,"line":577},19,[340,579,528],{"class":357},[340,581,583,586,588],{"class":342,"line":582},20,[340,584,585],{"class":357},"      \u003C\u002F",[340,587,453],{"class":431},[340,589,444],{"class":357},[340,591,593,595,598],{"class":342,"line":592},21,[340,594,450],{"class":357},[340,596,597],{"class":431},"body",[340,599,444],{"class":357},[340,601,603,606,609],{"class":342,"line":602},22,[340,604,605],{"class":357},"        {",[340,607,608],{"class":346},"\u002F* ... *\u002F",[340,610,611],{"class":357},"}\n",[340,613,615,617,620],{"class":342,"line":614},23,[340,616,461],{"class":357},[340,618,619],{"class":464},"Scripts",[340,621,468],{"class":357},[340,623,625,627,629],{"class":342,"line":624},24,[340,626,585],{"class":357},[340,628,597],{"class":431},[340,630,444],{"class":357},[340,632,634,637,639],{"class":342,"line":633},25,[340,635,636],{"class":357},"    \u003C\u002F",[340,638,441],{"class":431},[340,640,444],{"class":357},[340,642,644,647],{"class":342,"line":643},26,[340,645,646],{"class":431},"  )",[340,648,392],{"class":357},[340,650,652],{"class":342,"line":651},27,[340,653,611],{"class":357},[307,655,656,657,659,660,665],{},"Replace ",[311,658,572],{}," with the ID from ",[661,662,664],"a",{"href":663},"\u002Fapp?next=\u002Fsetup\u002Ftracking","Setup → Install tracking",".",[316,667,669],{"id":668},"step-2-pass-the-affiliate-cookie-to-stripe","Step 2: Pass the affiliate cookie to Stripe",[307,671,672,673,676],{},"In a Remix action or resource route, parse the ",[311,674,675],{},"Cookie"," header and forward it to your Stripe Checkout Session:",[331,678,682],{"className":679,"code":680,"language":681,"meta":336,"style":336},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F app\u002Froutes\u002Fcheckout.tsx (or a resource route)\nimport { redirect } from '@remix-run\u002Fnode';\nimport type { ActionFunctionArgs } from '@remix-run\u002Fnode';\nimport Stripe from 'stripe';\n\nconst stripe = new Stripe(process.env.STRIPE_SECRET_KEY!);\n\nexport async function action({ request }: ActionFunctionArgs) {\n  const cookieHeader = request.headers.get('Cookie') ?? '';\n  const partner = parseCookie(cookieHeader, 'psfy_partner');\n\n  const session = await stripe.checkout.sessions.create({\n    \u002F\u002F ... your line items, success_url, etc.\n    metadata: {\n      psfy_partner: partner ?? null,\n    },\n  });\n\n  return redirect(session.url!);\n}\n\nfunction parseCookie(header: string, name: string): string | null {\n  const match = header.match(new RegExp(`(?:^|;\\\\s*)${name}=([^;]*)`));\n  return match ? decodeURIComponent(match[1]!) : null;\n}\n","ts",[311,683,684,689,711,735,754,758,795,799,827,870,900,904,939,944,953,968,973,982,986,1008,1012,1016,1055,1112,1147],{"__ignoreMap":336},[340,685,686],{"class":342,"line":343},[340,687,688],{"class":346},"\u002F\u002F app\u002Froutes\u002Fcheckout.tsx (or a resource route)\n",[340,690,691,693,695,698,700,702,704,707,709],{"class":342,"line":350},[340,692,354],{"class":353},[340,694,358],{"class":357},[340,696,697],{"class":361}," redirect",[340,699,376],{"class":357},[340,701,379],{"class":353},[340,703,382],{"class":357},[340,705,706],{"class":385},"@remix-run\u002Fnode",[340,708,389],{"class":357},[340,710,392],{"class":357},[340,712,713,715,718,720,723,725,727,729,731,733],{"class":342,"line":395},[340,714,354],{"class":353},[340,716,717],{"class":353}," type",[340,719,358],{"class":357},[340,721,722],{"class":361}," ActionFunctionArgs",[340,724,376],{"class":357},[340,726,379],{"class":353},[340,728,382],{"class":357},[340,730,706],{"class":385},[340,732,389],{"class":357},[340,734,392],{"class":357},[340,736,737,739,742,745,747,750,752],{"class":342,"line":402},[340,738,354],{"class":353},[340,740,741],{"class":361}," Stripe ",[340,743,744],{"class":353},"from",[340,746,382],{"class":357},[340,748,749],{"class":385},"stripe",[340,751,389],{"class":357},[340,753,392],{"class":357},[340,755,756],{"class":342,"line":425},[340,757,399],{"emptyLinePlaceholder":398},[340,759,760,763,766,768,771,774,777,779,782,784,787,790,793],{"class":342,"line":435},[340,761,762],{"class":411},"const",[340,764,765],{"class":361}," stripe ",[340,767,550],{"class":357},[340,769,770],{"class":357}," new",[340,772,773],{"class":415}," Stripe",[340,775,776],{"class":361},"(process",[340,778,665],{"class":357},[340,780,781],{"class":361},"env",[340,783,665],{"class":357},[340,785,786],{"class":361},"STRIPE_SECRET_KEY",[340,788,789],{"class":357},"!",[340,791,792],{"class":361},")",[340,794,392],{"class":357},[340,796,797],{"class":342,"line":447},[340,798,399],{"emptyLinePlaceholder":398},[340,800,801,803,806,808,811,814,818,821,823,825],{"class":342,"line":458},[340,802,405],{"class":353},[340,804,805],{"class":411}," async",[340,807,412],{"class":411},[340,809,810],{"class":415}," action",[340,812,813],{"class":357},"({",[340,815,817],{"class":816},"sHdIc"," request",[340,819,820],{"class":357}," }:",[340,822,722],{"class":464},[340,824,792],{"class":357},[340,826,422],{"class":357},[340,828,829,832,835,838,840,842,845,847,850,853,855,857,859,862,865,868],{"class":342,"line":471},[340,830,831],{"class":411},"  const",[340,833,834],{"class":361}," cookieHeader",[340,836,837],{"class":357}," =",[340,839,817],{"class":361},[340,841,665],{"class":357},[340,843,844],{"class":361},"headers",[340,846,665],{"class":357},[340,848,849],{"class":415},"get",[340,851,852],{"class":431},"(",[340,854,389],{"class":357},[340,856,675],{"class":385},[340,858,389],{"class":357},[340,860,861],{"class":431},") ",[340,863,864],{"class":357},"??",[340,866,867],{"class":357}," ''",[340,869,392],{"class":357},[340,871,872,874,877,879,882,884,887,889,891,894,896,898],{"class":342,"line":481},[340,873,831],{"class":411},[340,875,876],{"class":361}," partner",[340,878,837],{"class":357},[340,880,881],{"class":415}," parseCookie",[340,883,852],{"class":431},[340,885,886],{"class":361},"cookieHeader",[340,888,365],{"class":357},[340,890,382],{"class":357},[340,892,893],{"class":385},"psfy_partner",[340,895,389],{"class":357},[340,897,792],{"class":431},[340,899,392],{"class":357},[340,901,902],{"class":342,"line":489},[340,903,399],{"emptyLinePlaceholder":398},[340,905,906,908,911,913,916,919,921,924,926,929,931,934,936],{"class":342,"line":498},[340,907,831],{"class":411},[340,909,910],{"class":361}," session",[340,912,837],{"class":357},[340,914,915],{"class":353}," await",[340,917,918],{"class":361}," stripe",[340,920,665],{"class":357},[340,922,923],{"class":361},"checkout",[340,925,665],{"class":357},[340,927,928],{"class":361},"sessions",[340,930,665],{"class":357},[340,932,933],{"class":415},"create",[340,935,852],{"class":431},[340,937,938],{"class":357},"{\n",[340,940,941],{"class":342,"line":519},[340,942,943],{"class":346},"    \u002F\u002F ... your line items, success_url, etc.\n",[340,945,946,949,951],{"class":342,"line":525},[340,947,948],{"class":431},"    metadata",[340,950,504],{"class":357},[340,952,422],{"class":357},[340,954,955,958,960,962,965],{"class":342,"line":531},[340,956,957],{"class":431},"      psfy_partner",[340,959,504],{"class":357},[340,961,876],{"class":361},[340,963,964],{"class":357}," ??",[340,966,967],{"class":357}," null,\n",[340,969,970],{"class":342,"line":538},[340,971,972],{"class":357},"    },\n",[340,974,975,978,980],{"class":342,"line":544},[340,976,977],{"class":357},"  }",[340,979,792],{"class":431},[340,981,392],{"class":357},[340,983,984],{"class":342,"line":562},[340,985,399],{"emptyLinePlaceholder":398},[340,987,988,990,992,994,997,999,1002,1004,1006],{"class":342,"line":577},[340,989,428],{"class":353},[340,991,697],{"class":415},[340,993,852],{"class":431},[340,995,996],{"class":361},"session",[340,998,665],{"class":357},[340,1000,1001],{"class":361},"url",[340,1003,789],{"class":357},[340,1005,792],{"class":431},[340,1007,392],{"class":357},[340,1009,1010],{"class":342,"line":582},[340,1011,611],{"class":357},[340,1013,1014],{"class":342,"line":592},[340,1015,399],{"emptyLinePlaceholder":398},[340,1017,1018,1021,1023,1025,1028,1030,1033,1035,1038,1040,1042,1045,1047,1050,1053],{"class":342,"line":602},[340,1019,1020],{"class":411},"function",[340,1022,881],{"class":415},[340,1024,852],{"class":357},[340,1026,1027],{"class":816},"header",[340,1029,504],{"class":357},[340,1031,1032],{"class":464}," string",[340,1034,365],{"class":357},[340,1036,1037],{"class":816}," name",[340,1039,504],{"class":357},[340,1041,1032],{"class":464},[340,1043,1044],{"class":357},"):",[340,1046,1032],{"class":464},[340,1048,1049],{"class":357}," |",[340,1051,1052],{"class":464}," null",[340,1054,422],{"class":357},[340,1056,1057,1059,1062,1064,1067,1069,1072,1074,1077,1080,1082,1084,1087,1090,1093,1096,1099,1102,1105,1107,1110],{"class":342,"line":614},[340,1058,831],{"class":411},[340,1060,1061],{"class":361}," match",[340,1063,837],{"class":357},[340,1065,1066],{"class":361}," header",[340,1068,665],{"class":357},[340,1070,1071],{"class":415},"match",[340,1073,852],{"class":431},[340,1075,1076],{"class":357},"new",[340,1078,1079],{"class":415}," RegExp",[340,1081,852],{"class":431},[340,1083,513],{"class":357},[340,1085,1086],{"class":385},"(?:^|;",[340,1088,1089],{"class":361},"\\\\",[340,1091,1092],{"class":385},"s*)",[340,1094,1095],{"class":357},"${",[340,1097,1098],{"class":361},"name",[340,1100,1101],{"class":357},"}",[340,1103,1104],{"class":385},"=([^;]*)",[340,1106,513],{"class":357},[340,1108,1109],{"class":431},"))",[340,1111,392],{"class":357},[340,1113,1114,1116,1118,1121,1124,1126,1128,1131,1135,1138,1140,1142,1144],{"class":342,"line":624},[340,1115,428],{"class":353},[340,1117,1061],{"class":361},[340,1119,1120],{"class":357}," ?",[340,1122,1123],{"class":415}," decodeURIComponent",[340,1125,852],{"class":431},[340,1127,1071],{"class":361},[340,1129,1130],{"class":431},"[",[340,1132,1134],{"class":1133},"sbssI","1",[340,1136,1137],{"class":431},"]",[340,1139,789],{"class":357},[340,1141,861],{"class":431},[340,1143,504],{"class":357},[340,1145,1146],{"class":357}," null;\n",[340,1148,1149],{"class":342,"line":633},[340,1150,611],{"class":357},[307,1152,1153,1154,1157],{},"If you prefer, install the ",[311,1155,1156],{},"cookie"," npm package for parsing. The pattern above works without dependencies.",[316,1159,1161],{"id":1160},"step-3-test-it","Step 3: Test it",[1163,1164,1165,1169,1172,1182,1189],"ol",{},[1166,1167,1168],"li",{},"Sign up as an affiliate on your own portal",[1166,1170,1171],{},"Visit your site via the affiliate referral link",[1166,1173,1174,1175,1179,1180],{},"Run the ",[1176,1177,1178],"strong",{},"Test Pixel"," check at ",[661,1181,664],{"href":663},[1166,1183,1184,1185],{},"Complete a test Stripe checkout using a ",[661,1186,1188],{"href":1187},"https:\u002F\u002Fdocs.stripe.com\u002Ftesting","test card",[1166,1190,1191,1192,1196],{},"Confirm the attributed sale appears in ",[661,1193,1195],{"href":1194},"\u002Fapp?next=\u002Fsales","Sales"," within 30 seconds",[1198,1199,1200],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":336,"searchDepth":350,"depth":350,"links":1202},[1203,1204,1205],{"id":318,"depth":350,"text":319},{"id":668,"depth":350,"text":669},{"id":1160,"depth":350,"text":1161},"Install Partnersify tracking on Remix, pixel setup in root.tsx and reading the affiliate cookie in action functions.","md",{},{"title":1210,"description":1211},"Partnersify Tracking on Remix","Add the Partnersify pixel to Remix and pass the affiliate cookie to Stripe Checkout Sessions.",{"loc":75,"lastmod":1213},"2026-06-20","16IS63KgZnyrXVxf1420Fd9h4mSbGIWvhbHPuA5R2dM",[1216,1218],{"title":70,"path":71,"stem":72,"description":1217,"children":-1},"Install Partnersify tracking on SvelteKit, pixel setup and reading the affiliate cookie in server load functions.",{"title":44,"path":80,"stem":81,"description":1219,"children":-1},"Connect Stripe, install the tracking pixel, and confirm referred sales show up in your dashboard.",1787700704420]