Fallstudie · Vertrauliches globales B2B-SaaS

Multi-Währungs-Zahlungen & Abonnements auf FastAPI + Airwallex für ein globales B2B-SaaS

Wie UnlockLive einen produktionsreifen Airwallex-Zahlungs- und Abonnement-Stack mit Python und FastAPI ausgeliefert hat – fünf Währungen live in 12 Wochen, 99,99 % Webhook-Zustellung, PCI-DSS-konform ausgerichtet und 65 % weniger Churn durch fehlgeschlagene Zahlungen.

  • BrancheFintech / SaaS
  • Jahr2025
  • LandKanada
  • Dauer4 Monate
Multi-Currency Payments & Subscriptions on FastAPI + Airwallex for a Global B2B SaaS hero screenshot

Ergebnisse auf einen Blick

  • 5+Währungen in 12 Wochen live (USD, CAD, GBP, EUR, AUD)
  • 99.99%Erfolgreiche Webhook-Zustellung nach Einführung des Inbox-Patterns
  • 65%Reduktion der Abwanderung durch fehlgeschlagene Abonnementzahlungen
  • SAQ APCI-Umfang eingehalten – das Backend berührt nie Kartendaten

Die Herausforderung

Ein B2B-SaaS-Unternehmen, das von Nordamerika nach APAC und EMEA expandierte, brauchte eine Zahlungsinfrastruktur, die in fünf Währungen einziehen, Abonnement-Abrechnung betreiben, Wiederholungsversuche sauber handhaben und eine Sicherheitsprüfung bestehen konnte. Es war aus einem Setup mit nur einem Zahlungsdienstleister herausgewachsen – FX-Margen fraßen 1,8 % des Umsatzes, die Abwicklung dauerte mehrere Tage, und der bestehende Webhook-Handler verlor unter Last Ereignisse. Der CFO wollte Airwallex für FX und globale Zahlungsschienen; der CTO wollte den bestehenden FastAPI-Stack behalten und Zahlungen nicht zu einem separaten Service machen, den das Team nicht betreiben könnte.

Die Aufgabe: eine produktive Airwallex-Integration auf FastAPI + PostgreSQL innerhalb eines Quartals ausliefern, mit kugelsicherer Webhook-Zuverlässigkeit, einer echten Abonnement-Zustandsmaschine, PCI-DSS-konformer Architektur und einem sauberen Betriebskonzept, damit der Bereitschaftsingenieur um 2 Uhr nachts nicht den CTO anrufen muss.

Unsere Lösung

Wir haben eine fokussierte Airwallex-Integration um drei Engineering-Ideen herum gebaut: ein typisiertes Zahlungs-Domänenmodell, eine Webhook-Pipeline nach dem Outbox-Muster und eine Zustandsmaschine für den Abonnement-Lebenszyklus, die der Rest der App lesen, aber nur der Zahlungscode schreiben kann.

Auf der API-Seite werden alle Kartendaten mit den gehosteten Zahlungselementen von Airwallex erfasst, sodass das Anwendungs-Backend nie eine PAN berührt – der PCI-Umfang bleibt bei SAQ A. Der FastAPI-Service stellt eine kleine, typisierte Zahlungs-API bereit (Pydantic-v2-Modelle, OpenAPI-dokumentiert), die das Produktteam nutzt; Airwallex-API-Aufrufe sind in einem einzigen Client mit Idempotenzschlüsseln, exponentiellen Wiederholungen und Circuit Breaking gekapselt.

Auf der Webhook-Seite landet jedes Airwallex-Ereignis in einem signierten und verifizierten Endpunkt, der nur eines tut: das Roh-Ereignis in einer einzigen Transaktion in einer `inbox`-Tabelle zu speichern. Ein separater Worker verarbeitet die Inbox in Reihenfolge, mit At-least-once-Zustellung und idempotenten Handlern. Allein dieses Muster hat das Problem verlorener Ereignisse vollständig behoben – selbst bei einem vierfachen Traffic-Spitzenwert zum Launch.

