Alright folks, another week, another deep dive into the messy reality of building things. This time, I’m talking about payments, specifically how I mashed together Airwallex and Stripe to handle different parts of my SaaS business. The title says “perfect hybrid stack,” and honestly, it’s pretty darn close to perfect for what I needed.

The Pain Point I Was Trying to Solve

My SaaS targets both domestic (US/EU) clients who mostly use credit cards and international clients, especially those in APAC, who prefer local bank transfers or have higher volume needs that make pure Stripe fees a bit painful. I started with just Stripe, like everyone else. It’s easy, drop-in, great documentation. But man, those currency conversion fees and the sheer cost of larger volume transfers outside the core markets really started biting into margins.

I looked at expanding my payment processors, but I didn’t want to manage ten different APIs. I needed a clean separation of duties.

The Airwallex Integration: Going Global

I heard about Airwallex mainly through other founders talking about cheaper global payouts and better multi-currency accounts. So, I decided to shunt most of my international B2B invoicing and large volume collection straight to Airwallex. This was the first step.

Airwallex & Stripe: The Perfect Hybrid Stack for SaaS?
Airwallex & Stripe: The Perfect Hybrid Stack for SaaS? 3
  • Setup: Getting Airwallex set up was straightforward but required a bit more KYC than Stripe, which is expected since they handle more heavy lifting around actual bank accounts and cross-border settlement.
  • Implementation: I built a simple middleware service running on Go (because I love Go for backend tasks like this) that checks the client’s geographic location and expected invoice size. If it hits certain criteria (e.g., APAC region or annual contract value over $50k), the invoice generation points directly to an Airwallex linked multi-currency account instead of a Stripe hosted page.
  • The Win: The biggest win here was the ability to hold funds in different currencies with very favorable conversion rates when I needed to pay suppliers or myself. It reduced bank fees significantly.

Keeping Stripe for Simplicity and Subscriptions

I realized quickly that completely ditching Stripe was foolish. For standard, recurring, small-to-medium-sized monthly subscriptions from US and Western European customers, Stripe is still king. Its robust subscription management tools, automated taxing features (Stripe Tax), and seamless integration with my frontend components (React) are unbeatable for the low-friction experience.

So, the division became clear:

  • Stripe’s Role: Handles all standard self-service credit card subscriptions, monthly recurring revenue (MRR) tracking, and automated trials.
  • Airwallex’s Role: Manages high-volume B2B enterprise invoices, collections from countries where Stripe penetration is low, and all cross-border payouts or massive currency holding needs.

Making Them Talk: The Hybrid Logic

The core of this “perfect hybrid” involved making sure my backend billing service knew which system held the source of truth for a given customer’s payment method and balance. I couldn’t just have two separate billing databases.

What I did was implement a simple flag in my user database: payment_processor_id (either ‘stripe’ or ‘aw’). When a user logs in or hits the billing page, my service looks at this flag and routes the request to the correct API endpoint.

If a customer is a large international enterprise on Airwallex, my system pulls invoice status directly from their API. If they are a standard monthly subscriber, it uses the Stripe API.

The trickiest part was reporting. I had to build a consolidated dashboard. I pull transaction data daily from both processors, normalize the currency to USD or EUR (depending on where I’m logging it), and dump it into my central data warehouse (just a PostgreSQL DB running on AWS, nothing fancy). This gives me a unified view of MRR and collections, regardless of the payment gateway.

The Verdict

Mixing them wasn’t as hard as I thought it would be, but it required discipline in defining the roles. Stripe handles the finesse, the self-service, the smaller transactions. Airwallex handles the heavy lifting, the cross-border transfers, and the big checks.

This hybrid approach significantly reduced my currency conversion costs and allowed me to offer payment methods that appeal to a much broader global clientele without sacrificing the ease of use Stripe provides for my standard user base. It truly unlocked a massive capability for global scaling without having to pay a premium for every single cross-border transaction. Highly recommend looking into this if your user base is split between localized, high-volume B2B and general self-service subscriptions.

Leave a Reply

Your email address will not be published. Required fields are marked *