Building a subscription business across Southeast Asia sounds simple: pick a payment processor, wire up the API, invoice customers in their local currency. In practice, it's a pressure test. Stripe Billing, Paddle, and Recurly all claim to handle recurring revenue. But their support for GST in Australia, SST in Malaysia, PPN in Indonesia, and local payment methods (e-wallet, bank transfer, buy-now-pay-later) varies enough that the wrong choice will force a painful rebuild at scale. The core issue: tax compliance and dunning logic in Southeast Asia aren't solved the same way twice. A processor that nails multi-currency invoicing can still fail at retry sequences when a card declines in a market where buy-now-pay-later is the default. And a platform that handles GST perfectly might not know SST service exemptions or NPWP validation. Here's what to test before you lock in. Multi-Currency and Local Payment Rails Stripe Billing supports a wide range of currencies and payment methods, including card networks, local bank transfers, and regional e-wallets. In Southeast Asia, it handles Grabpay, Alipay, GCash, and local bank ACH across major markets. The UX is clean: Stripe's invoice PDFs include multi-currency pricing, and customer dashboards support local payment flows. Paddle takes a different bet. It handles fewer currencies natively but focuses on checkout UX and tax conversion at the point of sale. Paddle's strength is selling digital products to global audiences—it handles invoicing complexity on your behalf, including regional tax rates. For physical goods or services with local tax IDs, Paddle is less flexible. Recurly sits in the middle. It supports 150+ currencies and integrates with local payment gateways, but the setup requires more manual configuration. Recurly's strength is for regional teams managing subscriptions across many markets simultaneously—it handles per-market tax rules and payment method customization. The trade-off: setup and maintenance overhead. If you're invoicing in Thai Baht, Malaysian Ringgit, and Philippine Peso simultaneously, Stripe's native support for local payment rails will save you weeks versus building custom integrations into Recurly. Paddle won't save you time here—it's designed for B2C SaaS, not regional B2B subscriptions. GST, SST, and Tax Compliance Testing This is where processor choice becomes a business decision, not just a tech one. Stripe Billing can be configured to calculate and apply GST, SST, and other VAT-equivalent taxes at invoice time. However, there are gaps: Stripe doesn't natively validate NPWP (Indonesia's tax ID) or check whether a Malaysian service is SST-exempt. You'll need to handle exemption logic in your own code or through a middleware layer (like workflow automation that calls an external tax service). Stripe's tax engine is powerful but requires you to own the compliance rules. Paddle offers tax compliance out of the box for digital products. It calculates VAT for EU, GST for Australia/NZ, and applies US state sales tax. For Southeast Asia, Paddle's tax rules are thinner. SST service invoicing, NPWP validation, and PPN exemption logic are not built in. If you're selling software or digital services to SEA businesses, Paddle will handle GST correctly but won't catch SST service rules or local tax ID validation. Recurly provides the most flexibility: you define custom tax rules per jurisdiction, and Recurly applies them at invoice generation. This means you can encode SST exemption logic, NPWP validation workflows, and regional rate differences. The cost is configuration time and ongoing maintenance when tax rules change—which happens annually in Malaysia and Indonesia. In practice, here's what matters: If you're invoicing Australian customers, all three handle GST. Stripe is fastest to integrate. If you're invoicing Malaysian B2B services, Stripe and Recurly require custom exemption logic. Paddle won't work. If you're invoicing Indonesian businesses, you need NPWP validation and PPN logic. Only Recurly offers native fields; Stripe and Paddle require workarounds. For a small team, the complexity of Recurly may not be worth it unless you're already billing across 5+ markets with different tax rules. Stripe works if you build compliance logic into your own workflow or use a dedicated tax service (like TaxJar or Avalara) to pre-validate invoices before submission. Dunning and Retry Logic Payment failures are not evenly distributed. In Southeast Asia, card declines are higher than in North America (fraud detection is stricter), and local payment methods—e-wallets, installment plans—have different failure modes than traditional cards. A processor that retries every 3 days with a single email might work in San Francisco. In Jakarta or Manila, you need smarter dunning. Stripe Billing offers basic retry logic: configure intervals, enable dunning email templates, and Stripe will attempt recovery. You can use webhooks to trigger custom actions (e.g., paus