diff --git a/docs/PAYMENTS-PLAN.md b/docs/PAYMENTS-PLAN.md new file mode 100644 index 0000000..03a517a --- /dev/null +++ b/docs/PAYMENTS-PLAN.md @@ -0,0 +1,332 @@ +# Clavitor — Global Recurring Payment Infrastructure Plan + +*Last updated: March 2026* + +--- + +## Executive Summary + +**Strategy:** Two primary partners, regional satellites. Stripe for card-present markets + developed economies. Paddle or Lemon Squeezy for tax compliance and emerging market coverage. Local payment orchestration for Africa, South Asia, and LATAM where cards fail. + +**Coverage:** 180+ countries, excluding Russia and China by policy. + +**Key insight:** In Nigeria, Bangladesh, Pakistan, and much of Africa/LATAM, credit card penetration is <5%. Mobile money, bank transfers, and carrier billing dominate. A "global" plan that only accepts cards is not global. + +--- + +## Tier 1: Primary Infrastructure (The Core Stack) + +### Partner 1: Stripe +**Role:** Card processing, subscriptions, developed markets, API infrastructure. + +**Why Stripe:** +- Best-in-class subscription APIs (Billing, Checkout) +- Strongest fraud prevention (Radar, 3D Secure) +- Developer experience is unmatched +- Supports 135+ currencies +- Embeddable pricing tables and customer portal + +**Markets (Stripe dominates):** +- North America (US, Canada) +- Western Europe (UK, DE, FR, NL, ES, IT, etc.) +- Australia, New Zealand, Japan, Singapore, Hong Kong +- Eastern Europe (Poland, Czech Republic, etc.) +- Most of LATAM (Mexico, Brazil, Chile, Argentina — with local card schemes) +- India (with some local method support) + +**Limitations:** +- No native mobile money (M-Pesa, MTN, etc.) +- Weak in Sub-Saharan Africa outside South Africa +- No carrier billing +- Bangladesh, Pakistan: cards only, no local bank transfer support +- Nigeria: cards work but ~70% fail due to bank restrictions + +**Implementation:** +``` +Stripe Checkout (hosted) for < $100/month plans +Stripe Elements (embedded) for enterprise/annual +Stripe Billing for subscription lifecycle +Stripe Tax for EU VAT, US sales tax (where required) +``` + +--- + +### Partner 2: Paddle or Lemon Squeezy +**Role:** Merchant of record (MOR), tax compliance, emerging market coverage, local payment methods. + +**Decision point:** Paddle vs. Lemon Squeezy + +| Factor | Paddle | Lemon Squeezy | +|--------|--------|---------------| +| Pricing | 5% + 50¢ per transaction | 5% + 50¢ per transaction | +| MOR coverage | 100+ countries | 50+ countries | +| Local methods | Strong (PayPal, Apple Pay, Google Pay, wire, Alipay in some regions) | Stronger on PayPal, weaker on wires | +| Africa coverage | Limited | Limited | +| India | Good | Good | +| Pakistan/Bangladesh | PayPal, cards only | Same | +| Nigeria | PayPal, some card coverage | Similar | +| API quality | Mature, well-documented | Newer, improving | +| Checkout UX | Hosted, customizable | Beautiful, opinionated | +| Marketplace/airport model | Yes | No (direct only) | + +**Recommendation: Paddle** — specifically for the MOR coverage and the ability to handle "airport" sales (someone buys in Nigeria while traveling, pays from a German account). + +**Why not just Stripe + Paddle?** +- Paddle's API is slower, less flexible than Stripe +- Paddle's checkout is hosted — you lose some UX control +- Paddle takes 5% vs Stripe's 2.9% + 30¢ + +**The split:** +- Stripe: Card-present markets, enterprise sales, API-driven purchases +- Paddle: Self-serve customers in emerging markets, tax compliance for EU/UK/US + +--- + +## Tier 2: Regional Satellites (Where Cards Fail) + +### Africa: M-Pesa, MTN Mobile Money, Airtel Money +**Challenge:** In Kenya, Tanzania, Uganda, Ghana, mobile money is 80%+ of digital payments. Cards are rarely used. + +**Partner: DPO Group (now Network International) or Flutterwave** + +**DPO Group:** +- Covers 20+ African markets +- Aggregates M-Pesa, MTN, Airtel, plus cards +- PCI compliant +- Recurring support via tokenization (user approves repeat payment on mobile) + +**Flutterwave:** +- Nigerian-founded, strong in West Africa +- Supports M-Pesa, mobile money, bank transfers, cards +- "Subscription" product exists but is newer +- Better developer experience than DPO + +**Recommendation: Flutterwave** for primary African coverage. + +**Implementation model:** +``` +User selects country → + If Kenya/Ghana/Nigeria/Tanzania → Flutterwave checkout + If South Africa → Stripe (cards work well) + If other Africa → Paddle (PayPal fallback) or Flutterwave +``` + +**Critical note on recurring:** Mobile money subscriptions work differently. User gets an SMS to approve each monthly charge. This is not "set and forget" like cards. UX needs to explain: "We'll send you a monthly SMS to confirm. Reply YES to continue." + +--- + +### South Asia: India, Pakistan, Bangladesh +**India:** Stripe works well. UPI (Unified Payments Interface) is critical. Stripe added UPI support in 2023. Razorpay is the local leader if Stripe fails. + +**Pakistan:** +- Cards: ~10% penetration, high fraud, high decline rates +- Bank transfers: HBL, UBL, other major banks +- Mobile wallets: JazzCash, Easypaisa dominate + +**Partner: Payoneer, Wise, or local aggregator** + +Realistic options: +- **Payoneer Checkout:** Covers Pakistan, Bangladesh, supports local bank debits +- **2Checkout (Verifone):** Mature, supports Pakistan, but high fees (6%+) +- **Local partner:** Easypaisa/JazzCash APIs for Pakistan — requires local entity + +**Recommendation for Pakistan/Bangladesh:** +- Start with Paddle (PayPal + cards) +- Add Payoneer Checkout for local bank support +- Long-term: evaluate Easypaisa direct integration if volume justifies local entity + +**Bangladesh:** +- bKash is the mobile money giant (45M+ users) +- Cards: ~5% penetration +- Bank transfers: growing + +**bKash integration:** Requires Bangladesh Bank approval, local entity. Not feasible for MVP. + +**Short-term:** Paddle or Payoneer for card + PayPal coverage. Acknowledge that Bangladesh is "card and PayPal only" until volume justifies bKash integration. + +--- + +### Southeast Asia: Indonesia, Philippines, Vietnam +**Indonesia:** +- Cards work in Jakarta/Bali. Elsewhere: bank transfers, OVO, GoPay, DANA (e-wallets) +- Xendit is the leading local aggregator + +**Philippines:** +- GCash and Maya dominate (90%+ of digital payments) +- Cards work but high fraud + +**Partner: Xendit** +- Covers Indonesia, Philippines, Vietnam +- Supports OVO, GoPay, GCash, Maya, bank transfers, cards +- Recurring support via tokenization + +**Recommendation:** +- Tier 1 cities: Stripe (cards) +- Tier 2+ and general population: Xendit + +**Implementation:** +``` +If country = ID/PH/VN → + Xendit checkout with local wallets + Fallback to Stripe for cards +``` + +--- + +### Middle East: UAE, Saudi Arabia, Egypt +**UAE/Saudi:** Stripe works. Cards are common. Apple Pay/Google Pay growing. + +**Egypt:** +- Cards work (limited penetration) +- Fawry (cash network) is massive — pay at any Fawry kiosk +- Vodafone Cash (mobile wallet) + +**Partner: Fawry or Paymob** +- Paymob is Egyptian, supports Fawry, Vodafone Cash, cards, bank installments +- Recurring: tricky. Fawry is cash-based. Paymob can tokenize for wallets. + +**Recommendation:** +- UAE/Saudi: Stripe primary +- Egypt: Paymob if volume justifies, otherwise Paddle (PayPal + cards) + +--- + +## The Consolidated Stack (Minimal Partners) + +| Partner | Markets | Methods | Role | +|---------|---------|---------|------| +| **Stripe** | 40+ developed | Cards, SEPA, UK faster payments, Apple/Google Pay, UPI (India) | Core API, subscriptions, enterprise | +| **Paddle** | 100+ (MOR) | Cards, PayPal, Apple Pay, bank transfers (limited) | Tax compliance, self-serve global fallback | +| **Flutterwave** | 20+ Africa | M-Pesa, MTN, Airtel, cards, bank | Africa mobile money | +| **Xendit** | ID, PH, VN | OVO, GoPay, GCash, Maya, cards, bank | SE Asia e-wallets | +| **Payoneer** | PK, BD, global | Local bank debits, cards, PayPal | Pakistan, Bangladesh local coverage | + +**Total partners: 5.** Could reduce to 4 if Xendit and Flutterwave merge efforts (not currently possible). + +**Could go to 3?** Only if you accept that Pakistan, Bangladesh, and parts of Africa are "cards and PayPal only" at launch. That's a business decision — acceptable for MVP, limiting for scale. + +--- + +## Recurring Payment Mechanics by Region + +### Card-based (Stripe, Paddle) +- Standard: Customer agrees, token stored, charged monthly +- Failed charges: Retry logic, dunning emails, grace periods +- Cancellation: Self-serve portal + +### Mobile Money (Flutterwave, M-Pesa) +- Model: "Consent-based recurring" +- Flow: User approves first payment. For renewals, SMS sent: "Clavitor wants to charge $12. Reply YES to approve." +- Churn: Higher than cards (users forget to reply, change numbers) +- UX requirement: Explain the SMS flow upfront. Don't surprise users. + +### E-wallets (Xendit, OVO, GCash) +- Model: Tokenized recurring where supported +- Some wallets: Monthly approval required (like mobile money) +- Status: Varies by wallet. Xendit abstracts this. + +### Bank transfers (SEPA, UK, local) +- Model: Invoice or direct debit +- SEPA direct debit: Strong authorization required, 8-week refund window +- UK Direct Debit: Bacs, 3-day settlement +- Local (Pakistan, Bangladesh): Push payment — user must initiate each time. Not truly "recurring." + +--- + +## Tax and Compliance + +### Merchant of Record vs. Self-Filing + +**Option A: Paddle or Lemon Squeezy as MOR** +- They collect, remit VAT/GST/sales tax +- You receive net revenue +- Pros: Zero tax compliance work +- Cons: Higher fees (5% vs 2.9%), less control + +**Option B: Stripe + Self-Filing** +- You collect, you remit +- Stripe Tax calculates, you file +- Pros: Lower fees, full control +- Cons: Complex — need accountants in EU, US, etc. + +**Recommendation:** +- **Paddle for self-serve:** < $1,000/year customers, global spread +- **Stripe for enterprise:** > $1,000/year, direct contracts + +**Specific jurisdictions:** +- **EU:** VAT OSS (One Stop Shop) — file in one country, cover all 27. Stripe Tax or Paddle handles. +- **UK:** VAT registration required > £85k. Stripe Tax calculates. +- **US:** Sales tax nexus varies by state. Stripe Tax is essential. +- **India:** GST on B2B exports is 0% with LUT (Letter of Undertaking). B2C: 18% IGST. +- **Nigeria:** VAT 7.5%. Complex to collect as foreign entity — Paddle or local partner handles. + +--- + +## Implementation Roadmap + +### Phase 1: MVP (Months 1–2) +**Goal:** Launch with coverage for 80% of addressable market. + +- Stripe: US, Canada, EU, UK, Australia, Japan, Singapore +- Paddle: Global fallback for countries without Stripe coverage +- Result: 40+ countries, card/PayPal only + +### Phase 2: Emerging Markets (Months 3–6) +**Goal:** Add mobile money and local wallets. + +- Flutterwave: Kenya, Nigeria, Ghana, Tanzania +- Xendit: Indonesia, Philippines +- Evaluate: Pakistan (Payoneer), Bangladesh (stay on Paddle) + +### Phase 3: Deep Localization (Months 6–12) +**Goal:** True local payment methods where volume justifies. + +- Egypt: Fawry/Paymob if customer base grows +- Bangladesh: bKash integration (requires local entity) +- Pakistan: Easypaisa/JazzCash direct +- India: Full UPI optimization, RuPay support + +--- + +## Fallback Strategy: What If a Payment Fails? + +**The problem:** A user in Nigeria tries to pay, card fails, no mobile money option, no PayPal. + +**Options:** +1. **Wire transfer / SWIFT:** Manual. You send invoice, they wire. High friction, high fees ($20–50), but works for annual enterprise contracts. +2. **Crypto (USDC/USDT):** Immediate, global, final settlement. Controversial but effective for unbanked tech users. +3. **Partner/reseller model:** Local MSP or integrator buys Clavitor seats wholesale, resells locally, handles local payment collection. + +**Recommendation:** +- For enterprise Nigeria, India, etc.: Offer annual wire/crypto with 10% discount to offset friction +- For SMB: If Paddle + Stripe fail, the market isn't reachable yet. Don't build custom. + +--- + +## Summary: The Minimal Viable Stack + +If you want absolute minimal partners with maximum honest coverage: + +1. **Stripe** — 70% of global revenue, all enterprise +2. **Paddle** — Tax compliance, global self-serve fallback, 100+ countries +3. **Flutterwave** — Africa mobile money (if you want Africa properly) + +That's **3 partners**. Covers 95% of the addressable market with honest local payment methods. + +**Can you do 2?** Stripe + Paddle only. Accepts that Africa outside South Africa and parts of Asia are "cards and PayPal only." Defensible for MVP. Plan to add Flutterwave or Xendit by month 6 if African/SE Asian traction surprises you. + +--- + +## Open Questions for You + +1. **Crypto:** Accept USDC/USDT for annual contracts in unbanked markets? (Fast, final, but adds compliance complexity) + +2. **MSP/Reseller:** Do you want a formal partner program where local MSPs (like your Kaseya contacts) can resell Clavitor with local payment handling? They collect local, pay you net. + +3. **Free tier:** Is there a free tier that doesn't require payment at all? (Reduces the payment problem, increases adoption, defers the hard questions) + +4. **Annual default:** Do you optimize for annual payments (one transaction, less recurring complexity) or monthly (lower barrier, higher LTV analysis)? + +--- + +*Plan complete. Ready to implement Phase 1 (Stripe + Paddle) immediately.*