So implementieren Sie die WeChat-Zahlung in WordPress
Für den Aufruf von WeChat-Zahlungen stellt WeChat ein JS SDK bereit, das uns bei der Implementierung der Funktion zum Aufrufen von WeChat-Zahlungen in WeChat unterstützt. Im Folgenden sind die spezifischen Implementierungsschritte aufgeführt:
Der erste Schritt besteht darin, die für die Implementierung der WeChat-Zahlung erforderlichen Pakete zu installieren
Wir verwenden weiterhin das Omnipay Wechat Pay-Paket, um uns zu helfen Die Implementierung von WeChat Payment ähnelt tatsächlich der vorherigen nativen Scan-Code-Zahlungsmethode, außer dass die verwendete Schnittstelle unterschiedlich ist. Das Folgende ist die Bibliothek, die in der von mir entwickelten WeChat-Website verwendet wird. Es erübrigt sich zu erwähnen, dass es sich bei den ersten beiden offensichtlich um die Omnipay-Bibliothek handelt, die für die WeChat-Zahlung verwendet wird. Dabei handelt es sich um ein WordPress-Router-System, das zur Implementierung benutzerdefinierter URLs verwendet wird und hauptsächlich zur Überprüfung der vom Benutzer übermittelten Daten verwendet wird.
"require": { "omnipay/omnipay": "~2.0", "lokielse/omnipay-wechatpay": "^1.0", "thefold/wordpress-dispatcher": "^1.0", "vlucas/valitron": "^1.2", },
Führen Sie nach Abschluss der Installation den Composer-Installationsbefehl aus und führen Sie die automatisch ladende Datei in das Theme oder Plug-in ein.
require_once( get_template_directory() . '/vendor/autoload.php' );
Front-End-Implementierung: Konfigurieren Sie das WeChat JS SDK und implementieren Sie die WeChat-Zahlung
Die jssdk.php hier wird vom WeChat-Beamten bereitgestellt und wird zum Initialisieren des WeChat JS SDK verwendet Signaturpaket verfügbar. Führen Sie diese Datei auf der Seite ein, auf der die WeChat-Zahlung implementiert werden muss, und initialisieren Sie dann die JSSDK-Klasse.
require_once( get_template_directory() . '/inc/jssdk.php' ); $jssdk = new JSSDK( "xxxxx", "xxxxxxxxxxxxxxxx" ); $signPackage = $jssdk->GetSignPackage();
WeChat JS SDK initialisieren, WeChat-Zahlungsmethode aufrufen, um die WeChat-Zahlung zu implementieren
Stellen Sie zunächst sicher, dass sich die JavaScript-Datei des WeChat JS SDK im Kopf des befindet Seite: jweixin-1.0 .0.js. Basierend auf dem oben erhaltenen $signPackage haben wir die folgenden Vorgänge im folgenden Code ausgeführt.
Verwenden Sie wx.config, um js sdk zu initialisieren, und verwenden Sie wx.ready, um zu erkennen, ob js sdk erfolgreich initialisiert wurde. Wenn die Initialisierung erfolgreich ist, können wir die von WeChat js sdk bereitgestellte Schnittstelle für den Betrieb verwenden. Wenn auf die Zahlungsschaltfläche geklickt wird, wird eine Ajax-Anfrage an den Server gesendet, um die WeChat-Bestellung zu erhalten, und dann wird wx.chooseWXPay verwendet, um die WeChat-Zahlung zu initiieren. Dabei handelt es sich um die Popup-Schnittstelle, die wir in WeChat zur Eingabe des WeChat-Passworts sehen.
jQuery(document).ready(function ($) { // 配置 js sdk wx.config({ debug: false, appId: '<?php echo $signPackage[ "appId" ];?>', timestamp: <?php echo $signPackage[ "timestamp" ];?>, nonceStr: '<?php echo $signPackage[ "nonceStr" ];?>', signature: '<?php echo $signPackage[ "signature" ];?>', jsApiList: ['chooseWXPay'] // 这里的 jsApiList 需要什么就填写什么 }); // 一定要检查 js sdk 是否已经准备好了 wx.ready(function () { $("#topay").click(function () { $.ajax({ url: '/order/', type: 'POST', dataType: 'json', data: $("#wepay").serialize(), success: function (order) { var params = { 'timestamp': order.timeStamp, 'nonceStr': order.nonceStr, 'package': order.package, 'signType': order.signType, 'paySign': order.paySign }; wx.chooseWXPay(params); }, error: function (order) { c-alert(order.message); } }); return false; }); });});
Das Zahlungsfenster blinkt und verschwindet in den folgenden Situationen
Beim Testen der WeChat-Zahlung auf WeChat stellen wir häufig fest, dass das WeChat-Zahlungsfenster blinkt und verschwindet Die Schnittstelle zur Eingabe des Zahlungspassworts wird nicht angezeigt. Die möglichen Gründe sind folgende. Bitte prüfen Sie dies sorgfältig.
jssdk ist nicht konfiguriert. Überprüfen Sie, ob die von wx.config und wx.readyAjax im obigen Code zurückgegebenen Daten falsch sind Der Testdomänenname wird im WeChat-Verwaltungshintergrund festgelegt. Zum sicheren Domänennamen hinzugefügt
Back-End-Implementierung: Bestelldaten überprüfen und senden
Die Back-End-Implementierung Es ist sehr einfach, die oben von Ajax übermittelten Daten zu empfangen, dann die erforderlichen JSON-Daten von WeChat Pay zu verarbeiten und die Bestellung für spätere Abfragen und nachfolgende Benachrichtigungsrückrufe in der Datenbank der Website zu speichern.
// 获取微信支付网关的函数function get_wechat_gateway() { $gateway = Omnipay::create( 'WechatPay_Js' ); $gateway->setAppId( ' xxxxxxxx' ); $gateway->setMchId( 'xxxxxxxx' ); $gateway->setApiKey( 'xxxxxxxx' ); //注意这里的 ApiKey 是我们在微信商户后台设置的一个32位的随机字符串,和微信公众号里面的 App Secrit 不是一回事。 return $gateway;}/** * 处理订单信息, 跳转到微信支付 */new Dispatch( [ 'wepay/order' => function ( $request ) { // 检查用户提交的数据是否有错,如果有错误,返回错误信息 $v = new Validator( $_POST ); $v->rule( 'required', [ 'count', 'buyer_name', 'buyer_phone', 'buyer_address' ] ); if ( ! $v->validate() ) { $msg = [ 'success' => '0', 'message' => '下单失败, 请检查所有必填项。', ]; wp_send_json( $msg ); } $user = wp_get_current_user(); $req = Request::createFromGlobals(); $pid = $req->get( 'pid' ); $count = $req->get( 'count' ); $open_id = $req->cookies->get( 'open_id' ); $prod = get_post( $pid ); $price = get_post_meta( $pid, '_prod_price', true ); $total_fee = $price * $count * 100; $tn = date( 'YmdHis' ) . mt_rand( 1000, 9999 ); // 在实际开发过程中,我们需要把用户提交的订单数据保存到数据库一份 // 订单参数 $order = [ 'body' => $prod->post_title', 'out_trade_no' => $tn, 'total_fee' => $total_fee, 'spbill_create_ip' => wizhi_get_real_ip(), 'fee_type' => 'CNY', 'open_id' => $open_id, ]; // 发送支付请求到微信并获取返回信息 $gateway = get_wechat_gateway(); $gateway->setNotifyUrl( 'https://www.wpzhiku.com/order/return' ); $response = $gateway->purchase( $order )->send(); $wechat_return = $response->getJsOrderData(); wp_send_json( $wechat_return ); },] );
Akzeptieren Sie die WeChat-Zahlungserfolgsbenachrichtigung, um die Bestellung automatisch abzuschließen oder automatisch aufzuladen.
Nach Abschluss der Zahlung sendet WeChat eine Zahlungserfolgsbenachrichtigung an die von uns angegebene Benachrichtigungs-URL zurück auf den zurückgegebenen Inhalt zugreifen, Vorgänge wie das automatische Abschließen von Bestellungen oder das automatische Aufladen durchführen. Hier sind zwei Punkte zu beachten.
Die Benachrichtigungs-URL muss zugänglich sein. Wenn sie nicht zugänglich ist, sendet WeChat die Benachrichtigung nicht. Es muss sich im selben Verzeichnis wie die Zahlungs-URL befinden.
Das von WeChat bereitgestellte SDK und die Schnittstellendaten unterscheiden sich stark vom Standard. Bei der Verwendung müssen Sie auf die Groß- und Kleinschreibung im Code achten Bei Problemen wenden Sie sich bitte sorgfältig an das von WeChat bereitgestellte Entwicklungsteam. Wenn die von Ihnen verwendete Sprache oder das Entwicklungsframework Bibliotheken für die WeChat-Entwicklung bereitstellt, wird empfohlen, diese Bibliotheken direkt für die Entwicklung zu verwenden Große und kleine Gruben, die WeChat für uns gegraben hat, reduzieren die Debugging-Schwierigkeit und beschleunigen die Entwicklung.
Weitere technische Artikel zum Thema WordPress finden Sie in der Spalte WordPress-Tutorials, um mehr darüber zu erfahren!
Das obige ist der detaillierte Inhalt vonSo implementieren Sie die WeChat-Zahlung in WordPress. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

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

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen





Blogs sind die ideale Plattform für Menschen, um ihre Meinungen, Meinungen und Meinungen online auszudrücken. Viele Neulinge sind bestrebt, eine eigene Website zu bauen, zögern jedoch, sich über technische Hindernisse oder Kostenprobleme zu sorgen. Da sich die Plattform jedoch weiterentwickelt, um die Fähigkeiten und Bedürfnisse von Anfängern zu erfüllen, wird sie jetzt einfacher als je zuvor. In diesem Artikel führen Sie Schritt für Schritt, wie Sie ein WordPress -Blog erstellen, von der Auswahl der Themen bis zur Verwendung von Plugins, um Sicherheit und Leistung zu verbessern und Ihnen dabei zu helfen, Ihre eigene Website problemlos zu erstellen. Wählen Sie ein Blog -Thema und eine Blog -Richtung Vor dem Kauf eines Domainnamens oder der Registrierung eines Hosts ist es am besten, die Themen zu identifizieren, die Sie abdecken möchten. Persönliche Websites können sich um Reisen, Kochen, Produktbewertungen, Musik oder jedes Hobby bewirken, das Ihre Interessen weckt. Wenn Sie sich auf Bereiche konzentrieren, an denen Sie wirklich interessiert sind, können Sie das kontinuierliche Schreiben fördern

WordPress ist für Anfänger leicht zu beginnen. 1. Nach dem Anmeldung im Hintergrund ist die Benutzeroberfläche intuitiv und das einfache Dashboard bietet alle erforderlichen Funktionslinks. 2. Grundlegende Vorgänge umfassen das Erstellen und Bearbeiten von Inhalten. Der Wysiwyg -Editor vereinfacht die Erstellung von Inhalten. 3. Anfänger können die Website-Funktionen durch Plug-Ins und Themen erweitern, und die Lernkurve existiert, kann aber durch das Üben gemeistert werden.

WordPressIsGoodforenualywebProjectDuetoitsverseSatilityasacms.itexcelsin: 1) Benutzerfreundlichkeit, erlaubt Easywebsitesetup; 2) Flexibilität und Kustomisierung mit

