Heim > Backend-Entwicklung > PHP-Tutorial > Transparente Weiterleitungen mit Braintree

Transparente Weiterleitungen mit Braintree

Lisa Kudrow
Freigeben: 2025-02-19 12:11:10
Original
610 Leute haben es durchsucht

Transparente Weiterleitungen mit Braintree

Key Takeaways

  • Braintree Payment Solutions bietet transparente Umleitung und Braintree.js als Lösungen, mit denen die PCI -Compliance -Belastung für kleine Unternehmen minimiert werden kann.
  • Durch transparentes Weiterleitungsdaten können Kreditkartendaten direkt auf die Server von Braintree übertragen werden, wobei das System des Geschäftsinhabers umgangen wird, wodurch das Risiko von Datenverletzungen verringert wird.
  • Die Braintree-PHP-Client-Bibliothek vereinfacht den Integrationsprozess für die transparente Umleitung, kann jedoch die Erfassung und Validierung von nicht zahlungsbezogenen Informationen auf demselben Formular wie die Kreditkarteninformationen des Kunden komplizieren.
  • Um transparente Umleitung zu implementieren, muss der Geschäftsinhaber seine Website in die API des Payment Gateway integrieren, ein Formular einrichten, das die Zahlungsinformationen des Kunden direkt in das Gateway veröffentlicht, und die an ihre Website zurückgesandte Antwort abwickeln.
  • Während transparenter Umleitung die Sicherheit verbessert und die Website der Website verbessert, erfordert es ein tieferes Verständnis der APIs von Webentwicklungs- und Zahlungsgateway -APIs, was für einige Geschäftsinhaber ein potenzieller Nachteil sein kann.

Die bloße Erwähnung der „PCI -Konformität“ liefert normalerweise eine Kombination aus verwirrten Aussehen und verschwitzten Palmen von Geschäftsinhabern, die online Kreditkartenzahlungen akzeptieren. Aber was bedeutet es wirklich?

