国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
二、實現(xiàn)細(xì)節(jié)
1. 獲得access token
3.提交查詢
三、訂單結(jié)果
首頁 微信小程序 微信開發(fā) 微信支付開發(fā)訂單查詢

微信支付開發(fā)訂單查詢

Feb 25, 2017 pm 05:30 PM

一、訂單查詢

因為某一方技術(shù)的原因,可能導(dǎo)致商戶在預(yù)期時間內(nèi)都收不到最終支付通知,此時商戶可以通過該API來查詢訂單的詳細(xì)支付狀態(tài)。

訂單查詢API的URL為:

https://api.weixin.qq.com/pay/orderquery?access_token=xxxxxx

URL中的參數(shù)只包含目前微信公眾平臺憑證access_token,而訂單查詢的真正數(shù)據(jù)是放在PostData中的,格式如下:

{
????"appid"?:?"wwwwb4f85f3a797777",
????"package"?:?"out_trade_no=11122&partner=1900090055&sign=4e8d0df3da0c3d0df38f",
????"timestamp"?:?"1369745073",
????"app_signature"?:?"53cca9d47b883bd4a5c85a9300df3da0cb48565c",
????"sign_method"?:?"sha1"}

上述內(nèi)容參數(shù)說明如表所示。

參數(shù)

說明

appid

公眾平臺賬戶的AppId;

package

查詢訂單的關(guān)鍵信息數(shù)據(jù),包含第三方唯一訂單號out_trade_no、財付通商戶身仹標(biāo)識partner(即前文所述的partnerid)、簽名sign,其中sign是對參數(shù)字典序排序并使用&聯(lián)合起來,最后加上&key=partnerkey(唯一分配),進行md5運算,再轉(zhuǎn)成全大寫,最終得到sign

timestamp

linux時間戳;

app_signature

根據(jù)支付簽名(paySign)生成方法中所講的簽名方式生成的,參加簽名字段為:appid、appkey、package、timestamp;

sign_method

簽名方法(不計入簽名生成);

?

二、實現(xiàn)細(xì)節(jié)

1. 獲得access token

這個很容易,參考微信公眾平臺開發(fā)(26) ACCESS TOKEN

代碼如下:

$appid = "wx0000000000000000";
$appsecret = "e76050733c695748537fc4d4c21d0e2c";
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";
$result = https_request($url);
$jsoninfo = json_decode($result, true);
$access_token = $jsoninfo["access_token"];

2. 參數(shù)生成

appid: 直接賦值

timestamp:程序直接獲取

$timestamp = time();

sign_method:這里為sha1

難點1:package 值的獲得

先要獲得sign

sign是out_trade_no,partner,key(partnerkey)三項信息的字典序排序,再MD5運算,再轉(zhuǎn)為大寫

$sign= strtoupper(md5("out_trade_no=JfuKdiBig4zZnE4n&partner=1234567890&key=ebf5cf381de2d716d432bfda34fa9e57"));

package 是查詢訂單的關(guān)鍵信息數(shù)據(jù),包含第三方唯一訂單號 out_trade_no、財付通商戶身仹標(biāo)識 partner(即前文所述的 partnerid) 、簽名 sign

$package = "out_trade_no=JfuKdiBig4zZnE4n&partner=1234567890&sign=".$sign;

難點2:獲得app_signature

app_signature 依然是根據(jù)支付簽名(paySign)生成方法中所講的簽名方式生成的,參加簽名字段為:appid、appkey、package、timestamp;

$obj['appid']          = "wx0000000000000000";
$obj['appkey']         = "8mruTNOGeX8OVUlIYxIyw6kxCRvdJENpWpw8mruTNOGeX8OVUlIYxIyw6kxCRvdJENpWpw8mruTNOGeX8OVUlIYxIyw6kxCRvdJENpWpw8mruTNOGeX8OVUlIYxIyw6k";
$obj['package']        = $package;
$obj['timestamp']      = $timestamp;
$WxPayHelper->get_biz_sign($obj);

這樣各項參數(shù)都獲得了

3.提交查詢

$jsonmenu = '{
    "appid" : "wx0000000000000000",
    "package" : "'.$package.'",
    "timestamp" : "'.$timestamp.'",
    "app_signature" : "'.$app_signature.'",
    "sign_method" : "sha1"
}
';

$url = "https://api.weixin.qq.com/pay/orderquery?access_token=".$access_token;
$result = https_request($url, $jsonmenu);
var_dump($result);

