1

Ich integriere Stripe Payment Gateway zu einer Android App und einige Fragen und Probleme konfrontiert. Nach dem Stripe Documentation scheint es, als ob ein eigener Server benötigt wird. Graben für ein paar Stunden, Firebase Cloud-Funktionen können die Server-Arbeit tun ... Großartig!Android Firebase und Stripe Integration

Aber von dem, was ich finden kann, kann es in mindestens zwei Arten erfolgen:

  • HTTP Trigger
  • Schreiben auf Firebase-Datenbank, die so eine Wolke Funktion

ersten auslösen würde, , welchen benutzt man?
Die gute alte Industrie vertraut http Endpoint mit guten alten Retrofit?
Oder die viel einfachere Write to Firebase-Datenbank zum Auslösen der Funktion?

Auch für den nächsten Schritt konnte ich keine Android Tutorial für die nächsten Schritte finden. Nur diese Web-App: https://github.com/firebase/functions-samples/tree/master/stripe.
Von was ich sehen kann, würde es Node.js, npm usw. usw. benötigen ...

Nichts einfacher von Google?

Prost Jungs

+0

Ob Sie den HTTP-Trigger verwenden oder in den Firebase-Trigger schreiben, hängt von Ihrer Anwendung ab. Was denkst du ist besser geeignet? Wie für Android, sehen Sie sich die Android-Bibliothek von Stripe an. https://stripe.com/docs/mobile/android –

Antwort

0

Zunächst einmal, so oder so wirst du Backend-Code in JavaScript schreiben müssen Zahlungen zu behandeln.

So ist der Prozess, der für uns mit Cloud-Funktionen arbeitet, ist -

1) Android bietet Kartendaten Stripe nativen SDK

2) Streifen stellen ein Token, das Android es zu Ihrer Firebase Backend sendet

you could store it in stripeTokens/userId/yourToken

3) Firebase Cloud-Funktion löst dann eine Funktion und verwendet dieses Token Stripe Kunden zu erstellen (siehe für eine spätere und Kunden zu speichern)

you could store it in stripe_customers/userId/stripeCustomerId

4) Denken Sie daran, yourToken zu entfernen, weil es nur dann gültig ist, wenn

5) schließlich können Sie diese stripeCustomerId verwenden Zahlungen und Update Knoten im Backend hier

wichtiges Konzept zu machen, ist zu Erstellen Sie einen Kunden und speichern Sie ihn für zukünftige Zahlungen in Ihrem Backend.

Also Schritte nach 2) sind alle Cloud-Funktionen, also ja die meiste Arbeit ist im Backend getan. Einzige Sache, die Android macht, ist das Eingeben von Kartendetails, Senden von Token, Auslösen und Zuhören für zukünftige Gebühren. Wenn es um HTTP geht, ist das Konzept ähnlich, aber nur auf etwas anderes wartet man auf die Antwort und wenn es irgendwelche Fehler gibt, bekommt man es dort, während man, wenn man mit Cloud-Funktionen zu tun hat, schreiben müsste diese Fehler irgendwo und lese diese vom Client.

Hoffe, das hilft.