Die Abonnement-Zustandsmaschine behandelt Testphase, aktiv, überfällig, Mahnwesen, pausiert, gekündigt und reaktiviert, mit explizit erlaubten Übergängen und einem Audit-Log bei jeder Zustandsänderung. Fehlgeschlagene Zahlungen durchlaufen nun einen intelligenten Wiederholungsplan (nicht das standardmäßige exponentielle Backoff), abgestimmt auf die Abrechnungstag-Muster der Kunden – das hat den Rückgang des Churns durch fehlgeschlagene Zahlungen um 65 % bewirkt.

  • Gehostete Airwallex-Zahlungselemente – das Anwendungs-Backend berührt nie eine PAN (PCI SAQ A)
  • Typisierte FastAPI-Zahlungs-API mit Pydantic-v2-Domänenmodell und OpenAPI-Vertrag
  • Idempotenter Airwallex-Client mit Idempotenzschlüsseln, exponentiellem Retry und Circuit Breaker
  • Webhook-Pipeline nach dem Inbox-Muster – signierte Verifizierung, gespeichertes Roh-Ereignis, geordnete Worker-Abarbeitung
  • Abonnement-Zustandsmaschine: Testphase, aktiv, überfällig, Mahnwesen, pausiert, gekündigt, reaktiviert
  • Intelligenter Mahnplan, abgestimmt auf die Abrechnungstag-Muster der Kunden (kein naives Backoff)
  • Mehrwährungsunterstützung: USD, CAD, GBP, EUR, AUD zum Launch live – weitere in wenigen Tagen ergänzt
  • Datadog-Dashboards für Webhook-Verzögerung, Retry-Rate, Mahn-Funnel und FX-Exposition
  • Echtes Bereitschafts-Playbook für Airwallex-Ausfälle, Webhook-Rückstau und Ereignisse mit ungültiger Signatur

Wie wir es gebaut haben

  1. 01

    Discovery: Zahlungsabläufe, FX, Compliance-Umfang

    Wir haben die bestehenden Abläufe für Checkout, Abonnements, Mahnwesen und Rückerstattungen erfasst, jede Stelle dokumentiert, die mit Geld oder Kartendaten in Berührung kam, und ein einseitiges PCI-Scoping-Dokument erstellt, das genau festlegte, welche Oberflächen in SAQ A bleiben würden. Außerdem haben wir die FX-Zahlen über den geplanten Währungsmix durchgerechnet, um den Business Case für Airwallex zu bestätigen, bevor die erste Zeile Code geschrieben wurde.

  2. 02

    Architektur: typisierte Domäne, Outbox-Webhooks, Idempotenz

    Wir haben eine typisierte Payments-Domäne entworfen (Pydantic v2 + ein kleines Repository-Pattern), die Inbox/Outbox-Webhook-Pipeline, die Zustandsmaschine für Abonnements und den Idempotenz-Vertrag für den Airwallex-Client. Jeder externe Aufruf erhält einen aus dem Geschäftsereignis abgeleiteten Idempotenzschlüssel, sodass ein Retry nie eine doppelte Abbuchung erzeugen kann.

  3. 03

    Build: inkrementell, hinter Feature-Flags, mit Replay-Tests

    Wir haben jeweils eine Währung und einen Abonnement-Ablauf hinter Feature-Flags ausgeliefert, beginnend mit dem Markt mit dem geringsten Risiko. Jeder Webhook-Handler wurde mit einem Replay-Test ausgeliefert – wir haben echte Airwallex-Sandbox-Events aufgezeichnet und dann nachgewiesen, dass der Handler bei Umsortierung, Duplikaten und Teilausfällen korrekt bleibt.

  4. 04

    Launch: PCI-Walkthrough, Dashboards, On-Call-Playbook

    Vor dem Go-live haben wir den Sicherheitsprüfer durch den PCI-Scope und das Bedrohungsmodell geführt, Datadog-Dashboards für Webhook-Verzögerung, Retry-Rate, Dunning-Funnel und FX-Exposure bereitgestellt und ein echtes Bereitschafts-Playbook geschrieben, dem ein Entwickler um 2 Uhr nachts folgen kann, ohne den Lead zu wecken. Wir blieben 8 Wochen lang per Retainer für das Tuning nach dem Launch.

Tech-Stack

  • Python
  • FastAPI
  • Airwallex API
  • PostgreSQL
  • Redis
  • Celery
  • Next.js
  • AWS
  • Sentry
  • Datadog
  • Zahlungsintegration
  • Python & FastAPI
  • Backend-Engineering
  • Cybersecurity