Es ist ein kompliziertes Thema, aber die Kurzversion ist, dass die großen Kreditkartenunternehmen 2006 einen Rat namens Payment Card Industry Security Standards Council (PCI SSC) gründeten, um eine Reihe von Regeln zu erstellen, die die Sicherheitsrichtlinien und -verfahren standardisieren, dass Händler bei der Bearbeitung und Speicherung sensibler Kreditkarteninformationen (PCI DSS) folgen sollten. Um festzustellen, ob Ihre Systeme konform sind, wählen Sie normalerweise den entsprechenden Fragebogen (Self Assessment "(SAQ) aus einer von acht Optionen aus und beantworten dann eine Reihe von Fragen, um festzustellen, ob Sie tatsächlich konform waren. Große Unternehmen setzen häufig die Dienste eines qualifizierten Sicherheitsbeurteilers (QSA) ein, um SAQ D (die am stärksten involvierten SAQs) auszufüllen, die Hunderttausende von Dollar kosten können. Und um die Sache noch schlimmer zu machen: Wenn Ihre Systeme kompromittiert sind und festgestellt wird, dass sie bei der Verletzung nicht konform waren, können Sie für Geldbußen von bis zu 500.000 US -Dollar pro Vorfall haftbar sein.

Was soll ein Kleinunternehmer tun? Hier kommt Braintree -Zahlungslösungen ins Spiel. Sie bieten zwei Lösungen an, um Ihre PCI -Compliance -Belastung zu minimieren: transparente Umleitung und Braintree.js. Ich sollte erwähnen, dass weder Braintree noch ein anderer PCI -DSS -konformer Dienstanbieter Ihnen mitteilen können, welches SAQ Sie ausfüllen sollen oder ob Ihre Systeme konform sind. Sie haben sich jedoch mit Sicherheitsmetriken, einer branchenführenden QSA, zusammengetan, um eine kostenlose Lösung zu bieten, mit der alle Kunden die PCI-Konformität erreichen und aufrechterhalten können. Und in ihrer Erfahrung konnten Kunden, die entweder transparente Umleitung oder Braintree.js verwenden, in der Regel SAQ A ausfüllen, was viel weniger (und daher teuer) ist als SAQ D, Sie können hier mehr lesen.

Aber genug Hintergrund; Schreiben wir einen Code.

Erste Schritte

Dieser Artikel konzentriert sich auf die transparente Umleitungsmethode. Das erste, was wir tun müssen, ist zu Braintree zu gehen, um unsere serverseitigen API-Schlüssel zu erhalten. Für diejenigen unter Ihnen ohne Produktionskonto richten Sie Ihren Browser auf die Braintree -Sandbox und melden Sie sich für ein Testkonto an. Melden Sie sich an und klicken Sie auf "Konto -> API -Schlüssel." Klicken Sie dann auf die Schaltfläche "Neue neue" und klicken Sie schließlich unter der Spalte "Private Schlüssel" der neu generierten API -Taste. Sie werden auf den folgenden Bildschirm gebracht, der alle Informationen enthält, die Sie für die Konfiguration der Braintree -Client -Bibliothek benötigen.

Transparente Weiterleitungen mit Braintree

Sie können sogar ein Tool sehen, das den Konfigurationscode für Sie in einer Vielzahl von Sprachen generiert.

Jetzt ist es Zeit, die tatsächliche Braintree -PHP -Client -Bibliothek zu installieren. Wir können das mit Composer tun, indem wir den folgenden Befehl ausführen:

composer require braintree/braintree:*
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

transparente Umleitung

Einer der Hauptfaktoren, mit denen Sie feststellen können, ob Sie SAQ D oder SAQ A ausfüllen müssen, ist, ob Kreditkartendaten über Ihr System übertragen werden. Und zu Beginn des typischen Server -zu -Server -Modells (S2S) sendet Ihr Webserver ein Zahlungsformular an den Browser des Kunden. Nach dem Ausfüllen des Formulars drückte der Kunde die Subjekte, die die Daten auf Ihren Webserver zurückversetzen würde, was wiederum einige dieser Daten zur Validierung und Verarbeitung an Braintree weiterleiten würde. Das würde ungefähr so ​​aussehen:

Transparente Weiterleitungen mit Braintree

Bei transparenter Umleitung wird jedoch die Formularaktion so festgelegt, dass das Formular direkt auf die Server von Braintree postet und die Antwort an den Client -Browser zurückgesandt wird. Der Browser wird dann mit einer HTTP 303 -Umleitung in ein Skript auf dem Webserver umgeleitet. Schließlich bestätigt das Webserver -Skript die Transaktion mit Braintree und präsentiert die Ergebnisse dem Client -Browser. Das Modell sieht also eher so aus:

Transparente Weiterleitungen mit Braintree

Jetzt, da wir die Theorie unter unserem Gürtel haben, schreiben wir einen Code. Diejenigen von Ihnen, die die komplette Version sehen möchten, können sie auf GitHub finden.

Das erste, was wir tun werden, ist, ein sehr grundlegendes HTML -Formular zu erstellen, damit wir einige Daten eingeben können, die für die Verarbeitung an Braintree gesendet werden können. Ich werde dies so einfach wie möglich machen, damit wir uns auf Funktionen konzentrieren können.

composer require braintree/braintree:*
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

hier ist nichts kompliziertes. Das einzige, was Sie bemerken werden, ist, dass sich die Eingabefeldnamen im Array -Format befinden. Hier sehen Sie eine vollständige Liste gültiger Feldnamen. Die andere Sache, auf die ich auf dieser Seite hinweisen werde, ist, dass Sie, wenn Sie ein Framework verwenden, das Probleme für die Verwendung von Arrays für Eingabennamen hat (ich sehe Sie an, Zend Framework!), Dann können Sie einen alternativen Doppelunterdrücker verwenden Syntax. Ihr Ablaufdatumeingabe würde also so aussehen:

<span><span><!doctype html></span>
</span>	<span><span><span><html</span> lang<span>="en"</span>></span>
</span>		<span><span><span><body</span>></span>
</span>		    <span><span><span><div</span> id<span>="wrap"</span>></span>
</span>		        <span><span><span><form</span> method<span>="post"</span> action<span>=""</span> autocomplete<span>="off"</span>></span>
</span>		            <span><span><span><label</span>></span>Name on Card: <span><span><input</span> type<span>="text"</span> name<span>="transaction[credit_card][cardholder_name]"</span>></span><span><span></label</span>></span>
</span>					<span><span><span><label</span>></span>Card Number: <span><span><input</span> type<span>="text"</span> name<span>="transaction[credit_card][number]"</span>></span><span><span></label</span>></span>
</span>					<span><span><span><label</span>></span>CVV: <span><span><input</span> type<span>="text"</span> name<span>="transaction[credit_card][cvv]"</span> class<span>="short"</span>></span><span><span></label</span>></span>
</span>					<span><span><span><label</span>></span>Expiration Date (MM/YYYY): <span><span><input</span> type<span>="text"</span> name<span>="transaction[credit_card][expiration_date]"</span> class<span>="short"</span>></span><span><span></label</span>></span>
</span>					<span><span><span><input</span> type<span>="submit"</span> value<span>="submit payment"</span>></span>
</span>			    <span><span><span></form</span>></span>
</span>		    <span><span><span></div</span>></span>
</span>		<span><span><span></body</span>></span>
</span>	<span><span><span></html</span>></span></span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Die einzige andere Sache, die Sie vielleicht bemerken, ist, dass ich meinem Formular ein "automatisch vollständiger" Attribut hinzugefügt habe und seinen Wert auf OFF eingestellt habe. Braintree empfiehlt dies, und ich hoffe, der Grund dafür ist offensichtlich…

Es gibt einige andere Dinge, die wir tun müssen, um die Magie der transparenten Umleitung in unserer Form zu nutzen. Bevor wir das tun, müssen wir unser Skript so konfigurieren, dass sie mit der API von Braintree arbeiten.

Bevor ich Ihnen sage, wie das geht, werde ich nur erwähnen, dass ich im Hinblick auf Klarheit alle PHP und HTML in die gleiche Datei in meinen Beispielcode eingebaut habe. Ich hoffe, es versteht sich von selbst, dass in einem Produktionsprojekt, dass der Setup -Code in die Bootstrap -Datei meines Projekts eingehen würde und dass der Formularverarbeitungscode in eine Controller -Aktion oder eine andere separate Datei eingeht. Ok, genug Entschuldigung - lass uns dieses Ding einrichten!

<span><span><span><input</span> type<span>="text"</span> name<span>="transaction__credit_card__expiration_date"</span>></span></span>
Nach dem Login kopieren
Nach dem Login kopieren

Die erste Zeile ermöglicht es uns lediglich, den Autoloader des Komponisten zu nutzen und die Bibliothek von Braintree zu verwenden, ohne explizit zusätzliche Dateien einzubeziehen. Hoffentlich sehen die nächsten vier Zeilen vertraut aus, da sie wörtlich aus dem Sandbox Control Panel API -Schlüsselwerkzeug kopiert wurden, mit dem ich Sie im vorherigen Abschnitt vorgestellt habe. Offensichtlich ersetzen Sie dies durch den Code aus Ihrem eigenen Bedienfeldkonto.

Das nächste, was ich tun möchte, ist die Formularaktion so festzulegen, dass unser Kunde seine sensiblen Daten direkt an Braintree sendet, was der springende Punkt der Verwendung von TR ist. Glücklicherweise macht die Braintree -Bibliothek dies sehr einfach, indem sie ein Helferobjekt/eine Helfer -Methode bereitstellt. Ändern Sie also einfach Ihren Formularcode wie SO:

composer require braintree/braintree:*
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Das einzige andere, was wir tun müssen, ist eine versteckte Eingabe zu erstellen, die eine Hashed -Darstellung der URL enthält, die Braintree nach dem Einreichen des Formulars sowie alle Informationen, die Sie nicht wollen sie, um angeben zu können. Hier können Sie beispielsweise die Transaktionsmenge einfügen. Insgesamt möchte ich die Rücksendungs ​​-URL auf das Zahlungsformular selbst einstellen, damit ich den Benutzer Fehler anzeigen und ihnen die Möglichkeit geben kann, erneut zu sein. So würde das also aussehen:

<span><span><!doctype html></span>
</span>	<span><span><span><html</span> lang<span>="en"</span>></span>
</span>		<span><span><span><body</span>></span>
</span>		    <span><span><span><div</span> id<span>="wrap"</span>></span>
</span>		        <span><span><span><form</span> method<span>="post"</span> action<span>=""</span> autocomplete<span>="off"</span>></span>
</span>		            <span><span><span><label</span>></span>Name on Card: <span><span><input</span> type<span>="text"</span> name<span>="transaction[credit_card][cardholder_name]"</span>></span><span><span></label</span>></span>
</span>					<span><span><span><label</span>></span>Card Number: <span><span><input</span> type<span>="text"</span> name<span>="transaction[credit_card][number]"</span>></span><span><span></label</span>></span>
</span>					<span><span><span><label</span>></span>CVV: <span><span><input</span> type<span>="text"</span> name<span>="transaction[credit_card][cvv]"</span> class<span>="short"</span>></span><span><span></label</span>></span>
</span>					<span><span><span><label</span>></span>Expiration Date (MM/YYYY): <span><span><input</span> type<span>="text"</span> name<span>="transaction[credit_card][expiration_date]"</span> class<span>="short"</span>></span><span><span></label</span>></span>
</span>					<span><span><span><input</span> type<span>="submit"</span> value<span>="submit payment"</span>></span>
</span>			    <span><span><span></form</span>></span>
</span>		    <span><span><span></div</span>></span>
</span>		<span><span><span></body</span>></span>
</span>	<span><span><span></html</span>></span></span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Offensichtlich kodieren ich die Menge hier hart, aber in einer Produktions-App würden Sie diese entweder mit einer serverseitigen Logik generieren, oder im Fall eines Spendenformulars mit nicht spezifiziertem Summe würden Sie ein Formularfeld erstellen und erlauben Sie dem Benutzer, einen bereitzustellen. Normalerweise legte ich die Option „Senden für die Abrechnung“ auf true fest. Andernfalls wird diese Transaktion einfach

Jetzt muss ich dies nur als verstecktes Feld zu meiner Form hinzufügen wie so:

<span><span><span><input</span> type<span>="text"</span> name<span>="transaction__credit_card__expiration_date"</span>></span></span>
Nach dem Login kopieren
Nach dem Login kopieren

Jetzt, da wir unsere Daten an Braintree senden, müssen wir einen Code hinzufügen, um die tatsächliche transparente Umleitungsantwort zu verarbeiten.

<span><span><?php 
</span></span><span>		<span>require('vendor/autoload.php');
</span></span><span>
</span><span>		<span>Braintree_Configuration<span>::</span>environment('sandbox');
</span></span><span>	    <span>Braintree_Configuration<span>::</span>merchantId('YOUR_MERCHANT_ID');
</span></span><span>	    <span>Braintree_Configuration<span>::</span>publicKey('YOUR_PUBLIC_KEY');
</span></span><span>		<span>Braintree_Configuration<span>::</span>privateKey('YOUR_PRIVATE_KEY');
</span></span><span>
</span><span>	<span>?></span></span>
Nach dem Login kopieren

Lassen Sie uns jetzt herausfinden, was wir gerade getan haben. Wenn der Benutzer die Taste Sendene drückt, wird das Formular direkt an Braintree veröffentlicht, und alle sensiblen Informationen des Kunden werden sicher auf ihren PCI -CSS -konformen Servern gespeichert. Anschließend wird ein HTTP 303 -Umleitung an den Browser gesendet, der den Benutzer an die URL sendet, die Sie beim Generieren der Variablen $ tr_data angegeben haben, und an die Abfragezeichenfolge der URL angehängt.

Wenn die Daten erfolgreich eingereicht werden, ist einer dieser Parameter http_status. Wenn alles reibungslos mit den Servern von Braintree läuft, wird sie auf 200 festgelegt. Offensichtlich möchten Sie auch Nicht-200-Reaktionscodes in der Produktion bewältigen. Aber im Moment stellen wir nur sicher, dass wir den Code nur in dieser Aussage ausführen, wenn wir unsere Zahlungsinformationen erfolgreich an sein System übermittelt haben.

Das nächste, was passiert, ist, dass wir die Abfragezeichenfolge von unserem transparenten Umleitungsumleitungen nehmen und an Braintree zurückschicken müssen, um die Transaktion abzuschließen. Deshalb führen wir eine andere Bibliotheksfunktion aus (Braintree_TransparentRedirect :: bestätigen) und geben sie mit unserer URL -Abfrage -Zeichenfolge an, um Braintree zu sagen, dass er unsere Zahlung verarbeiten soll. Sobald dies geschieht, sendet Braintree unser Skript ein Ergebnisobjekt zurück. Innen kann dieses Objekt entweder ein Braintree_Result_error oder eine braintree_result_successful sein, aber beide Objekte haben eine Boolesche Erfolgseigenschaft, damit Sie sehen können, ob die Transaktion erfolgreich ist oder nicht.

Sie haben wahrscheinlich auch bemerkt, dass ich die gesamte Bestätigung in einen Try/Catch -Block eingewickelt habe. Der einzige Nachteil der Verwendung derselben Seite, um das Formular anzuzeigen und die Ergebnisse zu verarbeiten, ist, dass Sie nur einmal einen TR -Abfragezeichenfolge bestätigen können. Das heißt, wenn jemand nach einer fehlgeschlagenen Transaktion die Taste Reload trifft, versucht Ihr Code, eine abgelaufene Abfragezeichenfolge neu zu bestätigen, und Braintree wird eine Ausnahme auswerfen.

Jetzt, da wir alles haben, was wir brauchen, können wir einige Testtransaktionen durchführen. Vollständige Dokumentation zur Verwendung der Sandbox finden Sie hier. Wenn Sie jedoch wirklich aufgeregt sind und sofort eine erfolgreiche Transaktion ausführen möchten, geben Sie Ihren Namen in den „Namen auf der Karte“, 411111111111111 (4 gefolgt von fünfzehn), ein. Als „Kartennummer“, 123 in der CVV -Box und in Zukunft in der Zukunft als Ablaufdatum. Wenn alles gut läuft, sollten Sie in der Lage sein, in die Sandbox zurückzukehren, auf "Transaktionen" unter "Erweiterte Suche" zu klicken und nach dem Klicken auf die Schaltfläche "Suche" zu Ihrer ersten erfolgreichen Transaktion.

Fancy

bekommen

transparente Umleitung ist eine großartige Möglichkeit, um Ihre PCI -Compliance -Belastung zu minimieren. Es gibt jedoch einige Macken, an die Sie sich gewöhnen müssen. Wenn Sie Daten in Ihr Zahlungsformular aufnehmen möchten, die einem der Transaktionen, Kunden oder Kreditkartenobjekte von Braintree nicht entsprechen, müssen Sie die Funktion „benutzerdefiniertes Feld“ verwenden. Nehmen wir an, ich wollte die Lieblingsfarbe eines Benutzers erfassen. Das erste, was ich tun würde, ist, zum Bedienfeld zu gehen und auf "Einstellungen -> Verarbeitung" zu klicken. Scrollen Sie in den Abschnitt "benutzerdefinierte Felder" und klicken Sie auf "Neu". Sie finden sich auf dem folgenden Bildschirm:

Transparente Weiterleitungen mit Braintree

Der API -Name ist das, was Sie im Namensattribut der Formulareingabe verweisen. Der Anzeigenname steht für Ihre Referenz und Sie können angeben, ob Sie den Wert Ihres benutzerdefinierten Feldes mit Ihrer Transaktion auf Braintree speichern oder einfach an Ihren Server weitergeben möchten.

sammeln Sie es dann einfach das Hinzufügen des folgenden Feldes zu Ihrem Formular.

composer require braintree/braintree:*
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Wenn Sie dies versucht haben, ohne das benutzerdefinierte Feld im Braintree -Bedienfeld hinzuzufügen, würden Sie einen Validierungsfehler auslösen.

Apropos Validierung und kann die serverseitige Validierung Ihres Zahlungsformulars komplizieren. Nehmen wir an, ich wollte die E -Mail -Adresse meines Kunden verlangen. Ich würde nicht wissen, dass der Benutzer es leer gelassen hatte, bis die Transaktion bereits bestätigt worden war. Die Lösung, die ich gefunden habe, besteht darin, meine Validierung im Erfolgsblock meines TR -Skripts auszuführen und dann die Transaktion zu ungültig, wenn meine Validierungen nicht bestehen. Das würde unseren Code so ändern:

<span><span><!doctype html></span>
</span>	<span><span><span><html</span> lang<span>="en"</span>></span>
</span>		<span><span><span><body</span>></span>
</span>		    <span><span><span><div</span> id<span>="wrap"</span>></span>
</span>		        <span><span><span><form</span> method<span>="post"</span> action<span>=""</span> autocomplete<span>="off"</span>></span>
</span>		            <span><span><span><label</span>></span>Name on Card: <span><span><input</span> type<span>="text"</span> name<span>="transaction[credit_card][cardholder_name]"</span>></span><span><span></label</span>></span>
</span>					<span><span><span><label</span>></span>Card Number: <span><span><input</span> type<span>="text"</span> name<span>="transaction[credit_card][number]"</span>></span><span><span></label</span>></span>
</span>					<span><span><span><label</span>></span>CVV: <span><span><input</span> type<span>="text"</span> name<span>="transaction[credit_card][cvv]"</span> class<span>="short"</span>></span><span><span></label</span>></span>
</span>					<span><span><span><label</span>></span>Expiration Date (MM/YYYY): <span><span><input</span> type<span>="text"</span> name<span>="transaction[credit_card][expiration_date]"</span> class<span>="short"</span>></span><span><span></label</span>></span>
</span>					<span><span><span><input</span> type<span>="submit"</span> value<span>="submit payment"</span>></span>
</span>			    <span><span><span></form</span>></span>
</span>		    <span><span><span></div</span>></span>
</span>		<span><span><span></body</span>></span>
</span>	<span><span><span></html</span>></span></span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Wie Sie sehen können, verwende ich, wenn meine lokalen Validierungen nicht bestehen, die Client -Bibliothek, um die Transaktion mit der Transaktions -ID von meinem Braintree_Result_Success -Objekt zu ungültig zu machen.

Schließlich habe ich in unserem grundlegenden Beispiel keine Mühe gemacht, die Formulierungsfelder für den Benutzer neu zu bevölkern, da alle unsere Felder sensible Kreditkartendaten enthalten, die Braintree von unserem Server versteckt. Nachdem wir einige Kundendaten hinzugefügt haben, kann ich diese weniger sensiblen Felder mit Daten aus dem Braintree-Ergebnisobjekt vorab füllen. Sie können den vollständigen Code in meinem GitHub-Beispiel sehen, aber der Trick, zu verstehen, was vor sich geht, besteht darin, zu wissen, dass das Objekt Braintree_Result_Success die vom Benutzer abgelagerten Formulardaten in seiner Transaktionseigenschaft speichert, während das Braintree_Result_error ihn in einer Params-Eigenschaft speichert. Zum Beispiel würde die Vorname-Variable in $ result-> transaktion-> customer ['FirstName'] gefunden, wenn die Transaktion erfolgreich war, während eine fehlgeschlagene Transaktion sie in $ result-> params ['Transaktion'] ['speichern würde, [' Kunde '] [' FirstName '].

einpacken

Braintree's transparenter Umleitung ist eine Möglichkeit, die Bekämpfung der sensiblen Kundendaten Ihrer Anwendung zu minimieren, wodurch die Belastung Ihrer PCI -Konformität verringert wird, und ihre PHP -Client -Bibliothek vereinfacht den Integrationsprozess erheblich, aber es macht es schwieriger, nicht nicht zu sammeln und nicht zu validieren Zahlungsbezogene Informationen zum gleichen Formular wie die Kreditkarteninformationen Ihres Kunden.

Das nächste Mal werfen wir einen Blick auf ihre andere clevere Lösung: Braintree.js.

häufig gestellte Fragen zu transparenten Weiterleitungen

Was ist der Hauptzweck bei der Verwendung transparenter Weiterleitungen bei der Zahlungsabwicklung? Sie ermöglichen es, dass die sensiblen Daten des Kunden direkt an das Zahlungsgateway gesendet werden, wobei der Server des Händlers umgangen wird. Dies verringert das Risiko von Datenverletzungen und hilft den Händlern, die Datensicherheitsstandards (PCI DSS) der Zahlungskarten zu entsprechen. Optimierung kann eine transparente Umleitung dazu beitragen, die Anzahl der HTTP -Anforderungen zu verringern und so die Ladegeschwindigkeit der Website zu verbessern. Wenn ein Benutzer eine Webseite besucht, sendet der Server eine HTTP -Antwort mit einem Statuscode. Wenn der Statuscode eine Weiterleitung angibt, muss der Browser eine zusätzliche HTTP -Anforderung stellen, die die Ladezeit verlangsamen kann. Eine transparente Umleitung kann diesen zusätzlichen Schritt beseitigen und die Website schneller und effizienter machen. Der Transaktionsprozess, der sensible Kundendaten potenziellen Sicherheitsrisiken aussetzen kann. Andererseits umgeht ein transparenter Umleitungsvorgang den Server des Händlers und sendet die Daten direkt an das Zahlungsgateway, wodurch die Sicherheit der Transaktion verbessert wird.

Wie kann ich eine transparente Umleitung auf meiner Website implementieren? Sie müssen Ihre Website in die API des Payment Gateway integrieren. Dies beinhaltet die Einrichtung eines Formulars auf Ihrer Website, das die Zahlungsinformationen des Kunden direkt an das Gateway veröffentlicht. Das Gateway verarbeitet dann die Transaktion und sendet eine Antwort an Ihre Website zurück. Website -Leistung. Durch die Umgehung des Servers des Händlers verringert ein transparenter Umleitungsvorgang das Risiko von Datenverletzungen. Es hilft auch, die Ladegeschwindigkeit Ihrer Website zu verbessern, indem die Anzahl der HTTP -Anforderungen reduziert wird. Es kann komplexer sein, um zu implementieren als eine herkömmliche Umleitung. Es erfordert ein tieferes Verständnis der Webentwicklung und der Zahlungsgateway -APIs. Die erweiterten Sicherheits- und Leistungsvorteile überwiegen jedoch häufig diese Herausforderung. Es ist wichtig, Ihren Zahlungsgateway -Anbieter zu überprüfen, um festzustellen, ob sie diese Funktion anbieten. Einige beliebte Zahlungsgateways, die transparente Weiterleitungen unterstützen, umfassen Braintree, Bluefin und PayPal. Der Benutzer gibt lediglich seine Zahlungsinformationen auf der Website des Händlers ein und klickt auf "Senden". Die Umleitung findet im Hintergrund statt, sodass der Benutzer keinen Unterschied zu einem herkömmlichen Transaktionsprozess bemerkt. Hilfe bei der PCI -Konformität. Durch die direkte Zahlung der Zahlungsinformationen des Kunden direkt an das Zahlungsgateway reduziert ein transparenter Umleitungsumleitungsbereich den Umfang der PCI -Konformität für den Händler. Dies kann es den Händlern erleichtern, die von der Zahlungskartenindustrie festgelegten strengen Sicherheitsstandards zu erfüllen.

Was passiert, wenn eine transparente Umleitung fehlschlägt? verarbeitet werden. Die genaue Antwort hängt von der API des Zahlungsgateways ab. In den meisten Fällen sendet das Gateway eine Fehlermeldung an die Website des Händlers, die dann dem Benutzer angezeigt werden kann. Es ist wichtig, diese Fehler anmutig zu behandeln, um eine gute Benutzererfahrung zu gewährleisten.

Das obige ist der detaillierte Inhalt vonTransparente Weiterleitungen mit Braintree. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage