Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Erläuterung der PHP-Implementierung der Alipay-Online-Zahlungsschnittstellenentwicklung
In diesem Artikel wird hauptsächlich das Tutorial zur Entwicklung der PHP-Alipay-Online-Zahlungsschnittstelle vorgestellt, das einen gewissen Referenzwert hat
1 Was ist eine Drittanbieterzahlung? >
Bei der sogenannten Drittanbieterzahlung handelt es sich um eine Transaktionsunterstützungsplattform, die von einigen unabhängigen Drittanbietern bereitgestellt wird, die Verträge mit Großbanken unterzeichnet haben und über bestimmte Stärke- und Glaubwürdigkeitsgarantien verfügen. Bei Transaktionen über eine Zahlungsplattform eines Drittanbieters nutzt der Käufer nach dem Kauf der Ware das von der Drittanbieterplattform bereitgestellte Konto, um die Ware zu bezahlen, und der Dritte benachrichtigt den Verkäufer über den Eingang der Ware. Derzeit gibt es viele Institutionen, die Zahlungen über Dritte anbieten, darunter Alipay, Tenpay, Kuaiqian, Online Banking, Yibao Pay, Yunwang und andere große Zahlungsplattformen. Wenn eine Website eine Drittanbieterzahlung implementieren muss, sollte sie zunächst ein Konto bei der Drittanbieter-Zahlungsplattform beantragen und eine Vereinbarung unterzeichnen. Nach Inkrafttreten der Vereinbarung öffnet die Drittanbieter-Zahlungsplattform die Online-Zahlungsfunktion dafür und die Schnittstelle über ein Programm in die Website integrieren. Warum die Zahlung durch Dritte nutzen? Da die Drittanbieter-Zahlungsplattform Verträge mit großen Banken abgeschlossen hat, müssen Website-Besitzer lediglich ein Konto auf dieser Plattform beantragen, um fast alle Arten von Bankkarten- und Kreditkartentransaktionen zu unterstützen.2. Drittpartei-Zahlungsprinzip
3. Entwicklung der Alipay-Schnittstelle
3.1 Einführung und Test der Schnittstelle Alipay bietet derzeit garantierte Transaktionen, Standard-Sofortzahlung, Doppelfunktionen usw Es gibt mehrere Schnittstellen, es gibt jedoch einige Unterschiede in den Funktionen. Die Website-Integrationsmethode ist dieselbe. Am Beispiel der Standard-Sofortkontoschnittstelle sind nach der Unterzeichnung einer Vereinbarung mit Alipay mehrere Schritte erforderlich, um die Integration abzuschließen.Die Daten in der Box sind das, auf dessen Änderung wir uns konzentrieren müssen. Der Unterschied zwischen der Zahlungsbenachrichtigungsadresse und der Rücksendeadresse wurde bereits erwähnt. In Schritt 7 gibt es zwei Elemente: die Zahlungsergebnisseite und die Zahlungsbenachrichtigungsinformationen. Die Zahlungsergebnisseite springt automatisch zu dieser Adresse, nachdem der Benutzer die Zahlung abgeschlossen hat . Hier ist die Absenderadresse ( $return_url).
Die Zahlungsbenachrichtigungsadresse ist auch die Zahlung des Benutzers. Nach Abschluss der Zahlung fordert Alipay die Adresse ($notify_url) an, die Zahlungsbenachrichtigung wird jedoch direkt vom Benutzer angefordert Alipay-Server und wird vom Benutzer nicht gesehen. Diese beiden Adressen müssen im vollständigen Pfadformat beginnend mit http vorliegen. Um den Testvorgang abzuschließen, wurde /pay/alipay/notify_url.php hier umgeschrieben und $notify_url auf die URL gesetzt, die auf diese Datei zugreifen kann. Nachdem diese Elemente konfiguriert wurden, wird eine Datentabelle gemäß dem Datenbankskript (pay/orders.sql) erstellt. Und ändern Sie mysql_config.php entsprechend den Konfigurationsinformationen der Datenbank. Durch einfaches Ändern der von Alipay bereitgestellten Demo können Sie die Erstellung der Zahlungsanforderung abschließen (Schritt 4). Hier werden die Zahlungshomepage und andere Seiten geändert pay-Verzeichnis des Quellcode-Pakets). Testen wir es zunächst:
Der Datenbank wurden „Bestellinformationen“ hinzugefügt
Wenn Sie auf die Schaltfläche „Zahlung bestätigen“ oder „Bestätigen“ klicken Der Zahlungslink springt zur Alipay-Seite und übermittelt die Informationen über das POST-Formular an das Zahlungsgateway, wenn er auf die Schaltfläche klickt. Da die Zahlungsanforderungsdaten für den Benutzer nicht sichtbar sein müssen, werden sie in das ausgeblendete Feld geschrieben. Der Zahlungsbestätigungslink wird über die URL weitergeleitet. Da die Alipay-Schnittstelle die Übermittlung per POST oder GET ermöglicht, sind beide Methoden akzeptabel. Nach der Übermittlung der Parameter an das Zahlungsgateway springt die Seite zur Zahlungsseite. Wir sehen das Bild unten:
Wir sehen, dass Alipay uns zwei Zahlungsmethoden zur Verfügung stellt, eine über ein Alipay-Konto und die andere über eine Bankkartenzahlung. Wenn Sie beispielsweise mit einer Bankkarte bezahlen möchten, geben Sie Ihre E-Mail-Adresse oder Mobiltelefonnummer ein, um zur folgenden Seite zu gelangen:
Unsere Abrechnung Alipay unterstützt fast alle Banken Kartenzahlungen sowie Kreditkarten und Filialen Wählen Sie zum Bezahlen die entsprechende Bank aus und folgen Sie den Anweisungen zur Zahlung. Nachdem die Zahlung abgeschlossen ist, kehrt die Seite zur $return_url-Adresse zurück, die wir in der Konfigurationsdatei konfiguriert haben, und der „Bestellstatus“ ändert sich ebenfalls.
Hinweis: Wenn während des Tests kein externer Netzwerktest stattfindet (d. h., auf die Zahlungsbenachrichtigungsadresse kann nicht über das externe Netzwerk zugegriffen werden), kann die Zahlungsbenachrichtigung nicht angefordert werden , und der Bestellstatus kann nicht automatisch geändert werden.
3.2 Alipay-Schnittstellenspezifikation und Codeanalyse
Informationen zur Alipay-Schnittstellenspezifikation finden Sie unter /pay/doc/Standard Alipay Transaction Service Interface (für Anti-Phishing-Websites). PDF, das bereits eine relativ detaillierte Anleitung enthält.
3.2.1 So erstellen Sie eine Zahlungsanforderung
Im vorherigen Test haben wir auf „Zahlung bestätigen“ geklickt, um die Informationen an das Zahlungsgateway von Alipay zu übermitteln. Wir können darüber nachdenken, welche Parameter gesendet werden sollen . zum Zahlungsgateway. Die Liste der Anforderungsparameter finden Sie in der Standardschnittstelle des Alipay-Transaktionsdienstes (speziell für Anti-Phishing-Websites). 3.2.2 im PDF-Format. Es ist zu beachten, dass wir diese Parameter nicht nur intakt an Alipay übermitteln müssen. Um die Datensicherheit zu gewährleisten, verwendet Alipay derzeit die MD5-Signatur, um Datenmanipulationen zu verhindern.
Bevor Sie die Daten übermitteln, müssen Sie die zu übermittelnden Daten nach bestimmten Regeln (siehe Schnittstellendokument) zu einer Zeichenfolge zusammensetzen, den Sicherheitsprüfcode (Schlüssel) hinzufügen, um eine neue Zeichenfolge zu bilden, und diese generieren eine 32-Wörter-Zeichenfolge durch die Signatur des MD5-Abschnitts. Wenn wir eine Zahlungsanforderung einreichen, müssen wir auch diese Signatur einreichen. Schauen Sie sich den Quellcode des Formulars an
Nach Erhalt der Parameter überprüft Alipay die Legitimität der Anforderungsparameter. Nach der Überprüfung wird die Zahlungsseite angezeigt, andernfalls eine Es wird ein Fehler angezeigt.
3.2.2 So überprüfen Sie die Zahlungsbenachrichtigung
Nachdem die Zahlung des Benutzers abgeschlossen ist, fordert Alipay die Zahlungsbenachrichtigungsadresse der Website an (diese Adresse sollte beim Erstellen der Zahlungsanforderung als Parameter übergeben werden). Die Liste der Rückgabeparameter finden Sie in der Standardschnittstelle des Alipay-Transaktionsdienstes (speziell für Anti-Phishing-Websites). Pdf3.3.1. In den Rücksendedaten von Alipay gibt es auch eine Signaturzeichenfolge (mit derselben Signaturmethode wie in der Zahlungsanforderungsdatei). Die Daten müssen zunächst signiert und überprüft werden. Zusätzlich zur Überprüfung der Signatur muss die notify_id im Parameter auch an das Alipay-Verifizierungs-Gateway-System von Alipay übermittelt werden, um die Authentizität der Benachrichtigung zu überprüfen und die Überprüfung zu benachrichtigen. Das Alipay-System bestimmt selbst, ob die Benachrichtigung im String-Format vorliegt, andernfalls wird die Authentizität der Anfrage durch Überprüfung der vom Server zurückgegebenen Daten überprüft kann die Bestelldaten ändern und E-Mails an den Benutzer senden und andere Vorgänge durchführen. Zur Überprüfung der Signaturen können Sie einen Blick auf den Quellcode in der Benachrichtigungsdatei werfen. In der Demo wird die notify_id im Parameter per POST an Alipay übermittelt und die Rückgabedaten erhalten:
Der Fokus liegt hier beim Senden auf der Funktion fsockopen Eine E-Mail Wir haben bereits das Öffnen einer Socket-Verbindung über diese Funktion kennengelernt. Ähnlich wie die Funktion fopen, die wir zuvor kennengelernt haben, gibt sie ein Dateihandle zurück, und dann können Sie die Dateifunktionen (fgets(), fgetss(), fputs() verwenden. ), fclose() feof() usw.), um es zu bedienen. Der Code verwendet die Funktion fputs() (wie fwrite()), um Daten zu schreiben, um das Senden von Daten durch das Formular im POST-Modus zu simulieren und schließlich die zurückgegebenen Daten abzurufen Führen Sie die Funktion fgets() durch, speichern Sie sie in einem Array und führen Sie schließlich eine Überprüfung durch. Weitere Informationen finden Sie im Quellcode.
Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.
Verwandte Empfehlungen:
So implementieren Sie maskierende Schlüsselwörter in PHP
Benutzerdefinierte Array-Sortierfunktion und Sortierung in der PHP-Klasse implementiert Methoden
Benutzerdefinierte Array-Sortierfunktion, implementiert durch PHP und Sortierklassenmethoden
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der PHP-Implementierung der Alipay-Online-Zahlungsschnittstellenentwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!