當前位置:首頁 » 編程語言 » php二維碼生成代碼

php二維碼生成代碼

發布時間: 2025-06-17 14:20:50

1. 怎樣從交易單號生成二維碼信息

1、當我們選擇使用掃碼支付,首先會出現下載微信sdk包,選擇phpsdk包進行下載,下載到本地後會發現是一個tp5框架,只是少了一個Common文件夾,把下載好的sdk包放進去。等待調用......
2、設置支付授權目錄,掃碼成功後的回調地址
3、支付模式二
4、實現代碼:
?php
namespace app\index\controller;
class Index
{
public function index()
{
require_once APP_PATH.'common/WxpayAPI/lib/WxPay.Api.php';
$input = new \WxPayUnifiedOrder();
// 設置商品描述
$input-SetBody('測試商品');
// 設置訂單號 ---這里使用的時間,其實是自己生成的
$input-SetOut_trade_no(date('YmdHis'));
// 設置訂單金額(單位:分)
$input-SetTotal_fee('1');
// 設置非同步通知地址
$input-SetNotify_url('http://www.php.wx/index.php/index/Notify/index');
// 設置交易類型
$input-SetTrade_type('NATIVE');
// 設置商品ID
$input-SetProct_id('123456780');
// 調用統一下單API
$result = \WxPayAPI::unifiedOrder($input);
// 生成二維碼圖片,在這里因為我們自己調試的需要修改配置common/lib/WxPay.Api.php的嚴格效驗true修改為false
$code_url = $result['code_url'];
$img = 'img src=http://paysdk.weixin.qq.com/example/qrcode.php?data='.urlencode($code_url).' /';
echo $img;
}
}
?
5、需要注意在微信支付非同步處理中的回調地址,一定不是你的授權地址,處理微信支付非同步請求的代碼,Notify/index.php:
?php
namespace app\index\controller;
class Notify
{
public function index()
{
require_once APP_PATH.'common/WxpayAPI/lib/WxPay.Api.php';
$msg = '';
\WxPayApi::notify(function($result){
// 簽名校驗通過
// 查詢訂單號,如果不存在,return;
// 如果訂單已存在,且訂單已經被處理過,return;
// 如果訂單沒有被處理,處理訂單
},$msg);
}
}
?
注意:如果非同步驗證的時候使用WxPay.Api.php對indx.php進行簽名驗證,是無法訪問到這個方法的。

2. php代碼如何實現掃描二維碼獲取掃描者的信息

1、首先創建一個名稱為erweima的php文件。


注意事項:

用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。

3. ecshop增加pc掃描二維碼微信支付功能代碼

ecshop開發網站,如果沒有手機版,又想通過微信支付,可以加入pc二維碼掃描微信支付功能
使用PHP QR Code生成二維碼,下載,在商品支付頁面加入 include 'phpqrcode/phpqrcode.php'; $pay_url ='http://www.xxx.com/weixin/weixin.php?order_id='.$order['order_sn']; QRcode::png($pay_url, 'images/image.png', 'L', 8); echo 'img src="images/image.png" /'; 生成一個指向微信支付的手機連接二維碼,手機掃描進入

打開申請到的微信支付代碼,在上面加入weixin.php define('IN_ECS', true); require('../includes/init.php'); require('../includes/lib_order.php'); $order_id = isset($_GET['order_id']) ? intval($_GET['order_id']) : 0; $order = order_info(0,$order_id); 獲取訂單信息

手機打開頁面調用代碼 html head meta http-equiv="content-type" content="text/html;charset=utf-8"/ title微信安全支付/title script type="text/javascript" //調用微信JS api 支付 function jsApiCall() { WeixinJSBridge.invoke( 'getBrandWCPayRequest', ?php echo $jsApiParameters; ?, function(res){ WeixinJSBridge.log(res.err_msg); //alert(res.err_code+res.err_desc+res.err_msg); } ); } function callpay() { if (typeof WeixinJSBridge == "undefined"){ if( document.addEventListener ){ document.addEventListener('WeixinJSBridgeReady', jsApiCall, false); }else if (document.attachEvent){ document.attachEvent('WeixinJSBridgeReady', jsApiCall); document.attachEvent('onWeixinJSBridgeReady', jsApiCall); } }else{ jsApiCall(); } } callpay(); /script /head body /br/br/br/br /body /html

