Repository navigation
Releases
Releases · pimabill/billing
v0.3.0
v0.2.0
0.2.0 (2026-11-07)
⚠ BREAKING CHANGES
- the SDKs' default production and sandbox URLs are now https://api.pimabill.com and https://sandbox.pimabill.com.
Features
- api: look up customers by externalId and plans and add-ons by code, with a guide to building an integration (#149) (ca9839e)
- auth: Cloudflare Turnstile on sign-in, sign-up and password reset (#155) (12b2bd8)
- checkout: a hosted checkout where customers choose how to pay, and a cleaner customer portal (#163) (a134e97)
- checkout: customers see MTN, Airtel, Visa and PayPal by name, and Free matches at 500 subscriptions (#164) (c505e7b)
- checkout: each provider shows what it takes in the currency, and Growth pays on the hosted checkout (#165) (2960ed9)
- cloud: Free is 500 customers, Growth is dollars only, and new sign-ups alert the operator (#162) (33cc198)
- dashboard: a cleaner, modern look for the dashboard and landing page (#160) (13527c8)
- gateway: a general external payment gateway connector (#169) (676a859)
- install: one-command self-hosted install and upgrade (#170) (8e4d23f)
- invoices: sell one-time products by add-on code, and let customers pay invoices in parts (#148) (52dde5f)
- landing: rebuild the homepage around product UI on a white canvas (#161) (3348dd7)
- landing: topic pages for countries, use cases and alternatives, with structured data (#156) (c952f46)
- the hosted cloud moves to pimabill.com (#153) (3f79319)
Bug Fixes
- api: API keys can read and update organisation settings and payment methods (#159) (cec841e)
- dashboard: signed-out pages reach the API for the bot check and password reset (#157) (2e69874)
- deploy: retry the image pull when the registry connection drops (#168) (29456f1)
- deploy: wait six minutes for the API, which migrates every organisation first (#167) (6ce7791)
- email: the sandbox emails only team members, and no email goes to a domain that can't receive it (#151) (2c2563e)
- payments: refunds come off what was paid on the invoice, and cloud plans are set up once at startup (#152) (1ce6233)
v0.1.0
0.1.0 (2026-10-26)
⚠ BREAKING CHANGES
- providers: the API lists every supported provider without credentials, and live and sandbox keep to their own keys (#141)
- deploy: the stack no longer starts without real secrets in .env.
- payments: Stripe needs webhookSecret and Flutterwave secretHash configured, or their payments are not confirmed.
- auth: portal links with ?key= stop working; keys with resource scopes are limited to those resources.
Features
- add PayPal provider, fix multi-provider dashboard, regroup analytics KPIs (f120fe8)
- apply PR review comments, analytics KPIs backend endpoint, ARR display, tooltips, provider ordering, multi-provider checkout (2fcdff1)
- auth: two-step sign-in with an authenticator app, and organisations that require it (#134) (857bd87)
- charges: charge a customer once or on a plan, from the dashboard or in one API call (#143) (9234bba)
- cloud plans, managed payments for every payment, and a simpler managed sign-up (#129) (24cd918)
- cloud-plans: African pricing in every Flutterwave currency, a generous Free tier, unlimited Growth, and Partner (#131) (b007d89)
- cloud-plans: Growth at $15, and Enterprise with no public price (#133) (60ac503)
- currencies: custom currencies, a reporting currency, and daily exchange rates kept by date (#138) (0e05894)
- dashboard: an Overview that shows setup, payments and your plan; Analytics in tabs (#132) (147bb02)
- dashboard: branded sign-in pages, brand fonts, kept out of search (b2afe54)
- dashboard: managed payments gets its own tab (#125) (85e75ad)
- dashboard: Sandbox switch sits with Documentation in the sidebar (#126) (a666e84)
- dashboard: the animated mark is the loading indicator everywhere (58ba521)
- friendlier SDKs, kept in step with the API and docs (46694f1)
- landing: a premium look: a deep hero with the product rising out of it, a facts strip, dark feature bands and a lit Growth plan (#139) (5bde19b)
- landing: rebuild the landing page on the PimaBill brand (833b8eb)
- landing: show the product, compare fairly with Stripe Billing, Lago and Chargebee, and logos on the payment rails (#137) (ccbac7b)
- managed: tell merchants when their managed payments are approved, refused, paused or restored (#140) (1a55649)
- money movement, ledger, crypto, team access and migrations (425c284)
- money: change managed payments contact details and payout destination (#124) (721c788)
- money: managed payments collect mobile money and PayPal too (e4cbc87)
- money: managed payments collect mobile money and PayPal too (b56270a)
- money: managed payments pay out to mobile money, bank or PayPal (202e936)
- money: managed payments pay out to mobile money, bank or PayPal (83e81c0)
- organisation access controls, a platform service API and an operator command (165eb23)
- organisation access controls, a platform service API and an operator command (d012579)
- plan limits an operator can set per organisation (73cc5c4)
- plan limits an operator can set per organisation (0a98d35)
- platform: control-plane service API exposes the console's organisation data (dcde48b)
- platform: control-plane service API exposes the console's organisation data (e55475e)
- platform: the platform console moves to the private control panel (e5ae4e9)
- platform: the platform console moves to the private control panel (5b804fd)
- price PimaBill Cloud at $15/month (656b836)
- price PimaBill Cloud at $15/month and capitalise the wordmark (92106a1)
- providers: the API lists every supported provider without credentials, and live and sandbox keep to their own keys (#141) (32456cf)
- rebuild the landing page, sign-in pages and docs on the PimaBill brand (b80d758)
- sandbox mode, a Live/Sandbox dashboard switch, and SDK publishing (#116) (239a0d6)
- sandbox: managed payments in the sandbox follow the live approval (#145) (ccd314f)
- sdk: PimaBillClient everywhere and the hosted API by default (ebdbba8)
Bug Fixes
- add noopener,noreferrer to checkout window.open to prevent tabnabbing (bea3798)
- add proper auth error handling in PesapalProvider.getAccessToken (12d91c6)
- address CI findings on the system review changes (1c7f7d9)
- api: describe the responses of the money, ledger and team endpoints (132382e)
- api: optional, typed query parameters and a real amount type (77cc2ec)
- api: typed parties, whole-number counts and one request type per endpoint (28e08df)
- auth: enforce API key scopes, hash keys, scope portal links (f55aad9)
- Auto-register Pesapal IPN URL on provider creation (Option A) (c2c2134)
- billing: bill each period exactly once, and fix dunning (55a7287)
- currency-aware amount formatting and environment label in Pesapal charge errors (010acbc)
- dashboard: hydration on every page...