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; }
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; }
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' => '签名验证失败']); } }
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!