Heim  >  Artikel  >  WeChat-Applet  >  Ausführliche Erläuterung des Beispielcodes für die WeChat-Zahlungsentwicklungstransaktionsbenachrichtigung

Ausführliche Erläuterung des Beispielcodes für die WeChat-Zahlungsentwicklungstransaktionsbenachrichtigung

高洛峰
高洛峰Original
2017-03-27 14:04:162358Durchsuche

In diesem Artikel wird hauptsächlich erläutert, wie Sie Transaktionsbenachrichtigungen erhalten, wenn Sie die JS-API zum Bezahlen verwenden, und ich hoffe, dass er für Partner hilfreich ist, die WeChat-Zahlungen entwickeln

1 🎜>

Nachdem der Benutzer die Zahlung erfolgreich abgeschlossen hat, benachrichtigt (POST) das WeChat-Backend den Händlerserver (notify_url) über das Zahlungsergebnis. Händler können die Benachrichtigungsergebnisse von notify_url nutzen, um personalisierte Seiten anzuzeigen.

Wenn bei der Interaktion mit Hintergrundbenachrichtigungen die von WeChat vom Händler empfangene Antwort nicht erfolgreich ist oder eine Zeitüberschreitung auftritt, wird WeChat die Benachrichtigung nicht durch eine bestimmte Strategie neu initiieren (z. B 8 Mal in 30 Minuten), solange Es kann die Erfolgsquote von Benachrichtigungen verbessern, WeChat garantiert jedoch nicht, dass Benachrichtigungen letztendlich erfolgreich sind.

Hintergrundbenachrichtigungen werden über notify_url in der Anfrage mithilfe des POST-Mechanismus ausgeführt.

Gleichzeitig werden auch XML-Daten in postData eingebunden.

2. Erhalten und Reagieren auf Transaktionsergebnisse

Erstellen Sie gemäß der offiziellen Dokumentation die Datei „notice.php“, um die Ergebnisse zu benachrichtigen.

Der Inhalt des Programms ist wie folgt:

<?php foreach ($_GET as $key=>$value) 
{
 logger("Key: $key; Value: $value");
}
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
logger($postStr);

if (isset($_GET)){
 echo "success";
}

//日志记录
function logger($log_content)
{
 $max_size = 100000;
 $log_filename = "log.xml";
 if(file_exists($log_filename) and (abs(filesize($log_filename)) > $max_size)){unlink($log_filename);}
 file_put_contents($log_filename, date('H:i:s')." ".$log_content."\r\n", FILE_APPEND);
}
?>
Die Funktion des oben genannten Programms ist:

Benachrichtigungen erhalten, die an die URL gesendet werden, in der sie enthalten sind die Form von GET-Variablen

XML-Datenpaket des Beitrags abrufen

Erfolgsmeldung Erfolg zurückgeben

Geben Sie den vollständigen Pfad zu Notice.php in die Hinweis-URL der JS-API-Zahlung ein.

$wxPayHelper->setParameter("notify_url", http://www.doucube.com/wxpay/notice.php);
Auf diese Weise erhält die URL nach Abschluss der Transaktion eine Benachrichtigung und wird in der Protokolldatei aufgezeichnet. Unser Test ist wie folgt:

Die erhaltenen GET-Variablen und XML lauten wie folgt. Anzeige:

Key: bank_billno; Value: 201405273540085997
Key: bank_type; Value: 2011
Key: discount; Value: 0
Key: fee_type; Value: 1
Key: input_charset; Value: GBK
Key: notify_id; Value: Gx8ov6tT6_yaARrtKG6RFZ4KiVtKqVnJzvulFlteJ3dhBg38iRtKs0pTXXfgh8WnH15mIhG6j65ggbzzYguh1mutG3B5oHsK
Key: out_trade_no; Value: JfuKdiBig4zZnE4n
Key: partner; Value: 1234567890
Key: product_fee; Value: 1
Key: sign; Value: 08876C4A9F7A36A9EA972C211C122362
Key: sign_type; Value: MD5
Key: time_end; Value: 20140527194139
Key: total_fee; Value: 1
Key: trade_mode; Value: 1
Key: trade_state; Value: 0
Key: transaction_id; Value: 1218614901201405273313473135
Key: transport_fee; Value: 0

<xml><openid></openid>
<appid></appid>
<issubscribe>1</issubscribe>
<timestamp>1401190899</timestamp>
<noncestr></noncestr>
<appsignature></appsignature>
<signmethod></signmethod>
</xml>

Und Sie erhalten ein OK-Popup-Fenster im WeChat-Fenster

Ausführliche Erläuterung des Beispielcodes für die WeChat-Zahlungsentwicklungstransaktionsbenachrichtigung

Das Obige ist die Entwicklung der WeChat-Zahlung. Zusammenstellung von Transaktionsbenachrichtigungsinformationen. Vielen Dank für Ihre Unterstützung!

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung des Beispielcodes für die WeChat-Zahlungsentwicklungstransaktionsbenachrichtigung. 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