Anleitung zur Implementierung der WeChat-Zahlungsfunktion mit EasyWeChat und PHP zur Entwicklung von WeChat-Miniprogrammen
Im aktuellen Zeitalter des mobilen Internets ist die WeChat-Zahlung zu einer sehr beliebten Zahlungsmethode geworden. Für Entwickler, die WeChat-Miniprogramme entwickeln, ist die Implementierung der WeChat-Zahlungsfunktion ein sehr wichtiger Teil, der den Miniprogrammen einen besseren Geschäftswert bringen kann. In diesem Leitfaden erfahren Sie, wie Sie mit EasyWeChat und PHP die WeChat-Zahlungsfunktion des WeChat-Applets entwickeln.
1. Lernen Sie EasyWeChat kennen
EasyWeChat ist ein inoffizielles Open-Source-Projekt, das auf der öffentlichen WeChat-Plattform basiert. Es bietet ein einfaches und benutzerfreundliches PHP-SDK, das problemlos mit öffentlichen WeChat-Konten interagieren kann. Es bietet eine Reihe von Schnittstellen, darunter Benutzerauthentifizierung, Nachrichtenverwaltung, Vorlagennachrichten, Benutzertags usw. Gleichzeitig unterstützt EasyWeChat auch die WeChat-Zahlungsfunktion.
2. Beantragen Sie die WeChat-Zahlung
Bevor Sie die WeChat-Zahlung nutzen, müssen Sie zunächst die Bindung eines Händlerkontos auf der WeChat-Zahlungsplattform beantragen. Nach erfolgreicher Beantragung erhalten Sie eine Händlernummer und zugehörige Schlüssel. Diese Informationen werden für nachfolgende Zahlungsschnittstellenaufrufe verwendet.
3. Installieren Sie EasyWeChat
Bevor Sie mit der Entwicklung beginnen, müssen Sie zunächst EasyWeChat in Ihrem Projekt installieren. Es kann über Composer installiert werden, öffnen Sie die Befehlszeile, geben Sie das Stammverzeichnis des Projekts ein und führen Sie den folgenden Befehl aus:
composer require overtrue/wechat
Nach Abschluss der Installation führen Sie EasyWeChat in das Projekt ein:
use EasyWeChatFactory;
4. Konfigurieren Sie zahlungsbezogene Parameter
Beginnen Sie mit der Nutzung von EasyWeChat für die Zahlung. Vor der Funktionsentwicklung müssen zunächst die Zahlungsparameter konfiguriert werden. Angenommen, wir haben ein config
-Verzeichnis im Stammverzeichnis des Projekts und erstellen in diesem Verzeichnis eine wechat.php
-Datei: config
目录,并在该目录下创建一个wechat.php
文件:
return [ 'mini_program' => [ 'app_id' => 'your-mini-program-app-id', 'mch_id' => 'your-merchant-id', 'key' => 'your-merchant-key', 'cert_path' => 'your-cert-path', 'key_path' => 'your-key-path', 'notify_url' => 'your-notify-url', ], ];
其中,app_id
是微信小程序的App ID,mch_id
是商户号,key
是商户密钥,cert_path
和key_path
是商户证书的路径,notify_url
是支付结果通知的URL。
五、创建支付订单
使用EasyWeChat可以很方便地创建微信支付订单。下面是一个示例代码:
$payment = Factory::payment(config('wechat.mini_program')); $result = $payment->order->unify([ 'body' => '商品描述', 'out_trade_no' => '商户订单号', 'total_fee' => '订单总金额', 'spbill_create_ip' => request()->ip(), 'trade_type' => 'JSAPI', 'openid' => '用户的openid', ]); if ($result['return_code'] === 'SUCCESS' && $result['result_code'] === 'SUCCESS') { $prepayId = $result['prepay_id']; // JSAPI支付需要的参数 $config = $payment->jssdk->sdkConfig($prepayId); // 将$config返回给前端,用于调起微信支付 } else { // 创建订单失败的处理逻辑 }
在上述代码中,order->unify
方法用于创建订单,其中body
是商品描述,out_trade_no
是商户订单号,total_fee
是订单总金额,spbill_create_ip
是用户的IP地址,trade_type
是支付方式,openid
是用户的openid。如果订单创建成功,则可以获取到prepay_id
,将其用于后续的支付操作。
六、调起微信支付
在前端小程序中调起微信支付非常简单,只需要在需要进行支付的地方调用wx.requestPayment
方法,传入支付所需的参数即可。以下是一个示例代码:
wx.requestPayment({ 'timeStamp': '时间戳', 'nonceStr': '随机字符串', 'package': 'prepay_id=prepay_id', 'signType': 'MD5', 'paySign': '签名', 'success': function (res) { // 支付成功的处理逻辑 }, 'fail': function (res) { // 支付失败的处理逻辑 } })
在上述代码中,timeStamp
是时间戳,nonceStr
是随机字符串,package
是prepay_id=prepay_id
,signType
是签名类型,paySign
是签名。
七、处理支付结果通知
在用户完成支付后,微信会通过异步通知的方式将支付结果通知给开发者服务器。开发者需要保证服务器能够正常接收到支付结果通知。以下是一个处理支付结果通知的示例代码:
$payment = Factory::payment(config('wechat.mini_program')); $response = $payment->handlePaidNotify(function ($notify, $successful) { // 处理支付结果通知的逻辑 return true; }); return $response;
在上述代码中,handlePaidNotify
方法用于处理支付结果通知,其中$notify
参数是微信支付通知的内容,$successful
rrreee
app_id code> ist die App-ID des WeChat-Applets, <code>mch_id
ist die Händlernummer, key
ist der Händlerschlüssel, cert_path
und key_path code> ist der Pfad zum Händlerzertifikat und notify_url
ist die URL der Zahlungsergebnisbenachrichtigung. 5. Erstellen Sie einen Zahlungsauftrag🎜🎜Mit EasyWeChat können Sie ganz einfach einen WeChat-Zahlungsauftrag erstellen. Hier ist ein Beispielcode: 🎜rrreee🎜Im obigen Code wird die Methode order->unify
verwendet, um eine Bestellung zu erstellen, wobei body
die Produktbeschreibung und out_trade_no ist die Bestellnummer des Händlers, total_fee
ist der Gesamtbestellbetrag, spbill_create_ip
ist die IP-Adresse des Benutzers, trade_type
ist die Zahlungsmethode, openid
ist die openid des Benutzers. Wenn die Bestellung erfolgreich erstellt wurde, können Sie prepay_id
erhalten und für nachfolgende Zahlungsvorgänge verwenden. 🎜🎜6. WeChat Payment aktivieren🎜🎜Es ist sehr einfach, WeChat Payment im Frontend-Applet zu aktivieren. Sie müssen nur die Methode wx.requestPayment
aufrufen, wo die Zahlung erforderlich ist, und die Parameter übergeben zur Bezahlung erforderlich. Das Folgende ist ein Beispielcode: 🎜rrreee🎜Im obigen Code ist timeStamp
der Zeitstempel, nonceStr
ist eine zufällige Zeichenfolge und package
ist prepay_id=prepay_id
, signType
ist der Signaturtyp und paySign
ist die Signatur. 🎜🎜7. Zahlungsergebnisbenachrichtigungen werden verarbeitet🎜🎜Nachdem der Benutzer die Zahlung abgeschlossen hat, benachrichtigt WeChat den Entwicklerserver durch eine asynchrone Benachrichtigung über die Zahlungsergebnisse. Entwickler müssen sicherstellen, dass der Server normalerweise Benachrichtigungen über Zahlungsergebnisse empfangen kann. Das Folgende ist ein Beispielcode für die Verarbeitung von Zahlungsergebnisbenachrichtigungen: 🎜rrreee🎜Im obigen Code wird die Methode handlePaidNotify
zum Verarbeiten von Zahlungsergebnisbenachrichtigungen verwendet, wobei der Parameter $notify
verwendet wird ist die WeChat-Zahlungsbenachrichtigung. Der Parameter $successful
gibt an, ob die Zahlung erfolgreich war. Entwickler müssen in dieser Rückruffunktion ihre eigene Geschäftslogik implementieren, z. B. die Aktualisierung des Bestellstatus usw. 🎜🎜Durch die oben genannten Schritte können wir EasyWeChat und PHP verwenden, um die WeChat-Zahlungsfunktion des WeChat-Applets zu entwickeln. Ich hoffe, dass dieser Leitfaden Entwicklern dabei helfen kann, die WeChat-Zahlungsfunktion erfolgreich zu implementieren. 🎜Das obige ist der detaillierte Inhalt vonImplementierungshandbuch für die WeChat-Zahlungsfunktion für die Entwicklung von WeChat-Miniprogrammen mit EasyWeChat und PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!