Zahlungsseite erstellen
Logo, Bilder und Farben anpassen.
Integrierte Unterstützung für Apple Pay und Google Pay.
Demo anzeigen, um ein gehostetes Beispiel zu sehen.
Zahlung annehmen
Notiz
Sehen Sie in Ihrem Plattform-Profil nach, ob Direct Charges oder Destination Charges besser für Ihr Unternehmen geeignet sind.
Destination Charges
Bei dieser Beispielplattform handelt es sich um einen Marktplatz für Wohnungsvermittlung, auf dem Zahlungen für Wohnungseigentümer/innen, die ihre Wohnungen vermieten, erstellt werden. Selbstverständlich können Destination Charges auch in anderen Anwendungen verwendet werden.
Checkout-Sitzung erstellen Client and Server
Über eine Checkout-Sitzung wird gesteuert, was die Kundinnen/Kunden auf dem integrierbaren Zahlungsformular sehen, z. B. Positionen, den Bestellbetrag und die Währung sowie die akzeptierten Zahlungsmethoden.
Fügen Sie Ihrer Website eine Checkout-Schaltfläche hinzu, die einen serverseitigen Endpoint aufruft, um eine Checkout-Sitzung zu erstellen.
<html> <head> <title>Checkout</title> </head> <body> <form action="/create-checkout-session" method="POST"> <button type="submit">Checkout</button> </form> </body> </html>
Führen Sie auf Ihrem Server den folgenden Aufruf an die API von Stripe durch. Leiten Sie Ihre Kundinnen/Kunden nach dem Erstellen einer Checkout-Sitzung zu der in der Antwort zurückgegebenen URL weiter.
curl https://api.stripe.com/v1/checkout/sessions \ -u "
:" \ -d "line_items[0][price]"=sk_test_4eC39HqLyjWDarjtT1zdp7dc\ -d "line_items[0][quantity]"=1 \ -d "payment_intent_data[application_fee_amount]"=123 \ -d "payment_intent_data[transfer_data][destination]"={{PRICE_ID}}\ -d mode=payment \ --data-urlencode success_url="https://example.com/success" \ --data-urlencode cancel_url="https://example.com/failure"{{CONNECTED_ACCOUNT_ID}}
payment_intent_data[transfer_data][destination]
– Dieses Argument gibt an, dass es sich um eine Destination Charge handelt. Bei einer Destination Charge wird die Zahlung über die Plattform abgewickelt und alle Gelder werden sofort und automatisch in das ausstehende Guthaben des verbundenen Kontos übertragen. In unserem Beispiel für Wohnungsvermittlung sollen Kund/innen über die Plattform bezahlen. Anschließend erhalten die Wohnungseigentümer entsprechende Auszahlungen von der Plattform.line_items
– Dieses Argument steht für Artikel, die Kundinnen/Kunden kaufen. Die Artikel werden in der von Stripe gehosteten Nutzeroberfläche angezeigt.success_url
– Dieses Argument leitet Nutzer/innen weiter, nachdem sie eine Zahlung abgeschlossen haben.cancel_url
– Dieses Argument leitet Nutzer/innen weiter, nachdem sie auf „Abbrechen“ geklickt haben.payment_intent_data[application_fee_amount]
– Dieses Argument bestimmt den Betrag, den Ihre Plattform von der Transaktion abziehen will. Der vollständige Zahlungsbetrag wird sofort von der Plattform auf das mittransfer_data[destination]
angegebene Konto übertragen, nachdem die Zahlung erfasst wurde. Anschließend wird derapplication_fee_amount
zurück auf die Plattform übertragen und die Stripe-Gebühr wird vom Guthaben der Plattform abgezogen.
Bei der Durchführung von Destination Charges verwendet Checkout die Markeneinstellungen Ihres Plattformkontos. Mehr Informationen finden Sie im Abschnitt Branding anpassen.
Notiz
Diese Sitzung erstellt eine Destination Charge. Wenn Sie Übertragungen terminieren oder Gelder aus einer Zahlung an mehrere Parteien senden möchten, nutzen Sie stattdessen separate Zahlungen und Überweisungen.
Fulfillment Serverseitig
Nach Abwicklung der Zahlung erfolgt auf Ihrer Seite die Ausführung. Bei einer Wohnungsvermittlung, die Vorauskasse verlangt, wäre beispielsweise nach erfolgreicher Zahlung der Kontakt zwischen Mieter/in und Hauseigentümer/in herzustellen.
Vorsicht
Verlassen Sie sich bei der Auftragsabwicklung nicht allein auf die im Parameter hinterlegte success_url
:
- Böswillige Nutzer/innen könnten, ohne zu bezahlen, direkt auf die
success_url
zugreifen und sich so unberechtigt Zugang zu Waren und Dienstleistungen verschaffen. - In manchen Fällen werden Kund/innen nach erfolgreicher Zahlung nicht zur
success_url
weitergeleitet. Möglicherweise haben sie die Registerkarte im Browser geschlossen, bevor die Weiterleitung erfolgt ist.
Konfigurieren Sie in Ihrem Dashboard einen Webhook-Endpoint (für Ereignisse von Ihrem Konto).
Erstellen Sie dann einen HTTP-Endpoint auf Ihrem Server, um die abgeschlossenen Zahlungen zu überwachen, damit Ihre Verkäufer und Dienstleister die Bestellungen abwickeln können. Ersetzen Sie den geheimen Schlüssel des Endpoints (whsec_...
) aus dem Beispiel durch Ihren Schlüssel.
# Using Sinatra. require 'sinatra' require 'stripe' set :port, 4242 # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key =
# If you are testing your webhook locally with the Stripe CLI you # can find the endpoint's secret by running `stripe listen` # Otherwise, find your endpoint's secret in your webhook settings in # the Developer Dashboard endpoint_secret = 'whsec_...' post '/webhook' do payload = request.body.read sig_header = request.env['HTTP_STRIPE_SIGNATURE'] event = nil # Verify webhook signature and extract the event. # See https://stripe.com/docs/webhooks#verify-events for more information. begin event = Stripe::Webhook.construct_event( payload, sig_header, endpoint_secret ) rescue JSON::ParserError => e # Invalid payload. status 400 return rescue Stripe::SignatureVerificationError => e # Invalid Signature. status 400 return end if event['type'] == 'checkout.session.completed' session = event['data']['object'] handle_completed_checkout_session(session) end status 200 end def handle_completed_checkout_session(session) # Fulfill the purchase puts session.to_s end'sk_test_4eC39HqLyjWDarjtT1zdp7dc'
Weitere Informationen finden Sie in unserem Fulfillment-Leitfaden für Checkout.
Webhooks lokal testen
Verwenden Sie die Stripe-Kommandozeile, um Webhooks lokal zu testen
Falls noch nicht vorhanden, installieren Sie zunächst die Stripe-CLI auf Ihrem Rechner.
Führen Sie dann zum Anmelden
stripe login
in der Befehlszeile aus und folgen Sie den Anweisungen.Lassen Sie Ihren lokalen Host ein simuliertes Ereignis in Ihrem verbundenen Konto empfangen, indem Sie in einem Terminalfenster
stripe listen --forward-to localhost:{PORT}/webhook
und in einem anderenstripe trigger --stripe-account={{CONNECTED_STRIPE_ACCOUNT_ID}} checkout.session.completed’
ausführen (oder ein anderes unterstütztes Ereignis auslösen).
Anfechtungen
Als Abwicklungshändler für Zahlungen trägt Ihre Plattform die Verantwortung für Zahlungsanfechtungen. Beachten Sie hierfür die Best Practices für den Umgang mit Zahlungsanfechtungen.
Abonnement erstellen
Mit Abonnements können Sie wiederkehrende Zahlungen für ein verbundenes Konto erstellen. Abonnements werden mit Direct Charges erstellt. Geben Sie optional eine application_fee_percent an, um einen bestimmten Teil jeder Rechnungszahlung an Ihre Plattform weiterzuleiten.
Die Checkout-Seite verwendet die Markeneinstellungen des verbundenen Kontos, einschließlich Firmenname, Symbol, Logo und Farbe. Mehr Informationen finden Sie im Abschnitt Branding anpassen.
Notiz
In einer Checkout-Sitzung können sowohl einmalige als auch wiederkehrende Posten verwendet werden. Sofern angegeben, gilt application_fee_percent
sowohl für einmalige als auch für wiederkehrende Posten.
Checkout-Sitzung erstellen Client and Server
Über eine Checkout-Sitzung wird gesteuert, was die Kundinnen/Kunden auf der von Stripe gehosteten Zahlungsseite sehen, z. B. Positionen, Bestellbetrag und Währung sowie die akzeptierten Zahlungsmethoden.
Fügen Sie Ihrer Website eine Schaltfläche zum Bezahlen hinzu, die einen serverseitigen Endpoint aufruft, um eine Checkout-Sitzung zu erstellen.
<html> <head> <title>Checkout</title> </head> <body> <form action="/create-checkout-session" method="POST"> <button type="submit">Checkout</button> </form> </body> </html>
Führen Sie auf Ihrem Server den folgenden Aufruf der Stripe API durch. Leiten Sie Ihre Kundinnen/Kunden nach dem Erstellen einer Checkout-Sitzung zu der in der Antwort zurückgegebenen URL weiter.
curl https://api.stripe.com/v1/checkout/sessions \ -u
: \ -d "line_items[][price]"="{{PRICE_ID}}" \ -d "line_items[][quantity]"=1 \ -d "subscription_data[application_fee_percent]"=10 \ -d "mode"="subscription" \ -d "success_url"="https://example.com/success" \ -d "cancel_url"="https://example.com/cancel" \ -H "Stripe-Account: {{CONNECTED_STRIPE_ACCOUNT_ID}}"sk_test_4eC39HqLyjWDarjtT1zdp7dc
Branding anpassen
Ihre Plattform und Ihre verbundenen Konten, die Zugang zum Stripe-Dashboard haben, können über die Branding-Einstellungen das Branding auf der Bezahlseite anpassen. Bei der Durchführung von Destination Charges verwendet Checkout die Branding-Einstellungen des Plattformkontos. Bei Direct Charges und Destination Charges mit dem Attribut on_behalf_of
verwendet Checkout die Branding-Einstellungen des verbundenen Kontos. Plattformen können die Markeneinstellungen verbundener Konten, die Zugriff auf das Express-Dashboard bzw. keinen Zugriff auf ein von Stripe gehostetes Dashboard haben, über die Accounts API konfigurieren.
Die API zur Kontoaktualisierung akzeptiert für das Branding folgende Parameter:
icon
- Wird neben dem Namen des Unternehmens im Header der Checkout-Seite angezeigt.logo
- Wird, sofern angegeben, statt dem Symbol und dem Namen des Unternehmens im Header der Checkout-Seite angezeigt.primary_color
- Wird als Hintergrundfarbe auf der Checkout-Seite verwendet.secondary_color
- Wird als Farbe für Schaltflächen auf der Checkout-Seite verwendet.
curl https://api.stripe.com/v1/accounts/{{CONNECTED_STRIPE_ACCOUNT_ID}} \ -u "
:" \ -d "settings[branding][icon]"=file_123 \ -d "settings[branding][logo]"=file_456 \ --data-urlencode "settings[branding][primary_color]"="#663399" \ --data-urlencode "settings[branding][secondary_color]"="#4BB543"sk_test_4eC39HqLyjWDarjtT1zdp7dc
Zahlungsmethoden aktivieren
Zeigen Sie die Einstellungen für Ihre Zahlungsmethoden an und aktivieren Sie die Zahlungsmethoden, die Sie unterstützen möchten. Kartenzahlungen, Google Pay und Apple Pay werden standardmäßig aktiviert, aber Sie können Zahlungsmethoden nach Bedarf aktivieren und deaktivieren.
Bevor das Zahlungsformular angezeigt wird, wertet Stripe die Währung, Einschränkungen für Zahlungsmethoden und andere Parameter aus, um die Liste der unterstützten Zahlungsmethoden zu ermitteln. Zahlungsmethoden, die die Konversion steigern und die für die Währung und den Standort des/der Kund/in am relevantesten sind, erhalten Priorität. Zahlungsmethoden mit niedrigerer Priorität sind in einem Überlaufmenü verborgen.