国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PHP PC端微信掃碼支付【模式二】詳細教程-附帶源碼

Sike / 3694人閱讀

摘要:微信支付訂單查詢頁面初始化日志寫的太差,請見諒遇到問題了搜索群老司機邪會群號擼主正是群主大大。

PC端微信掃碼支付

博主寫這破玩意兒的時候花了大概快兩天時間才整體的弄懂邏輯,考慮了一下~還是把所有代碼都放出來給大家~抱著開源大無私的精神!誰叫我擅長拍黃片呢?同時也感謝我剛入行時候那些無私幫過我的程序員們!

首先還是先給大家上效果圖吧(樣式我也會一并給大家的,漂亮吧?騷年們!)!


各位騷年們~請不要著急往下看代碼,先給大家解釋怎么獲取到的二維碼

上面的這圖,用到了Jquery,Layer這兩個js,大家請自己下載一下(鏈接自己點文字就行)。

整個流程簡紹:點擊支付后調用layer彈出窗口->ajax獲取支付的二維碼->輪詢支付狀態!

補充!不要當心輪詢占用服務器資源的問題~因為假如同時有上萬人等著支付的話,我相信你公司不會缺服務器這點小錢了!所以放心用吧!另外~按照我的邏輯來說應該是非常安全。請大家耐心看下去,雖然代碼拿去就能用!但還是希望授之以漁!

ok!下面正式開始了喲!~大家注意仔細閱讀代碼。


第一步 首先把官方的微信demo下載下來進行配置部署

給大家個傳送門-> PHP微信支付demo下載

 拿到文件后解壓,解壓后把文件夾改名為payment(也可以隨意改,但是博主覺得這樣規范點!)而后上傳至項目的根目錄,各位大佬不知道什么是根目錄就請看這(/).其實我是逗你們的。
 
 
 而后進入微信的商戶后臺,設置api的key注意看下圖(網上隨意找的~丑了點,將就吧!)設置完后,下載證書文件。而后把證書解壓出來!放到微信支付demo里面,也就是上一步上傳服務器的demo文件夾中!下面是詳細步驟:

設置密鑰(如圖)

下載證書,得到壓縮文件夾,解壓后上傳到payment中的cert中!(如圖,圖上有路徑)

在此順便給logs文件夾(支付日志)一個寫入的權限

修改微信支付demo中的配置文件WxPay.Config.php(如圖:路徑)

//只用修改第25、26、27、28行(示例)
const APPID = "wx2a3f1e5246886123";    //微信公眾號的APPID
const MCHID = "1300778123";     //微信商戶號   
const KEY = "619fd0f3f9c64550964bbe5b94dba123";     //微信商戶密鑰(上面步驟中設置的那個)
const APPSECRET = "5c8289b72600936f813ec1939e68f123";     //微信公眾號的APPSECRET

第一步分的配置咋們就完成了,請各位大佬繼續跟著小的往下走!

第二部 調整前段代碼 大部分都是JS,不懂JS得直接略過吧,否則看著難受!

對于點擊后彈出支付的這一塊邏輯,擼主的思路是:點擊支付按鈕->執行Ajax獲取到二維碼展示在頁面->開始執行輪詢獲取支付狀態;(擼主雖然JS很菜,但是每一條代碼后面都會注釋給大家,比我菜的可以看一下)

創建獲取二維碼的文件 getPayQrcode.php

]*?srcs*=s*("|")(.*?)1[^>]*?/?s*>/i",$data,$matches);
    preg_match("/||(.*)||/",$matches[0],$aac);
    // 構造返回信息
    $obj["status"] = "success";
    $obj["code"] = $aac[1];    // 此值為返回交易碼【用來確認訂單支付狀態的】
    $obj["price"] = $goodsPrice;
    $obj["msg"] = "/payment/example/".$matches["2"]; // 請求返回的二維碼
    return json_encode($obj);// 返回json
    // 獲取二維碼的文件已經ok!繼續下一步

設置微信支付demo中的掃碼支付文件 payment/example/native.php

