Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Implementierungsmethode im Zusammenhang mit der Bezahlung des WeChat-Miniprogramms
Mit der weit verbreiteten Nutzung von WeChat-Miniprogrammen ist die Zahlung mit dem WeChat-Miniprogramm für immer mehr Händler zu einer notwendigen Zahlungsmethode geworden. Um Händlern den Zugriff auf die Zahlungsfunktion des WeChat-Applets zu erleichtern, wird in diesem Artikel eine auf PHP basierende Implementierungsmethode vorgestellt.
1. Vorbereitung
Bevor Sie auf die Zahlung im WeChat-Miniprogramm zugreifen, müssen Sie die folgenden Schritte vorbereiten:
1.1 Besorgen Sie sich die WeChat-Zahlungshändlernummer und den API-Schlüssel.
Die Händlernummer ist die eindeutige Kennung, die Händler auf der WeChat-Zahlungsplattform, der API, verwenden Schlüssel ist der Zahlungsschlüssel, der bei der Anmeldung bei einem Händler generiert wird und zur Signaturprüfung verwendet wird.
1.2 WeChat-Zahlungszertifikat konfigurieren
Der Händler muss das WeChat-Zahlungszertifikat im Sicherheitsverzeichnis des Servers ablegen und den Zertifikatspfad angeben.
1.3 Erstellen Sie einen HTTPS-Server
WeChat Payment erfordert, dass Händler das HTTPS-Protokoll für die Datenübertragung verwenden, daher muss ein HTTPS-Zertifikat auf dem Server konfiguriert werden.
2. Zahlungsvorgang für das WeChat Mini-Programm
Der Zahlungsvorgang für das WeChat Mini-Programm umfasst im Allgemeinen die folgenden Schritte:
2.1 Benutzer, der eine Bestellung aufgibt: Benutzer wählen Produkte aus und geben Bestellungen über das Mini-Programm auf, und das Mini-Programm sendet die Bestellinformationen an Der Händlerserver zur Verarbeitung.
2.2 Bestellung auf dem Händlerserver
Nach Erhalt der Bestellanfrage des Benutzers generiert der Händlerserver eine Prepaid-Bestellung und sendet sie an das Miniprogramm zurück.
2.3 Das Miniprogramm aktiviert die Zahlung
Nach Erhalt der Vorauszahlungsbestellung aktiviert das Miniprogramm die Zahlungsfunktion über die WeChat-Zahlungs-API.
2.4 Benachrichtigung über das Zahlungsergebnis
Nachdem die Zahlung abgeschlossen ist, benachrichtigt der WeChat-Server den Händlerserver über das Zahlungsergebnis und der Händlerserver sendet nach Bearbeitung der Bestellung eine Antwort an den WeChat-Server.
Das Folgende ist die WeChat-Applet-Zahlungsimplementierungsmethode basierend auf PHP:
Nachdem der Händlerserver die Bestellanfrage des Benutzers erhalten hat, muss er eine Vorauszahlungsbestellung generieren und die Vorauszahlungsbestellung senden Informationen Rückkehr zum Applet. Das Folgende ist die PHP-Code-Implementierung zum Aufgeben einer Bestellung:
<?php public function unifiedOrder($data) { $url = 'https://api.mch.weixin.qq.com/pay/unifiedorder'; $data['appid'] = $this->appId; $data['mch_id'] = $this->mchId; $data['nonce_str'] = $this->getNonceStr(); $data['notify_url'] = $this->notifyUrl; $data['trade_type'] = 'JSAPI'; $data['openid'] = $openid; $data['spbill_create_ip'] = $_SERVER['REMOTE_ADDR']; $data['sign'] = $this->sign($data); $xml = $this->arrayToXml($data); $response = $this->postXmlCurl($xml, $url); $result = $this->xmlToArray($response); return $result; }3.2 Das Applet ruft die Zahlung auf.
Nachdem das Applet die Prepaid-Bestellung erhalten hat, muss es die WeChat-Zahlungs-API zur Zahlung aufrufen. Das Folgende ist die PHP-Code-Implementierung des Zahlungsaufrufs:
<?php public function getPayParams($prepayId) { $data['appId'] = $this->appId; $data['timeStamp'] = time(); $data['nonceStr'] = $this->getNonceStr(); $data['package'] = 'prepay_id=' . $prepayId; $data['signType'] = 'MD5'; $data['paySign'] = $this->sign($data); return $data; }3.3 Benachrichtigung über das Zahlungsergebnis
Nachdem die WeChat-Zahlung abgeschlossen ist, benachrichtigt der WeChat-Server den Händlerserver über das Zahlungsergebnis. Das Folgende ist die PHP-Code-Implementierung der Zahlungsergebnisbenachrichtigung:
<?php public function notify() { $xml = file_get_contents("php://input"); $data = $this->xmlToArray($xml); if ($this->checkSign($data)) { //处理支付结果 $orderNo = $data['out_trade_no']; $transactionId = $data['transaction_id']; //返回成功信息 return $this->arrayToXml(['return_code' => 'SUCCESS', 'return_msg' => 'OK']); } else { return $this->arrayToXml(['return_code' => 'FAIL', 'return_msg' => '签名验证失败']); } }4. Durch die Implementierung der oben genannten Schritte können wir problemlos auf die Zahlungsfunktion des WeChat-Miniprogramms zugreifen und eine bequemere Zahlungsmethode für Benutzer des Miniprogramms bereitstellen. Dabei ist zu beachten, dass die Sicherheit und Richtigkeit der Daten im Zahlungsvorgang gewährleistet sein muss und mögliche Zahlungsrisiken vermieden werden müssen.
Das obige ist der detaillierte Inhalt vonPHP-Implementierungsmethode im Zusammenhang mit der Bezahlung des WeChat-Miniprogramms. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!