完整代碼如下所示:

include_once("WxPayHelper.php");

//1. 獲取access token
$appid = "wx0000000000000000";
$appsecret = "e76050733ce76050733ce76050733cdd";
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";
$result = https_request($url);
$jsoninfo = json_decode($result, true);
$access_token = $jsoninfo["access_token"];


//2.準(zhǔn)備參數(shù)
$timestamp = time();
$sign= strtoupper(md5("out_trade_no=JfuKdiBig4zZnE4n&partner=1234567890&key=asdfasdfasdfasdfasdfasdfasdfasdf"));
$package = "out_trade_no=JfuKdiBig4zZnE4n&partner=1234567890&sign=".$sign;

//2.1構(gòu)造最麻煩的app_signature
$obj['appid']          = "wx0000000000000000";
$obj['appkey']         = "8mruTNOGeX8OVUlIYxIyw6kxCRvdJENpWpw8mruTNOGeX8OVUlIYxIyw6kxCRvdJENpWpw8mruTNOGeX8OVUlIYxIyw6kxCRvdJENpWpw8mruTNOGeX8OVUlIYxIyw6k";
$obj['package']        = $package;
$obj['timestamp']      = $timestamp;
$WxPayHelper = new WxPayHelper();
//get_biz_sign函數(shù)受保護,需要先取消一下,否則會報錯
$app_signature  = $WxPayHelper->get_biz_sign($obj);

//3. 將構(gòu)造的json提交給微信服務(wù)器,查詢
$jsonmenu = '
{
 "appid" : "wx0000000000000000",
 "package" : "'.$package.'",
 "timestamp" : "'.$timestamp.'",
 "app_signature" : "'.$app_signature.'",
 "sign_method" : "sha1"
}
';

$url = "https://api.weixin.qq.com/pay/orderquery?access_token=".$access_token;
$result = https_request($url, $jsonmenu);
var_dump($result);

function https_request($url, $data = null){
 $curl = curl_init();
 curl_setopt($curl, CURLOPT_URL, $url);
 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
 if (!empty($data)){
     curl_setopt($curl, CURLOPT_POST, 1);
     curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
 }
 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
 $output = curl_exec($curl);
 curl_close($curl);
 return $output;
}

三、訂單結(jié)果

上述程序執(zhí)行后,獲得訂單結(jié)果如下

{
    "errcode": 0,
    "errmsg": "ok",
    "order_info": {
        "ret_code": 0,
        "ret_msg": "",
        "input_charset": "GBK",
        "trade_state": "0",
        "trade_mode": "1",
        "partner": "1234567890",
        "bank_type": "CMB_FP",
        "bank_billno": "201405273540085997",
        "total_fee": "1",
        "fee_type": "1",
        "transaction_id": "1218614901201405273313473135",
        "out_trade_no": "JfuKdiBig4zZnE4n",
        "is_split": "false",
        "is_refund": "false",
        "attach": "",
        "time_end": "20140527194139",
        "transport_fee": "0",
        "product_fee": "1",
        "discount": "0",
        "rmb_total_fee": ""
    }
}

各個字段的含義如表所示。

參數(shù)

說明

ret_code

查詢結(jié)果狀態(tài)碼,0表明成功,其他表明錯誤;

ret_msg

查詢結(jié)果出錯信息;

input_charset

返回信息中的編碼方式;

trade_state

訂單狀態(tài),0為成功,其他為失?。?/p>

trade_mode

交易模式,1為即時到帳,其他保留;

partner

財付通商戶號,即前文的partnerid;

bank_type

銀行類型;

bank_billno

銀行訂單號;

total_fee

總金額,單位為分;

fee_type

幣種,1為人民幣;

transaction_id

財付通訂單號;

out_trade_no

第三方訂單號;

is_split

是否分賬,false為無分賬,true為有分賬;

is_refund

是否退款,false為無退款,ture為退款;

attach

商戶數(shù)據(jù)包,即生成訂單package時商戶填入的attach;

time_end

支付完成時間;

transport_fee

物流費用,單位為分;

product_fee

物品費用,單位為分;

discount

折扣價格,單位為分;

rmb_total_fee

換算成人民幣之后的總金額,單位為分,一般看total_fee即可。

如果程序有誤,會在errcode和errmsg描述出來。

更多微信支付開發(fā)訂單查詢相關(guān)文章請關(guān)注PHP中文網(wǎng)!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1601
29
PHP教程
1502
276