Weiter zum Inhalt
Konto erstellen
oder
anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellen
Anmelden
Jetzt starten
Zahlungen
Umsatz
Plattformen und Marktplätze
Geldmanagement
Entwicklerressourcen
Übersicht
Informationen zu Stripe Payments
Aktualisieren Sie Ihre Integration
Zahlungsanalysefunktionen
Online-Zahlungen
ÜbersichtIhren Use case findenVerwenden Sie Managed Payments
Payment Links verwenden
Vorgefertigte Checkout-Seite verwenden
Erstellen Sie eine benutzerdefinierte Integration mit Elements
In-App-Integration erstellen
Zahlungsmethoden
Zahlungsmethoden hinzufügen
    Übersicht
    Optionen für die Integration von Zahlungsmethoden
    Standardzahlungsmethoden im Dashboard verwalten
    Arten von Zahlungsmethoden
    Karten
    Mit Stripe-Guthaben bezahlen
    Stablecoin-Zahlungen
    Lastschriften
    Bank Redirect
    Banküberweisungen
    Überweisungen (Sources)
    Jetzt kaufen, später bezahlen
    Zahlungen in Echtzeit
    Gutscheine
    Geldbörsen
      Alipay
      Amazon Pay
      Apple Pay
      Cash App Pay
        Zahlung annehmen
        Zahlungsdaten speichern
      Google Pay
      GrabPay
      Link
      MB WAY
      MobilePay
      PayPal
      PayPay
      Revolut Pay
      Satispay
      Secure Remote Commerce
      Vipps
      WeChat Pay
    Lokale Zahlungsmethoden nach Land aktivieren
    Nutzerdefinierte Zahlungsmethoden
Zahlungsmethoden verwalten
Schnellerer Bezahlvorgang mit Link
Zahlungsschnittstellen
Payment Links
Checkout
Web Elements
In-App Zahlungen
Zahlungsszenarien
Umgang mit mehreren Währungen
Nutzerdefinierte Zahlungsabläufe
Flexibles Acquiring
Orchestrierung
Präsenzzahlungen
Terminal
Mehr als Zahlungen
Unternehmensgründung
Krypto
Agentenbasierter Handel
Financial Connections
Climate
Betrug verstehen
Betrugsprävention von Radar
Zahlungsanfechtungen verwalten
Identitäten verifizieren
StartseiteZahlungenAdd payment methodsWalletsCash App Pay

Cash App Pay-Zahlungen

Fügen Sie Ihrer Integration Unterstützung für Cash App Pay hinzu.

Cash App Pay ist eine Zahlungsmethode, die allen Cash App-Kund/innen für einmalige und wiederkehrende Zahlungen an Unternehmen zur Verfügung steht. Cash App Pay verwendet das gespeicherte Guthaben des/der Kund/in oder die verknüpfte Debitkarte, um die Zahlung zu finanzieren. Der/die Kund/in kann die Zahlung auf zwei Arten bestätigen:

  • Während des Bezahlvorgangs von einem Mobilgerät aus leitet Ihre Website die Kund/innen zur Authentifizierung an die mobile Cash-App-Anwendung weiter. Die Zahlung wird während der Weiterleitung authentifiziert. In der mobilen Cash-App sind keine weiteren Schritte erforderlich, um den Kauf abzuschließen. Der/die Kund/in wird dann auf Ihre Seite zurückgeleitet.
  • Während des Bezahlvorgangs über eine Desktop-Webanwendung scannt der/die Kund/in einen QR-Code mit seinem Mobilgerät, um die Transaktion zu authentifizieren.

Stripe einrichten
Serverseitig
Clientseitig

Zunächst benötigen Sie ein Stripe-Konto. Registrieren Sie sich jetzt.

Serverseitig

Für diese Integration sind Endpoints auf Ihrem Server erforderlich, die mit der Stripe-API kommunizieren können. Nutzen Sie diese offiziellen Bibliotheken für den Zugriff auf die Stripe-API von Ihrem Server aus:

