[{"data":1,"prerenderedAt":886},["ShallowReactive",2],{"navigation":3,"/integrations":310,"/integrations-surround":881},[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":311,"_dir":312,"_draft":315,"_partial":315,"_locale":316,"title":317,"description":318,"body":319,"_type":874,"_id":875,"_source":876,"_file":877,"_stem":878,"_extension":879,"sitemap":880},"/integrations",{"_path":313,"title":314,"navigation":315},"/integrations/_dir","Integrations",false,"","Custom Provider Integration","Build a custom integration to connect your billing system with Churnkey's retention tools.",{"type":320,"children":321,"toc":865},"root",[322,330,336,342,347,489,495,500,528,697,703,708,816,822,851],{"type":323,"tag":324,"props":325,"children":327},"element","h2",{"id":326},"overview",[328],{"type":329,"value":9},"text",{"type":323,"tag":331,"props":332,"children":333},"p",{},[334],{"type":329,"value":335},"Churnkey helps reduce churn by offering targeted retention experiences when customers try to cancel. This guide walks you through building a custom integration that connects your billing system to Churnkey, enabling features like pause offers, targeted discounts, and plan changes during cancellation flows.",{"type":323,"tag":324,"props":337,"children":339},{"id":338},"core-models",[340],{"type":329,"value":341},"Core Models",{"type":323,"tag":331,"props":343,"children":344},{},[345],{"type":329,"value":346},"Models map your billing system's data to Churnkey's format. Each model represents a key billing concept that Churnkey needs to understand your customers and their subscriptions.",{"type":323,"tag":348,"props":349,"children":351},"grid",{"cols":350},4,[352,375,392,409,431,452,472],{"type":323,"tag":353,"props":354,"children":357},"card-baseline",{"title":355,"to":356},"Customer","/integrations/models/customer",[358,363],{"type":323,"tag":331,"props":359,"children":360},{},[361],{"type":329,"value":362},"A user who owns subscriptions.",{"type":323,"tag":364,"props":365,"children":368},"flex",{"className":366},[367],"mt-4",[369],{"type":323,"tag":370,"props":371,"children":374},"badge",{"label":372,"color":373},"Required","green",[],{"type":323,"tag":353,"props":376,"children":379},{"title":377,"to":378},"Price","/integrations/models/price",[380,385],{"type":323,"tag":331,"props":381,"children":382},{},[383],{"type":329,"value":384},"Billing cycle and price of a subscription (a.k.a. Plan)",{"type":323,"tag":364,"props":386,"children":388},{"className":387},[367],[389],{"type":323,"tag":370,"props":390,"children":391},{"label":372,"color":373},[],{"type":323,"tag":353,"props":393,"children":396},{"title":394,"to":395},"Subscription","/integrations/models/subscription",[397,402],{"type":323,"tag":331,"props":398,"children":399},{},[400],{"type":329,"value":401},"Subscription to a product or service.",{"type":323,"tag":364,"props":403,"children":405},{"className":404},[367],[406],{"type":323,"tag":370,"props":407,"children":408},{"label":372,"color":373},[],{"type":323,"tag":353,"props":410,"children":413},{"title":411,"to":412},"Coupon","/integrations/models/coupon",[414,419],{"type":323,"tag":331,"props":415,"children":416},{},[417],{"type":329,"value":418},"A discount code for a subscription.",{"type":323,"tag":364,"props":420,"children":422},{"className":421},[367],[423,427],{"type":323,"tag":370,"props":424,"children":426},{"label":425},"Optional",[],{"type":323,"tag":370,"props":428,"children":430},{"label":429},"Coupon Offer",[],{"type":323,"tag":353,"props":432,"children":435},{"title":433,"to":434},"Product","/integrations/models/product",[436,441],{"type":323,"tag":331,"props":437,"children":438},{},[439],{"type":329,"value":440},"A product or service.",{"type":323,"tag":364,"props":442,"children":444},{"className":443},[367],[445,448],{"type":323,"tag":370,"props":446,"children":447},{"label":425},[],{"type":323,"tag":370,"props":449,"children":451},{"label":450},"Better UX",[],{"type":323,"tag":353,"props":453,"children":456},{"title":454,"to":455},"Family","/integrations/models/family",[457,462],{"type":323,"tag":331,"props":458,"children":459},{},[460],{"type":329,"value":461},"A group of products or services.",{"type":323,"tag":364,"props":463,"children":465},{"className":464},[367],[466,469],{"type":323,"tag":370,"props":467,"children":468},{"label":425},[],{"type":323,"tag":370,"props":470,"children":471},{"label":450},[],{"type":323,"tag":353,"props":473,"children":475},{"title":474},"Invoice",[476,481],{"type":323,"tag":331,"props":477,"children":478},{},[479],{"type":329,"value":480},"An invoice for a subscription.",{"type":323,"tag":364,"props":482,"children":484},{"className":483},[367],[485],{"type":323,"tag":370,"props":486,"children":488},{"label":487},"Coming soon",[],{"type":323,"tag":324,"props":490,"children":492},{"id":491},"data-access-controllers",[493],{"type":329,"value":494},"Data Access Controllers",{"type":323,"tag":331,"props":496,"children":497},{},[498],{"type":329,"value":499},"Controllers provide secure, standardized access to your billing data. Each controller exposes two essential methods:",{"type":323,"tag":501,"props":502,"children":503},"ul",{},[504,517],{"type":323,"tag":505,"props":506,"children":507},"li",{},[508,515],{"type":323,"tag":509,"props":510,"children":512},"code",{"className":511},[],[513],{"type":329,"value":514},"retrieve()",{"type":329,"value":516},": Fetch a single record by ID",{"type":323,"tag":505,"props":518,"children":519},{},[520,526],{"type":323,"tag":509,"props":521,"children":523},{"className":522},[],[524],{"type":329,"value":525},"list()",{"type":329,"value":527},": Fetch multiple records with pagination support",{"type":323,"tag":348,"props":529,"children":530},{"cols":350},[531,555,578,600,625,650,675],{"type":323,"tag":353,"props":532,"children":535},{"title":533,"to":534},"Customers","/integrations/controllers/customers",[536,548],{"type":323,"tag":331,"props":537,"children":538},{},[539,541,546],{"type":329,"value":540},"List, retrieve and find ",{"type":323,"tag":509,"props":542,"children":544},{"className":543},[],[545],{"type":329,"value":355},{"type":329,"value":547}," models.",{"type":323,"tag":364,"props":549,"children":551},{"className":550},[367],[552],{"type":323,"tag":370,"props":553,"children":554},{"label":372,"color":373},[],{"type":323,"tag":353,"props":556,"children":559},{"title":557,"to":558},"Prices","/integrations/controllers/prices",[560,571],{"type":323,"tag":331,"props":561,"children":562},{},[563,565,570],{"type":329,"value":564},"List and retrieve ",{"type":323,"tag":509,"props":566,"children":568},{"className":567},[],[569],{"type":329,"value":377},{"type":329,"value":547},{"type":323,"tag":364,"props":572,"children":574},{"className":573},[367],[575],{"type":323,"tag":370,"props":576,"children":577},{"label":372,"color":373},[],{"type":323,"tag":353,"props":579,"children":582},{"title":580,"to":581},"Subscriptions","/integrations/controllers/subscriptions",[583,593],{"type":323,"tag":331,"props":584,"children":585},{},[586,587,592],{"type":329,"value":564},{"type":323,"tag":509,"props":588,"children":590},{"className":589},[],[591],{"type":329,"value":394},{"type":329,"value":547},{"type":323,"tag":364,"props":594,"children":596},{"className":595},[367],[597],{"type":323,"tag":370,"props":598,"children":599},{"label":372,"color":373},[],{"type":323,"tag":353,"props":601,"children":604},{"title":602,"to":603},"Coupons","/integrations/controllers/coupons",[605,615],{"type":323,"tag":331,"props":606,"children":607},{},[608,609,614],{"type":329,"value":564},{"type":323,"tag":509,"props":610,"children":612},{"className":611},[],[613],{"type":329,"value":411},{"type":329,"value":547},{"type":323,"tag":364,"props":616,"children":618},{"className":617},[367],[619,622],{"type":323,"tag":370,"props":620,"children":621},{"label":425},[],{"type":323,"tag":370,"props":623,"children":624},{"label":429},[],{"type":323,"tag":353,"props":626,"children":629},{"title":627,"to":628},"Products","/integrations/controllers/products",[630,640],{"type":323,"tag":331,"props":631,"children":632},{},[633,634,639],{"type":329,"value":564},{"type":323,"tag":509,"props":635,"children":637},{"className":636},[],[638],{"type":329,"value":433},{"type":329,"value":547},{"type":323,"tag":364,"props":641,"children":643},{"className":642},[367],[644,647],{"type":323,"tag":370,"props":645,"children":646},{"label":425},[],{"type":323,"tag":370,"props":648,"children":649},{"label":450},[],{"type":323,"tag":353,"props":651,"children":654},{"title":652,"to":653},"Families","/integrations/controllers/families",[655,665],{"type":323,"tag":331,"props":656,"children":657},{},[658,659,664],{"type":329,"value":564},{"type":323,"tag":509,"props":660,"children":662},{"className":661},[],[663],{"type":329,"value":454},{"type":329,"value":547},{"type":323,"tag":364,"props":666,"children":668},{"className":667},[367],[669,672],{"type":323,"tag":370,"props":670,"children":671},{"label":425},[],{"type":323,"tag":370,"props":673,"children":674},{"label":450},[],{"type":323,"tag":353,"props":676,"children":678},{"title":677},"Invoices",[679,690],{"type":323,"tag":331,"props":680,"children":681},{},[682,683,688],{"type":329,"value":564},{"type":323,"tag":509,"props":684,"children":686},{"className":685},[],[687],{"type":329,"value":474},{"type":329,"value":689}," models for advanced analytics.",{"type":323,"tag":364,"props":691,"children":693},{"className":692},[367],[694],{"type":323,"tag":370,"props":695,"children":696},{"label":487},[],{"type":323,"tag":324,"props":698,"children":700},{"id":699},"subscription-actions",[701],{"type":329,"value":702},"Subscription Actions",{"type":323,"tag":331,"props":704,"children":705},{},[706],{"type":329,"value":707},"Actions enable Churnkey to modify subscriptions based on customer choices during the cancellation flow. Each action handles a specific type of subscription change, like applying a discount or pausing service.",{"type":323,"tag":348,"props":709,"children":710},{"cols":350},[711,732,753,774,795],{"type":323,"tag":353,"props":712,"children":715},{"title":713,"to":714},"Cancel","/integrations/actions/cancel",[716,721],{"type":323,"tag":331,"props":717,"children":718},{},[719],{"type":329,"value":720},"Cancels a subscription.",{"type":323,"tag":364,"props":722,"children":724},{"className":723},[367],[725,728],{"type":323,"tag":370,"props":726,"children":727},{"label":425},[],{"type":323,"tag":370,"props":729,"children":731},{"label":730,"color":373},"Cancel Flow - Required",[],{"type":323,"tag":353,"props":733,"children":736},{"title":734,"to":735},"Pause","/integrations/actions/pause",[737,742],{"type":323,"tag":331,"props":738,"children":739},{},[740],{"type":329,"value":741},"Pauses a subscription.",{"type":323,"tag":364,"props":743,"children":745},{"className":744},[367],[746,749],{"type":323,"tag":370,"props":747,"children":748},{"label":425},[],{"type":323,"tag":370,"props":750,"children":752},{"label":751},"Pause Offer",[],{"type":323,"tag":353,"props":754,"children":757},{"title":755,"to":756},"Extend Trial","/integrations/actions/extend-trial",[758,763],{"type":323,"tag":331,"props":759,"children":760},{},[761],{"type":329,"value":762},"Extends a trial period for a subscription.",{"type":323,"tag":364,"props":764,"children":766},{"className":765},[367],[767,770],{"type":323,"tag":370,"props":768,"children":769},{"label":425},[],{"type":323,"tag":370,"props":771,"children":773},{"label":772},"Trial Offer",[],{"type":323,"tag":353,"props":775,"children":778},{"title":776,"to":777},"Apply Coupon","/integrations/actions/apply-coupon",[779,784],{"type":323,"tag":331,"props":780,"children":781},{},[782],{"type":329,"value":783},"Applies a coupon to a subscription.",{"type":323,"tag":364,"props":785,"children":787},{"className":786},[367],[788,791],{"type":323,"tag":370,"props":789,"children":790},{"label":425},[],{"type":323,"tag":370,"props":792,"children":794},{"label":793},"Discount Offer",[],{"type":323,"tag":353,"props":796,"children":799},{"title":797,"to":798},"Change Price","/integrations/actions/change-price",[800,805],{"type":323,"tag":331,"props":801,"children":802},{},[803],{"type":329,"value":804},"Changes the price and/or product of a subscription.",{"type":323,"tag":364,"props":806,"children":808},{"className":807},[367],[809,812],{"type":323,"tag":370,"props":810,"children":811},{"label":425},[],{"type":323,"tag":370,"props":813,"children":815},{"label":814},"Price Offer",[],{"type":323,"tag":324,"props":817,"children":819},{"id":818},"deploy-your-integration",[820],{"type":329,"value":821},"Deploy Your Integration",{"type":323,"tag":331,"props":823,"children":824},{},[825,827,833,835,841,843,849],{"type":329,"value":826},"Finally, you need to make sure that all your ",{"type":323,"tag":509,"props":828,"children":830},{"className":829},[],[831],{"type":329,"value":832},"Controllers",{"type":329,"value":834}," and ",{"type":323,"tag":509,"props":836,"children":838},{"className":837},[],[839],{"type":329,"value":840},"Actions",{"type":329,"value":842}," are accessible from an Internet, have proper authentication and provide ",{"type":323,"tag":509,"props":844,"children":846},{"className":845},[],[847],{"type":329,"value":848},"Features",{"type":329,"value":850}," manifest.",{"type":323,"tag":331,"props":852,"children":853},{},[854,856,863],{"type":329,"value":855},"Follow the ",{"type":323,"tag":857,"props":858,"children":860},"a",{"href":859},"/integrations/publish",[861],{"type":329,"value":862},"publishing guide",{"type":329,"value":864}," for detailed deployment instructions and troubleshooting tips.",{"title":316,"searchDepth":866,"depth":866,"links":867},3,[868,870,871,872,873],{"id":326,"depth":869,"text":9},2,{"id":338,"depth":869,"text":341},{"id":491,"depth":869,"text":494},{"id":699,"depth":869,"text":702},{"id":818,"depth":869,"text":821},"markdown","content:99.integrations:1.index.md","content","99.integrations/1.index.md","99.integrations/1.index","md",{"loc":311},[882,883],{"_path":306,"title":305,"description":308},{"_path":356,"title":884,"description":885},"Customer Model","A customer is a user who is being billed for a subscription. This model includes information about the customer, such as their name, email, address, etc.",1775515585069]