php 支付寶訂單查詢 微信支付開發訂單查詢例項

2021-10-22 21:40:29 字數 4524 閱讀 3655

因為某一方技術的原因,可能導致商戶在預期時間內都收不到最終支付通知,此時商戶可以通過該api來查詢訂單的詳細支付狀態。

訂單查詢api的url為:

"package" : "out_trade_no=11122&partner=1900090055&sign=4e8d0df3da0c3d0df38f",

"timestamp" : "1369745073",

"sign_method" : "sha1"

上述內容引數說明如表所示。

引數說明

package

查詢訂單的關鍵資訊資料,包含第三方唯一訂單號out_trade_no、財付通商戶身仹標識partner(即前文所述的partnerid)、簽名sign,其中sign是對引數字典序排序並使用&聯合起來,最後加上&key=partnerkey(唯一分配),進行md5運算,再轉成全大寫,最終得到sign

timestamp

linux時間戳;

sign_method

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

二、實現細節

1. 獲得access token

**如下:

2. 引數生成

timestamp:程式直接獲取

$timestamp = time();

sign_method:這裡為sha1

難點1:package 值的獲得

先要獲得sign

sign是out_trade_no,partner,key(partnerkey)三項資訊的字典序排序,再md5運算,再轉為大寫

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

package 是查詢訂單的關鍵資訊資料,包含第三方唯一訂單號 out_trade_no、財付通商戶身仹標識 partner(即前文所述的 partnerid) 、簽名 sign

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

$obj['package'] = $package;

$obj['timestamp'] = $timestamp;

$wxpayhelper->get_biz_sign($obj);

這樣各項引數都獲得了

3.提交查詢

完整**如下所示:

include_once("wxpayhelper.php");

//1. 獲取access token

//2.準備引數

$timestamp = time();

$sign= strtoupper(md5("out_trade_no=jfukdibig4zzne4n&partner=1234567890&key=asdfasdfasdfasdfasdfasdfasdfasdf"));

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

$obj['package'] = $package;

$obj['timestamp'] = $timestamp;

$wxpayhelper = new wxpayhelper();

//get_biz_sign函式受保護,需要先取消一下,否則會報錯

三、訂單結果

上述程式執行後,獲得訂單結果如下

"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": ""

各個欄位的含義如表所示

引數說明

ret_code

查詢結果狀態碼,0表明成功,其他表明錯誤;

ret_msg

查詢結果出錯資訊;

input_charset

返回資訊中的編碼方式;

trade_state

訂單狀態,0為成功,其他為失敗;

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

商戶資料報,即生成訂單package時商戶填入的attach;

time_end

支付完成時間;

transport_fee

物流費用,單位為分;

product_fee

物品費用,單位為分;

discount

折扣**,單位為分;

rmb_total_fee

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

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

php 支付寶訂單查詢 基於PHP的微信支付教程

訂單查詢 對應檔案管理中example資料夾下的orderquery.php檔案 1,標頭檔案引入 必須引入的標頭檔案,以sdk的路徑為例子 require once lib wxpay.api.php require once log.php 2,查詢條件 3,採用商戶訂單號查詢 首先我們要這這個...

微信支付 支付寶支付

二 移動端支付寶支付 weixinpay data else if document.attachevent else onbridgeready function res vm.number null vm.router.go 1 vm.base url index.html depositres...

微信支付寶支付

備忘,如果有看到的小夥伴,希望能幫助到你 測試的時候一定要用自定義基座測試 證書檔案是你的.keystore檔案路徑,在生成證書的時候一點更要記住檔案位置和密碼!實在忘記了,就最簡單粗暴的方法,重新生成把,但是在重新生成時,一定要記得把相關用到證書資訊的地方全部修改一遍。cmd開啟 生成.keyst...