Command Line
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# Available as a gem sudo gem install stripe
Gemfile
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Clientseitig

Das React Native SDK ist Open Source und vollständig dokumentiert. Intern werden native iOS und Android SDKs verwendet. Um das React Native SDK von Stripe zu installieren, führen Sie einen der folgenden Befehle im Verzeichnis Ihres Projekts aus (je nachdem, welchen Paket-Manager Sie verwenden):

Command Line
yarn add @stripe/stripe-react-native

Installieren Sie als Nächstes einige weitere erforderliche Abhängigkeiten:

  • Für iOS wechseln Sie in das Verzeichnis ios und führen Sie pod install aus, um sicherzustellen, dass Sie auch die erforderlichen nativen Dependencies installiert haben.
  • Für Android müssen keine Abhängigkeiten mehr installiert werden.

Notiz

Wir empfehlen Ihnen, die offizielle Anleitung zu TypeScript zu befolgen, um TypeScript zu unterstützen.

Stripe Initialisierung

Um Stripe in Ihrer React Native-App zu initialisieren, umschließen Sie entweder Ihren Zahlungsbildschirm mit der Komponente StripeProvider oder verwenden Sie die Initialisierungsmethode initStripe. Nur der veröffentlichbare API-Schlüssel in publishableKey ist erforderlich. Das folgende Beispiel zeigt, wie Stripe mithilfe der Komponente StripeProvider initialisiert wird.

