Cet article explique principalement comment obtenir des notifications de transaction lors de l'utilisation de l'API JS pour payer et fournit des exemples de code. J'espère qu'il sera utile aux partenaires qui développent le paiement WeChat
1. 🎜>
Une fois que l'utilisateur a terminé avec succès le paiement, le backend WeChat informe (POST) le serveur marchand (notify_url) du résultat du paiement. Les commerçants peuvent utiliser les résultats de notification de notify_url pour afficher des pages personnalisées. Lors de l'interaction avec les notifications en arrière-plan, si la réponse reçue par WeChat du commerçant n'est pas réussie ou expire, WeChat n'échouera pas la notification. WeChat relancera régulièrement la notification via une certaine stratégie (telle que. 8 fois en 30 minutes), à condition que cela puisse améliorer le taux de réussite des notifications, mais WeChat ne garantit pas que les notifications aboutiront finalement. La notification en arrière-plan est exécutée via notify_url dans la requête, en utilisant le mécanisme POST. Dans le même temps, les données XML seront également incluses dans postData.2. Obtention et réponse aux résultats des transactions
Selon la documentation officielle, créez notice.php pour notifier les résultats. Le contenu du programme est le suivant :<?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); } ?>
Recevoir des notifications publiées sur l'URL, elles sont dans sous la forme de variables GET
Récupérer le paquet de données XML de la publication
Renvoyer le message de réussite success
Mettez le chemin complet vers notice.php dans l'url de notification du paiement de l'API JS.$wxPayHelper->setParameter("notify_url", http://www.doucube.com/wxpay/notice.php);
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>
Et vous recevrez une fenêtre pop-up OK dans la fenêtre WeChat
Ce qui précède est le développement du paiement WeChat Compilation d'informations de notification de transaction, merci pour votre soutien !Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!