//在大概19行找到該代碼 $notify = new NativePay(); 并在下方添加獲取商品名字和商品價格的代碼
// 接收get過來的商品價格和名稱
$goodsPrice = $_GET["goodsPrice"];
$goodsName = $_GET["goodsName"];
//下面修改從第32號開始的一大堆$input開頭的
$input = new WxPayUnifiedOrder();
$input->SetBody($goodsName);//商品名稱
$input->SetAttach("大姨媽商城");//自己設置
$num = WxPayConfig::MCHID.date("YmdHis");//訂單號
$input->SetOut_trade_no($num);
$input->SetTotal_fee($goodsPrice*100);//注意!!!!!!!!!由于是以分為單位結算,所以一定要記得商品價格*100;別到時候下崗了來怪擼主
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
$input->SetGoods_tag($goodsName);//下面的這些參數大家自己看一下文檔吧!意義都不大,擼主腎虛,要早點寫完早點睡!
$input->SetNotify_url("/payment/example/notify.php");
$input->SetTrade_type("NATIVE");
$input->SetProduct_id("123456789");
$result = $notify->GetPayUrl($input);
//print_r($result);//最終的信息,大家可以打印了進行調試
$url2 = $result["code_url"];
// ok!整個文件的PHP代碼就完畢了!在這以下的html代碼全部把它干掉,把擼主準備的這段貼上去 這段代碼不做什么解釋了,也是用于查詢訂單狀態的輪詢,調試用的~!下面還會用到一次,講的很詳細


    
     
    微信支付樣例


    
掃描支付模式二

0

微信支付demo訂單查詢文件 payment/example/orderquery.php

header("Access-Control-Allow-Origin:*"); // 因為擼主的支付實在另外一臺服務器上,所以給了一個域頭
ini_set("date.timezone","Asia/Shanghai");// 設置一下時區
error_reporting(E_ERROR); // 關閉報錯
require_once "../lib/WxPay.Api.php";
require_once "log.php";
 
//初始化日志
$logHandler= new CLogFileHandler("./logs/".date("Y-m-d").".log");
$log = Log::Init($logHandler, 15);
 
