Inhaltsverzeichnis
Key Takeaways
Erste Schritte
transparente Umleitung
Fancy
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.
Heim Backend-Entwicklung PHP-Tutorial Transparente Weiterleitungen mit Braintree

Transparente Weiterleitungen mit Braintree

Feb 19, 2025 pm 12:11 PM

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1670
14
PHP-Tutorial
1276
29
C#-Tutorial
1256
24
Erklären Sie sicheres Kennwort -Hashing in PHP (z. B. password_hash, password_verify). Warum nicht MD5 oder SHA1 verwenden? Erklären Sie sicheres Kennwort -Hashing in PHP (z. B. password_hash, password_verify). Warum nicht MD5 oder SHA1 verwenden? Apr 17, 2025 am 12:06 AM

In PHP sollten die Funktionen für Passwort_Hash und passwart_verify verwendet werden, um sicheres Passwort -Hashing zu implementieren, und MD5 oder SHA1 sollte nicht verwendet werden. 1) Passwort_hash generiert einen Hash, der Salzwerte enthält, um die Sicherheit zu verbessern. 2) Passwort_Verify prüfen Sie das Passwort und sicherstellen Sie die Sicherheit, indem Sie die Hash -Werte vergleichen. 3) MD5 und SHA1 sind anfällig und fehlen Salzwerte und sind nicht für die Sicherheit der modernen Passwort geeignet.

PHP und Python: Vergleich von zwei beliebten Programmiersprachen PHP und Python: Vergleich von zwei beliebten Programmiersprachen Apr 14, 2025 am 12:13 AM

PHP und Python haben jeweils ihre eigenen Vorteile und wählen nach den Projektanforderungen. 1.PHP ist für die Webentwicklung geeignet, insbesondere für die schnelle Entwicklung und Wartung von Websites. 2. Python eignet sich für Datenwissenschaft, maschinelles Lernen und künstliche Intelligenz mit prägnanter Syntax und für Anfänger.

PHP in Aktion: Beispiele und Anwendungen in realer Welt PHP in Aktion: Beispiele und Anwendungen in realer Welt Apr 14, 2025 am 12:19 AM

PHP wird in E-Commerce, Content Management Systems und API-Entwicklung häufig verwendet. 1) E-Commerce: Wird für die Einkaufswagenfunktion und Zahlungsabwicklung verwendet. 2) Content -Management -System: Wird für die Erzeugung der dynamischen Inhalte und die Benutzerverwaltung verwendet. 3) API -Entwicklung: Wird für die erholsame API -Entwicklung und die API -Sicherheit verwendet. Durch Leistungsoptimierung und Best Practices werden die Effizienz und Wartbarkeit von PHP -Anwendungen verbessert.

Wie funktioniert der Php -Typ -Hinweis, einschließlich Skalartypen, Rückgabetypen, Gewerkschaftstypen und nullbaren Typen? Wie funktioniert der Php -Typ -Hinweis, einschließlich Skalartypen, Rückgabetypen, Gewerkschaftstypen und nullbaren Typen? Apr 17, 2025 am 12:25 AM

PHP -Typ -Eingabeaufforderungen zur Verbesserung der Codequalität und der Lesbarkeit. 1) Tipps zum Skalartyp: Da Php7.0 in den Funktionsparametern wie int, float usw. angegeben werden dürfen. 3) Eingabeaufforderung für Gewerkschaftstyp: Da Php8.0 in Funktionsparametern oder Rückgabetypen angegeben werden dürfen. 4) Nullierstyp Eingabeaufforderung: Ermöglicht die Einbeziehung von Nullwerten und Handlungsfunktionen, die Nullwerte zurückgeben können.

Die dauerhafte Relevanz von PHP: Ist es noch am Leben? Die dauerhafte Relevanz von PHP: Ist es noch am Leben? Apr 14, 2025 am 12:12 AM

PHP ist immer noch dynamisch und nimmt immer noch eine wichtige Position im Bereich der modernen Programmierung ein. 1) Einfachheit und leistungsstarke Unterstützung von PHP machen es in der Webentwicklung weit verbreitet. 2) Seine Flexibilität und Stabilität machen es ausstehend bei der Behandlung von Webformularen, Datenbankoperationen und Dateiverarbeitung; 3) PHP entwickelt sich ständig weiter und optimiert, geeignet für Anfänger und erfahrene Entwickler.

PHP und Python: Verschiedene Paradigmen erklärt PHP und Python: Verschiedene Paradigmen erklärt Apr 18, 2025 am 12:26 AM

PHP ist hauptsächlich prozedurale Programmierung, unterstützt aber auch die objektorientierte Programmierung (OOP). Python unterstützt eine Vielzahl von Paradigmen, einschließlich OOP, funktionaler und prozeduraler Programmierung. PHP ist für die Webentwicklung geeignet, und Python eignet sich für eine Vielzahl von Anwendungen wie Datenanalyse und maschinelles Lernen.

Wie verhindern Sie die SQL -Injektion in PHP? (Vorbereitete Aussagen, PDO) Wie verhindern Sie die SQL -Injektion in PHP? (Vorbereitete Aussagen, PDO) Apr 15, 2025 am 12:15 AM

Die Verwendung von Vorverarbeitungsanweisungen und PDO in PHP kann SQL -Injektionsangriffe effektiv verhindern. 1) Verwenden Sie PDO, um eine Verbindung zur Datenbank herzustellen und den Fehlermodus festzulegen. 2) Erstellen Sie Vorverarbeitungsanweisungen über die Vorbereitungsmethode und übergeben Sie Daten mit Platzhaltern und führen Sie Methoden aus. 3) Abfrageergebnisse verarbeiten und die Sicherheit und Leistung des Codes sicherstellen.

PHP und Python: Code Beispiele und Vergleich PHP und Python: Code Beispiele und Vergleich Apr 15, 2025 am 12:07 AM

PHP und Python haben ihre eigenen Vor- und Nachteile, und die Wahl hängt von den Projektbedürfnissen und persönlichen Vorlieben ab. 1.PHP eignet sich für eine schnelle Entwicklung und Wartung großer Webanwendungen. 2. Python dominiert das Gebiet der Datenwissenschaft und des maschinellen Lernens.

See all articles