Heim  >  Artikel  >  Backend-Entwicklung  >  Wie entwickelt man WeChat-Zahlungen in PHP?

Wie entwickelt man WeChat-Zahlungen in PHP?

王林
王林Original
2023-05-12 08:39:211270Durchsuche

Mit der Popularität von Smartphones ist mobiles Bezahlen zu einem unverzichtbaren Hilfsmittel im Leben der Menschen geworden. Als einer der Vertreter verfügt WeChat Pay über eine große Nutzerbasis und Marktanteile auf dem heimischen Markt. Daher ist die WeChat-Zahlungsentwicklung für einige Entwickler, die E-Commerce- oder mobile Anwendungen entwickeln möchten, immer wichtiger geworden.

In diesem Artikel wird hauptsächlich die Entwicklung der WeChat-Zahlung in PHP vorgestellt.

  1. Vorbereitung

Bevor wir WeChat Pay nutzen können, müssen wir ein Konto auf der offiziellen Website von WeChat Pay registrieren und die erforderlichen Informationen wie Entwickler-ID, Händlernummer, API-Schlüssel usw. einholen. Gleichzeitig muss sichergestellt werden, dass das Händlerkonto den WeChat-Zahlungsdienst erfolgreich eröffnet, relevante Bewertungsmaterialien eingereicht und die WeChat-Zahlungszertifizierung bestanden hat.

  1. Integriertes SDK

WeChat Pay bietet viele SDKs für die Entwicklung in verschiedenen Sprachen, die wir direkt von der offiziellen Website herunterladen und in unsere Projekte integrieren können. Hier nehmen wir die PHP-Sprache als Beispiel, um die Integration des WeChat Payment SDK vorzustellen.

(1) WeChat Payment SDK herunterladen

Wir können die PHP-Version des SDK auf der offiziellen Website herunterladen und nach dem Herunterladen entpacken, um das Verzeichnis „lib“ zu erhalten. Die Datei „lib/WxPay.Api.php“ ist die Haupt-SDK-Datei.

(2) Zahlungsdatei erstellen

Um die Verwendung des SDK zu erleichtern, können wir selbst eine neue „pay.php“-Datei erstellen, um die Logik im Zusammenhang mit der WeChat-Zahlung zu verarbeiten. In dieser Datei müssen wir die relevanten Einstellungen des oben genannten SDK referenzieren und initialisieren. Bevor wir dies tun, müssen wir die folgenden Punkte beachten:

—— Öffentliche Konto-App, die über die offizielle Website von WeChat bezogen werden kann Bezahlen;
– Händlernummer, die Sie über die offizielle Website von WeChat Pay erhalten können.
– Legen Sie den API-Schlüssel fest, der über die offizielle Website von WeChat Pay erhältlich ist Transaktionsnummer, Bestelltransaktionsbetrag;

Dann können wir den folgenden Code verwenden, um die SDK-Initialisierung durchzuführen:

<?php
include_once "WxPay.Api.php";
include_once "WxPay.Data.php";

// 初始化SDK信息
WxPayConfig::$APPID = '您的公众账号APPID';
WxPayConfig::$MCHID = '您的商户号';
WxPayConfig::$KEY = '您的API密钥';

// 设置订单交易号、订单交易金额等必要的参数
$out_trade_no = '您的订单交易号';
$total_fee = '您的订单交易金额';

// ...
?>

(3) Signatur generieren

Bevor wir WeChat-Zahlungstransaktionen durchführen, müssen wir eine Signatur generieren. Der Code zum Generieren der Signatur lautet wie folgt:

<?php
// 创建订单支付对象
$input = new WxPayUnifiedOrder();
$input->SetBody("test");                                       // 商品描述
$input->SetAttach("test");                                     // 附加数据
$input->SetOut_trade_no($out_trade_no);                        // 商户订单号
$input->SetTotal_fee($total_fee);                              // 标价金额
$input->SetTime_start(date("YmdHis"));                         // 交易起始时间
$input->SetTime_expire(date("YmdHis", time() + 60 * 5));        // 交易结束时间
$input->SetGoods_tag("test");                                  // 订单优惠标记
$input->SetNotify_url("http://localhost/pay/callback.php");    // 通知地址
$input->SetTrade_type("JSAPI");                                 // 交易类型
$input->SetOpenid("用户的openid");                              // 用户标识

// 生成签名
$order = WxPayApi::unifiedOrder($input);
$jsApiParameters = $tools->GetJsApiParameters($order);
?>

(4) JSAPI-Zahlung

Schließlich können wir die WeChat-Zahlungsseite über JSAPI aufrufen, um die WeChat-Zahlungsaufgabe zu implementieren. Der Code lautet wie folgt:

<input type="button" value="微信支付" onclick="callpay()" />
<script type="text/javascript">

// JSAPI调起微信支付
function callpay()
{
    WeixinJSBridge.invoke(
        'getBrandWCPayRequest',
        <?php echo $jsApiParameters; ?>,
        function(res){
            WeixinJSBridge.log(res.err_msg);
            if(res.err_msg == "get_brand_wcpay_request:ok" ){
                alert('支付成功');
            }else{
                alert('支付失败:' + res.err_msg);
            }
        }
    );
}
</script>

    Zusammenfassung
Das Obige ist eine detaillierte Einführung in die Entwicklung der WeChat-Zahlung in PHP. Durch die oben genannten Schritte können wir die WeChat-Zahlungsfunktion schnell implementieren und das Benutzererlebnis der Website oder mobilen Anwendung verbessern. Abhängig von der konkreten Situation müssen natürlich auch damit verbundene Aspekte wie die Sicherheit während des Bezahlvorgangs berücksichtigt werden.

Das obige ist der detaillierte Inhalt vonWie entwickelt man WeChat-Zahlungen in PHP?. 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