[{"data":1,"prerenderedAt":642},["ShallowReactive",2],{"navigation_docs":3,"-getting-started-introduction":132,"-getting-started-introduction-surround":639},[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":10,"body":134,"description":632,"extension":633,"links":634,"meta":635,"navigation":636,"path":11,"seo":637,"stem":12,"__hash__":638},"docs\u002F1.getting-started\u002F1.introduction.md",{"type":135,"value":136,"toc":620},"minimark",[137,141,146,149,152,156,218,222,225,246,256,261,275,279,371,375,378,580,584],[138,139,140],"p",{},"PimaBill is a multi-tenant billing infrastructure API built for businesses operating across Africa. It provides a complete set of tools for managing customers, subscription plans, invoices, and payments with native support for African payment providers.",[142,143,145],"h2",{"id":144},"what-is-pimabill","What is PimaBill?",[138,147,148],{},"PimaBill abstracts away the complexity of integrating with multiple payment providers across different markets. Instead of building and maintaining separate integrations with Stripe, Flutterwave, Paystack, MTN MoMo, Airtel Money and others, you connect once to PimaBill and gain access to all of them through a unified API.",[138,150,151],{},"Whether you are building a SaaS product, a marketplace, or any application that requires recurring billing, PimaBill provides the infrastructure you need to collect payments reliably across the continent.",[142,153,155],{"id":154},"key-features","Key Features",[157,158,159,167,173,179,185,191,196,201,207],"ul",{},[160,161,162,166],"li",{},[163,164,165],"strong",{},"Multi-Tenant Architecture"," -- Each tenant operates in complete isolation with its own dedicated database, ensuring data security and compliance.",[160,168,169,172],{},[163,170,171],{},"Multiple Payment Providers"," -- Stripe, Flutterwave, Paystack, Pesapal, PayPal, PayU and DPO for checkout; MTN MoMo, Airtel Money, Yo! Payments and Eversend for mobile money; USDT and Bitcoin to your own wallet.",[160,174,175,178],{},[163,176,177],{},"Subscription Management"," -- Full subscription lifecycle management including trials, plan changes, pausing, and cancellation.",[160,180,181,184],{},[163,182,183],{},"Invoice Generation"," -- Automated invoice creation with PDF generation and multi-currency support.",[160,186,187,190],{},[163,188,189],{},"Analytics Dashboard"," -- Revenue, subscription, and customer analytics accessible via API.",[160,192,193,195],{},[163,194,117],{}," -- Real-time event notifications for all billing events.",[160,197,198,200],{},[163,199,125],{}," -- One-time collections, payouts and wallet transfers, posted to a double-entry ledger.",[160,202,203,206],{},[163,204,205],{},"Official SDKs"," -- TypeScript, Python and PHP SDKs for type-safe API access.",[160,208,209,212,213,217],{},[163,210,211],{},"Interactive API Reference"," -- Full API documentation available at ",[214,215,216],"code",{},"\u002Fapi\u002Freference",".",[142,219,221],{"id":220},"architecture-overview","Architecture Overview",[138,223,224],{},"PimaBill follows a multi-tenant architecture where each tenant receives a completely isolated database. This design ensures:",[226,227,228,234,240],"ol",{},[160,229,230,233],{},[163,231,232],{},"Data Isolation"," -- No tenant can access another tenant's data, even in the event of a software bug.",[160,235,236,239],{},[163,237,238],{},"Independent Scaling"," -- Each tenant's database can be scaled independently based on their usage patterns.",[160,241,242,245],{},[163,243,244],{},"Regulatory Compliance"," -- Data residency requirements can be met by provisioning tenant databases in specific regions.",[247,248,253],"pre",{"className":249,"code":251,"language":252},[250],"language-text","┌─────────────────────────────────────────────────┐\n│                  PimaBill API                 │\n├─────────────────────────────────────────────────┤\n│              Authentication Layer                │\n│         (JWT for tenants, API Keys for data)     │\n├──────────┬──────────┬──────────┬────────────────┤\n│ Tenant A │ Tenant B │ Tenant C │   Tenant ...   │\n│   DB     │   DB     │   DB     │     DB         │\n└──────────┴──────────┴──────────┴────────────────┘\n         │            │            │\n    ┌────┴────┐  ┌────┴────┐  ┌───┴─────┐  ┌───┴─────┐\n    │  Stripe  │  │Flutterwave│ │ Paystack │ │ MTN MoMo │\n    └─────────┘  └──────────┘  └─────────┘  └─────────┘\n","text",[214,254,251],{"__ignoreMap":255},"",[257,258,260],"h3",{"id":259},"authentication-model","Authentication Model",[138,262,263,264,267,268,271,272,217],{},"Every request carries a Bearer token: an ",[163,265,266],{},"access token"," for a person signed in to the dashboard, held to their role, or an ",[163,269,270],{},"API key"," for your servers, with access to the whole API except team management and payout approval. See ",[273,274,18],"a",{"href":19},[142,276,278],{"id":277},"supported-payment-providers","Supported Payment Providers",[280,281,282,298],"table",{},[283,284,285],"thead",{},[286,287,288,292,295],"tr",{},[289,290,291],"th",{},"Provider",[289,293,294],{},"Countries",[289,296,297],{},"Payment Methods",[299,300,301,315,328,341,354],"tbody",{},[286,302,303,309,312],{},[304,305,306],"td",{},[163,307,308],{},"Stripe",[304,310,311],{},"195+ countries",[304,313,314],{},"Cards, Bank Transfers, Wallets (Apple Pay, Google Pay)",[286,316,317,322,325],{},[304,318,319],{},[163,320,321],{},"Flutterwave",[304,323,324],{},"Nigeria, Kenya, Ghana, South Africa, Uganda, Tanzania, Rwanda, and 30+ others",[304,326,327],{},"Card, Bank Transfer, Mobile Money, USSD",[286,329,330,335,338],{},[304,331,332],{},[163,333,334],{},"Paystack",[304,336,337],{},"Nigeria, Ghana, South Africa, Kenya",[304,339,340],{},"Card, Bank Transfer, USSD, Mobile Money, QR",[286,342,343,348,351],{},[304,344,345],{},[163,346,347],{},"Pesapal",[304,349,350],{},"Kenya, Uganda, Tanzania",[304,352,353],{},"M-Pesa, Airtel Money, cards",[286,355,356,365,368],{},[304,357,358,361,362],{},[163,359,360],{},"MTN MoMo",", ",[163,363,364],{},"Airtel Money",[304,366,367],{},"Uganda and other MTN and Airtel markets",[304,369,370],{},"Mobile money, direct",[142,372,374],{"id":373},"supported-currencies","Supported Currencies",[138,376,377],{},"PimaBill supports the following currencies for plans, invoices, and payments:",[280,379,380,393],{},[283,381,382],{},[286,383,384,387,390],{},[289,385,386],{},"Code",[289,388,389],{},"Currency",[289,391,392],{},"Region",[299,394,395,406,417,428,439,450,461,472,483,494,505,516,527,538,549,560,570],{},[286,396,397,400,403],{},[304,398,399],{},"NGN",[304,401,402],{},"Nigerian Naira",[304,404,405],{},"Nigeria",[286,407,408,411,414],{},[304,409,410],{},"KES",[304,412,413],{},"Kenyan Shilling",[304,415,416],{},"Kenya",[286,418,419,422,425],{},[304,420,421],{},"GHS",[304,423,424],{},"Ghanaian Cedi",[304,426,427],{},"Ghana",[286,429,430,433,436],{},[304,431,432],{},"ZAR",[304,434,435],{},"South African Rand",[304,437,438],{},"South Africa",[286,440,441,444,447],{},[304,442,443],{},"UGX",[304,445,446],{},"Ugandan Shilling",[304,448,449],{},"Uganda",[286,451,452,455,458],{},[304,453,454],{},"TZS",[304,456,457],{},"Tanzanian Shilling",[304,459,460],{},"Tanzania",[286,462,463,466,469],{},[304,464,465],{},"RWF",[304,467,468],{},"Rwandan Franc",[304,470,471],{},"Rwanda",[286,473,474,477,480],{},[304,475,476],{},"EGP",[304,478,479],{},"Egyptian Pound",[304,481,482],{},"Egypt",[286,484,485,488,491],{},[304,486,487],{},"XOF",[304,489,490],{},"West African CFA Franc",[304,492,493],{},"West Africa",[286,495,496,499,502],{},[304,497,498],{},"XAF",[304,500,501],{},"Central African CFA Franc",[304,503,504],{},"Central Africa",[286,506,507,510,513],{},[304,508,509],{},"MAD",[304,511,512],{},"Moroccan Dirham",[304,514,515],{},"Morocco",[286,517,518,521,524],{},[304,519,520],{},"ETB",[304,522,523],{},"Ethiopian Birr",[304,525,526],{},"Ethiopia",[286,528,529,532,535],{},[304,530,531],{},"DZD",[304,533,534],{},"Algerian Dinar",[304,536,537],{},"Algeria",[286,539,540,543,546],{},[304,541,542],{},"ZMW",[304,544,545],{},"Zambian Kwacha",[304,547,548],{},"Zambia",[286,550,551,554,557],{},[304,552,553],{},"USD",[304,555,556],{},"US Dollar",[304,558,559],{},"International",[286,561,562,565,568],{},[304,563,564],{},"EUR",[304,566,567],{},"Euro",[304,569,559],{},[286,571,572,575,578],{},[304,573,574],{},"GBP",[304,576,577],{},"British Pound",[304,579,559],{},[142,581,583],{"id":582},"next-steps","Next Steps",[157,585,586,593,599,605,614],{},[160,587,588,589,592],{},"Follow the ",[273,590,591],{"href":15},"Quickstart Guide"," to make your first API call in minutes.",[160,594,595,596,598],{},"Connecting an app or platform? ",[273,597,26],{"href":27}," covers it from start to finish.",[160,600,601,602,604],{},"Read about ",[273,603,18],{"href":19}," to understand how to secure your API access.",[160,606,607,608,610,611,613],{},"Explore the ",[273,609,36],{"href":37}," or ",[273,612,40],{"href":41}," for your preferred language.",[160,615,616,617,619],{},"Browse the ",[273,618,129],{"href":130}," for a complete list of endpoints.",{"title":255,"searchDepth":621,"depth":621,"links":622},2,[623,624,625,629,630,631],{"id":144,"depth":621,"text":145},{"id":154,"depth":621,"text":155},{"id":220,"depth":621,"text":221,"children":626},[627],{"id":259,"depth":628,"text":260},3,{"id":277,"depth":621,"text":278},{"id":373,"depth":621,"text":374},{"id":582,"depth":621,"text":583},"Learn what PimaBill is, its core architecture, and how it can power your billing infrastructure.","md",null,{},true,{"title":10,"description":632},"6pSYWCoV5DauqTe-VO5MBScU70O2iRt3Za3GN6oeWPE",[634,640],{"title":14,"path":15,"stem":16,"description":641,"children":-1},"Get up and running with PimaBill in under 5 minutes.",1793401244575]