Нативный код PHP, написанный для сканирования WeChat, не основанный на каком-либо фреймворке, полностью написанный от руки.
Оплата сканирования в порядке, если авторизованное доменное имя указано правильно. Он не может быть протестирован локально. Это не имеет ничего общего с OpenID, поэтому не имеет ничего общего со страницей каталога авторизации платежей.
Адрес конфигурации информации о продавце WeChat: weixinpay\lib\WxPay.Config.php строка 25
1 const APPID = 'wx422126b0b6bbfcfc'; // Binding paid APPID(Must be configured and can be viewed in the account opening email) 2 const MCHID = '1349825901'; // Merchant number (must be configured and can be viewed in the account opening email) 3 const KEY = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'; //Merchant payment key, refer to account opening email settings (must be configured and set by logging in merchant platform) 4 const APPSECRET = '45843e705995a12106155f4c26f716dc'; //APPSECRET: public account secert(only JSAPI It needs to be configured when paying. Log in to the public platform and enter the developer center for setting.)
Параметры определения платежа сканирования WeChat
1 $order_no = date("YmdHis") . rand(1000, 9999); //Payment order No 2 $order_money = 0.01; //Order amount yuan 3 $url_notify = $url . "notify.php"; //Wechat callback address
Адрес информации об успешном push-платеже третьей стороны WeChat notify.php
1 $order_no = $simple['out_trade_no'];//Merchant order number 2 $third_id = $simple['transaction_id'];//Wechat serial number 3 $pay_money = $simple['total_fee'];//Actual payment amount 4 if ($order_no) {//If payment is successful, order status state=1 Indicates payment succeeded 5 $query = mysql_query("UPDATE `order` SET `state` = '1',update_time='" . time() . "',trade_no='".$third_id."' WHERE `order_no` ='" . $order_no . "'"); 6 }
Проверяйте, прошел ли платеж успешно, каждые три секунды
1
Проверьте, успешно ли оплачен заказ
1 $order_no = isset($_POST['order_no']) ? $_POST['order_no'] : ""; 2 if ($order_no) { 3 $query = mysql_query("SELECT id FROM `order` WHERE order_no = '" . $order_no . "' AND state = 1 LIMIT 1"); 4 $row = mysql_fetch_array($query); 5 if ($row) { 6 echo $row['id'];//If the return value is greater than 0, the order payment is successful 7 } 8 }
Этот пример руководства перенесен с https://www.sucaihuo.com/php/1384.html , перепечатка, пожалуйста, укажите источник!
Оригинал: “https://programmer.help/blogs/example-of-wechat-scanning-payment-written-in-php-native-code.html”