“Wir sind von einem Ein-Prozessor-Setup, das unter Last Webhooks verlor, zu einer Airwallex-Integration gekommen, der unser Finanzteam vertraut und die unser Sicherheitsprüfer auf Anhieb freigegeben hat. Der Umbau des Dunning hat das Projekt allein refinanziert.”
CTO · Globales B2B-SaaS (Name vertraulich)

Häufig gestellte Fragen

Wie baut man in FastAPI einen zuverlässigen Airwallex-Webhook-Handler?

Nutzen Sie das Inbox-Muster. Der HTTP-Endpunkt tut genau zwei Dinge: Er prüft die Airwallex-Signatur und speichert das Roh-Ereignis in einer einzigen Transaktion in einer Datenbanktabelle. Ein separater Worker arbeitet die Tabelle der Reihe nach ab, mit At-least-once-Zustellung und idempotenten Handlern. Diese Trennung stellt sicher, dass ein langsamer Handler, ein Deployment oder ein Ausfall nachgelagerter Systeme nie dazu führen kann, dass ein Webhook verloren geht oder doppelt verarbeitet wird.

Wie halten Sie den PCI-Scope bei SAQ A und nutzen trotzdem Airwallex auf einem individuellen Backend?

Erfassen Sie alle Kartendaten mit den gehosteten Zahlungselementen von Airwallex (oder deren Drop-in / Hosted Payment Page). Ihr Backend sieht ausschließlich Airwallex-IDs und -Tokens, niemals eine PAN, einen CVV oder ein Ablaufdatum. Wir dokumentieren diesen Umfang in einer einseitigen PCI-Scoping-Notiz, die Ihr Security-Reviewer abzeichnen kann, und verankern dann Leitplanken im Code, damit ein zukünftiger Entwickler nicht versehentlich Kartendaten ins Backend übernimmt.

Kann FastAPI produktive Zahlungsvolumina zuverlässig bewältigen?

Ja – das asynchrone Modell von FastAPI eignet sich hervorragend für die I/O-lastige Natur von Zahlungs-APIs. Die Zuverlässigkeit entsteht durch die Muster drumherum: Idempotency Keys bei jedem Airwallex-Aufruf, das Inbox-Pattern für Webhooks, ein Circuit Breaker für den Airwallex-Client und eine echte Zustandsmaschine für Abonnements. Wir haben FastAPI-Zahlungsstacks mit zehntausenden Abbuchungen pro Tag und einer Webhook-Zustellung von fünf Neunen produktiv gebracht.

Wie schneidet Airwallex im Vergleich zu Stripe für ein globales SaaS ab?

Airwallex gewinnt tendenziell bei Unternehmen, die in 4+ Währungen einnehmen, dank besserer FX-Margen und schnellerer grenzüberschreitender Abwicklung. Stripe gewinnt meist bei reinen Nordamerika-SaaS-Anbietern, die sein deutlich größeres Drittanbieter-Ökosystem schätzen. Wir integrieren beide und haben Kunden dabei geholfen, sie pro Region parallel zu betreiben – die von uns genutzten Integrationsmuster (typisierte Domäne, Inbox-Webhooks, Zustandsautomat) sind prozessorunabhängig.

Wie lange dauert ein Airwallex-Integrationsprojekt in der Regel?

10–16 Wochen für eine produktionsreife Integration mit Checkout, Abonnements, Webhooks, Dunning, Erstattungen und Reporting für eine einzelne Währung und ein Produkt. Jede weitere Währung oder jeder weitere Abonnement-Flow erhöht den Aufwand danach meist um 1–2 Wochen. Wir arbeiten in engen Slices hinter Feature-Flags, sodass Sie die erste Währung starten können, bevor die zweite fertig ist.

Möchten Sie ein solches Ergebnis?

Sprechen Sie mit demselben Team, das gebaut hat Multi-Währungs-Zahlungen & Abonnements auf FastAPI + Airwallex für ein globales B2B-SaaS. Wir grenzen Ihr Projekt ein, erstellen ein Festpreisangebot und zeigen Ihnen das passendste Beispiel aus unserem Portfolio.

Strategiegespräch buchen