Zum Inhalt springen

In Ihrem Projekt initialisieren

Importieren Sie Stripe und rufen Sie initialize mit einem veröffentlichbaren Schlüssel auf. Führen Sie dies einmal pro JavaScript-Laufzeit aus, bevor Sie eine Zahlungs-UI erstellen oder anzeigen.

import { Stripe } from '@capacitor-community/stripe';

export async function initialize(): Promise<void> {
  await Stripe.initialize({
    publishableKey: 'Your Publishable Key',
  });
}

method initialize(...)

Konfiguriert das Stripe SDK. Vor der Verwendung einer Zahlungsmethode einmal aufrufen.

initialize(opts: StripeInitializationOptions) => Promise<void>

interface StripeInitializationOptions

Eigenschaft Typ Beschreibung Seit
publishableKey string Veröffentlichbarer Stripe-Schlüssel für das Konto, das die clientseitige Zahlungsoberfläche erstellt. Niemals einen geheimen Schlüssel an die Clientanwendung übergeben. 3.0.0
stripeAccount string Kennung des verbundenen Kontos, die für clientseitige Aufrufe im Namen eines Stripe-Connect-Kontos verwendet wird. 3.0.0

Erstellen Sie im Stripe Dashboard einen veröffentlichbaren Schlüssel. Liefern Sie den geheimen Schlüssel niemals an den Client aus.

Stripe Connect

Setzen Sie das optionale stripeAccount, um Plugin-API-Aufrufe für ein verbundenes Konto auszuführen.

await Stripe.initialize({
  publishableKey: 'Your Publishable Key',
  stripeAccount: 'acct_xxxxxxxxxxxxx',
});

Unter Android kann Google Pay außerdem com.getcapacitor.community.stripe.stripe_account aus Anwendungsmetadaten lesen. Siehe Google Pay.

Weiterleitungsbasierte Zahlungsmethoden unter iOS

Zahlungsmethoden, die Ihre Anwendung zur Authentifizierung verlassen, beispielsweise PayPal und einige Bankzahlungsmethoden, benötigen eine Rückkehr-URL. Unter iOS bietet Stripe ansonsten geeignete weiterleitungsbasierte Zahlungsmethoden in PaymentSheet oder PaymentFlow nicht an, wenn returnURL nicht konfiguriert ist. Siehe die Stripe-Anleitung für iOS-Rückkehr-URLs.

Registrieren Sie in ios/App/App/Info.plist ein eigenes URL-Schema für Ihre Anwendung. Ersetzen Sie your-app durch ein Schema, das für Ihre Anwendung eindeutig ist:

ios/App/App/Info.plist
<key>CFBundleURLTypes</key>
<array>
  <dict>
    <key>CFBundleTypeRole</key>
    <string>Editor</string>
    <key>CFBundleURLName</key>
    <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
    <key>CFBundleURLSchemes</key>
    <array>
      <string>your-app</string>
    </array>
  </dict>
</array>

Übergeben Sie eine URL mit diesem Schema an createPaymentSheet oder createPaymentFlow und leiten Sie anschließend passende App-Open-Ereignisse an Stripe weiter:

import { App } from '@capacitor/app';
import { Stripe } from '@capacitor-community/stripe';

const STRIPE_RETURN_URL = 'your-app://stripe-redirect';

await App.addListener('appUrlOpen', async ({ url }) => {
  if (url.startsWith(STRIPE_RETURN_URL)) {
    await Stripe.handleURLCallback({ url });
  }
});

await Stripe.createPaymentSheet({
  paymentIntentClientSecret,
  returnURL: STRIPE_RETURN_URL,
});

Verwenden Sie dieselbe Einrichtung mit createPaymentFlow. Das eigene Schema in Info.plist, das Schema in returnURL und die vom Listener geprüfte URL müssen übereinstimmen. Die Verfügbarkeit von Zahlungsmethoden hängt außerdem vom Intent, der Währung, dem Land, dem Stripe-Konto, den Dashboard-Einstellungen und der Unterstützung durch das Stripe SDK ab.

handleURLCallback

handleURLCallback ist ausschließlich für iOS verfügbar. Es übergibt die eingehende Rückkehr-URL an das Stripe SDK, damit weiterleitungsbasierte Authentifizierung abgeschlossen und der Browser geschlossen werden kann.

method handleURLCallback(...)

Übergibt eine eingehende Rückkehr-URL nach einer Authentifizierung mit Weiterleitung
an das Stripe SDK.

Nur iOS. Aus dem URL-Handler der App aufrufen, wenn Stripe zurück
zur Anwendung weiterleitet.

handleURLCallback(opts: StripeURLHandlingOptions) => Promise<void>

interface StripeURLHandlingOptions

Eigenschaft Typ Beschreibung Seit
url string Vollständige von der Anwendung empfangene Callback-URL. 4.0.0

Die Methode ist unter Android und im Web nicht implementiert. Übergeben Sie ausschließlich passende Stripe-Rückkehr-URLs. Verarbeitet Stripe die URL nicht, wird das Promise zurückgewiesen und Sie sollten Ihre normale Deep-Link-Verarbeitung fortsetzen.

Framework-Einbindung

Rufen Sie initialize aus dem Bootstrap Ihres gewählten Frameworks auf. Bevorzugen Sie den maßgeblichen Startablauf der jeweiligen Anleitung:

  • Vanilla JS — initialize nach defineCustomElements() aufrufen
  • Angular — provideAppInitializer beim Anwendungsstart
  • React — CapacitorStripeProvider initialisiert das Plugin für Sie