[{"data":1,"prerenderedAt":1255},["ShallowReactive",2],{"navigation":3,"/cancel-flows/email-verified-cancel-flow":310,"/cancel-flows/email-verified-cancel-flow-surround":1252},[4,13,161,197,211,236,290,300],{"title":5,"_path":6,"children":7,"_id":12,"description":11},"Getting Started","/getting-started",[8],{"title":9,"_path":6,"_id":10,"description":11},"Overview","content:1.getting-started:1.index.md","Everything you need to know about integrating Churnkey with your product and billing stack.","content:1.getting-started:_dir.yml",{"title":14,"_path":15,"children":16,"_id":160},"Cancel Flows","/cancel-flows",[17,22,27,32,37,42,47,52,57,62,67,72,116,130],{"title":18,"_path":19,"_id":20,"description":21},"Quick Start Guide","/cancel-flows/quick-start-guide","content:2.cancel-flows:1.quick-start-guide.md","A 3-step guide on how to implement Cancel Flows in your website",{"title":23,"_path":24,"_id":25,"description":26},"Cancel Flow Structure","/cancel-flows/flow-configuration","content:2.cancel-flows:2.flow configuration.md","Learn about the available components that make up a Cancel Flow, from initial offers to cancellation confirmation, and how each step contributes to the overall flow.",{"title":28,"_path":29,"_id":30,"description":31},"Configuration Options","/cancel-flows/further-configuration","content:2.cancel-flows:3.further-configuration.md","Additional details for all of the following options are included below.",{"title":33,"_path":34,"_id":35,"description":36},"Custom Styling","/cancel-flows/custom-styling","content:2.cancel-flows:4.custom-styling.md","Brand your Churnkey Cancel Flow with your own CSS",{"title":38,"_path":39,"_id":40,"description":41},"Managed Email Flow","/cancel-flows/email-verified-cancel-flow","content:2.cancel-flows:6.email-verified-cancel-flow.md","Our managed email based setup takes care of customer verification for you with an email verification code.",{"title":43,"_path":44,"_id":45,"description":46},"A/B Testing","/cancel-flows/a-b-testing","content:2.cancel-flows:7.a-b-testing.md","Run controlled experiments to optimize your Cancel Flows and maximize customer retention.",{"title":48,"_path":49,"_id":50,"description":51},"Testing","/cancel-flows/cancel-flow-testing","content:2.cancel-flows:8.cancel-flow-testing.md","Ensure that your Cancel Flow is working as intended before going live.",{"title":53,"_path":54,"_id":55,"description":56},"Pause Wall","/cancel-flows/pause-wall","content:2.cancel-flows:9.pause-wall.md","Block access to your application during subscription pauses",{"title":58,"_path":59,"_id":60,"description":61},"Click-to-Cancel Compliance","/cancel-flows/click-to-cancel","content:2.cancel-flows:10.click-to-cancel.md","Implement automatic compliance with global subscription cancellation requirements",{"title":63,"_path":64,"_id":65,"description":66},"Structured Follow-Up Questions","/cancel-flows/structured-follow-up-questions","content:2.cancel-flows:11.structured-follow-up-questions.md","Collect deeper cancellation insights and deliver targeted retention offers with a second layer of predefined follow-up options in your cancel flow survey.",{"title":68,"_path":69,"_id":70,"description":71},"Adaptive Offers","/cancel-flows/adaptive-offers","content:2.cancel-flows:adaptive-offers.md","AI-powered discount optimization that automatically finds the perfect offer for each customer",{"title":73,"_path":74,"children":75},"Analytics","/cancel-flows/analytics",[76,81,86,91,96,101,106,111],{"title":77,"_path":78,"_id":79,"description":80},"Boosted Revenue","/cancel-flows/analytics/average-boosted-revenue","content:2.cancel-flows:analytics:1.average-boosted-revenue.md","Measure the long-term value of retained subscribers",{"title":82,"_path":83,"_id":84,"description":85},"Save Rate","/cancel-flows/analytics/save-rate","content:2.cancel-flows:analytics:2.save-rate.md","The percentage of customers that your Cancel Flows saved from cancellation",{"title":87,"_path":88,"_id":89,"description":90},"Reactivation Rate","/cancel-flows/analytics/reactivation-rate","content:2.cancel-flows:analytics:3.reactivation-rate.md","The percentage of customers who pay at least one invoice after being saved",{"title":92,"_path":93,"_id":94,"description":95},"Sessions","/cancel-flows/analytics/session-outcomes","content:2.cancel-flows:analytics:4.session-outcomes.md","Track each interaction that a customer has with your Cancel Flows",{"title":97,"_path":98,"_id":99,"description":100},"Cancellation Trends","/cancel-flows/analytics/cancellation-trends","content:2.cancel-flows:analytics:5.cancellation-trends.md","Analyze and interpret the selection rates and trends for cancellation reasons in your Cancel Flows.",{"title":102,"_path":103,"_id":104,"description":105},"Feedback AI","/cancel-flows/analytics/feedback-ai","content:2.cancel-flows:analytics:6.feedback-ai.md","Transform customer feedback into actionable insights with AI-powered categorization and analysis",{"title":107,"_path":108,"_id":109,"description":110},"Response Flow","/cancel-flows/analytics/response-flow","content:2.cancel-flows:analytics:7.response-flow.md","Visualize how customers move from primary cancellation reasons to specific follow-up selections with the Sankey diagram",{"title":112,"_path":113,"_id":114,"description":115},"Response Explorer","/cancel-flows/analytics/response-explorer","content:2.cancel-flows:analytics:8.response-explorer.md","Drill into individual follow-up responses with the Treemap visualization, search, trend analysis, and MRR impact sorting",{"title":117,"_path":118,"children":119},"Multi Language Support","/cancel-flows/multi-language-support",[120,125],{"title":121,"_path":122,"_id":123,"description":124},"Manual Translations","/cancel-flows/multi-language-support/multi-language-support","content:2.cancel-flows:multi-language-support:5.multi-language-support.md","Support multiple languages.",{"title":126,"_path":127,"_id":128,"description":129},"Automatic Translations","/cancel-flows/multi-language-support/automatic-translation","content:2.cancel-flows:multi-language-support:automatic-translation.md","Enable AI-powered multilingual support for your Cancel Flows with a single toggle.",{"title":131,"_path":132,"children":133,"_id":159},"Offers","/cancel-flows/offers",[134,139,144,149,154],{"title":135,"_path":136,"_id":137,"description":138},"Discount","/cancel-flows/offers/discounts","content:2.cancel-flows:offers:discounts.md","Offer targeted subscription discounts to reduce churn and increase customer retention",{"title":140,"_path":141,"_id":142,"description":143},"Hidden Plans","/cancel-flows/offers/hidden-plans","content:2.cancel-flows:offers:hidden-plans.md","Use the Switch Subscription Plan offer to present exclusive, non-public plans to customers during cancellation",{"title":145,"_path":146,"_id":147,"description":148},"Pause Subscription","/cancel-flows/offers/pause-subscription","content:2.cancel-flows:offers:pause-subscription.md","Temporarily suspend subscription payments without canceling the service",{"title":150,"_path":151,"_id":152,"description":153},"Switch Subscription Plan","/cancel-flows/offers/switch-subscription","content:2.cancel-flows:offers:switch-subscription.md","Allow customers to change to a different subscription plan during the cancellation flow to retain them with a more suitable option",{"title":155,"_path":156,"_id":157,"description":158},"Trial Extension","/cancel-flows/offers/trial-extension","content:2.cancel-flows:offers:trial-extension.md","Extend customer trial periods to reduce churn and increase conversion rates during the critical trial-to-paid transition","content:2.cancel-flows:offers:_dir.yml","content:2.cancel-flows:_dir.yml",{"title":162,"_path":163,"children":164,"_id":196},"Payment Recovery","/failed-payment-recovery",[165,169,174,179,184,188],{"title":5,"_path":166,"_id":167,"description":168},"/failed-payment-recovery/payment-recovery","content:3.failed-payment-recovery:1.payment-recovery.md","Recover failed payment revenue, automatically.",{"title":170,"_path":171,"_id":172,"description":173},"Customize your Campaigns","/failed-payment-recovery/campaign-customization","content:3.failed-payment-recovery:2.campaign-customization.md","Customize your Payment Recovery Campaigns to match the unique needs of your individual customers.",{"title":175,"_path":176,"_id":177,"description":178},"Failed Payment Wall","/failed-payment-recovery/failed-payment-wall","content:3.failed-payment-recovery:3.failed-payment-wall.md","Block access to your application when payments fail",{"title":180,"_path":181,"_id":182,"description":183},"Billing Contact API","/failed-payment-recovery/billing-contact-api","content:3.failed-payment-recovery:4.billing-contact-api.md","Send Payment Recovery emails to multiple billing contacts",{"title":43,"_path":185,"_id":186,"description":187},"/failed-payment-recovery/ab-testing","content:3.failed-payment-recovery:5.ab-testing.md","Optimize your payment recovery campaigns through controlled experiments that maximize revenue recovery.",{"title":73,"_path":189,"children":190},"/failed-payment-recovery/analytics",[191],{"title":192,"_path":193,"_id":194,"description":195},"Overall Performance","/failed-payment-recovery/analytics/overview","content:3.failed-payment-recovery:analytics:1.overview.md","Key performance metrics for your Payment Recovery campaigns","content:3.failed-payment-recovery:_dir.yml",{"title":198,"_path":199,"children":200,"_id":210},"Reactivations","/reactivations",[201,205],{"title":5,"_path":202,"_id":203,"description":204},"/reactivations/reactivations","content:4.reactivations:1.reactivations.md","Churnkey helps you to recover unsubscribed customers with easy, customizable Reactivation Email Campaigns.",{"title":206,"_path":207,"_id":208,"description":209},"Customization","/reactivations/campaign-customization-guide","content:4.reactivations:2.campaign-customization-guide.md","Customize your Reactivation Campaigns to match the individual needs of your customers.","content:4.reactivations:_dir.yml",{"title":212,"_path":213,"children":214,"_id":235},"Data Integrations","/data-integrations",[215,220,225,230],{"title":216,"_path":217,"_id":218,"description":219},"Data API","/data-integrations/data-api","content:6.data-integrations:1.data-api.md","Access your data through our API.",{"title":221,"_path":222,"_id":223,"description":224},"Slack notifications","/data-integrations/slack","content:6.data-integrations:2.slack.md","Connect Churnkey with your organization's Slack and to send session notifications to a specific channel.",{"title":226,"_path":227,"_id":228,"description":229},"Webhooks","/data-integrations/webhooks","content:6.data-integrations:2.webhooks.md","Churnkey can send webhooks to automatically notify your application whenever a customer completes a session.",{"title":231,"_path":232,"_id":233,"description":234},"Event Tracking","/data-integrations/event-tracking","content:6.data-integrations:3.event-tracking.md","Track your customers' key-value metrics on a per customer basis.","content:6.data-integrations:_dir.yml",{"title":237,"_path":238,"children":239,"_id":289},"Billing Providers","/billing-providers",[240,245,250,255,260,265,270,275],{"title":241,"_path":242,"_id":243,"description":244},"Payment Providers","/billing-providers/payment-provider-overview","content:7.billing-providers:1.payment-provider-overview.md","Feature support for Stripe, Chargebee, Paddle, and Braintree",{"title":246,"_path":247,"_id":248,"description":249},"Stripe","/billing-providers/stripe","content:7.billing-providers:3.stripe.md","Integrate Churnkey with your Stripe account",{"title":251,"_path":252,"_id":253,"description":254},"Chargebee","/billing-providers/chargebee","content:7.billing-providers:4.chargebee.md","Integrate Churnkey with your Chargebee account",{"title":256,"_path":257,"_id":258,"description":259},"Paddle Classic","/billing-providers/paddle-classic","content:7.billing-providers:5.paddle-classic.md","Integrate Churnkey with your Paddle Classic account",{"title":261,"_path":262,"_id":263,"description":264},"Paddle Billing","/billing-providers/paddle-billing","content:7.billing-providers:6.paddle-billing.md","Integrate Churnkey with your Paddle Billing account",{"title":266,"_path":267,"_id":268,"description":269},"Braintree","/billing-providers/braintree","content:7.billing-providers:7.braintree.md","Integrate Churnkey with your Braintree account",{"title":271,"_path":272,"_id":273,"description":274},"Maxio","/billing-providers/maxio","content:7.billing-providers:8.maxio.md","Integrate Churnkey with your Maxio (formerly Chargify) account",{"title":276,"_path":277,"children":278},"Direct Connect","/billing-providers/direct-connect",[279,284],{"title":280,"_path":281,"_id":282,"description":283},"Churnkey Direct","/billing-providers/direct-connect/direct","content:7.billing-providers:9.direct-connect:1.direct.md","Integrate Churnkey with any billing system using Direct mode",{"title":285,"_path":286,"_id":287,"description":288},"Direct Mode Examples","/billing-providers/direct-connect/direct-examples","content:7.billing-providers:9.direct-connect:2.direct-examples.md","Real-world examples for common subscription scenarios","content:7.billing-providers:_dir.yml",{"title":291,"_path":292,"children":293,"_id":299},"Account","/account",[294],{"title":295,"_path":296,"_id":297,"description":298},"Multi-Workspace Support","/account/multi-workspace-support","content:8.account:1.multi-workspace-support.md","Use one email address to access multiple Churnkey workspaces and switch between them instantly.","content:8.account:_dir.yml",{"title":301,"_path":302,"children":303,"_id":309},"Support","/support",[304],{"title":305,"_path":306,"_id":307,"description":308},"Frequently Asked Questions","/support/faqs","content:9.support:1.faqs.md","We want setting up Churnkey to be a breeze.","content:9.support:_dir.yml",{"_path":39,"_dir":311,"_draft":312,"_partial":312,"_locale":313,"title":38,"description":41,"body":314,"_type":1246,"_id":40,"_source":1247,"_file":1248,"_stem":1249,"_extension":1250,"sitemap":1251},"cancel-flows",false,"",{"type":315,"children":316,"toc":1238},"root",[317,326,349,645,651,869,876,892,901,906,917,923,928,949,1050,1070,1079,1232],{"type":318,"tag":319,"props":320,"children":322},"element","h4",{"id":321},"_1-insert-the-churnkey-js-snippet",[323],{"type":324,"value":325},"text","1. Insert the Churnkey JS Snippet",{"type":318,"tag":327,"props":328,"children":329},"p",{},[330,332,339,341,347],{"type":324,"value":331},"The following code will pull in the Churnkey client-side module and add it under the ",{"type":318,"tag":333,"props":334,"children":336},"code",{"className":335},[],[337],{"type":324,"value":338},"window.churnkey",{"type":324,"value":340}," namespace so that you can later initialize the offboarding flow for your customers. Place it in the HTML ",{"type":318,"tag":333,"props":342,"children":344},{"className":343},[],[345],{"type":324,"value":346},"\u003Chead>",{"type":324,"value":348}," element.",{"type":318,"tag":350,"props":351,"children":355},"pre",{"className":352,"code":353,"language":354,"meta":313,"style":313},"language-jsx shiki shiki-themes github-light-default github-light-default github-dark-default","\u003Cscript>\n!function(){\n  if (!window.churnkey || !window.churnkey.created) {\n    window.churnkey = { created: true };\n    const a = document.createElement('script');\n    a.src = 'https://assets.churnkey.co/js/app.js?appId=YOUR_APP_ID';\n    a.async = true;\n    const b = document.getElementsByTagName('script')[0];\n    b.parentNode.insertBefore(a, b);\n  }\n}();\n\u003C/script>\n","jsx",[356],{"type":318,"tag":333,"props":357,"children":358},{"__ignoreMap":313},[359,382,397,437,467,506,529,551,596,605,614,628],{"type":318,"tag":360,"props":361,"children":364},"span",{"class":362,"line":363},"line",1,[365,371,377],{"type":318,"tag":360,"props":366,"children":368},{"style":367},"--shiki-light:#1F2328;--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[369],{"type":324,"value":370},"\u003C",{"type":318,"tag":360,"props":372,"children":374},{"style":373},"--shiki-light:#116329;--shiki-default:#116329;--shiki-dark:#7EE787",[375],{"type":324,"value":376},"script",{"type":318,"tag":360,"props":378,"children":379},{"style":367},[380],{"type":324,"value":381},">\n",{"type":318,"tag":360,"props":383,"children":385},{"class":362,"line":384},2,[386,391],{"type":318,"tag":360,"props":387,"children":388},{"style":367},[389],{"type":324,"value":390},"!function()",{"type":318,"tag":360,"props":392,"children":394},{"style":393},"--shiki-light:#CF222E;--shiki-default:#CF222E;--shiki-dark:#FF7B72",[395],{"type":324,"value":396},"{\n",{"type":318,"tag":360,"props":398,"children":400},{"class":362,"line":399},3,[401,407,412,417,422,427,432],{"type":318,"tag":360,"props":402,"children":404},{"style":403},"--shiki-light:#8250DF;--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[405],{"type":324,"value":406},"  if",{"type":318,"tag":360,"props":408,"children":409},{"style":367},[410],{"type":324,"value":411}," (",{"type":318,"tag":360,"props":413,"children":414},{"style":393},[415],{"type":324,"value":416},"!",{"type":318,"tag":360,"props":418,"children":419},{"style":367},[420],{"type":324,"value":421},"window.churnkey ",{"type":318,"tag":360,"props":423,"children":424},{"style":393},[425],{"type":324,"value":426},"||",{"type":318,"tag":360,"props":428,"children":429},{"style":393},[430],{"type":324,"value":431}," !",{"type":318,"tag":360,"props":433,"children":434},{"style":367},[435],{"type":324,"value":436},"window.churnkey.created) {\n",{"type":318,"tag":360,"props":438,"children":440},{"class":362,"line":439},4,[441,446,451,456,462],{"type":318,"tag":360,"props":442,"children":443},{"style":367},[444],{"type":324,"value":445},"    window.churnkey ",{"type":318,"tag":360,"props":447,"children":448},{"style":393},[449],{"type":324,"value":450},"=",{"type":318,"tag":360,"props":452,"children":453},{"style":367},[454],{"type":324,"value":455}," { created: ",{"type":318,"tag":360,"props":457,"children":459},{"style":458},"--shiki-light:#0550AE;--shiki-default:#0550AE;--shiki-dark:#79C0FF",[460],{"type":324,"value":461},"true",{"type":318,"tag":360,"props":463,"children":464},{"style":367},[465],{"type":324,"value":466}," };\n",{"type":318,"tag":360,"props":468,"children":470},{"class":362,"line":469},5,[471,476,480,485,490,495,501],{"type":318,"tag":360,"props":472,"children":473},{"style":367},[474],{"type":324,"value":475},"    const a ",{"type":318,"tag":360,"props":477,"children":478},{"style":393},[479],{"type":324,"value":450},{"type":318,"tag":360,"props":481,"children":482},{"style":367},[483],{"type":324,"value":484}," document.",{"type":318,"tag":360,"props":486,"children":487},{"style":403},[488],{"type":324,"value":489},"createElement",{"type":318,"tag":360,"props":491,"children":492},{"style":367},[493],{"type":324,"value":494},"(",{"type":318,"tag":360,"props":496,"children":498},{"style":497},"--shiki-light:#0A3069;--shiki-default:#0A3069;--shiki-dark:#A5D6FF",[499],{"type":324,"value":500},"'script'",{"type":318,"tag":360,"props":502,"children":503},{"style":367},[504],{"type":324,"value":505},");\n",{"type":318,"tag":360,"props":507,"children":509},{"class":362,"line":508},6,[510,515,519,524],{"type":318,"tag":360,"props":511,"children":512},{"style":367},[513],{"type":324,"value":514},"    a.src ",{"type":318,"tag":360,"props":516,"children":517},{"style":393},[518],{"type":324,"value":450},{"type":318,"tag":360,"props":520,"children":521},{"style":497},[522],{"type":324,"value":523}," 'https://assets.churnkey.co/js/app.js?appId=YOUR_APP_ID'",{"type":318,"tag":360,"props":525,"children":526},{"style":367},[527],{"type":324,"value":528},";\n",{"type":318,"tag":360,"props":530,"children":532},{"class":362,"line":531},7,[533,538,542,547],{"type":318,"tag":360,"props":534,"children":535},{"style":367},[536],{"type":324,"value":537},"    a.async ",{"type":318,"tag":360,"props":539,"children":540},{"style":393},[541],{"type":324,"value":450},{"type":318,"tag":360,"props":543,"children":544},{"style":458},[545],{"type":324,"value":546}," true",{"type":318,"tag":360,"props":548,"children":549},{"style":367},[550],{"type":324,"value":528},{"type":318,"tag":360,"props":552,"children":554},{"class":362,"line":553},8,[555,560,564,568,573,577,581,586,591],{"type":318,"tag":360,"props":556,"children":557},{"style":367},[558],{"type":324,"value":559},"    const b ",{"type":318,"tag":360,"props":561,"children":562},{"style":393},[563],{"type":324,"value":450},{"type":318,"tag":360,"props":565,"children":566},{"style":367},[567],{"type":324,"value":484},{"type":318,"tag":360,"props":569,"children":570},{"style":403},[571],{"type":324,"value":572},"getElementsByTagName",{"type":318,"tag":360,"props":574,"children":575},{"style":367},[576],{"type":324,"value":494},{"type":318,"tag":360,"props":578,"children":579},{"style":497},[580],{"type":324,"value":500},{"type":318,"tag":360,"props":582,"children":583},{"style":367},[584],{"type":324,"value":585},")[",{"type":318,"tag":360,"props":587,"children":588},{"style":458},[589],{"type":324,"value":590},"0",{"type":318,"tag":360,"props":592,"children":593},{"style":367},[594],{"type":324,"value":595},"];\n",{"type":318,"tag":360,"props":597,"children":599},{"class":362,"line":598},9,[600],{"type":318,"tag":360,"props":601,"children":602},{"style":367},[603],{"type":324,"value":604},"    b.parentNode.insertBefore(a, b);\n",{"type":318,"tag":360,"props":606,"children":608},{"class":362,"line":607},10,[609],{"type":318,"tag":360,"props":610,"children":611},{"style":367},[612],{"type":324,"value":613},"  }\n",{"type":318,"tag":360,"props":615,"children":617},{"class":362,"line":616},11,[618,623],{"type":318,"tag":360,"props":619,"children":620},{"style":393},[621],{"type":324,"value":622},"}",{"type":318,"tag":360,"props":624,"children":625},{"style":367},[626],{"type":324,"value":627},"();\n",{"type":318,"tag":360,"props":629,"children":631},{"class":362,"line":630},12,[632,637,641],{"type":318,"tag":360,"props":633,"children":634},{"style":367},[635],{"type":324,"value":636},"\u003C/",{"type":318,"tag":360,"props":638,"children":639},{"style":373},[640],{"type":324,"value":376},{"type":318,"tag":360,"props":642,"children":643},{"style":367},[644],{"type":324,"value":381},{"type":318,"tag":319,"props":646,"children":648},{"id":647},"_2-linking-your-cancel-button-to-your-cancel-flow",[649],{"type":324,"value":650},"2. Linking your cancel button to your Cancel Flow",{"type":318,"tag":350,"props":652,"children":654},{"className":352,"code":653,"language":354,"meta":313,"style":313},"document.getElementById('BUTTON_ID').addEventListener('click', function () {\n  window.churnkey.managedFlow('show', {\n    appId: 'YOUR_APP_ID',\n    mode: 'live',\n    provider: 'stripe',\n    prefilled: {\n      email: 'jane@example.com', //optional\n    },\n    customerDataEndpoint: 'https://your_company_endpoint/customer-data', //optional\n  });\n});\n",[655],{"type":318,"tag":333,"props":656,"children":657},{"__ignoreMap":313},[658,714,741,759,776,793,801,824,832,853,861],{"type":318,"tag":360,"props":659,"children":660},{"class":362,"line":363},[661,666,671,675,680,685,690,694,699,704,709],{"type":318,"tag":360,"props":662,"children":663},{"style":367},[664],{"type":324,"value":665},"document.",{"type":318,"tag":360,"props":667,"children":668},{"style":403},[669],{"type":324,"value":670},"getElementById",{"type":318,"tag":360,"props":672,"children":673},{"style":367},[674],{"type":324,"value":494},{"type":318,"tag":360,"props":676,"children":677},{"style":497},[678],{"type":324,"value":679},"'BUTTON_ID'",{"type":318,"tag":360,"props":681,"children":682},{"style":367},[683],{"type":324,"value":684},").",{"type":318,"tag":360,"props":686,"children":687},{"style":403},[688],{"type":324,"value":689},"addEventListener",{"type":318,"tag":360,"props":691,"children":692},{"style":367},[693],{"type":324,"value":494},{"type":318,"tag":360,"props":695,"children":696},{"style":497},[697],{"type":324,"value":698},"'click'",{"type":318,"tag":360,"props":700,"children":701},{"style":367},[702],{"type":324,"value":703},", ",{"type":318,"tag":360,"props":705,"children":706},{"style":393},[707],{"type":324,"value":708},"function",{"type":318,"tag":360,"props":710,"children":711},{"style":367},[712],{"type":324,"value":713}," () {\n",{"type":318,"tag":360,"props":715,"children":716},{"class":362,"line":384},[717,722,727,731,736],{"type":318,"tag":360,"props":718,"children":719},{"style":367},[720],{"type":324,"value":721},"  window.churnkey.",{"type":318,"tag":360,"props":723,"children":724},{"style":403},[725],{"type":324,"value":726},"managedFlow",{"type":318,"tag":360,"props":728,"children":729},{"style":367},[730],{"type":324,"value":494},{"type":318,"tag":360,"props":732,"children":733},{"style":497},[734],{"type":324,"value":735},"'show'",{"type":318,"tag":360,"props":737,"children":738},{"style":367},[739],{"type":324,"value":740},", {\n",{"type":318,"tag":360,"props":742,"children":743},{"class":362,"line":399},[744,749,754],{"type":318,"tag":360,"props":745,"children":746},{"style":367},[747],{"type":324,"value":748},"    appId: ",{"type":318,"tag":360,"props":750,"children":751},{"style":497},[752],{"type":324,"value":753},"'YOUR_APP_ID'",{"type":318,"tag":360,"props":755,"children":756},{"style":367},[757],{"type":324,"value":758},",\n",{"type":318,"tag":360,"props":760,"children":761},{"class":362,"line":439},[762,767,772],{"type":318,"tag":360,"props":763,"children":764},{"style":367},[765],{"type":324,"value":766},"    mode: ",{"type":318,"tag":360,"props":768,"children":769},{"style":497},[770],{"type":324,"value":771},"'live'",{"type":318,"tag":360,"props":773,"children":774},{"style":367},[775],{"type":324,"value":758},{"type":318,"tag":360,"props":777,"children":778},{"class":362,"line":469},[779,784,789],{"type":318,"tag":360,"props":780,"children":781},{"style":367},[782],{"type":324,"value":783},"    provider: ",{"type":318,"tag":360,"props":785,"children":786},{"style":497},[787],{"type":324,"value":788},"'stripe'",{"type":318,"tag":360,"props":790,"children":791},{"style":367},[792],{"type":324,"value":758},{"type":318,"tag":360,"props":794,"children":795},{"class":362,"line":508},[796],{"type":318,"tag":360,"props":797,"children":798},{"style":367},[799],{"type":324,"value":800},"    prefilled: {\n",{"type":318,"tag":360,"props":802,"children":803},{"class":362,"line":531},[804,809,814,818],{"type":318,"tag":360,"props":805,"children":806},{"style":367},[807],{"type":324,"value":808},"      email: ",{"type":318,"tag":360,"props":810,"children":811},{"style":497},[812],{"type":324,"value":813},"'jane@example.com'",{"type":318,"tag":360,"props":815,"children":816},{"style":367},[817],{"type":324,"value":703},{"type":318,"tag":360,"props":819,"children":821},{"style":820},"--shiki-light:#6E7781;--shiki-default:#6E7781;--shiki-dark:#8B949E",[822],{"type":324,"value":823},"//optional\n",{"type":318,"tag":360,"props":825,"children":826},{"class":362,"line":553},[827],{"type":318,"tag":360,"props":828,"children":829},{"style":367},[830],{"type":324,"value":831},"    },\n",{"type":318,"tag":360,"props":833,"children":834},{"class":362,"line":598},[835,840,845,849],{"type":318,"tag":360,"props":836,"children":837},{"style":367},[838],{"type":324,"value":839},"    customerDataEndpoint: ",{"type":318,"tag":360,"props":841,"children":842},{"style":497},[843],{"type":324,"value":844},"'https://your_company_endpoint/customer-data'",{"type":318,"tag":360,"props":846,"children":847},{"style":367},[848],{"type":324,"value":703},{"type":318,"tag":360,"props":850,"children":851},{"style":820},[852],{"type":324,"value":823},{"type":318,"tag":360,"props":854,"children":855},{"class":362,"line":607},[856],{"type":318,"tag":360,"props":857,"children":858},{"style":367},[859],{"type":324,"value":860},"  });\n",{"type":318,"tag":360,"props":862,"children":863},{"class":362,"line":616},[864],{"type":318,"tag":360,"props":865,"children":866},{"style":367},[867],{"type":324,"value":868},"});\n",{"type":318,"tag":870,"props":871,"children":873},"h2",{"id":872},"how-it-works",[874],{"type":324,"value":875},"How it Works",{"type":318,"tag":327,"props":877,"children":878},{},[879,881,890],{"type":324,"value":880},"After your customer enters their email address, we will send a verification code to that email. They’ll have 15 minutes to enter the verification code, at which point they will proceed to the Churnkey Cancel Flow as usual. You can customize the verification email, including which address it comes from and the subject line, on ",{"type":318,"tag":882,"props":883,"children":887},"a",{"href":884,"rel":885},"https://app.churnkey.co/flows/settings",[886],"nofollow",[888],{"type":324,"value":889},"Churnkey | Flows | Settings",{"type":324,"value":891},".",{"type":318,"tag":327,"props":893,"children":894},{},[895],{"type":318,"tag":896,"props":897,"children":900},"img",{"alt":898,"src":899},"Email verification flow screenshot","/img/email-verification.jpeg",[],{"type":318,"tag":870,"props":902,"children":904},{"id":903},"configuration-options",[905],{"type":324,"value":28},{"type":318,"tag":327,"props":907,"children":908},{},[909,911,916],{"type":324,"value":910},"You can use all of the same configuration options from ",{"type":318,"tag":882,"props":912,"children":913},{"href":19},[914],{"type":324,"value":915},"our standard setup",{"type":324,"value":891},{"type":318,"tag":319,"props":918,"children":920},{"id":919},"customer-attributes-with-a-data-endpoint",[921],{"type":324,"value":922},"Customer Attributes with a Data Endpoint",{"type":318,"tag":327,"props":924,"children":925},{},[926],{"type":324,"value":927},"Our customer data endpoint is particularly relevant for email based setups, since you may not have access to which customer is cancelling before they enter their email address.",{"type":318,"tag":327,"props":929,"children":930},{},[931,933,939,941,947],{"type":324,"value":932},"Once a customer’s email address has been verified and Churnkey finds the matching customer ID within your payment provider data, if ",{"type":318,"tag":333,"props":934,"children":936},{"className":935},[],[937],{"type":324,"value":938},"customerDataEndpoint",{"type":324,"value":940}," is defined, Churnkey will make a ",{"type":318,"tag":333,"props":942,"children":944},{"className":943},[],[945],{"type":324,"value":946},"POST",{"type":324,"value":948}," request to that endpoint.",{"type":318,"tag":350,"props":950,"children":952},{"className":352,"code":951,"language":354,"meta":313,"style":313},"POST https://your_company_endpoint/customer-data\n\nBODY\n{\n  customerId: 'cus_4815162342',\n  signature: 'signed_customer_hmac'\n}\n",[953],{"type":318,"tag":333,"props":954,"children":955},{"__ignoreMap":313},[956,979,988,996,1003,1025,1042],{"type":318,"tag":360,"props":957,"children":958},{"class":362,"line":363},[959,963,969,974],{"type":318,"tag":360,"props":960,"children":961},{"style":458},[962],{"type":324,"value":946},{"type":318,"tag":360,"props":964,"children":966},{"style":965},"--shiki-light:#953800;--shiki-default:#953800;--shiki-dark:#FFA657",[967],{"type":324,"value":968}," https",{"type":318,"tag":360,"props":970,"children":971},{"style":367},[972],{"type":324,"value":973},":",{"type":318,"tag":360,"props":975,"children":976},{"style":820},[977],{"type":324,"value":978},"//your_company_endpoint/customer-data\n",{"type":318,"tag":360,"props":980,"children":981},{"class":362,"line":384},[982],{"type":318,"tag":360,"props":983,"children":985},{"emptyLinePlaceholder":984},true,[986],{"type":324,"value":987},"\n",{"type":318,"tag":360,"props":989,"children":990},{"class":362,"line":399},[991],{"type":318,"tag":360,"props":992,"children":993},{"style":458},[994],{"type":324,"value":995},"BODY\n",{"type":318,"tag":360,"props":997,"children":998},{"class":362,"line":439},[999],{"type":318,"tag":360,"props":1000,"children":1001},{"style":367},[1002],{"type":324,"value":396},{"type":318,"tag":360,"props":1004,"children":1005},{"class":362,"line":469},[1006,1011,1016,1021],{"type":318,"tag":360,"props":1007,"children":1008},{"style":965},[1009],{"type":324,"value":1010},"  customerId",{"type":318,"tag":360,"props":1012,"children":1013},{"style":367},[1014],{"type":324,"value":1015},": ",{"type":318,"tag":360,"props":1017,"children":1018},{"style":497},[1019],{"type":324,"value":1020},"'cus_4815162342'",{"type":318,"tag":360,"props":1022,"children":1023},{"style":367},[1024],{"type":324,"value":758},{"type":318,"tag":360,"props":1026,"children":1027},{"class":362,"line":508},[1028,1033,1037],{"type":318,"tag":360,"props":1029,"children":1030},{"style":965},[1031],{"type":324,"value":1032},"  signature",{"type":318,"tag":360,"props":1034,"children":1035},{"style":367},[1036],{"type":324,"value":1015},{"type":318,"tag":360,"props":1038,"children":1039},{"style":497},[1040],{"type":324,"value":1041},"'signed_customer_hmac'\n",{"type":318,"tag":360,"props":1043,"children":1044},{"class":362,"line":531},[1045],{"type":318,"tag":360,"props":1046,"children":1047},{"style":367},[1048],{"type":324,"value":1049},"}\n",{"type":318,"tag":327,"props":1051,"children":1052},{},[1053,1055,1061,1063,1069],{"type":324,"value":1054},"The signature will match the signed ",{"type":318,"tag":333,"props":1056,"children":1058},{"className":1057},[],[1059],{"type":324,"value":1060},"customerId",{"type":324,"value":1062}," as ",{"type":318,"tag":882,"props":1064,"children":1066},{"href":1065},"/cancel-flows/quick-start-guide#step-two-generate-secure-hmac-hash",[1067],{"type":324,"value":1068},"described with Server Side Authentication",{"type":324,"value":891},{"type":318,"tag":327,"props":1071,"children":1072},{},[1073],{"type":318,"tag":1074,"props":1075,"children":1076},"strong",{},[1077],{"type":324,"value":1078},"The expected return format is:",{"type":318,"tag":350,"props":1080,"children":1082},{"className":352,"code":1081,"language":354,"meta":313,"style":313},"{\n  customerId: 'cus_4815162342', // optional\n  subscriptionId: 'sub_48153811', // optional\n  customerAttributes: {\n    // key-value pairs\n    exampleNumber: 42,\n    exampleBoolean: true,\n    exampleString: 'active',\n  }\n\n",[1083],{"type":318,"tag":333,"props":1084,"children":1085},{"__ignoreMap":313},[1086,1093,1117,1142,1155,1163,1184,1204,1225],{"type":318,"tag":360,"props":1087,"children":1088},{"class":362,"line":363},[1089],{"type":318,"tag":360,"props":1090,"children":1091},{"style":367},[1092],{"type":324,"value":396},{"type":318,"tag":360,"props":1094,"children":1095},{"class":362,"line":384},[1096,1100,1104,1108,1112],{"type":318,"tag":360,"props":1097,"children":1098},{"style":965},[1099],{"type":324,"value":1010},{"type":318,"tag":360,"props":1101,"children":1102},{"style":367},[1103],{"type":324,"value":1015},{"type":318,"tag":360,"props":1105,"children":1106},{"style":497},[1107],{"type":324,"value":1020},{"type":318,"tag":360,"props":1109,"children":1110},{"style":367},[1111],{"type":324,"value":703},{"type":318,"tag":360,"props":1113,"children":1114},{"style":820},[1115],{"type":324,"value":1116},"// optional\n",{"type":318,"tag":360,"props":1118,"children":1119},{"class":362,"line":399},[1120,1125,1129,1134,1138],{"type":318,"tag":360,"props":1121,"children":1122},{"style":965},[1123],{"type":324,"value":1124},"  subscriptionId",{"type":318,"tag":360,"props":1126,"children":1127},{"style":367},[1128],{"type":324,"value":1015},{"type":318,"tag":360,"props":1130,"children":1131},{"style":497},[1132],{"type":324,"value":1133},"'sub_48153811'",{"type":318,"tag":360,"props":1135,"children":1136},{"style":367},[1137],{"type":324,"value":703},{"type":318,"tag":360,"props":1139,"children":1140},{"style":820},[1141],{"type":324,"value":1116},{"type":318,"tag":360,"props":1143,"children":1144},{"class":362,"line":439},[1145,1150],{"type":318,"tag":360,"props":1146,"children":1147},{"style":965},[1148],{"type":324,"value":1149},"  customerAttributes",{"type":318,"tag":360,"props":1151,"children":1152},{"style":367},[1153],{"type":324,"value":1154},": {\n",{"type":318,"tag":360,"props":1156,"children":1157},{"class":362,"line":469},[1158],{"type":318,"tag":360,"props":1159,"children":1160},{"style":820},[1161],{"type":324,"value":1162},"    // key-value pairs\n",{"type":318,"tag":360,"props":1164,"children":1165},{"class":362,"line":508},[1166,1171,1175,1180],{"type":318,"tag":360,"props":1167,"children":1168},{"style":965},[1169],{"type":324,"value":1170},"    exampleNumber",{"type":318,"tag":360,"props":1172,"children":1173},{"style":367},[1174],{"type":324,"value":1015},{"type":318,"tag":360,"props":1176,"children":1177},{"style":458},[1178],{"type":324,"value":1179},"42",{"type":318,"tag":360,"props":1181,"children":1182},{"style":367},[1183],{"type":324,"value":758},{"type":318,"tag":360,"props":1185,"children":1186},{"class":362,"line":531},[1187,1192,1196,1200],{"type":318,"tag":360,"props":1188,"children":1189},{"style":965},[1190],{"type":324,"value":1191},"    exampleBoolean",{"type":318,"tag":360,"props":1193,"children":1194},{"style":367},[1195],{"type":324,"value":1015},{"type":318,"tag":360,"props":1197,"children":1198},{"style":458},[1199],{"type":324,"value":461},{"type":318,"tag":360,"props":1201,"children":1202},{"style":367},[1203],{"type":324,"value":758},{"type":318,"tag":360,"props":1205,"children":1206},{"class":362,"line":553},[1207,1212,1216,1221],{"type":318,"tag":360,"props":1208,"children":1209},{"style":965},[1210],{"type":324,"value":1211},"    exampleString",{"type":318,"tag":360,"props":1213,"children":1214},{"style":367},[1215],{"type":324,"value":1015},{"type":318,"tag":360,"props":1217,"children":1218},{"style":497},[1219],{"type":324,"value":1220},"'active'",{"type":318,"tag":360,"props":1222,"children":1223},{"style":367},[1224],{"type":324,"value":758},{"type":318,"tag":360,"props":1226,"children":1227},{"class":362,"line":598},[1228],{"type":318,"tag":360,"props":1229,"children":1230},{"style":367},[1231],{"type":324,"value":613},{"type":318,"tag":1233,"props":1234,"children":1235},"style",{},[1236],{"type":324,"value":1237},"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);}",{"title":313,"searchDepth":399,"depth":399,"links":1239},[1240,1241,1242,1243],{"id":321,"depth":439,"text":325},{"id":647,"depth":439,"text":650},{"id":872,"depth":384,"text":875},{"id":903,"depth":384,"text":28,"children":1244},[1245],{"id":919,"depth":439,"text":922},"markdown","content","2.cancel-flows/6.email-verified-cancel-flow.md","2.cancel-flows/6.email-verified-cancel-flow","md",{"loc":39},[1253,1254],{"_path":34,"title":33,"description":36},{"_path":44,"title":43,"description":46},1775515566788]