Heim >Backend-Entwicklung >PHP-Tutorial >PHP und EasyWeChat: Praktische Entwicklung der Zahlungsfunktion des WeChat Mini-Programms
PHP und EasyWeChat: Praktische Entwicklung der Zahlungsfunktion des WeChat-Miniprogramms
WeChat-Zahlung ist eine der am häufigsten verwendeten mobilen Zahlungsmethoden, und das WeChat-Miniprogramm ist zur von immer mehr Unternehmen und Entwicklern gewählten Plattform geworden. Die Integration von Zahlungsfunktionen in WeChat-Miniprogramme kann Unternehmen mehr Geschäftsmöglichkeiten und Komfort bieten. In diesem Artikel wird erläutert, wie Sie mit PHP und EasyWeChat die Zahlungsfunktion des WeChat-Miniprogramms entwickeln.
1. Vorbereitung
Bevor wir mit der Entwicklung beginnen, müssen wir die folgenden Materialien vorbereiten:
2. EasyWeChat installieren
EasyWeChat ist ein PHP-basiertes WeChat-Entwicklungstoolkit, das die Interaktion mit offiziellen WeChat-Konten und Miniprogrammen vereinfachen kann. Wir können Composer verwenden, um EasyWeChat zu installieren und den folgenden Befehl auszuführen:
composer require overtrue/wechat
3. Konfigurieren Sie EasyWeChat
Nach Abschluss der Installation erstellen Sie eine neue Datei config.php in Ihrem Projekt und konfigurieren Sie EasyWeChat gemäß dem folgenden Beispiel:
<?php return [ 'payment' => [ 'sandbox' => false, 'app_id' => 'YOUR_APPID', 'mch_id' => 'YOUR_MCHID', 'key' => 'YOUR_KEY', 'cert_path' => 'CERT_PATH', 'key_path' => 'KEY_PATH', ], ];
Ändern YOUR_APPID und YOUR_MCHID , YOUR_KEY durch Ihren tatsächlichen Wert ersetzt. CERT_PATH und KEY_PATH sind die Pfade zu Ihren Zertifikatsdateien.
4. Implementieren Sie die Zahlungsfunktion
Mit EasyWeChat können wir die Zahlungsfunktion einfach implementieren, um die WeChat-Applet-Zahlungsklasse zu kapseln. Dies kann durch Befolgen der folgenden Schritte erreicht werden.
Zahlungsanforderung verarbeiten
Nach Erhalt der Zahlungsanforderung können wir den folgenden Code verwenden, um die Zahlungsanforderung zu verarbeiten und eine Vorauszahlungsinformation an das Miniprogramm zurückzugeben, damit das Miniprogramm die WeChat-Zahlungsschnittstelle aufruft, um die Zahlung einzuleiten:
<?php require 'vendor/autoload.php'; $config = require 'config.php'; use EasyWeChatFactory; $options = [ // ... ]; $app = Factory::miniProgram($options); $response = $app->payment->prepare([ 'openid' => 'USER_OPENID', 'out_trade_no' => 'YOUR_ORDER_ID', 'total_fee' => 'ORDER_TOTAL_FEE', 'body' => 'PAYMENT_DESCRIPTION', 'spbill_create_ip' => $_SERVER['REMOTE_ADDR'], // ... 可选参数 ]); if ($response->return_code === 'SUCCESS' && $response->result_code === 'SUCCESS') { // 返回预支付信息给小程序 echo json_encode($app->payment->configForPayment($response->prepay_id)); }
Ändern Sie USER_OPENID und YOUR_ORDER_ID, ORDER_TOTAL_FEE und PAYMENT_DESCRIPTION werden durch tatsächliche Werte ersetzt.
Zahlungsrückrufe verarbeiten
Nachdem der Benutzer die Zahlung abgeschlossen hat, ruft WeChat asynchron an unseren Server zurück. Wir müssen eine Schnittstelle schreiben, um den Rückruf einer erfolgreichen Zahlung abzuwickeln und die entsprechende Geschäftsverarbeitung durchzuführen. Hier ist der Beispielcode:
<?php use EasyWeChatPaymentNotify; $options = [ // ... ]; $app = Factory::miniProgram($options); $payment = $app->payment; $notice = $payment->notify(); $notice->setAttr('sub_appid', 'SUB_APPID'); $notice->handle(function ($notify, $successful) { // 处理支付成功的业务逻辑 $outTradeNo = $notify->out_trade_no; // ... return true; // 返回 true 表示已处理完成,不会再异步通知 }); $response = $notice->reply(); $response->send();
Ersetzen Sie SUB_APPID durch die App-ID Ihres Miniprogramms.
Zu diesem Zeitpunkt haben wir die Entwicklung der Zahlungsfunktion des WeChat-Miniprogramms abgeschlossen. Durch die Verpackung von EasyWeChat können wir die Zahlungsfunktion einfach implementieren, was den Entwicklungsprozess erheblich vereinfacht. Ich hoffe, dass dieser Artikel für Sie hilfreich sein wird, die die Zahlungsfunktion des WeChat-Miniprogramms entwickeln.
Das obige ist der detaillierte Inhalt vonPHP und EasyWeChat: Praktische Entwicklung der Zahlungsfunktion des WeChat Mini-Programms. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!