代碼引用WxPayPubHelper, WxPay.pub.config.php 配置文件 class WxPayConf_pub { //=======【基本信息設置】===================================== //微信公眾號身份的唯一標識。審核通過後,在微信發送的郵件中查看 const APPID = 'xxx'; //受理商ID,身份標識 const MCHID = 'xxx'; //商戶支付密鑰Key。審核通過後,在微信發送的郵件中查看 const KEY = 'xxx'; //JSAPI介面中獲取openid,審核後在公眾平台開啟開發模式後可查看 const APPSECRET = 'xxx'; //=======【JSAPI路徑設置】=================================== //獲取access_token過程中的跳轉uri,通過跳轉將code傳入jsapi支付頁面 const JS_API_CALL_URL = 'http://www.xxx.com/weixin/js_api_call.php'; //=======【證書路徑設置】===================================== //證書路徑,注意應該填寫絕對路徑 const SSLCERT_PATH = '/weixin/WxPayPubHelper/cacert/apiclient_cert.pem'; const SSLKEY_PATH = '/weixin/WxPayPubHelper/cacert/apiclient_key.pem'; //=======【非同步通知url設置】=================================== //非同步通知url,商戶根據實際開發過程設定 const NOTIFY_URL = 'http://www.xxx.com/weixin/notify_url.php'; //=======【curl超時設置】=================================== //本常式通過curl使用HTTP POST方法,此處可修改其超時時間,默認為30秒 const CURL_TIMEOUT = 30; } ? 根據申請的信息填寫

找到notify_url.php文件 上面添加 define('IN_ECS', true); require('../includes/init.php'); require('../includes/lib_payment.php'); 調用訂單信息

notify_url.php添加支付後修改訂單狀態 if($notify-checkSign() == TRUE) { if ($notify-data["return_code"] == "FAIL") { //此處應該更新一下訂單狀態,商戶自行增刪操作 //$log_-log_result($log_name,"【通信出錯】:\n".$xml."\n"); } elseif($notify-data["result_code"] == "FAIL"){ //此處應該更新一下訂單狀態,商戶自行增刪操作 //$log_-log_result($log_name,"【業務出錯】:\n".$xml."\n"); } else{ //此處應該更新一下訂單狀態,商戶自行增刪操作 //$log_-log_result($log_name,"【支付成功】:\n".$xml."\n"); $order = $notify-getData(); $log_id=get_order_id_by_sn($order["out_trade_no"]); order_paid($log_id); } //商戶自行增加處理流程, //例如:更新訂單狀態 //例如:資料庫操作 //例如:推送支付完成信息 }

更多安全信息和詳細信息就不列舉了

4. phpqrcode姣忎釜鏂囦歡浣滅敤

phpqrcode鏄涓涓鐢ㄤ簬鐢熸垚浜岀淮鐮佺殑PHP鎵╁睍搴擄紝瀹冨彲浠ュ皢浠繪剰鏂囨湰銆乁RL銆佺數璇濆彿鐮佺瓑淇℃伅杞鍖栦負浜岀淮鐮佸浘鐗囥傞氳繃寮曞叆phpqrcode鎵╁睍搴擄紝鍙浠ユ柟渚垮湴鍦≒HP浠g爜涓鐢熸垚浜岀淮鐮侊紝騫跺皢鍏跺祵鍏ュ埌緗戦〉銆佺Щ鍔ㄥ簲鐢ㄧ瓑鍚勭嶅簲鐢ㄥ満鏅涓銆

phpqrcode鐨勬瘡涓鏂囦歡鐨勪綔鐢ㄥ備笅錛
1. qrcode.php錛氳繖鏄痯hpqrcode鎵╁睍搴撶殑涓繪枃浠訛紝瀹冨寘鍚浜嗙敓鎴愪簩緇寸爜鐨勬牳蹇冨姛鑳姐備綘鍙浠ュ湪PHP涓寮曞叆璇ユ枃浠舵潵璋冪敤鍏舵彁渚涚殑鍑芥暟鍜岀被鏉ョ敓鎴愩佽緭鍑烘垨淇濆瓨浜岀淮鐮佸浘鐗囥
2. qrconst.php錛氳繖涓鏂囦歡瀹氫箟浜嗕竴浜涘父閲忥紝鐢ㄤ簬閰嶇疆浜岀淮鐮佺敓鎴愮殑涓浜涘弬鏁幫紝濡傞敊璇綰犳g瓑綰с佹ā寮忕瓑銆傝繖浜涘父閲忓湪鐢熸垚浜岀淮鐮佸浘鍍忔椂璧峰埌閰嶇疆浣滅敤銆
3. qrimage.php錛氳繖涓鏂囦歡瀹氫箟浜嗙敤浜庤緭鍑恆佷繚瀛樹簩緇寸爜鍥懼儚鐨勪竴浜涘嚱鏁板拰綾匯傞氳繃寮曞叆璇ユ枃浠訛紝浣犲彲浠ユ柟渚垮湴灝嗙敓鎴愮殑浜岀淮鐮佸浘鍍忚緭鍑哄埌嫻忚堝櫒銆佷繚瀛樺埌鏂囦歡涓錛屾垨杞鍖栦負鍏朵粬鏍煎紡鐨勫浘鍍忋
4. qrspec.php錛氳繖涓鏂囦歡瀹氫箟浜嗕簩緇寸爜鐨勪竴浜涜勬牸鍙傛暟錛屽傜増鏈銆佹ā鍧楁暟絳夈傝繖浜涘弬鏁板湪鐢熸垚浜岀淮鐮佸浘鍍忔椂浼氱敤鍒般
5. qrtools.php錛氳繖涓鏂囦歡鍖呭惈浜嗕竴浜涘伐鍏峰嚱鏁板拰綾伙紝鐢ㄤ簬鐢熸垚浜岀淮鐮佸浘鍍忔墍闇鐨勪竴浜涜緟鍔╄$畻銆佸勭悊鎿嶄綔銆
6. qrinput.php錛氳繖涓鏂囦歡瀹氫箟浜嗕簩緇寸爜杈撳叆鏁版嵁鐨勪竴浜涘勭悊鍑芥暟鍜岀被銆傞氳繃寮曞叆璇ユ枃浠訛紝浣犲彲浠ユ柟渚垮湴澶勭悊瑕佽漿鍖栦負浜岀淮鐮佺殑杈撳叆鏁版嵁錛屽傛枃鏈銆乁RL絳夈
7. qrrscode.php錛氳繖涓鏂囦歡瀹氫箟浜哘R鐮佺殑涓浜汻S緙栫爜鐩稿叧鐨勫弬鏁板拰鍑芥暟銆俁S緙栫爜鏄涓縐嶇籂閿欑紪鐮侊紝瀹冨彲浠ヤ嬌浜岀淮鐮佸湪鍙楁崯鏃朵粛鑳借姝g『瑙g爜銆

榪欎簺鏂囦歡鍏卞悓鏋勬垚浜唒hpqrcode鎵╁睍搴撶殑鍔熻兘妯″潡錛岄氳繃鍚堢悊璋冪敤瀹冧滑鎻愪緵鐨勫嚱鏁板拰綾伙紝鍙浠ュ疄鐜板湪PHP涓鐢熸垚浜岀淮鐮佸浘鍍忕殑鍔熻兘銆

熱點內容
顯卡驅動源碼 發布:2025-06-17 18:59:12 瀏覽:88
怎麼區分汽車配置 發布:2025-06-17 18:47:38 瀏覽:641
王者榮耀在哪裡安卓轉蘋果區 發布:2025-06-17 18:33:15 瀏覽:637
函數的四則運演算法則 發布:2025-06-17 18:27:55 瀏覽:970
叮咚智能音箱如何重置密碼 發布:2025-06-17 18:17:31 瀏覽:169
紙制文件夾 發布:2025-06-17 18:14:50 瀏覽:486
編譯版本產品 發布:2025-06-17 18:02:56 瀏覽:593
lms自適應演算法 發布:2025-06-17 17:56:24 瀏覽:400
寬頻伺服器如何查詢 發布:2025-06-17 17:29:02 瀏覽:632
aeduik腳本中ik是什麼 發布:2025-06-17 17:24:31 瀏覽:718