[{"data":1,"prerenderedAt":538},["ShallowReactive",2],{"navigation_docs":3,"-guides-plan-limits-and-access":132,"-guides-plan-limits-and-access-surround":533},[4,30,47,128],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Getting Started","\u002Fgetting-started","1.getting-started",[9,13,17,21,25],{"title":10,"path":11,"stem":12},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction",{"title":14,"path":15,"stem":16},"Quickstart","\u002Fgetting-started\u002Fquickstart","1.getting-started\u002F2.quickstart",{"title":18,"path":19,"stem":20},"Authentication","\u002Fgetting-started\u002Fauthentication","1.getting-started\u002F3.authentication",{"title":22,"path":23,"stem":24},"Self-Hosting","\u002Fgetting-started\u002Fself-hosting","1.getting-started\u002F4.self-hosting",{"title":26,"path":27,"stem":28},"Build an Integration","\u002Fgetting-started\u002Fbuild-an-integration","1.getting-started\u002F5.build-an-integration",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Sdks","\u002Fsdks","2.sdks",[35,39,43],{"title":36,"path":37,"stem":38},"TypeScript SDK","\u002Fsdks\u002Ftypescript","2.sdks\u002F1.typescript",{"title":40,"path":41,"stem":42},"Python SDK","\u002Fsdks\u002Fpython","2.sdks\u002F2.python",{"title":44,"path":45,"stem":46},"PHP SDK","\u002Fsdks\u002Fphp","2.sdks\u002F3.php",{"title":48,"path":49,"stem":50,"children":51,"page":29},"Guides","\u002Fguides","3.guides",[52,56,60,64,68,72,76,80,84,88,92,96,100,104,108,112,116,120,124],{"title":53,"path":54,"stem":55},"Customers","\u002Fguides\u002Fcustomers","3.guides\u002F1.customers",{"title":57,"path":58,"stem":59},"Usage-Based Billing","\u002Fguides\u002Fusage-billing","3.guides\u002F10.usage-billing",{"title":61,"path":62,"stem":63},"Wallets","\u002Fguides\u002Fwallets","3.guides\u002F11.wallets",{"title":65,"path":66,"stem":67},"Coupons, Add-ons and Credit Notes","\u002Fguides\u002Fcoupons-add-ons-credit-notes","3.guides\u002F12.coupons-add-ons-credit-notes",{"title":69,"path":70,"stem":71},"Taxes","\u002Fguides\u002Ftaxes","3.guides\u002F13.taxes",{"title":73,"path":74,"stem":75},"Customer Portal","\u002Fguides\u002Fcustomer-portal","3.guides\u002F14.customer-portal",{"title":77,"path":78,"stem":79},"Ledger","\u002Fguides\u002Fledger","3.guides\u002F15.ledger",{"title":81,"path":82,"stem":83},"Plan Limits and Access","\u002Fguides\u002Fplan-limits-and-access","3.guides\u002F16.plan-limits-and-access",{"title":85,"path":86,"stem":87},"Currencies and Exchange Rates","\u002Fguides\u002Fcurrencies","3.guides\u002F17.currencies",{"title":89,"path":90,"stem":91},"Charge a Customer","\u002Fguides\u002Fcharge-a-customer","3.guides\u002F18.charge-a-customer",{"title":93,"path":94,"stem":95},"One-time Products & Partial Payments","\u002Fguides\u002Fone-time-products-and-partial-payments","3.guides\u002F19.one-time-products-and-partial-payments",{"title":97,"path":98,"stem":99},"Plans & Pricing","\u002Fguides\u002Fplans-and-pricing","3.guides\u002F2.plans-and-pricing",{"title":101,"path":102,"stem":103},"Subscriptions","\u002Fguides\u002Fsubscriptions","3.guides\u002F3.subscriptions",{"title":105,"path":106,"stem":107},"Invoices & Payments","\u002Fguides\u002Finvoices-and-payments","3.guides\u002F4.invoices-and-payments",{"title":109,"path":110,"stem":111},"Payment Providers","\u002Fguides\u002Fpayment-providers","3.guides\u002F5.payment-providers",{"title":113,"path":114,"stem":115},"Analytics","\u002Fguides\u002Fanalytics","3.guides\u002F6.analytics",{"title":117,"path":118,"stem":119},"Webhooks","\u002Fguides\u002Fwebhooks","3.guides\u002F7.webhooks",{"title":121,"path":122,"stem":123},"Sandbox","\u002Fguides\u002Fsandbox","3.guides\u002F8.sandbox",{"title":125,"path":126,"stem":127},"Money Movement","\u002Fguides\u002Fmoney-movement","3.guides\u002F9.money-movement",{"title":129,"path":130,"stem":131},"API Reference","\u002Fapi-reference","4.api-reference",{"id":133,"title":81,"body":134,"description":526,"extension":527,"links":528,"meta":529,"navigation":530,"path":82,"seo":531,"stem":83,"__hash__":532},"docs\u002F3.guides\u002F16.plan-limits-and-access.md",{"type":135,"value":136,"toc":521},"minimark",[137,141,146,162,272,285,296,299,302,306,313,444,450,454,492,517],[138,139,140],"p",{},"On a hosted deployment, the platform operator can put your organisation on a plan with limits, and can restrict its access (for example while an invoice is overdue). The dashboard shows both, and the API returns clear errors your code can handle.",[142,143,145],"h2",{"id":144},"cloud-plans","Cloud plans",[138,147,148,149,153,154,157,158,161],{},"Every organisation on the cloud starts on ",[150,151,152],"strong",{},"Free",", and can move to ",[150,155,156],{},"Growth"," at any time from ",[150,159,160],{},"Plan"," in the dashboard sidebar:",[163,164,165,181],"table",{},[166,167,168],"thead",{},[169,170,171,174,176,178],"tr",{},[172,173],"th",{},[172,175,152],{},[172,177,156],{},[172,179,180],{},"Enterprise",[182,183,184,198,210,221,233,245,258],"tbody",{},[169,185,186,190,192,195],{},[187,188,189],"td",{},"Price",[187,191,152],{},[187,193,194],{},"$15 a month, or the same in your currency, for example UGX 55,000, KES 1,900 or NGN 22,000; a year costs ten months",[187,196,197],{},"Agreed with you; ask us",[169,199,200,202,205,208],{},[187,201,53],{},[187,203,204],{},"1,000",[187,206,207],{},"Unlimited",[187,209,207],{},[169,211,212,215,217,219],{},[187,213,214],{},"Active subscriptions",[187,216,204],{},[187,218,207],{},[187,220,207],{},[169,222,223,226,229,231],{},[187,224,225],{},"Invoices a month",[187,227,228],{},"2,500",[187,230,207],{},[187,232,207],{},[169,234,235,238,241,243],{},[187,236,237],{},"Team members",[187,239,240],{},"5",[187,242,207],{},[187,244,207],{},[169,246,247,250,253,255],{},[187,248,249],{},"Features, including managed payments",[187,251,252],{},"All",[187,254,252],{},[187,256,257],{},"All, with a negotiated managed payments fee",[169,259,260,263,266,269],{},[187,261,262],{},"Support",[187,264,265],{},"Community",[187,267,268],{},"Priority",[187,270,271],{},"Service level agreement and a named account manager",[138,273,274,275,277,278,281,282,284],{},"Growth can be paid in every currency Flutterwave takes: UGX, KES, TZS, RWF, NGN, GHS, ZAR, XAF, XOF, ZMW, MWK, EGP, USD, EUR and GBP. Pick yours on the ",[150,276,160],{}," page. Prices are set for African businesses first. The cloud earns mostly from the managed payments fee, so Free is generous, and Growth costs about as much as a monthly phone bundle. Enterprise has no public price: use ",[150,279,280],{},"Talk to us"," on the ",[150,283,160],{}," page, and the platform operator moves you onto it and invoices you directly.",[138,286,287,288,291,292,295],{},"The platform operator can also make an organisation a ",[150,289,290],{},"Partner",". Partners are Cybroid's own products and its partners: they have no limits and pay nothing. The operator sets this in the control panel, under the organisation's ",[150,293,294],{},"Plan and limits",".",[138,297,298],{},"Upgrading opens a checkout for your first invoice, payable by card or mobile money; the plan changes as soon as the payment is confirmed. Renewals are invoiced at the start of each period. If a renewal stays unpaid for 7 days after the paid period ends, the organisation returns to Free (nothing is deleted; only creating more than Free allows is refused). Cancel from the same page to return to Free at the end of the period you paid for.",[138,300,301],{},"Self-hosted deployments have no plans or limits.",[142,303,305],{"id":304},"plan-limits","Plan limits",[138,307,308,309,312],{},"A plan can limit the number of customers, active subscriptions, invoices per month and team members, and can leave out features (usage billing, money movement, wallets, the ledger). When a request would go past a limit, it is refused with ",[150,310,311],{},"402 Payment Required",":",[314,315,320],"pre",{"className":316,"code":317,"language":318,"meta":319,"style":319},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"statusCode\": 402,\n  \"code\": \"PLAN_LIMIT\",\n  \"message\": \"Starter allows up to 100 customers.\",\n  \"plan\": \"Starter\",\n  \"upgradeUrl\": \"https:\u002F\u002Fexample.com\u002Fupgrade\"\n}\n","json","",[321,322,323,332,354,376,397,418,438],"code",{"__ignoreMap":319},[324,325,328],"span",{"class":326,"line":327},"line",1,[324,329,331],{"class":330},"sMK4o","{\n",[324,333,335,338,342,345,347,351],{"class":326,"line":334},2,[324,336,337],{"class":330},"  \"",[324,339,341],{"class":340},"spNyl","statusCode",[324,343,344],{"class":330},"\"",[324,346,312],{"class":330},[324,348,350],{"class":349},"sbssI"," 402",[324,352,353],{"class":330},",\n",[324,355,357,359,361,363,365,368,372,374],{"class":326,"line":356},3,[324,358,337],{"class":330},[324,360,321],{"class":340},[324,362,344],{"class":330},[324,364,312],{"class":330},[324,366,367],{"class":330}," \"",[324,369,371],{"class":370},"sfazB","PLAN_LIMIT",[324,373,344],{"class":330},[324,375,353],{"class":330},[324,377,379,381,384,386,388,390,393,395],{"class":326,"line":378},4,[324,380,337],{"class":330},[324,382,383],{"class":340},"message",[324,385,344],{"class":330},[324,387,312],{"class":330},[324,389,367],{"class":330},[324,391,392],{"class":370},"Starter allows up to 100 customers.",[324,394,344],{"class":330},[324,396,353],{"class":330},[324,398,400,402,405,407,409,411,414,416],{"class":326,"line":399},5,[324,401,337],{"class":330},[324,403,404],{"class":340},"plan",[324,406,344],{"class":330},[324,408,312],{"class":330},[324,410,367],{"class":330},[324,412,413],{"class":370},"Starter",[324,415,344],{"class":330},[324,417,353],{"class":330},[324,419,421,423,426,428,430,432,435],{"class":326,"line":420},6,[324,422,337],{"class":330},[324,424,425],{"class":340},"upgradeUrl",[324,427,344],{"class":330},[324,429,312],{"class":330},[324,431,367],{"class":330},[324,433,434],{"class":370},"https:\u002F\u002Fexample.com\u002Fupgrade",[324,436,437],{"class":330},"\"\n",[324,439,441],{"class":326,"line":440},7,[324,442,443],{"class":330},"}\n",[138,445,446,447,449],{},"Reading is never limited: only creating more of a limited thing is refused. ",[321,448,425],{}," is where to change plan, when the operator has set one. The dashboard shows your plan and its limits next to your organisation name.",[142,451,453],{"id":452},"restricted-access","Restricted access",[163,455,456,466],{},[166,457,458],{},[169,459,460,463],{},[172,461,462],{},"Access",[172,464,465],{},"What works",[182,467,468,476,484],{},[169,469,470,473],{},[187,471,472],{},"Full",[187,474,475],{},"Everything",[169,477,478,481],{},[187,479,480],{},"Read-only",[187,482,483],{},"Everything that reads; creating or changing anything is refused",[169,485,486,489],{},[187,487,488],{},"Suspended",[187,490,491],{},"Nothing, except reading your organisation's details",[138,493,494,495,498,499,501,502,505,506,509,510,512,513,516],{},"A refused request returns ",[150,496,497],{},"403 Forbidden"," with ",[321,500,321],{}," ",[321,503,504],{},"TENANT_READ_ONLY"," or ",[321,507,508],{},"TENANT_SUSPENDED",", the reason the operator gave as ",[321,511,383],{},", and ",[321,514,515],{},"accessUrl"," where to resolve it, if set. The dashboard shows the same reason in a banner.",[518,519,520],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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":319,"searchDepth":334,"depth":334,"links":522},[523,524,525],{"id":144,"depth":334,"text":145},{"id":304,"depth":334,"text":305},{"id":452,"depth":334,"text":453},"What happens when your organisation reaches a plan limit, or its access is restricted.","md",null,{},true,{"title":81,"description":526},"gzV78yk6Nu9tblluB_aqgV5W7T_YHId3sshqgGYCsrM",[534,536],{"title":77,"path":78,"stem":79,"description":535,"children":-1},"Every payment, payout, fee and wallet movement as double-entry journal entries, checked for integrity.",{"title":85,"path":86,"stem":87,"description":537,"children":-1},"Bill in any ISO currency or one of your own, keep every balance in its own currency, and report in one currency at the rate of each payment's day.",1793401245308]