Ich erstelle eine create-react-app mit Firebase und react-router. Ich möchte Stripe als Zahlungsdienstleister integrieren.Erhalte die Benutzer-IP für die Stripe-Registrierung mit Reactjs und Firebase
Im Rahmen des Stripe Verifikationsprozesses, muß ich die IP-Adresse des Benutzers zu den Allgemeinen Geschäftsbedingungen einverstanden schaffen, gemäß dem Stipe docs:
stripe.accounts.update(
{CONNECTED_STRIPE_ACCOUNT_ID},
{
tos_acceptance: {
date: Math.floor(Date.now()/1000),
ip: request.connection.remoteAddress // Assumes you're not using a proxy
}
}
});
Weil ich eine Kombination von Firebase bin mit und reaze-router, ich scheine nicht so zu sein, als könnte ich einen Express wie (req, res) verwenden, um die IP im Backend zu bekommen: Ich glaube nicht, dass ich die erhaltene IP-Adresse mit der User-UID verknüpfen konnte. Auch beim Versuch, die ipify dieser Welt auf dem Client zu verwenden, mit reagieren, habe ich immer mit der gleichen IP in der Produktion (egal das Gerät oder Standort) Ende:
import http from 'http';
componentDidMount() {
http.get({'host': 'api.ipify.org', 'port': 80, 'path': '/'}, function(resp) {
resp.on('data', ip => {
alert("My public IP address is: " + ip);
});
});
}
Jede Idee, wie ich das abrufen konnte Benutzer-IP-Adresse entweder über Firebase Cloud-Funktionen oder direkt vom Client?
Vielen Dank
Ich habe dies mit Cloud-Funktionen versucht, aber wie kann ich dann die Anfrage an einen bestimmten Benutzer verknüpfen (sei es Stripe-ID oder UID), da ich keinen Parameter an den HTTP-Trigger "someFunctionName" übergeben kann? –
Sie können einen beliebigen Parameter an Http-Funktionen mit GET/POST-Parameter übergeben. Für weitere Informationen lesen Sie die '' fetch''-Dokumentation (https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) – bennygenel