[{"data":1,"prerenderedAt":1078},["ShallowReactive",2],{"navigation":3,"/billing-providers/braintree":310,"/billing-providers/braintree-surround":1075},[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":267,"_dir":311,"_draft":312,"_partial":312,"_locale":313,"title":266,"description":269,"body":314,"_type":1069,"_id":268,"_source":1070,"_file":1071,"_stem":1072,"_extension":1073,"sitemap":1074},"billing-providers",false,"",{"type":315,"children":316,"toc":1042},"root",[317,326,343,356,363,368,378,388,420,442,448,468,474,479,509,517,533,539,544,555,561,567,583,595,608,614,619,629,637,671,677,682,687,714,719,725,733,738,759,765,770,775,792,798,803,816,833,839,844,857,865,871,876,881,890,895,961,976,985,990],{"type":318,"tag":319,"props":320,"children":322},"element","h2",{"id":321},"how-to-connect-your-braintree-account",[323],{"type":324,"value":325},"text","How to Connect Your Braintree Account",{"type":318,"tag":327,"props":328,"children":329},"p",{},[330,332,341],{"type":324,"value":331},"After you register for a Churnkey account, you can connect it to your Braintree account(s) on our ",{"type":318,"tag":333,"props":334,"children":338},"a",{"href":335,"rel":336},"https://app.churnkey.co/settings/billing-provider",[337],"nofollow",[339],{"type":324,"value":340},"Settings | Billing Provider",{"type":324,"value":342}," page. You can enter both production and sandbox credentials. The sandbox credentials are optional, but great to add if you want to test your Cancel Flow in a staging environment before going live with Churnkey.",{"type":318,"tag":327,"props":344,"children":345},{},[346],{"type":318,"tag":333,"props":347,"children":349},{"href":335,"rel":348},[337],[350],{"type":318,"tag":351,"props":352,"children":353},"strong",{},[354],{"type":324,"value":355},"Manage Braintree Connection",{"type":318,"tag":357,"props":358,"children":360},"h3",{"id":359},"step-1-braintree-user-with-sufficient-permissions",[361],{"type":324,"value":362},"Step 1. Braintree User with sufficient permissions",{"type":318,"tag":327,"props":364,"children":365},{},[366],{"type":324,"value":367},"Braintree API credentials belong to a specific user, and each user has a role. You can view all users associated with your Braintree account on the Team page of the Braintree web app.",{"type":318,"tag":327,"props":369,"children":370},{},[371],{"type":318,"tag":333,"props":372,"children":375},{"href":373,"rel":374},"https://www.braintreegateway.com/login",[337],[376],{"type":324,"value":377},"Login to Braintree",{"type":318,"tag":327,"props":379,"children":380},{},[381,386],{"type":318,"tag":351,"props":382,"children":383},{},[384],{"type":324,"value":385},"The API key that you associate with Churnkey must have sufficient user and role permissions",{"type":324,"value":387},".",{"type":318,"tag":389,"props":390,"children":391},"details",{},[392,398,403],{"type":318,"tag":393,"props":394,"children":395},"summary",{},[396],{"type":324,"value":397},"Option A: Use an Account Admin",{"type":318,"tag":327,"props":399,"children":400},{},[401],{"type":324,"value":402},"Ensure that you are logged in with a user which has Account Admin and API Access permissions, as pictured below",{"type":318,"tag":389,"props":404,"children":405},{},[406,411],{"type":318,"tag":393,"props":407,"children":408},{},[409],{"type":324,"value":410},"Account Admin user example (you can use an existing user, or create a new one for this purpose)",{"type":318,"tag":327,"props":412,"children":413},{},[414],{"type":318,"tag":415,"props":416,"children":419},"img",{"alt":417,"src":418},"Screenshot of creating a new user in Braintree","/img/billing_providers/braintree/create.png",[],{"type":318,"tag":389,"props":421,"children":422},{},[423,428,433],{"type":318,"tag":393,"props":424,"children":425},{},[426],{"type":324,"value":427},"Option B: Create a new User and Role for Churnkey",{"type":318,"tag":327,"props":429,"children":430},{},[431],{"type":324,"value":432},"If you would rather create a new role and associated user, we've listed the required permissions below:",{"type":318,"tag":327,"props":434,"children":435},{},[436],{"type":318,"tag":333,"props":437,"children":439},{"href":438},"/billing-providers/braintree#required-userrole-permissions",[440],{"type":324,"value":441},"Required User/Role Permissions",{"type":318,"tag":357,"props":443,"children":445},{"id":444},"step-2-generate-an-api-key",[446],{"type":324,"value":447},"Step 2. Generate an API Key",{"type":318,"tag":449,"props":450,"children":451},"ol",{},[452,458,463],{"type":318,"tag":453,"props":454,"children":455},"li",{},[456],{"type":324,"value":457},"Head to the API settings - click the gear icon in the top right → API.",{"type":318,"tag":453,"props":459,"children":460},{},[461],{"type":324,"value":462},"Click \"+ Generate New API Key\"",{"type":318,"tag":453,"props":464,"children":465},{},[466],{"type":324,"value":467},"Click \"View\" on the newly generated API key to reveal the private key",{"type":318,"tag":357,"props":469,"children":471},{"id":470},"step-3-add-webhook-notifications",[472],{"type":324,"value":473},"Step 3. Add Webhook Notifications",{"type":318,"tag":327,"props":475,"children":476},{},[477],{"type":324,"value":478},"In order for Churnkey to track reactivation rates (after pauses and discounts), and keep track of total boosted revenue from your Cancel Flow, you need to add a webhook in your Braintree account.",{"type":318,"tag":327,"props":480,"children":481},{},[482,484,491,493,499,501,507],{"type":324,"value":483},"Under the Webhooks tab of the API management settings page in Braintree, add a webhook at URL ",{"type":318,"tag":485,"props":486,"children":488},"code",{"className":487},[],[489],{"type":324,"value":490},"https://billing.churnkey.co/e/src_3owuSFmHG965?appId=YOUR_CHURNKEY_APP_ID",{"type":324,"value":492}," (please note to replace ",{"type":318,"tag":485,"props":494,"children":496},{"className":495},[],[497],{"type":324,"value":498},"YOUR_CHURNKEY_APP_ID",{"type":324,"value":500}," with your App ID - your account specific URL can be found on your ",{"type":318,"tag":333,"props":502,"children":504},{"href":335,"rel":503},[337],[505],{"type":324,"value":506},"Churnkey settings page",{"type":324,"value":508},")",{"type":318,"tag":327,"props":510,"children":511},{},[512],{"type":318,"tag":351,"props":513,"children":514},{},[515],{"type":324,"value":516},"You must enable notifications for all subscription events.",{"type":318,"tag":389,"props":518,"children":519},{},[520,525],{"type":318,"tag":393,"props":521,"children":522},{},[523],{"type":324,"value":524},"Example Webhook",{"type":318,"tag":327,"props":526,"children":527},{},[528],{"type":318,"tag":415,"props":529,"children":532},{"alt":530,"src":531},"Screenshot of creating a new webhook in Braintree","/img/billing_providers/braintree/webhooks.png",[],{"type":318,"tag":357,"props":534,"children":536},{"id":535},"step-4-add-api-credentials-to-churnkey",[537],{"type":324,"value":538},"Step 4. Add API Credentials to Churnkey",{"type":318,"tag":327,"props":540,"children":541},{},[542],{"type":324,"value":543},"The API credentials (merchant ID, public key, private key) can be linked to your Churnkey account on the Billing Provider Settings page:",{"type":318,"tag":327,"props":545,"children":546},{},[547],{"type":318,"tag":333,"props":548,"children":550},{"href":335,"rel":549},[337],[551],{"type":318,"tag":351,"props":552,"children":553},{},[554],{"type":324,"value":355},{"type":318,"tag":319,"props":556,"children":558},{"id":557},"how-is-the-braintree-connection-used",[559],{"type":324,"value":560},"How is the Braintree connection used?",{"type":318,"tag":357,"props":562,"children":564},{"id":563},"i-add-discounts-to-your-cancel-flow",[565],{"type":324,"value":566},"I. Add discounts to your Cancel Flow",{"type":318,"tag":568,"props":569,"children":572},"alert",{":emoji":570,"type":571},"💡","warning",[573],{"type":318,"tag":327,"props":574,"children":575},{},[576,581],{"type":318,"tag":351,"props":577,"children":578},{},[579],{"type":324,"value":580},"Discounts in Test Mode",{"type":324,"value":582},"\nIf you want to test discounts in your flow in test mode, please create discounts in your Braintree Sandbox account with IDs that match the discounts that you've selected to be part of your Cancel Flow. For instance, if you have added a discount with id 40_off_2_months in Braintree production mode, this discount will also need to exist in your Braintree sandbox account to use in Churnkey's test mode.",{"type":318,"tag":327,"props":584,"children":585},{},[586,588,593],{"type":324,"value":587},"After you connect Braintree (production mode), you'll be able to offer your customers temporary discounts as part of your Cancel Flow. Please note that you will only see your Braintree discounts after you've connected your ",{"type":318,"tag":351,"props":589,"children":590},{},[591],{"type":324,"value":592},"production Braintree account.",{"type":324,"value":594}," We only pull in discount from the production account, not your Braintree sandbox account.",{"type":318,"tag":449,"props":596,"children":597},{},[598,603],{"type":318,"tag":453,"props":599,"children":600},{},[601],{"type":324,"value":602},"In the \"Offers\" tab of the flow builder, choose \"Apply Braintree Discount\"",{"type":318,"tag":453,"props":604,"children":605},{},[606],{"type":324,"value":607},"Choose the discount you'd like to offer customers in the dropdown labeled \"Braintree Discount\"",{"type":318,"tag":357,"props":609,"children":611},{"id":610},"ii-personalize-cancel-flows-with-customer-attributes-and-segmentation",[612],{"type":324,"value":613},"II. Personalize Cancel Flows with customer attributes and segmentation",{"type":318,"tag":327,"props":615,"children":616},{},[617],{"type":324,"value":618},"Use customer segmentation to reduce voluntary churn with targeted Cancel Flows. With segmentation, you can target specific customers based on subscription attributes and serve up unique Cancel Flows for each of them. After all, someone who signed up yesterday should be spoken to differently from a customer who's been a paying subscriber for years.",{"type":318,"tag":327,"props":620,"children":621},{},[622],{"type":318,"tag":333,"props":623,"children":626},{"href":624,"rel":625},"https://churnkey.co/blog/launch-customer-segmentation",[337],[627],{"type":324,"value":628},"🚀 Customer Segmentation Launch Details",{"type":318,"tag":327,"props":630,"children":631},{},[632],{"type":318,"tag":351,"props":633,"children":634},{},[635],{"type":324,"value":636},"Available attributes for segmentation",{"type":318,"tag":638,"props":639,"children":640},"ul",{},[641,646,651,656,661,666],{"type":318,"tag":453,"props":642,"children":643},{},[644],{"type":324,"value":645},"Plan",{"type":318,"tag":453,"props":647,"children":648},{},[649],{"type":324,"value":650},"Price",{"type":318,"tag":453,"props":652,"children":653},{},[654],{"type":324,"value":655},"Subscription age",{"type":318,"tag":453,"props":657,"children":658},{},[659],{"type":324,"value":660},"Subscription creation date",{"type":318,"tag":453,"props":662,"children":663},{},[664],{"type":324,"value":665},"Billing interval (monthly, annual, etc.)",{"type":318,"tag":453,"props":667,"children":668},{},[669],{"type":324,"value":670},"Trial vs Active subscription",{"type":318,"tag":357,"props":672,"children":674},{"id":673},"iii-updating-customer-subscriptions-on-your-behalf",[675],{"type":324,"value":676},"III. Updating customer subscriptions on your behalf",{"type":318,"tag":327,"props":678,"children":679},{},[680],{"type":324,"value":681},"When a customer goes through your Cancel Flow and (hopefully) accepts a pause or discount offer, Churnkey takes care of the billing updates for you.",{"type":318,"tag":327,"props":683,"children":684},{},[685],{"type":324,"value":686},"Churnkey is able to perform the following actions on your behalf",{"type":318,"tag":449,"props":688,"children":689},{},[690,698,706],{"type":318,"tag":453,"props":691,"children":692},{},[693],{"type":318,"tag":351,"props":694,"children":695},{},[696],{"type":324,"value":697},"Pause a subscription",{"type":318,"tag":453,"props":699,"children":700},{},[701],{"type":318,"tag":351,"props":702,"children":703},{},[704],{"type":324,"value":705},"Apply a discount",{"type":318,"tag":453,"props":707,"children":708},{},[709],{"type":318,"tag":351,"props":710,"children":711},{},[712],{"type":324,"value":713},"Cancel a subscription",{"type":318,"tag":327,"props":715,"children":716},{},[717],{"type":324,"value":718},"We'll look at each one of these in a little bit more detail.",{"type":318,"tag":720,"props":721,"children":723},"h4",{"id":722},"pause-subscription",[724],{"type":324,"value":145},{"type":318,"tag":568,"props":726,"children":727},{":emoji":570,"type":571},[728],{"type":318,"tag":327,"props":729,"children":730},{},[731],{"type":324,"value":732},"Braintree does not offer a \"pause\" feature out-of-the-box. Instead, Churnkey can emulate a billing pause on your behalf by temporarily applying a 100% discount. In order to do this, you will need to create a discount with id CHURNKEY_PAUSE. This discount can be for any amount.",{"type":318,"tag":327,"props":734,"children":735},{},[736],{"type":324,"value":737},"If a customer selects to pause their account through your cancellation flow, Churnkey will match the discount amount to the price of the subscription, in effect creating a temporary 100% discount on the subscription for the selected duration.",{"type":318,"tag":327,"props":739,"children":740},{},[741,743,749,751,757],{"type":324,"value":742},"If you would like to implement a customer function for applying pauses, you can do so using the ",{"type":318,"tag":485,"props":744,"children":746},{"className":745},[],[747],{"type":324,"value":748},"handlePause",{"type":324,"value":750}," callback (see ",{"type":318,"tag":333,"props":752,"children":754},{"href":753},"/cancel-flows/further-configuration#custom-callbacks",[755],{"type":324,"value":756},"Custom Callbacks",{"type":324,"value":758},").",{"type":318,"tag":720,"props":760,"children":762},{"id":761},"apply-a-discount",[763],{"type":324,"value":764},"Apply a Discount",{"type":318,"tag":327,"props":766,"children":767},{},[768],{"type":324,"value":769},"In the Churnkey offer builder, you can offer specific discounts to customers. These discounts are populated based on the discounts that you have created in your Braintree account.",{"type":318,"tag":327,"props":771,"children":772},{},[773],{"type":324,"value":774},"When a customer accepts a discount, if a subscription ID was provided when initializing the Churnkey embed, the discount will be applied to that subscription. If just a customer ID is provided, that discount is applied directly to every active subscription under that customer's ID.",{"type":318,"tag":327,"props":776,"children":777},{},[778,780,786,787,791],{"type":324,"value":779},"If you would like to implement a customer function for applying discounts, you can do so using the ",{"type":318,"tag":485,"props":781,"children":783},{"className":782},[],[784],{"type":324,"value":785},"handleDiscount",{"type":324,"value":750},{"type":318,"tag":333,"props":788,"children":789},{"href":753},[790],{"type":324,"value":756},{"type":324,"value":758},{"type":318,"tag":720,"props":793,"children":795},{"id":794},"cancel-subscription",[796],{"type":324,"value":797},"Cancel Subscription",{"type":318,"tag":327,"props":799,"children":800},{},[801],{"type":324,"value":802},"Churnkey can handle canceling your customer's subscription for you. By default, a customer's subscription will be set to cancel at the end of the current period.",{"type":318,"tag":327,"props":804,"children":805},{},[806,808,815],{"type":324,"value":807},"Under the hood, Churnkey uses ",{"type":318,"tag":333,"props":809,"children":812},{"href":810,"rel":811},"https://developer.paypal.com/braintree/docs/reference/request/subscription/cancel",[337],[813],{"type":324,"value":814},"Braintree's built-in subscription cancellation method",{"type":324,"value":387},{"type":318,"tag":327,"props":817,"children":818},{},[819,821,827,828,832],{"type":324,"value":820},"If you would like to implement a customer function for canceling subscriptions, you can do so using the ",{"type":318,"tag":485,"props":822,"children":824},{"className":823},[],[825],{"type":324,"value":826},"handleCancel",{"type":324,"value":750},{"type":318,"tag":333,"props":829,"children":830},{"href":753},[831],{"type":324,"value":756},{"type":324,"value":758},{"type":318,"tag":357,"props":834,"children":836},{"id":835},"iv-calculating-boosted-revenue",[837],{"type":324,"value":838},"IV. Calculating boosted revenue",{"type":318,"tag":327,"props":840,"children":841},{},[842],{"type":324,"value":843},"Once you've connected your Braintree account, you'll be able to track customer reactivations and boosted revenue - that's all the extra revenue you receive from customers who stayed on instead of canceling.",{"type":318,"tag":327,"props":845,"children":846},{},[847,849,856],{"type":324,"value":848},"You can track boosted revenue on ",{"type":318,"tag":333,"props":850,"children":853},{"href":851,"rel":852},"https://app.churnkey.co",[337],[854],{"type":324,"value":855},"your Churnkey dashboard",{"type":324,"value":387},{"type":318,"tag":327,"props":858,"children":859},{},[860],{"type":318,"tag":415,"props":861,"children":864},{"alt":862,"src":863},"Boosted revenue graphic","/img/billing_providers/stripe/boosted.png",[],{"type":318,"tag":319,"props":866,"children":868},{"id":867},"appendix",[869],{"type":324,"value":870},"Appendix",{"type":318,"tag":357,"props":872,"children":874},{"id":873},"required-userrole-permissions",[875],{"type":324,"value":441},{"type":318,"tag":327,"props":877,"children":878},{},[879],{"type":324,"value":880},"If you decide to create a new role and user for connecting Churnkey to your Braintree account, please ensure it has sufficient permissions, as outlined below.",{"type":318,"tag":720,"props":882,"children":884},{"id":883},"required-role-permissions",[885],{"type":318,"tag":351,"props":886,"children":887},{},[888],{"type":324,"value":889},"Required Role Permissions",{"type":318,"tag":327,"props":891,"children":892},{},[893],{"type":324,"value":894},"The following Braintree API role credentials are necessary:",{"type":318,"tag":638,"props":896,"children":897},{},[898,914,930,946],{"type":318,"tag":453,"props":899,"children":900},{},[901,906],{"type":318,"tag":351,"props":902,"children":903},{},[904],{"type":324,"value":905},"Transactions",{"type":318,"tag":638,"props":907,"children":908},{},[909],{"type":318,"tag":453,"props":910,"children":911},{},[912],{"type":324,"value":913},"For reactivation analytics (boosted revenue) that you'll see on your Churnkey dashboard; and dunning",{"type":318,"tag":453,"props":915,"children":916},{},[917,922],{"type":318,"tag":351,"props":918,"children":919},{},[920],{"type":324,"value":921},"Customer Management",{"type":318,"tag":638,"props":923,"children":924},{},[925],{"type":318,"tag":453,"props":926,"children":927},{},[928],{"type":324,"value":929},"For dunning",{"type":318,"tag":453,"props":931,"children":932},{},[933,938],{"type":318,"tag":351,"props":934,"children":935},{},[936],{"type":324,"value":937},"Recurring Billing",{"type":318,"tag":638,"props":939,"children":940},{},[941],{"type":318,"tag":453,"props":942,"children":943},{},[944],{"type":324,"value":945},"To take care of subscription billing actions on your behalf (discounts, pauses, cancellations)",{"type":318,"tag":453,"props":947,"children":948},{},[949,953],{"type":318,"tag":351,"props":950,"children":951},{},[952],{"type":324,"value":226},{"type":318,"tag":638,"props":954,"children":955},{},[956],{"type":318,"tag":453,"props":957,"children":958},{},[959],{"type":324,"value":960},"For reactivation and subscription analytics that you'll see on your Churnkey dashboard",{"type":318,"tag":389,"props":962,"children":963},{},[964,969],{"type":318,"tag":393,"props":965,"children":966},{},[967],{"type":324,"value":968},"Screenshot of example role with sufficient permissions",{"type":318,"tag":327,"props":970,"children":971},{},[972],{"type":318,"tag":415,"props":973,"children":975},{"alt":968,"src":974},"/img/billing_providers/braintree/permissions.png",[],{"type":318,"tag":720,"props":977,"children":979},{"id":978},"required-user-permissions",[980],{"type":318,"tag":351,"props":981,"children":982},{},[983],{"type":324,"value":984},"Required User Permissions",{"type":318,"tag":327,"props":986,"children":987},{},[988],{"type":324,"value":989},"If you are creating a new user, associate it with the Account Admin role, or with a newly created Churnkey role, as described above.",{"type":318,"tag":638,"props":991,"children":992},{},[993,1003,1025],{"type":318,"tag":453,"props":994,"children":995},{},[996,998],{"type":324,"value":997},"☑️ ",{"type":318,"tag":351,"props":999,"children":1000},{},[1001],{"type":324,"value":1002},"API Access",{"type":318,"tag":453,"props":1004,"children":1005},{},[1006,1007,1012],{"type":324,"value":997},{"type":318,"tag":351,"props":1008,"children":1009},{},[1010],{"type":324,"value":1011},"Roles",{"type":318,"tag":638,"props":1013,"children":1014},{},[1015,1020],{"type":318,"tag":453,"props":1016,"children":1017},{},[1018],{"type":324,"value":1019},"☑️ Account Admin; or",{"type":318,"tag":453,"props":1021,"children":1022},{},[1023],{"type":324,"value":1024},"☑️ Churnkey (as created above)",{"type":318,"tag":453,"props":1026,"children":1027},{},[1028,1029,1034],{"type":324,"value":997},{"type":318,"tag":351,"props":1030,"children":1031},{},[1032],{"type":324,"value":1033},"Merchant Accounts",{"type":318,"tag":638,"props":1035,"children":1036},{},[1037],{"type":318,"tag":453,"props":1038,"children":1039},{},[1040],{"type":324,"value":1041},"☑️ All",{"title":313,"searchDepth":1043,"depth":1043,"links":1044},3,[1045,1052,1063],{"id":321,"depth":1046,"text":325,"children":1047},2,[1048,1049,1050,1051],{"id":359,"depth":1043,"text":362},{"id":444,"depth":1043,"text":447},{"id":470,"depth":1043,"text":473},{"id":535,"depth":1043,"text":538},{"id":557,"depth":1046,"text":560,"children":1053},[1054,1055,1056,1062],{"id":563,"depth":1043,"text":566},{"id":610,"depth":1043,"text":613},{"id":673,"depth":1043,"text":676,"children":1057},[1058,1060,1061],{"id":722,"depth":1059,"text":145},4,{"id":761,"depth":1059,"text":764},{"id":794,"depth":1059,"text":797},{"id":835,"depth":1043,"text":838},{"id":867,"depth":1046,"text":870,"children":1064},[1065],{"id":873,"depth":1043,"text":441,"children":1066},[1067,1068],{"id":883,"depth":1059,"text":889},{"id":978,"depth":1059,"text":984},"markdown","content","7.billing-providers/7.braintree.md","7.billing-providers/7.braintree","md",{"loc":267},[1076,1077],{"_path":262,"title":261,"description":264},{"_path":272,"title":271,"description":274},1775515571326]