微信支付開發對帳單

高洛峰
發布: 2017-02-28 10:05:22
原創
2227 人瀏覽過

本文介紹微信支付下的對帳單的開發實現流程。

注意

微信支付現在分為v2版和v3版,2014年9月10號之前申請的為v2版,之後申請的為v3版。 V3版的微信支付沒有paySignKey參數。 v2的相關介紹請參考方倍工作室的其他文章。本文介紹的為微信支付v3。

 

一、對帳單資料介面

微信支付v3提供了對帳單的資料接口,其使用的介面為 

https:// api.mch.weixin.qq.com/pay/downloadbill

請求的參數如下

#公眾帳號ID#appid是013467007045764

##欄位名稱

變數名稱

#必填

類型

範例值

描述

String(32)
wx8888888888888888

微訊號指派的公用帳號ID

微訊號指派的公用帳號ID

微訊號指派的公用帳號ID

微函分配的公用帳號ID

微函指派的公用帳號ID

微函指派的公用帳號ID

微函指派的公用帳號ID

微函分配的公用帳號ID

#商家號碼

mch_id

#是

String (32)

1900000109

#微信支付分配的商家號碼

##裝置編號

device_info

#String(32)

微信支付分配的終端設備號,填寫此字段,只下載該設備號的對帳單

##隨機字串

#nonce_str

#是

String(32)

5K8264ILTKCH16CQ2502SI8ZNMTM67VS

隨機字串,不長於32位元。推薦隨機數產生演算法

#sign



String(32)

C380BEC2BFD727A4B6845133519F3AD6

簽名,詳見簽名產生演算法


對帳單日期

bill_date



bill_date



String(8)

20140603

下載對帳單的日期,格式:20140603

微信支付開發對帳單

帳單類型

微信支付開發對帳單bill_type



