Marktplatz Bezahlsystem mit MangoPay und Flutter
Spyce - Movebis
Marktplatz Bezahlsystem mit MangoPay und Flutter
Im August 2023 habe ich angefangen für ein Startup aus Berlin namens Movebis eine API Schnittstelle zu entwickeln und in die Flutter App Spyce zu integrieren. Die Aufgabe war es ein Marktplatzähnliches Bezahlen zu verwirklichen, sodass Nutzer andere Nutzer bezahlen können und ein eigenes digitales Wallet haben von dem sie Geld auszahlen können. Dabei habe ich ausschließlich im Backend mit TypeScript gearbeitet und für die API Schnittstelle Firebase Functions erstellt, die dann vom Frontend in Flutter aufgerufen werden konnten, um die Mangopay Funktionen wie Bezahlung mit verschiedensten Bezahlmethoden, das hochladen von Ausweisdokumenten und das starten einer Auszahlung auf das Bankkonto in der App nutzen zu können. Für die erstellten Firebase Functions habe ich im vorhinein eine ausführliche Dokumentation mit Postman erstellt, um die Integration in das Frontend sowie das testen so einfach wie möglich zu gestalten. Im Oktober 2023 konnte die App in einem Testgebiet live gehen.
Webhooks in Firebase Functions
Ein wichtiger Bestandteil bei der Integration von Drittanbieter APIs ist das bereitstellen einer Schnittstelle für Webhooks, damit in diesem fall Mangopay „Nachrichten“ an unser Backend schicken kann, um dies über wichtige Änderungen zu informieren. Zu diesen Änderungen zählen zum Beispiel die Änderung des Status bezüglich der Verifikation einen Nutzers, oder das fehlschlagen einer Einzahlung. Wenn dann ein Webhook ausgelöst wird, wird unser backend benachrichtigt und wir können zum Beispiel Nachrichten an das Smartphone des Endnutzers schicken.
Know Your Customer
Um die Verifikation der App-Nutzer sicher zu stellen, müssen diese Bestimmte Ausweisdokumente hochladen, damit diese von Mangopay überprüft werden können. Erst dann sind diese berechtigt ihr Geld vom Konto auszuzahlen. Für das hochladen von Dokumenten waren verschiedene Schritte notwendig. Das codieren des Bildes in das Base64 Format, damit es über HTTP versendet werden kann, das implementieren des Webhooks, damit der Nutzer nach Überprüfung von Mangopay eine Benachrichtigung und im Spyce Backend den Status des Nutzers zu ändern.