function printf_info($data)
{
    foreach($data as $key=>$value){
        echo "$key : $value 
"; } } // 一下兩個if的判斷均為判斷訂單的狀態,這里擼主建議去微信官網進行查閱,下面有傳送門送你過去 if(isset($_REQUEST["transaction_id"]) && $_REQUEST["transaction_id"] != ""){ $transaction_id = $_REQUEST["transaction_id"]; $input = new WxPayOrderQuery(); $input->SetTransaction_id($transaction_id); //printf_info(WxPayApi::orderQuery($input)); $result=WxPayApi::orderQuery($input); echo $result["trade_state"]; exit(); } if(isset($_REQUEST["out_trade_no"]) && $_REQUEST["out_trade_no"] != ""){ $out_trade_no = $_REQUEST["out_trade_no"]; $input = new WxPayOrderQuery(); $input->SetOut_trade_no($out_trade_no); //printf_info(WxPayApi::orderQuery($input)); $result=WxPayApi::orderQuery($input); $status["code"] = $result["trade_state"]; $status["openid"] = $result["openid"]; $status["total_fee"] = $result["total_fee"]; $status["transaction_id"] = $result["transaction_id"]; $status["time"] = $result["time_end"]; //print_r($result); print_r(json_encode($status)); exit(); }

傳送門 微信返回錯誤代碼解釋

點擊支付按鈕的代碼

// 前段代碼 樣式用大家自己的就行,不用照抄
立即購買
// JS代碼 js代碼中嵌入的樣式,無需修改!和效果圖一樣的! //接入微信掃碼支付 function GetPay() { // 用ajax獲取到支付的二維碼 var payQrcode = ""; var payPrice = ""; var payOrderCode = ""; // 執行Ajax請求 $.get("/getPayQrcode.php",{"goodsId":"商品的ID"},function(ret){ var obj = JSON.parse(ret) // 把字符串進行轉換 // 判斷返回數據是否正常(由于請求一般不會出問題,所以在獲取二維碼的getPayQrcode.php文件沒有寫返回fail) if (obj.status == "success") { payQrcode = "http://www.baidu.com"+obj.msg;//二維碼鏈接 payPrice = obj.price; //商品價格 payOrderCode = obj.code; //交易碼 //執行layer彈層 layer.open({ type: 1, skin: "layui-layer-demo", //樣式類名,隨意! closeBtn: 0, //不顯示關閉按鈕 title:false, //關閉title部分 anim: 2, area: ["300px", "450px"], //層的寬高 shadeClose: true, //開啟遮罩關閉 content: "
X
"+"

請打開微信 掃碼進行支付
支付金額:"+payPrice+"
"+"

請打開微信 掃碼進行支付
支付金額:"+payPrice+"
"+"
微信支付樣例
掃描支付模式二

0

微信支付demo 訂單查詢頁面

$value){
        echo "$key : $value 
"; } } if(isset($_REQUEST["transaction_id"]) && $_REQUEST["transaction_id"] != ""){ $transaction_id = $_REQUEST["transaction_id"]; $input = new WxPayOrderQuery(); $input->SetTransaction_id($transaction_id); //printf_info(WxPayApi::orderQuery($input)); $result=WxPayApi::orderQuery($input); echo $result["trade_state"]; exit(); } if(isset($_REQUEST["out_trade_no"]) && $_REQUEST["out_trade_no"] != ""){ $out_trade_no = $_REQUEST["out_trade_no"]; $input = new WxPayOrderQuery(); $input->SetOut_trade_no($out_trade_no); //printf_info(WxPayApi::orderQuery($input)); $result=WxPayApi::orderQuery($input); $status["code"] = $result["trade_state"]; $status["openid"] = $result["openid"]; $status["total_fee"] = $result["total_fee"]; $status["transaction_id"] = $result["transaction_id"]; $status["time"] = $result["time_end"]; //print_r($result); print_r(json_encode($status)); exit(); } ?>
寫的太差,請見諒;遇到問題了!~搜索QQ群:phpcode【老司機邪會】群號:202692399 擼主正是群主大大。美女進來享受擼主親自一對一貼身手把手指導!

Wishes everybody to be happy everyday!
ok,bye!擼主要給客戶繼續寫東西了!~否則明天揭不開鍋了!

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/22488.html

相關文章

  • 自定義微信登錄掃碼樣式解決辦法

    摘要:微信掃碼登錄近期做一個端微信掃碼登錄的需求,微信掃碼有兩種方式,一種是新開一個二維碼頁面,另一種是內嵌入產品網頁。幸運的是,微信留了一個給我們自定義樣式的機會,在之前實例化一個二維碼的時候,實例對象中屬性,允許設置樣式。 PC微信掃碼登錄 近期做一個PC端微信掃碼登錄的需求,微信掃碼有兩種方式,一種是新開一個二維碼頁面,另一種是內嵌入產品網頁。本次以內嵌二維碼為例,具體怎樣在頁面中顯示...

    meteor199 評論0 收藏0
  • 自定義微信登錄掃碼樣式解決辦法

    摘要:微信掃碼登錄近期做一個端微信掃碼登錄的需求,微信掃碼有兩種方式,一種是新開一個二維碼頁面,另一種是內嵌入產品網頁。幸運的是,微信留了一個給我們自定義樣式的機會,在之前實例化一個二維碼的時候,實例對象中屬性,允許設置樣式。 PC微信掃碼登錄 近期做一個PC端微信掃碼登錄的需求,微信掃碼有兩種方式,一種是新開一個二維碼頁面,另一種是內嵌入產品網頁。本次以內嵌二維碼為例,具體怎樣在頁面中顯示...

    yexiaobai 評論0 收藏0
  • 微信第三方登錄接口開發

    摘要:相關資料博客微信第三方登錄接口開發端微信掃碼登錄文檔移動端網頁微信公眾平臺授權登錄微信開放平臺登錄與微信公眾平臺授權登錄區別在哪微信登錄接口幾個問題微信登錄的和區別百分號編碼在線轉換第三方登錄 微信登錄接口開發須知 APP登錄接口 PC網站登錄接口 微信移動網頁登錄接口(又稱微信公眾號授權登錄) 移動端非微信自帶瀏覽不支持微信登錄 微信移動網頁登錄接口(又稱微信公眾號授權登錄) ...

    ziwenxie 評論0 收藏0
  • 聊聊維碼登錄

    摘要:場景主要的場景有如下幾個掃二維碼登錄版系統比如微信版,在手機端微信登錄的前提下,掃二維碼確認,自動登錄網頁版。小結二維碼掃描登錄是個挺潮流的功能,這要求既有系統增加改造,也要求針對這種形式的登錄帶來潛在的攻擊進行安全防范。 序 本文主要來研究一下二維碼登錄的相關場景和原理。 場景 主要的場景有如下幾個: app掃二維碼登錄pc版系統 比如微信web版,在手機端微信登錄的前提下,掃二維碼...

    Tikitoo 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<