###String(8)############ALL#############ALL,傳回當日所有訂單訊息,預設值######SUCCESS,返回當日成功支付的訂單######REFUND,返回當日退款訂單######REVOKED,已撤銷的訂單#################Demo中的實作代碼如下###
include_once("../WxPayPubHelper/WxPayPubHelper.php");

    //对账单日期
    if (!isset($_POST["bill_date"])){
        $bill_date = "20150401";
    }
    else{
        $bill_date = $_POST["bill_date"];
        
        //使用对账单接口
        $downloadBill = new DownloadBill_pub();
        //设置对账单接口参数
        //设置必填参数
        //appid已填,商户无需重复填写
        //mch_id已填,商户无需重复填写
        //noncestr已填,商户无需重复填写
        //sign已填,商户无需重复填写
        $downloadBill->setParameter("bill_date","$bill_date");//对账单日期 
        $downloadBill->setParameter("bill_type","ALL");//账单类型 
        //非必填参数,商户可根据实际情况选填
        //$downloadBill->setParameter("device_info","XXXX");//设备号  
        //$downloadBill->setParameter("device_info","方倍工作室1");//设备号 
        //对账单接口结果
        $downloadBillResult = $downloadBill->getResult();
        echo $downloadBillResult['return_code'];
        
        if ($downloadBillResult['return_code'] == "FAIL") {
            echo "通信出错:".$downloadBillResult['return_msg'];
        }else{
             print_r(&#39;<pre class="brush:php;toolbar:false">&#39;);
             echo "【对账单详情】"."</br>";
             print_r($downloadBill->response);
             print_r(&#39;
登入後複製
'); } }###上述對帳單一次只能查詢一天的資料。 ######其回傳的帳單結果如下###
交易时间,公众账号ID,商户号,子商户号,设备号,微信订单号,商户订单号,用户标识,交易类型,交易状态,付款银行,货币种类,总金额,企业红包金额,微信退款单号,商户退款单号,退款金额,企业红包退款金额,退款类型,退款状态,商品名称,商户数据包,手续费,费率 `2015-04-12 20:27:22,`wx554f0b3e56067c9d,`10024142,`0,`WJ4,`1000690206201504120059461630,`wx554f0b3e56067c9d1428841627,`oMfX0jgJjSPVvYOz3p_BP8LclWO0,`NATIVE,`SUCCESS,`CMB_CREDIT,`CNY,`71.00,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.42600,`0.60% `2015-04-12 18:08:38,`wx554f0b3e56067c9d,`10024142,`0,`WJ1,`1001370206201504120059259734,`wx554f0b3e56067c9d1428833308,`oMfX0jhbQ1xd0B6Vm-kuizH9e9rs,`NATIVE,`SUCCESS,`COMM_DEBIT,`CNY,`92.00,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.55200,`0.60% `2015-04-12 19:12:06,`wx554f0b3e56067c9d,`10024142,`0,`WJ1,`1001520206201504120059346120,`wx554f0b3e56067c9d1428837103,`oMfX0jj6h2ls1TsZEORs8WXRtSrE,`NATIVE,`SUCCESS,`CEB_CREDIT,`CNY,`69.60,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.41760,`0.60% `2015-04-12 13:03:25,`wx554f0b3e56067c9d,`10024142,`0,`WJ1,`1002120206201504120058869224,`wx554f0b3e56067c9d1428814993,`oMfX0jtHOXPrCCWebdJEYl1eIzVg,`NATIVE,`SUCCESS,`CFT,`CNY,`16.80,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.10080,`0.60% `2015-04-12 12:20:39,`wx554f0b3e56067c9d,`10024142,`0,`WJ2,`1002560206201504120058795541,`wx554f0b3e56067c9d1428812423,`oMfX0jhBckNfxRDHp2lUiFxXlCYE,`NATIVE,`SUCCESS,`CCB_DEBIT,`CNY,`126.60,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.75960,`0.60% `2015-04-12 09:35:03,`wx554f0b3e56067c9d,`10024142,`0,`WJ6,`1003310206201504120058568869,`wx554f0b3e56067c9d1428802486,`oMfX0jmQtv9nBfol_-e83xYdXacM,`NATIVE,`SUCCESS,`CMBC_DEBIT,`CNY,`0.10,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.00060,`0.60% `2015-04-12 09:23:20,`wx554f0b3e56067c9d,`10024142,`0,`WJ6,`1003310206201504120058569203,`wx554f0b3e56067c9d1428801789,`oMfX0jmQtv9nBfol_-e83xYdXacM,`NATIVE,`SUCCESS,`CMBC_DEBIT,`CNY,`0.10,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.00060,`0.60% `2015-04-12 10:15:27,`wx554f0b3e56067c9d,`10024142,`0,`WJ5,`1003310206201504120058606779,`wx554f0b3e56067c9d1428804915,`oMfX0jmQtv9nBfol_-e83xYdXacM,`NATIVE,`SUCCESS,`CFT,`CNY,`0.10,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.00060,`0.60% `2015-04-12 10:10:09,`wx554f0b3e56067c9d,`10024142,`0,`WJ5,`1003310206201504120058610924,`wx554f0b3e56067c9d1428804597,`oMfX0jmQtv9nBfol_-e83xYdXacM,`NATIVE,`SUCCESS,`CFT,`CNY,`0.10,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.00060,`0.60% `2015-04-12 10:06:19,`wx554f0b3e56067c9d,`10024142,`0,`WJ6,`1003310206201504120058617007,`wx554f0b3e56067c9d1428804368,`oMfX0jmQtv9nBfol_-e83xYdXacM,`NATIVE,`SUCCESS,`CFT,`CNY,`0.10,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.00060,`0.60% `2015-04-12 11:07:04,`wx554f0b3e56067c9d,`10024142,`0,`WJ1,`1003310206201504120058692567,`wx554f0b3e56067c9d1428808013,`oMfX0jmQtv9nBfol_-e83xYdXacM,`NATIVE,`SUCCESS,`CFT,`CNY,`0.10,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.00060,`0.60% `2015-04-12 11:27:07,`wx554f0b3e56067c9d,`10024142,`0,`WJ6,`1003310206201504120058735881,`wx554f0b3e56067c9d1428809215,`oMfX0jmQtv9nBfol_-e83xYdXacM,`NATIVE,`SUCCESS,`CFT,`CNY,`0.10,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.00060,`0.60% `2015-04-12 16:24:48,`wx554f0b3e56067c9d,`10024142,`0,`WJ1,`1003310206201504120059131508,`wx554f0b3e56067c9d1428827074,`oMfX0jk-zqqeyv7yZYEc4W1lWPVg,`NATIVE,`SUCCESS,`CFT,`CNY,`15.80,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.09480,`0.60% `2015-04-12 14:56:41,`wx554f0b3e56067c9d,`10024142,`0,`WJ1,`1005430206201504120058999894,`wx554f0b3e56067c9d1428821791,`oMfX0jnw_NpAlwgSuJsyR8ocGSjI,`NATIVE,`SUCCESS,`CCB_DEBIT,`CNY,`42.00,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.25200,`0.60% `2015-04-12 13:00:00,`wx554f0b3e56067c9d,`10024142,`0,`WJ1,`1006120206201504120058836372,`wx554f0b3e56067c9d1428814787,`oMfX0jnVvUaoR84XV8cP4ugcd9dk,`NATIVE,`SUCCESS,`PAB_CREDIT,`CNY,`16.80,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.10080,`0.60% `2015-04-12 16:13:48,`wx554f0b3e56067c9d,`10024142,`0,`WJ4,`1007560206201504120059119673,`wx554f0b3e56067c9d1428826408,`oMfX0jlf4aVHBY1nel1XuNvb2m1A,`NATIVE,`SUCCESS,`ABC_DEBIT,`CNY,`120.00,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.72000,`0.60% `2015-04-12 09:49:04,`wx554f0b3e56067c9d,`10024142,`0,`WJ1,`1009550206201504120058567546,`wx554f0b3e56067c9d1428803335,`oMfX0juZ58OdofLgirvkqK0FPq-w,`NATIVE,`SUCCESS,`CFT,`CNY,`0.10,`0.00,`0,`0,`0,`0,`,`,`微信公众平台开发最佳实践,`,`0.00060,`0.60% 总交易单数,总交易额,总退款金额,总企业红包退款金额,手续费总金额 `17,`571.40,`0.00,`0.00,`3.42840
登入後複製
###如果當天沒有帳單,則傳回XML如下###########
<xml>
    <return_code><![CDATA[FAIL]]></return_code>
    <return_msg><![CDATA[No Bill Exist]]></return_msg>
 </xml>
登入後複製
######## ### ######二、帳單入庫######上述的帳單資料是個字串,且只是一天的數據,不利於統計及查詢。還需要下載到資料庫中。 ######1. 建表######帳單的字段有這些############
交易时间,公众账号ID,商户号,子商户号,设备号,微信订单号,商户订单号,用户标识,交易类型,交易状态,付款银行,货币种类,总金额,代金券或立减优惠金额,微信退款单号,商户退款单号,退款金额, 代金券或立减优惠退款金额,退款类型,退款状态,商品名称,商户数据包,手续费,费率
登入後複製
############根據上述字段,建表如下############
CREATE TABLE IF NOT EXISTS `wx_bill` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `tradetime` varchar(20) NOT NULL,
  `ghid` varchar(20) NOT NULL,
  `mchid` varchar(20) NOT NULL,
  `submch` varchar(10) NOT NULL,
  `deviceid` varchar(16) NOT NULL,
  `wxorder` varchar(30) NOT NULL,
  `bzorder` varchar(30) NOT NULL,
  `openid` varchar(30) NOT NULL,
  `tradetype` varchar(10) NOT NULL,
  `tradestatus` varchar(10) NOT NULL,
  `bank` varchar(16) NOT NULL,
  `currency` varchar(20) NOT NULL,
  `totalmoney` varchar(20) NOT NULL,
  `redpacketmoney` varchar(20) NOT NULL,
  `wxrefund` varchar(10) NOT NULL,
  `bzrefund` varchar(10) NOT NULL,
  `refundmoney` varchar(20) NOT NULL,
  `redpacketrefund` varchar(20) NOT NULL,
  `refundtype` varchar(10) NOT NULL,
  `refundstatus` varchar(10) NOT NULL,
  `productname` varchar(30) NOT NULL,
  `bzdatapacket` varchar(10) NOT NULL,
  `fee` varchar(10) NOT NULL,
  `rate` varchar(10) NOT NULL,  PRIMARY KEY (`id`),  UNIQUE KEY `wxorder` (`wxorder`),  UNIQUE KEY `bzorder` (`bzorder`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=272 ;
登入後複製
#############2. 入庫######將微信帳單的資料插入資料庫中,實作如下############
INSERT INTO `wx_bill` (`id`, `tradetime`, `ghid`, `mchid`, `submch`, `deviceid`, `wxorder`, `bzorder`, `openid`, `tradetype`, `tradestatus`, `bank`, `currency`, `totalmoney`, `redpacketmoney`, `wxrefund`, `bzrefund`, `refundmoney`, `redpacketrefund`, `refundtype`, `refundstatus`, `productname`, `bzdatapacket`, `fee`, `rate`) VALUES(32, &#39;1428843600&#39;, &#39;wx554f0b3e56067c9d&#39;, &#39;10024142&#39;, &#39;0&#39;, &#39;WJ1&#39;, &#39;1006120206201504120058836372&#39;, &#39;wx554f0b3e56067c9d1428814787&#39;, &#39;oMfX0jnVvUaoR84XV8cP4ugcd9dk&#39;, &#39;NATIVE&#39;, &#39;SUCCESS&#39;, &#39;PAB_CREDIT&#39;, &#39;CNY&#39;, &#39;16.80&#39;, &#39;0.00&#39;, &#39;0&#39;, &#39;0&#39;, &#39;0&#39;, &#39;0&#39;, &#39;&#39;, &#39;&#39;, &#39;微信公众平台开发最佳实践&#39;, &#39;&#39;, &#39;0.10080&#39;, &#39;0.60%&#39;),
(31, &#39;1428850601&#39;, &#39;wx554f0b3e56067c9d&#39;, &#39;10024142&#39;, &#39;0&#39;, &#39;WJ1&#39;, &#39;1005430206201504120058999894&#39;, &#39;wx554f0b3e56067c9d1428821791&#39;, &#39;oMfX0jnw_NpAlwgSuJsyR8ocGSjI&#39;, &#39;NATIVE&#39;, &#39;SUCCESS&#39;, &#39;CCB_DEBIT&#39;, &#39;CNY&#39;, &#39;42.00&#39;, &#39;0.00&#39;, &#39;0&#39;, &#39;0&#39;, &#39;0&#39;, &#39;0&#39;, &#39;&#39;, &#39;&#39;, &#39;微信公众平台开发最佳实践&#39;, &#39;&#39;, &#39;0.25200&#39;, &#39;0.60%&#39;),
(30, &#39;1428855888&#39;, &#39;wx554f0b3e56067c9d&#39;, &#39;10024142&#39;, &#39;0&#39;, &#39;WJ1&#39;, &#39;1003310206201504120059131508&#39;, &#39;wx554f0b3e56067c9d1428827074&#39;, &#39;oMfX0jk-zqqeyv7yZYEc4W1lWPVg&#39;, &#39;NATIVE&#39;, &#39;SUCCESS&#39;, &#39;CFT&#39;, &#39;CNY&#39;, &#39;15.80&#39;, &#39;0.00&#39;, &#39;0&#39;, &#39;0&#39;, &#39;0&#39;, &#39;0&#39;, &#39;&#39;, &#39;&#39;, &#39;微信公众平台开发最佳实践&#39;, &#39;&#39;, &#39;0.09480&#39;, &#39;0.60%&#39;);
登入後複製
############ ######二、統計分析######有了本地數據,就可以進行各種統計分析了。 ######1. 條件組合######下面是進行組合查詢帳單的介面實作。需要查詢使用的設備,使用的付款類型,及指定的時間範圍。 ###############其查詢的結果如下所示################更多微信支付開發對帳單相關文章請關注PHP中文網! ################
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板