Kann WordPress innerhalb von drei Tagen lernen. 1. Master Basic-Kenntnisse wie Themen, Plug-Ins usw. 2. Verstehen Sie die Kernfunktionen, einschließlich Installations- und Arbeitsprinzipien. 3. Lernen Sie die grundlegende und erweiterte Verwendung anhand von Beispielen. 4. Verstehen Sie Debugging -Techniken und Vorschläge zur Leistungsoptimierung.

Wix ist für Benutzer geeignet, die keine Programmiererfahrung haben, und WordPress ist für Benutzer geeignet, die mehr Kontroll- und Erweiterungsfunktionen wünschen. 1) Wix bietet Drag-and-Drop-Editoren und reichhaltige Vorlagen und erleichtert es, eine Website schnell zu erstellen. 2) Als Open-Source-CMS verfügt WordPress über eine riesige Community- und Plug-in-Ökosystem, die eine eingehende Anpassung und Erweiterung unterstützt.

WordPress selbst ist kostenlos, kostet jedoch zusätzlich: 1. WordPress.com bietet ein Paket von kostenlos bis bezahlt, wobei die Preise zwischen ein paar Dollar pro Monat bis zu Dutzenden von Dollar reichen. 2. 3. Die meisten Plug-Ins und Themen sind kostenlos, und der bezahlte Preis liegt zwischen Dutzenden und Hunderten von Dollar. Durch die Auswahl des richtigen Hosting-Dienstes, die Verwendung von Plug-Ins und Themen und regelmäßige Aufrechterhaltung und Optimierung können die Kosten von WordPress effektiv gesteuert und optimiert werden.

Möchten Sie wissen, wie Sie untergeordnete Kategorien auf der Seite der übergeordneten Kategorie -Archivseite angezeigt werden? Wenn Sie eine Klassifizierungsarchivseite anpassen, müssen Sie dies möglicherweise tun, um es Ihren Besuchern nützlicher zu machen. In diesem Artikel zeigen wir Ihnen, wie Sie Kinderkategorien auf der Seite der Elternkategorie problemlos anzeigen können. Warum erscheinen Unterkategorien auf der Seite der übergeordneten Kategorie -Archiv -Seite? Indem Sie alle Kinderkategorien auf der Seite der übergeordneten Kategorie -Archiv -Seite anzeigen, können Sie sie für Besucher weniger allgemein und nützlicher machen. Wenn Sie beispielsweise einen WordPress-Blog über Bücher ausführen und eine Taxonomie namens "Thema" haben, können Sie Untertaxonomie wie "Roman", "Sachbücher" hinzufügen, damit Ihre Leser können

Kürzlich haben wir Ihnen gezeigt, wie Sie ein personalisiertes Erlebnis für Benutzer erstellen können, indem Benutzer ihre bevorzugten Beiträge in einer personalisierten Bibliothek retten können. Sie können personalisierte Ergebnisse auf eine andere Ebene bringen, indem Sie an einigen Stellen (d. H. Begrüßungsbildschirme) ihre Namen verwenden. Glücklicherweise macht es WordPress sehr einfach, Informationen über angemeldete Benutzer zu erhalten. In diesem Artikel zeigen wir Ihnen, wie Sie Informationen zum aktuell angemeldeten Benutzer abrufen. Wir werden den Get_Currentuserinfo () verwenden; Funktion. Dies kann überall im Thema verwendet werden (Header, Fußzeile, Seitenleiste, Seitenvorlage usw.). Damit es funktioniert, muss der Benutzer angemeldet sein. Wir müssen also verwenden
