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 Mini-Programms

王林
王林Original
2023-07-19 09:15:181763Durchsuche

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:

  1. WeChat-Zahlungshändlernummer (mch_id)
  2. WeChat-Zahlungshändlerschlüssel (Schlüssel)
  3. WeChat-Zahlungs-App-ID (appid) und App-Geheimnis ( appsecret)
  4. Eine juristische Zertifikatsdatei
    Die oben genannten Materialien können durch Bewerbung auf der WeChat Pay Developer Platform erhalten werden.

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.

  1. Zahlungsanforderung erhalten
    Nachdem der Benutzer in Ihrem Miniprogramm auf die Zahlungsschaltfläche geklickt hat, wird eine Zahlungsanforderung an den Server gesendet. Sie müssen eine Schnittstelle zum Empfangen von Zahlungsanfragen schreiben und die URL dieser Schnittstelle für den Hintergrund des Miniprogramms konfigurieren.
  2. 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.

  3. 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!

Stellungnahme:
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