So implementieren Sie Stripe-Zahlungen in Firestore, ohne firebase.auth zu verwenden
P粉731861241
P粉731861241 2023-09-01 22:10:29
0
1
528
<p>Ich versuche, Stripe-Zahlungen in meiner node.js-App zu verwenden, um Produkte an Benutzer auf WhatsApp zu verkaufen. </p> <p>Ich habe die Stripe-Erweiterung installiert: Stripe/Firestore-Stripe-Payments@0.3.3 und bin den Anweisungen in der Dokumentation gefolgt: </p> <pre class="brush:php;toolbar:false;">const docRef = waiting db .collection('Kunden') .doc(aktuellerBenutzer.uid) .collection('checkout_sessions') .hinzufügen({ Preis: 'price_1GqIC8HYgolSxxxxxxxxx', success_url: window.location.origin, cancel_url: window.location.origin, }); // Warten, bis die Erweiterung CheckoutSession angehängt hat docRef.onSnapshot((snap) => { const { Fehler, URL } = snap.data(); if (Fehler) { // Den Fehler dem Client anzeigen und die Cloud-Funktionsprotokolle in der Firebase-Konsole überprüfen. Alert(`Ein Fehler ist aufgetreten: ${error.message}`); } if (URL) { // Wir haben eine Stripe Checkout-URL, leiten wir weiter. window.location.assign(url); } });</pre> <p>Ich erhalte die folgende Fehlermeldung in der Cloud-Konsole: </p> <p><code>❗️[Fehler]: Es konnte keine Checkout-Sitzung für Dokument [maxxxxxxxxxA] erstellt werden: Der angegebene Bezeichner verfügt nicht über einen entsprechenden Benutzerdatensatz. </code></p> <p>Ich habe festgestellt, dass ich die Benutzer-ID der Firebase-Authentifizierung verwenden muss, aber da ich meinen Dienst in einer Funktion (Back-End-Server) ausführe, gibt es in der Authentifizierung keinen Client/Benutzer. </p> <p>Gibt es eine andere Möglichkeit, (individuelle) Stripe-Checkout-Links zu erstellen? Gibt es eine Möglichkeit, die Firebase-Authentifizierung ohne Client zu verwenden? </p> <p>Vielen Dank im Voraus. </p> <p>Ich habe versucht, Auth zu verwenden,</p> <pre class="brush:php;toolbar:false;">import { getAuth } from "firebase/auth"; const auth = getAuth(); const user = auth.currentUser;</pre> <p>Aber ich erhalte die folgende Fehlermeldung: <code>FirebaseError: Firebase: Option erforderlich bei Bereitstellung auf Hosting ohne Quelle. (app/no-options)</code></p> <p>Ich habe Folgendes versucht: https://stackoverflow.com/a/74732162/21612440</p> <p>und get<code>TypeError: Eigenschaft 'getProvider' von undefiniert kann nicht gelesen werden (lesen Sie 'getProvider')</code></p>
P粉731861241
P粉731861241

Antworte allen(1)
P粉821274260

云函数(原则上)在没有当前经过身份验证的用户上下文的情况下运行。因此,在云函数中,auth.currentUser几乎没有意义,因为每个请求可能来自不同的用户。

但是,您可以将任何您想要的UID传递到这里的Firestore数据库.doc(currentUser.uid)。因此,如果您可以以某种其他(安全)方式确定相关的UID,您可以传递该值,Stripe扩展将为用户处理它。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage