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
Zahlungsmethoden verwalten
Schnellerer Bezahlvorgang mit Link
Zahlungsschnittstellen
Payment Links
Checkout
Web Elements
In-App Zahlungen
Zahlungsszenarien
Umgang mit mehreren Währungen
Nutzerdefinierte Zahlungsabläufe
    Übersicht
    Zahlungen für bestehende Kundinnen/Kunden
    Eine Zahlung separat autorisieren und einziehen
    Zweistufigen Bezahlvorgang erstellen
    Zahlungsdetails erfassen, bevor Sie einen Intent erstellen
    Zahlungen auf dem Server abschließen
    Bestellungen per Post und Telefon entgegennehmen (MOTO)
    Karten in den USA und Kanada
    Kartenangaben an API-Endpoints von Drittanbietern weiterleiten
      Payment Element bei mehreren Abwicklern verwenden
      Kartendetails an den eigenen Token-Tresor weiterleiten
    Zahlungsposten
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
StartseiteZahlungenCustom payment flows

Kartenangaben an API-Endpoints von Drittanbietern weiterleiten

Verwenden Sie die Vault and Forward API, um Kartendaten sicher für mehrere Abwickler auszutauschen.

Mit der Vault and Forward API können Sie Kartendaten im PCI-konformen Tresor von Stripe tokenisieren und speichern und diese Daten an zugelassene Zahlungsabwickler oder Endpoints weiterleiten. Mit der API können Sie:

  • Verwenden Sie das Payment Element für mehrere Zahlungsabwickler.
  • Verwenden Sie Stripe als Ihren primären Tresor für Kartendaten bei allen Abwicklern.
  • Geben Sie Kartendaten an Ihren eigenen PCI-konformen Token-Tresor weiter.

Zugriff anfordern

Um Zugriff auf den Weiterleitungsdienst von Stripe zu erhalten, wenden Sie sich an den Stripe-Support.

Weiterleitung von Anfragen an Ziel-Endpoints und Auffüllen der Kartendaten aus dem Tresor von Stripe

Kartenangaben erfassen und eine PaymentMethod erstellen

Zum Erfassen von Kartendaten verwenden Sie das Payment Element. Mit diesem können Sie eine PaymentMethod erstellen. Nach der Erstellung speichern wir die Kartendaten automatisch im PCI-konformen Tresor von Stripe. Wenn Sie über ein eigenes Frontend verfügen, können Sie die Vault and Forward API verwenden, indem Sie direkt eine PaymentMethod erstellen.

In der Regel können Sie PaymentMethods nur wiederverwenden, indem Sie sie an eine Kundin/einen Kunden anhängen. Die Vault und Forward API akzeptiert jedoch alle PaymentMethod-Objekte, einschließlich derjenigen, die nicht mit einer Kundin/einem Kunden verknüpft sind.

Ebenso bestätigt oder erfasst die Vault and Forward API keine PaymentIntents. Infolgedessen können Sie sie unbeabsichtigt verwenden, um eine Zahlung auf Stripe zu erfassen, die bereits von einem anderen Verarbeiter erfasst wurde.

Prüfziffern/CVCs verfallen automatisch nach einem bestimmten Zeitraum und auch dann, wenn sie mit der Vault and Forward API verwendet werden. Wenn Sie einen CVC benötigen, nachdem eine dieser Bedingungen erfüllt ist, müssen Sie die Kartenangaben erneut erfassen.

ForwardingRequest erstellen

Um Kartendaten aus dem Stripe-Tresor zu senden, müssen Sie eine ForwardingRequest erstellen und die folgenden Parameter angeben:

  • payment_method: Objekt mit dem Stripe die Kartendaten Ihrer Kundinnen und Kunden im Tresor von Stripe identifizieren und diese Daten in den Anfragetext einfügen kann.
  • url: Der genaue Ziel-Endpoint Ihrer Anfrage.
  • request.body: Der Anfragetext der API-Anfrage, die Sie an den Ziel-Endpoint senden möchten (zum Beispiel die Zahlungsanfrage, die Sie an einen anderen Zahlungsabwickler senden). Lassen Sie jedes Feld leer, in das Sie normalerweise Kartendaten Ihrer Kundin/Ihres Kunden eingeben.
  • replacements: Felder, die Stripe im request.body ersetzen soll. Die verfügbaren Felder, die unserer Empfehlung zufolge, immer festgelegt werden sollten, sind card_number, card_expiry, card_cvc und cardholder_name. Wenn Sie beispielsweise card_number in das Array replacements aufnehmen, wird das entsprechende Kartennummernfeld für Ihren Ziel-Endpoint im request.body ersetzt.

Vorsicht

Stripe kann bei der Validierung des Namensfelds des Karteninhabers/der Karteninhaberin nachsichtiger sein als andere Zahlungsabwickler. Wenn Sie das Ersetzungsfeld cardholder_name verwenden, sind Sie dafür verantwortlich, dass die von Ihnen verwendeten Namen die vom Ziel-Endpoint erzwungene Validierung bestehen. Wenn der Ziel-Endpoint beispielsweise erwartet, dass alle Namen nur die Buchstaben A–Z ohne Akzentzeichen oder andere Schriftsysteme enthalten, müssen Sie sicherstellen, dass die von Ihnen weitergeleiteten Kartendaten diese Anforderung erfüllen. Eine Alternative besteht darin, das Ersetzungsfeld cardholder_name nicht zu verwenden und den Namen des Karteninhabers/der Karteninhaberin in Ihrem Anfragetext direkt in Ihrer Anfrage anzugeben.

Sie müssen Ihre Anfrage basierend auf den Daten formatieren, die der Ziel-Endpoint erwartet. Im folgenden Beispiel erwartet der Ziel-Endpoint einen Idempotency-Key-Header und akzeptiert einen JSON-Text mit den Zahlungsdetails.

Sie müssen bei jeder API-Anfrage API-Schlüssel für den Ziel-Endpoint übergeben. Stripe leitet die Anfrage mit den Ihnen bereitgestellten API-Schlüsseln weiter und speichert nur gehashte und verschlüsselte Versionen der API-Schlüssel des Ziel-Endpoints.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/forwarding/requests \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Idempotency-Key:
{{IDEMPOTENCY_KEY}}
"
\ -d payment_method=
"{{PAYMENT_METHOD_ID}}"
\ --data-urlencode url="https://endpoint-url/v1/payments" \ -d "request[headers][0][name]"=Destination-API-Key \ -d "request[headers][0][value]"={{DESTINATION_API_KEY}} \ -d "request[headers][1][name]"=Destination-Idempotency-Key \ -d "request[headers][1][value]"={{DESTINATION_IDEMPOTENCY_KEY}} \ --data-urlencode "request[body]"="{\"amount\":{\"value\":1000,\"currency\":\"usd\"},\"paymentMethod\":{\"number\":\"\",\"expiryMonth\":\"\",\"expiryYear\":\"\",\"cvc\":\"\",\"holderName\":\"\"},\"reference\":\"{{REFERENCE_ID}}\"}" \ -d "replacements[0]"=card_number \ -d "replacements[1]"=card_expiry \ -d "replacements[2]"=card_cvc \ -d "replacements[3]"=cardholder_name

Vorsicht

Sie können einen Idempotency-Key angeben, um sicherzustellen, dass Anfragen mit demselben Schlüssel nur zu einer einzigen ausgehenden Anfrage führen. Verwenden Sie einen anderen und eindeutigen Schlüssel für Stripe und alle Idempotenzschlüssel, die Sie bei der zugrunde liegenden Drittanbieteranfrage angeben.

Verwenden Sie jedes Mal, wenn Sie eine Aktualisierung am Feld request.body oder request.header vornehmen, einen neuen Idempotency-Key. Die Übergabe des älteren Idempotenz-Schlüssels führt dazu, dass die API ältere Antworten wiedergibt, einschließlich aller früheren Validierungsfehler oder Fehler im Zusammenhang mit Ziel-Endpoints. Wir empfehlen die Verwendung eines neuen Idempotenz-Schlüssels bei der Wiederholung von Anfragen, bei denen beim Erreichen des Ziel-Endpoints ein Fehler aufgetreten ist. So stellen Sie sicher, dass die Anfrage am Ziel wiederholt wird.

Anfrage mit Kartendaten weiterleiten

Stripe stellt in Ihrem Namen eine Anfrage an den Ziel-Endpoint, indem die Kartendaten aus der PaymentMethod in den request.body eingefügt werden. Wenn diese Option aktiviert und verfügbar ist, versucht der Card Account Updater (CAU) automatisch, die neuesten verfügbaren Kartendaten für Anfragen zu aktualisieren und bereitzustellen.

Stripe leitet die Anfrage dann an den Ziel-Endpoint weiter. Beispiel:

  1. Stripe stellt eine POST-Anfrage an den Endpoint:

    POST /v1/payments HTTP/1.1 User-Agent: Stripe Accept: */* Host: endpoint-url Content-Type: application/json Content-Length: 321
  2. Stripe gliedert sich in folgende Kopfzeilen

    Destination-API-Key: {{DESTINATION_API_KEY}} Destination-Idempotency-Key: {{DESTINATION_IDEMPOTENCY_KEY}}
  3. Stripe nimmt den folgenden JSON-Text in die Anfrage auf:

    { amount: { value: 1000, currency: 'usd' }, paymentMethod: { number: '4242424242424242', expiryMonth: '03', expiryYear: '2030', cvc: '123', holderName: 'First Last', }, reference: '{{REFERENCE_ID}}' }

Notiz

Wenn Sie die Vault und die Forward API verwenden, um eine Autorisierungsanfrage zu stellen, müssen Sie alle Aktionen nach der Transaktion, wie Rückerstattungen oder Zahlungsanfechtungen, direkt mit dem Drittanbieter abwickeln. Wenden Sie sich an den Stripe-Support, wenn Sie eine 3DS-Authentifizierung für Ihre Einrichtung mit mehreren Zahlungsabwicklern benötigen.

Antwort vom Ziel-Endpoint verarbeiten

Wenn Sie die Vault and Forward API verwenden, um Kartendetails an einen Drittanbieter weiterzuleiten, wartet Stripe synchron auf eine Antwort vom Ziel-Endpoint. Das Zeitlimit für diese Antwort beträgt weniger als eine Minute. Stripe entfernt erkannte PCI-sensible Daten, speichert die entfernte Antwort des Ziel-Endpoints und gibt ein ForwardingRequest-Objekt zurück, das Daten über die Anfrage und die Antwort enthält.

Vorsicht

Wenn Sie die Vault and Forward API zur Weiterleitung von Kartendaten an einen Drittanbieter-Zahlungsabwickler verwenden, kann Stripe nicht garantieren, dass der Abwickler eine bestimmte Antwort auf Ihre weitergeleiteten API-Anfragen geben wird. Wenn der Drittanbieter-Zahlungsabwickler nicht reagiert, müssen Sie sich zur Behebung des Problems direkt an diesen Abwickler wenden.

{ id: "fwdreq_123", object: "forwarding.request", payment_method: "{{PAYMENT_METHOD}}", request_details: { body: '{ "amount": { "value": 1000, "currency": "usd" }, "paymentMethod": { "number": "424242******4242", "expiryMonth": "03", "expiryYear": "2030", "cvc": "***", "holderName": "First Last", }, "reference": "{{REFERENCE_ID}}" }', headers: [ { name: "Content-Type", value: "application/json", }, { name: "Destination-API-Key", value: "{{DESTINATION_API_KEY}}", }, { name: "Destination-Idempotency-Key", value: "{{DESTINATION_IDEMPOTENCY_KEY}}", }, ... ] }, request_context: { "destination_duration": 234, "destination_ip_address": "35.190.113.80" }, response_details: { body: '{ // Response from the third-party endpoint goes here ... }', headers: [ ... ], status: 200, }, replacements: [ "card_number", "card_expiry", "card_cvc", "cardholder_name" ] ... }

Ihren Vault and Forward API-Endpoint konfigurieren

Um Ihren Vault and Forward API-Endpoint einzurichten, müssen Sie wie folgt vorgehen:

  • Bestätigung, dass wir den Ziel-Endpoint unterstützen.
  • Stellen Sie ein Test- und ein Produktionskonto für den Stripe-Support bereit.
  • Geben Sie die Produktionsdetails für den Ziel-Endpoint an den Stripe-Support weiter.

Bestätigung, dass wir den Ziel-Endpoint unterstützen

Stripe unterstützt die Weiterleitung von API-Anfragen an die folgenden Endpoints:

  • Adyen:
    • [prefix]-checkout-live.adyenpayments.com/checkout/v68/payments
    • [prefix]-checkout-live.adyenpayments.com/checkout/v68/storedPaymentMethods
    • [prefix]-checkout-live.adyenpayments.com/checkout/v69/payments
    • [prefix]-checkout-live.adyenpayments.com/checkout/v69/storedPaymentMethods
    • [prefix]-checkout-live.adyenpayments.com/checkout/v70/payments
    • [prefix]-checkout-live.adyenpayments.com/checkout/v70/storedPaymentMethods
    • [prefix]-checkout-live.adyenpayments.com/checkout/v71/payments
    • [prefix]-checkout-live.adyenpayments.com/checkout/v71/storedPaymentMethods
  • Braintree:
    • payments.braintree-api.com/graphql
  • Checkout:
    • api.checkout.com/tokens
    • api.checkout.com/payments
  • Fat Zebra:
    • gateway.pmnts.io/v1.0/credit_cards
  • FlexPay:
    • api.flexpay.io/v1/gateways/charge
  • GMO-Zahlungs-Gateway:
    • p01.mul-pay.jp/payment/ExecTran.json
  • PaymentsOS:
    • api.paymentsos.com/tokens
  • SoftBank:
    • stbfep.sps-system.com/api/xmlapi.do
  • Spreedly:
    • core.spreedly.com/v1/payment_methods.json
  • TabaPay:
    • [prefix]/v1/clients/[ClientID]/accounts
  • Worldpay:
    • access.worldpay.com/api/payments
    • access.worldpay.com/cardPayments/customerInitiatedTransactions
    • access.worldpay.com/tokens
    • secure.worldpay.com/jsp/merchant/xml/paymentService
  • Ihr eigener PCI-konformer Token-Tresor

Stripe unterstützt HTTPS-basierte APIs, die JSON/XML-Anfragen akzeptieren und JSON/XML-Antworten zurückgeben. Wenn Ihr Ziel-Endpoint nicht unterstützt wird oder Sie ein anderes API-Format benötigen, teilen Sie die Endpoint-Details mit dem Stripe-Support, um Unterstützung für Ihre spezifischen Anforderungen zu erhalten.

Unterstützte Länder

Die Vault and Forward API kann nur Anfragen an die folgenden Länder weiterleiten:

Länder, die für die Weiterleitung von Anfragen in Frage kommen

Ägypten
Albanien
Algerien
Angola
Antigua und Barbuda
Argentinien
Armenien
Aserbaidschan
Äthiopien
Australien
Bahamas
Bahrain
Bangladesch
Belgien
Benin
Bhutan
Bolivien
Bosnien und Herzegowina
Botsuana
Brunei Darussalam
Bulgarien
Chile
Costa Rica
Côte d’Ivoire
Dänemark
Deutschland
Dominikanische Republik
Ecuador
El Salvador
Estland
Finnland
Frankreich
Gabun
Gambia
Ghana
Gibraltar
Griechenland
Guatemala
Guyana
Hongkong
Indien
Indonesien
Irland
Island
Israel
Italien
Jamaika
Japan
Jordanien
Kambodscha
Kanada
Kasachstan
Katar
Kenia
Kolumbien
Kroatien
Kuwait
Laos
Lettland
Liechtenstein
Litauen
Luxemburg
Madagaskar
Malaysia
Malta
Marokko
Mauritius
Mexiko
Monaco
Mongolei
Mosambik
Namibia
Neuseeland
Niederlande
Niger
Nigeria
Nordmazedonien
Norwegen
Oman
Österreich
Pakistan
Panama
Paraguay
Peru
Philippinen
Polen
Portugal
Republik Moldau
Ruanda
Rumänien
San Marino
Saudi-Arabien
Schweden
Schweiz
Senegal
Serbien
Singapur
Slowakei
Slowenien
Sonderverwaltungsregion Macau
Spanien
Sri Lanka
St. Lucia
Südafrika
Südkorea
Taiwan
Tansania
Thailand
Trinidad und Tobago
Tschechische Republik
Tunesien
Türkei
Ungarn
Uruguay
Usbekistan
Vereinigte Arabische Emirate
Vereinigte Staaten
Vereinigtes Königreich
Vietnam
Zypern

Stellen Sie außerdem sicher, dass Ihr Stripe-Konto in einem dieser Länder registriert ist:

Länder, die für die Vault and Forward API berechtigt sind

Australien
Belgien
Brasilien
Bulgarien
Dänemark
Deutschland
Estland
Finnland
Frankreich
Gibraltar
Griechenland
Hongkong
Indonesien
Irland
Italien
Japan
Kanada
Kroatien
Lettland
Liechtenstein
Litauen
Luxemburg
Malaysia
Malta
Mexiko
Neuseeland
Niederlande
Norwegen
Österreich
Polen
Portugal
Rumänien
Schweden
Schweiz
Singapur
Slowakei
Slowenien
Spanien
Tschechische Republik
Ungarn
Vereinigte Arabische Emirate
Vereinigte Staaten
Vereinigtes Königreich
Zypern

Testkonten für den Stripe-Support bereitstellen

Um auf die Vault and Forward API zuzugreifen, geben Sie die Konto-IDs (acct_xxxx) für Ihre Testkonten an den Stripe-Support weiter.

Produktionsdaten teilen

Geben Sie die Produktionsdetails für den Ziel-Endpoint an den Stripe-Support weiter. Dazu gehören die folgenden Angaben für den Ziel-Endpoint: URL, HTTP-Methode, Dokumentation, Felder, Anfrage-Header und Verschlüsselungsschlüssel. Stripe richtet dann den Ziel-Endpoint für die Verwendung mit der Vault and Forward API im Live-Modus ein.

Um API-Schlüssel von Drittanbietern zu teilen, müssen Sie sie mit dem öffentlichen Schlüssel von Stripe, der speziell für die Vault and Forward API gilt, verschlüssen. Beginnen Sie, indem Sie mit dem GNU Privacy Guard (PGP) einen öffentlichen Schlüssel importieren. Nachdem Sie sich mit den Grundlagen von PGP vertraut gemacht haben, verwenden Sie den folgenden PGP-Schlüssel zum Verschlüsseln Ihrer Drittanbieter-API-Schlüssel:

PGP-Schlüssel der Vault and Forward API

-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBGMrUTsBEADVBYGeFFNEbGuw11Dx6uinxbeXIUopO1bnejHTDzVgtBWd5jV8 weFUlzjYZnfh41rS+AcOKwlHVHaCVPFti0Z4gBg2xS9/SRerZhHjL3nVJhqsg4TT C513Jr1OgNF4Ut1PMxxd2PBvAjdJ1InW9ecs2l/SkcAXFHm1JkrtgLuxgWcrQ7S1 T7bdHvX8bAaPU0W6OEo+xMc6RxxpgeotJycMC6OmjQaMF3+zyhyXnejHx+C9Zhx3 mg1aydfhK86CPd+kzflchDUOxEUF3X3DL8RczGQs+wQMbk9e9p2AEUy+PHiIO9z5 ZT30jDeIKqZQI6ewEHoogM/MMgJCcZmATnlSDT0vrpZugx31unf14R4iuSud55B2 h2I7TxWHzJPXFgTEVi7QE5WSma4Molx7FgY5DcLnBCPrqp6X7IvfcIbWi+gaLK8h Ob4TwqPWlZRFpl20eJMGX4bNwblJRaW8hvyiXDStVfyfX7qSQ2J3wiW0pm6z+vV0 9Tce/ltJOgh+5qaWbs6KvOq0HwTs2E2XAKGxzGZLL9oAj9eZx77hEJAIW4GTzdwy yu1+xXO7IeCSzXgbFigwQXWZ3Uas2ocwPB7Ihd35GipiKAuOepdBrr5xtA51Lvhy i9mCyko5qgbADUx16gW64FWyAQqhXnvxXHX1kdGf3zrBHIHEqoy65j9RkQARAQAB tGVGb3J3YXJkIEFQSSBTZWNyZXQgRW5jcnlwdGlvbiBLZXkgKEZvcndhcmQgQVBJ IFNlY3JldCBFbmNyeXB0aW9uIEtleSkgPG11bHRpcHJvY2Vzc29yLWV4dEBzdHJp cGUuY29tPokCTgQTAQgAOBYhBK6GOtoWAxUIVsCoU6eyAxd9A0WIBQJjK1E7AhsD BQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEKeyAxd9A0WIgH0P/16ujLQX/UxX 05pmMBkipM4ZjphO1YJ3oJACurotzUONGCOscMbjbeRD12EZnOAoiT8TKMQGAZX4 fV/6zIwZ7lE/nUyN2AZdyZoxRHxXLPe1kjprrNTDA4acPLzAZMkXl6s7esJzgyod px+joglrwMYayjPPXTwFnrzUkPUzu4caKsJ96+oekFT/qUvrjDSBHFz2DUGYgol9 kqZV5doo4YBmBzAfsbBTLdqeb5tk+DspovBESq009SdMQS7IUOo/9FY8a5S7d/fA HrfMpjnOPQ6voPEnLEK1Q9PvMdkaTrAJQdnO9BZBJRzfdMo+9ZSdoxQiq1/RtgsM ZcryyHfL07XkGvayBtQIQgCe7zmdXx8PiJ2RHdZxxu49FDwJRAKIJUIshUiyw47f I9N6NA5yLJp8USCKXTuV6rB2HDckWksct2W3tzkEB5TssKUY/TugnodfraWutngj cgYSqrD/mU7hpWjKHSI1Mn7+MFOjUpZzMqQ2FfSyVa/G4S22EBnwJ/ceN+3RrBLM 1sZTy6gyb4UoOg92aU4aRY5X+t4o64Jdvo8pz5F3MZw2s0gc3piLb4slTNYhGMEa gfECFFbuoeW3LY3QAkwv48s6YvmOr9xSiN47KzzYDgU5WKZeugtfZk3I5ulcjEr3 GNWgV5k0eL79wWGlKQYP3+GfxJ0Cqy7luQINBGMrUTsBEAC6UDrA9QRyFezFSd22 EX4vp2XU4FmkwAADnj/O2aZUwqm7ieWGsdEb6t5WNeTXS30M7RkOux34cgdE2q0u zC3McjG1Hha7PU9trkHYS4WfTt4NvF8gMeN5CKF/ydIx7aUE18SaL/RlfmO8EeIQ iOE2OC6KUHjkvCSvaxU/iPAaNTYI9F745CrcxLvSWdTu13zF0jeYkQIl6BD+pSPh krzq6OJ+i8XDavawTaCtPkpFoSUM8q3UYNCf37V43gVr2hHfgchUjeulOGG9B5pH Nk0bF6ltU6OQCSlbnzHO9QoVsme9VIQYbbxfYOxclgNHlftwMYf9BXdaDxuCEI5p hYv1uS5F6FGOh10TI2NT9hTP1wrPk/Wy9KN3ARCedG8WeKtyExJqUAJ1TiIUrfgX dqn5FdGLXhv7KpRXAkXsFZ+21QCoI5ru8QPBKFFKKDJPQBZR4NfT5dZHBoPIoEXj Fqp+rULktjO5oAwUR3QnTJ/MC5bzEfOdY48cgcTaGWbJCIuC80OHu3y0DWhmjsW/ TpLCIPJWiKoHSVO3B2DyrQARC39JcHWEZmUOovNslQ42n/LVLz19xv4uUE+MG+nr TEk8ltT/bWvBvt0Ulz4iorw0NtJmgsrwT+tMi+bgiu2CWZqH6WZQ7h0sdcTMD+U4 HrCOoVxqYuU7zvXuAh1JBLGN6QARAQABiQI2BBgBCAAgFiEEroY62hYDFQhWwKhT p7IDF30DRYgFAmMrUTsCGwwACgkQp7IDF30DRYjpPg//YSp4VF3/8x0lK2S+Uoj1 dPo9F/fwYOAFIvJRNUHPvGNykLZ0Vu3L9yHDk3x91XCQVVbZEeafiWk0K3hUMln1 88LkYyjxT9s5jNrtZ9NjqnRAhtEf2DkGcFLptLUUua4TMwykTRRB5DkHd1LfMOH8 afehFvh9uPmGwNZFbOm1XNfjqvhc5/X0f1Zprpbu7rcI6pTMX1T3HtJLz3VXJNg6 0EfTk7bYbZ1QzlJFbmu4HJeSZTU6awaqP0nA5AF+3JjrNkuIJOU0texvibfANqwt u/vRKMngvbBVeAf3NKYZyHn3iLThBsR80M0PC9PliGMRElGWiZ/mZdwOriEsg0Lr T2lOQA/V16Y7m7hEwY0QQItYzwhUI7vBoOPAcctHHvVzeQPp9PqVotSlwdPRoAzm ll3jWAr6y1Wk/Z+/T/6F2oHEd2k3+To8WG/BAQb549mdLpm93KzqLg2qWo7LTmqC g/JAFtka4gUjN1t9nag3cHCXllLNeHLXpNQdDpCYb64RHjvlLHPC9SYaeerwVIR5 0qJXglNxB2+jufA2/6yf0OlNS4Uv+rJ4u2DCXmZbS6cjp3bH9TG45LNaLqaALsvU P1zq0Fh81qbj5MZNMOJALXQLgofVEqhWkdwftHGhO31lG7P7REEdGVyWcvzGmwYd UraCYX03loNHRxLCyeHR4GA= =bbos -----END PGP PUBLIC KEY BLOCK-----

So verschlüsseln Sie Ihre API-Schlüssel von Drittanbietern mit dem PGP-Schlüssel der Vault and Forward API:

  1. Erstellen Sie eine Datei mit dem Namen hash_encrypt_key.sh mit dem folgenden Inhalt. Das Skript generiert einen SHA256-Hash Ihres API-Schlüssels, verschlüsselt ihn mit dem öffentlichen Schlüssel von Stripe und codiert ihn dann mit Base64.

    Erforderliche Dienstprogramme

    Um das Skript ausführen zu können, müssen Sie zuerst die Dienstprogramme sha256sum, gpg und base64 installieren.

    Command Line
    #!/bin/sh set -euo pipefail fail () { printf "Error: $1\n" >&2 && exit 1; } STRIPE_PUBLIC_KEY=AE863ADA1603150856C0A853A7B203177D034588 API_KEY=$(printf "$1" | tr -d '\n' | sed 's/^[[:space:]]*//; s/[[:space:]]*$//') [ -x "$(command -v sha256sum)" ] || fail "sha256sum is not installed." [ -x "$(command -v gpg)" ] || fail "gpg is not installed." [ -x "$(command -v base64)" ] || fail "base64 is not installed." [ ! -z "$API_KEY" ] || fail "Please pass in an API key." grep -iqv "Basic \|Bearer " <<< "$API_KEY" || fail "Please omit the Basic/Bearer prefix." gpg --list-keys $STRIPE_PUBLIC_KEY > /dev/null 2>&1 || fail "Stripe public key not imported." printf "$API_KEY" | sha256sum | cut -d " " -f 1 | tr -d '\n' | gpg -e -r $STRIPE_PUBLIC_KEY --always-trust | base64 > encrypted_hashed_key.txt printf "Successfully generated encrypted_hashed_key.txt\n"
  2. Führen Sie das Skript aus, indem Sie Ihren Drittanbieter-API Schlüssel in einfachen Anführungszeichen übergeben und dabei das Präfix Bearer oder Basic weglassen. Der Schlüssel muss exakt der Schlüssel sein, den Sie für tatsächliche Anforderungen an den Ziel-Endpoint verwenden, ohne Präfix.

    Das Skript erzeugt eine Datei mit dem Namen encrypted_hashed_key.txt.

    Command Line
    sh hash_encrypt_key.sh '<THIRD_PARTY_API_KEY>'

Ihre Integration testen

Um zu bestätigen, dass Ihre Integration mit dem Ziel-Endpoint korrekt funktioniert, initiieren Sie eine ForwardingRequest mit der von Ihnen erstellten PaymentMethod. In diesem Beispiel wird pm_card_visa als Zahlungsmethode verwendet.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/forwarding/requests \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Idempotency-Key:
{{IDEMPOTENCY_KEY}}
"
\ -d payment_method=pm_card_visa \ -d url="{{DESTINATION ENDPOINT}}" \ -d "request[headers][0][name]"=Destination-API-Key \ -d "request[headers][0][value]"={{DESTINATION_API_KEY}} \ -d "request[headers][1][name]"=Destination-Idempotency-Key \ -d "request[headers][1][value]"={{DESTINATION_IDEMPOTENCY_KEY}} \ --data-urlencode "request[body]"="{\"amount\":{\"value\":1000,\"currency\":\"usd\"},\"paymentMethod\":{\"number\":\"\",\"expiryMonth\":\"\",\"expiryYear\":\"\",\"cvc\":\"\",\"holderName\":\"\"},\"reference\":\"{{REFERENCE_ID}}\"}" \ -d "replacements[0]"=card_number \ -d "replacements[1]"=card_expiry \ -d "replacements[2]"=card_cvc \ -d "replacements[3]"=cardholder_name

Vorsicht

Die Vault and Forward API behandelt jede Antwort vom Ziel-Endpoint als success und gibt 200 sowie den Antwortcode des Ziel-Endpoints im response.body zurück. Wenn der Ziel-Endpoint beispielsweisen den Antwortcode 400 an Stripe zurückgibt, antwortet die Vault and Forward API mit den Statuscode 200. Der response.body enthält die 400-Antwort des Ziel-Endpoints und eine Fehlermeldung. Testen Sie die API-Anfrage, die Sie an Ihren Ziel-Endpoint senden, separat, um sicherzustellen, dass keine Fehler auftreten.

Ihre Anfrage-Logs im Dashboard anzeigen

Sie können Anfrage Logs und Fehler im Zusammenhang mit der Vault and Forward API in Workbench anzeigen. Darüber hinaus können Sie die List API verwenden, um die Logs von Stripe abzurufen.

Sicherheitshinweis

Die Parameter request.headers und request.body in der eingehenden Anfrage sind verschlüsselt und werden im Dashboard als encrypted_request angezeigt.

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