import { useState, useEffect } from 'react'; import { StripeProvider } from '@stripe/stripe-react-native'; function App() { const [publishableKey, setPublishableKey] = useState(''); const fetchPublishableKey = async () => { const key = await fetchKey(); // fetch key from your server here setPublishableKey(key); }; useEffect(() => { fetchPublishableKey(); }, []); return ( <StripeProvider publishableKey={publishableKey} merchantIdentifier="merchant.identifier" // required for Apple Pay urlScheme="your-url-scheme" // required for 3D Secure and bank redirects > {/* Your app code here */} </StripeProvider> ); }

Notiz

Verwenden Sie Ihre API-Testschlüssel beim Testen und Entwickeln Ihrer App und Ihre Live-Modus-Schlüssel beim Veröffentlichen Ihrer App.

Erstellen Sie ein PaymentIntent
Serverseitig
Clientseitig

Serverseitig

Ein PaymentIntent ist ein Objekt, das Ihre Absicht, eine Kundenzahlung einzuziehen, darstellt und den gesamten Zahlungsvorgang dokumentiert.

So erstellen und bestätigen Sie einen PaymentIntent auf Ihrem Server:

  • Geben Sie den einzuziehenden Betrag und die Währung an.
  • Fügen Sie cashapp zur Liste der Zahlungsmethoden für Ihren PaymentIntent hinzu. Vergewissern Sie sich, dass Cash App Pay im Dashboard aktiviert ist.
Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=6000 \ -d currency=usd \ -d "payment_method_types[]"=cashapp \ --data-urlencode return_url="payments-example://stripe-redirect"

Der zurückgegebene PaymentIntent enthält ein Client-Geheimnis, das Sie verwenden werden, um den PaymentIntent zu bestätigen. Übermitteln Sie das Client-Geheimnis zurück an den Client, damit Sie es im nächsten Schritt verwenden können.

Clientseitig

Fordern Sie auf dem Client einen PaymentIntent von Ihrem Server an und speichern Sie sein Client-Geheimnis:

function PaymentScreen() { const fetchPaymentIntentClientSecret = async () => { const response = await fetch(`${API_URL}/create-payment-intent`, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ currency: 'usd', }), }); const {clientSecret} = await response.json(); return clientSecret; }; const handlePayPress = async () => { // See below }; return ( <View> <Button onPress={handlePayPress} title="Pay" /> </View> ); }

Das Client-Geheimnis unterscheidet sich von Ihren API-Schlüsseln, die die Stripe API-Anfragen authentifizieren. Achten Sie auf einen vorsichtigen Umgang mit dem Client-Geheimnis, da mit ihm die Zahlungen abgeschlossen werden können. Es darf nicht protokolliert, in URLs eingebettet oder Personen zugänglich gemacht werden.

Rückgabe-URL einrichten (nur für iOS)
Clientseitig

Wenn Kundinnen/Kunden Ihre App verlassen (zum Beispiel um sich in Safari oder ihrer Banking-App zu authentifizieren), bieten Sie ihnen eine Möglichkeit, automatisch zu Ihrer App zurückzukehren. Für viele Arten von Zahlungsmethoden ist eine Rückgabe-URL erforderlich. Wenn Sie keine angeben, können wir Ihren Nutzer/innen keine Zahlungsmethoden anbieten, für die eine Rückgabe-URL erforderlich ist, selbst wenn Sie diese aktiviert haben.

So geben Sie eine Rückgabe-URL an:

  1. Registrieren Sie eine benutzerdefinierte URL. Universelle Links werden nicht unterstützt.
  2. Konfigurieren Sie Ihre benutzerdefinierte URL.
  3. Richten Sie Ihre Root-Komponente so ein, dass sie die URL an das Stripe SDK weitergibt, wie unten gezeigt.

Notiz

Wenn Sie Expo verwenden, stellen Sie Ihr Schema in der Datei app.json ein.

App.tsx
import { useEffect, useCallback } from 'react'; import { Linking } from 'react-native'; import { useStripe } from '@stripe/stripe-react-native'; export default function MyApp() { const { handleURLCallback } = useStripe(); const handleDeepLink = useCallback( async (url: string | null) => { if (url) { const stripeHandled = await handleURLCallback(url); if (stripeHandled) { // This was a Stripe URL - you can return or add extra handling here as you see fit } else { // This was NOT a Stripe URL – handle as you normally would } } }, [handleURLCallback] ); useEffect(() => { const getUrlAsync = async () => { const initialUrl = await Linking.getInitialURL(); handleDeepLink(initialUrl); }; getUrlAsync(); const deepLinkListener = Linking.addEventListener( 'url', (event: { url: string }) => { handleDeepLink(event.url); } ); return () => deepLinkListener.remove(); }, [handleDeepLink]); return ( <View> <AwesomeAppComponent /> </View> ); }

Weitere Informationen zu nativen URL-Schemen finden Sie in der Dokumentation für Android und iOS.

Barzahlung per Cash App Pay bestätigen
Clientseitig

Wenn Kundinnen/Kunden die Zahlung mit CashApp auswählen, führen Sie die Zahlung durch Aufrufen von confirmPayment durch. Dies entspricht einer Webansicht, über die die Kundinnen/Kunden die Zahlung per CashApp abschließen können. Nach Abschluss wird das Promise entweder mit einem Objekt mit paymentIntent-Feld aufgelöst oder mit einem error-Feld, wenn bei der Zahlung ein Fehler aufgetreten ist.

import {useConfirmPayment} from '@stripe/stripe-react-native'; function PaymentScreen() { const {confirmPayment, loading} = useConfirmPayment(); const fetchPaymentIntentClientSecret = async () => { // See above }; const handlePayPress = async () => { // Fetch the client secret from the backend. const clientSecret = await fetchPaymentIntentClientSecret(); const {error, paymentIntent} = await confirmPayment(clientSecret, { paymentMethodType: 'CashApp', }); if (error) { console.log('Payment confirmation error: ', error); } else if (paymentIntent) { console.log('Successfully confirmed payment: ', paymentIntent); } }; return ( <View> <Button onPress={handlePayPress} title="Pay" disabled={loading} /> </View> ); }

OptionalSeparate Autorisierung und Erfassung

Sie können Autorisierung und Erfassung trennen, um eine Zahlung sofort zu erstellen, Gelder jedoch erst später zu erfassen. Stripe storniert den PaymentIntent und sendet das Ereignis payment_intent.canceled, wenn die Zahlung nicht innerhalb des 7-tägigen Zeitfensters erfasst wird.

Wenn Sie wissen, dass Sie die Zahlung nicht erfassen können, sollten Sie den PaymentIntent stornieren und nicht warten, bis das Zeitfenster von 7 Tagen abgelaufen ist.

  • Stripe anweisen, nur die Autorisierung durchzuführen
  • Um anzugeben, dass Sie Autorisierung und Erfassung trennen möchten, legen Sie capture_method beim Erstellen des PaymentIntent auf manual fest. Dieser Parameter weist Stripe an, nur den Betrag auf dem Cash App Pay-Konto der Kundin/des Kunden zu autorisieren.

    Command Line
    cURL
    Stripe CLI
    Ruby
    Python
    PHP
    Java
    Node.js
    Go
    .NET
    No results
    curl https://api.stripe.com/v1/payment_intents \ -u "
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :"
    \ -d amount=6000 \ -d confirm=true \ -d currency=usd \ -d "payment_method_types[]"=cashapp \ -d "payment_method_data[type]"=cashapp \ -d capture_method=manual \ --data-urlencode return_url="https://www.example.com/checkout/done"

  • Die Gelder erfassen
  • Nach erfolgreicher Autorisierung wechselt der Status des PaymentIntent zu requires_capture. Um die autorisierten Gelder zu erfassen, führen Sie eine Erfassungsanfrage für den PaymentIntent durch.

    Command Line
    cURL
    Stripe CLI
    Ruby
    Python
    PHP
    Java
    Node.js
    Go
    .NET
    No results
    curl -X POST https://api.stripe.com/v1/payment_intents/{PAYMENT_INTENT_ID}/capture \ -u "
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :"

    Der autorisierte Gesamtbetrag wird standardmäßig erfasst. Sie können auch amount_to_capture angeben. Dieser kann kleiner oder gleich der Summe sein.

    Optional Autorisierung stornieren

    Wenn Sie eine Autorisierung stornieren müssen, können Sie den PaymentIntent stornieren.

    OptionalEreignisse nach der Zahlung verarbeiten

    Stripe übermittelt ein payment_intent.succeeded-Ereignis, wenn die Zahlung abgeschlossen ist. Verwenden Sie im Dashboard einen Webhook oder eine Partnerlösung, um diese Ereignisse zu empfangen und Aktionen auszuführen (Versenden einer Bestellbestätigung per E-Mail an die Kund/innen, Erfassen des Verkaufs in einer Datenbank oder Einleiten des Versandablaufs).

    Überwachen Sie diese Ereignisse, statt auf einen Callback vom Client zu warten. Auf dem Client könnte der Kunde/die Kundin das Browserfenster schließen oder die App beenden, bevor der Callback erfolgt ist und böswillige Clients könnten die Antwort manipulieren. Wenn Sie Ihre Integration so einrichten, dass asynchrone Ereignisse überwacht werden, hilft Ihnen dies auch dabei, in Zukunft mehr Zahlungsmethoden zu akzeptieren. Hier erhalten Sie Informationen zu den Unterschieden zwischen allen unterstützten Zahlungsmethoden.

    • Manuelles Bearbeiten von Ereignissen im Dashboard

      Verwenden Sie das Dashboard, um Ihre Testzahlungen im Dashboard anzuzeigen, E-Mail-Belege zu senden, Auszahlungen zu bearbeiten oder fehlgeschlagene Zahlungen erneut zu versuchen.

    • Erstellen eines benutzerdefinierten Webhooks

      Erstellen Sie einen benutzerdefinierten Webhook-Handler, um auf Ereignisse zu hören und eigene asynchrone Zahlungsabläufe zu implementieren. Testen und debuggen Sie Ihre Webhook-Integration lokal mit der Stripe CLI.

    • Integrieren einer vorgefertigten App

      Bearbeiten Sie häufige Unternehmensereignisse, wie z. B.Automatisierung oderMarketing und Vertrieb, indem Sie eine Partneranwendung integrieren.

    Integration testen

    Testen Sie Ihre Cash App Pay-Integration mit Ihren Test-API-Schlüsseln, indem Sie die Weiterleitungsseite anzeigen. Sie können die erfolgreiche Zahlung testen, indem Sie die Zahlung auf der Weiterleitungsseite authentifizieren. Der PaymentIntent wechselt von requires_action zu succeeded.

    Um den Fall zu testen, in dem sich Nutzer/innen nicht authentifizieren können, verwenden Sie Ihre Test-API-Schlüssel und zeigen Sie die Weiterleitungsseite an. Klicken Sie auf der Weiterleitungsseite auf Fail test payment (Testzahlung fehlschlagen lassen). Der PaymentIntent wechselt von requires_action zu requires_payment_method.

    Bei der manuellen Testerfassung von PaymentIntents läuft der nicht erfasste PaymentIntent 60 Minuten nach erfolgreicher Autorisierung automatisch ab.

    Wenn Sie im Live-Modus den PaymentIntent bestätigen, werden Sie zur Cash App weitergeleitet. Als Best Practice wird empfohlen, ein echtes Cash App-Konto im Live-Modus zu testen, bevor Sie es für Ihre Kundinnen/Kunden freigeben. Im Live-Modus haben Sie nicht die Möglichkeit, die Zahlung in der Cash App zu genehmigen oder abzulehnen. Sie wird automatisch genehmigt, nachdem Ihre Kundinnen/Kunden zur Cash App weitergeleitet wurden.

    Fehlgeschlagene Zahlungen

    Cash App Pay verwendet mehrere Datenpunkte, um zu entscheiden, wann eine Transaktion abgelehnt wird (zum Beispiel hat das KI-Modell ein hohes Verbraucherbetrugsrisiko für die Transaktion festgestellt oder der Verbraucher/die Verbraucherin hat die Zustimmung zur Abbuchung über die Cash App widerrufen).

    In diesen Fällen wird die PaymentMethod getrennt und der Status des PaymentIntent-Objekts wechselt automatisch zu requires_payment_method.

    Anders als bei einer abgelehnten Zahlung müssen Kundinnen/Kunden bei einem Cash App Pay-PaymentIntent mit dem Status requires_action die Zahlung innerhalb von 10 Minuten nach Weiterleitung zur Cash App-Website abschließen. Wenn nach 10 Minuten keine Aktion erfolgt ist, wird die Verbindung mit der PaymentMethod getrennt, und der Status des PaymentIntent-Objekts wechselt automatisch zu requires_payment_method.

    In diesem Fall zeigt das Payment Element Fehlermeldungen an und fordert Ihre Kundinnen/Kunden auf, es mit einer anderen Zahlungsmethode erneut zu versuchen.

    Fehlercodes

    In der folgenden Tabelle finden Sie häufige Fehlercodes und die empfohlenen Maßnahmen:

    FehlercodeEmpfohlene Maßnahme
    payment_intent_invalid_currencyGeben Sie die korrekte Währung ein. Cash App Pay unterstützt nur usd.
    missing_required_parameterIn der Fehlermeldung erhalten Sie weitere Informationen zum erforderlichen Parameter.
    payment_intent_payment_attempt_failedDieser Code kann im Feld last_payment_error.code eines PaymentIntent angezeigt werden. Eine genauere Fehlerursache und Vorschläge zur Fehlerbehebung finden Sie in der Fehlermeldung.
    payment_intent_redirect_confirmation_without_return_urlGeben Sie eine return_url an, wenn Sie einen PaymentIntent mit Cash App Pay bestätigen.
    War diese Seite hilfreich?
    JaNein
    • Benötigen Sie Hilfe? Kontaktieren Sie den Kundensupport.
    • Nehmen Sie an unserem Programm für frühzeitigen Zugriff teil.
    • Schauen Sie sich unser Änderungsprotokoll an.
    • Fragen? Sales-Team kontaktieren.
    • LLM? Lesen Sie llms.txt.
    • Unterstützt von Markdoc