您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

微信支付开发对账单

2025/4/19 19:08:07发布18次查看
本文介绍微信支付下的对账单的开发实现流程。
注意微信支付现在分为v2版和v3版,2014年9月10号之前申请的为v2版,之后申请的为v3版。v3版的微信支付没有paysignkey参数。v2的相关介绍请参考方倍工作室的其他文章。本文介绍的为微信支付v3。
一、对账单数据接口微信支付v3提供了对账单的数据接口,其使用的接口为
https://api.mch.weixin.qq.com/pay/downloadbill
请求的参数如下
字段名
变量名
必填
类型
示例值
描述
公众账号id
appid

string(32)
wx8888888888888888
微信分配的公众账号id
商户号
mch_id

string(32)
1900000109
微信支付分配的商户号
设备号
device_info

string(32)
013467007045764
微信支付分配的终端设备号,填写此字段,只下载该设备号的对账单
随机字符串
nonce_str

string(32)
5k8264iltkch16cq2502si8znmtm67vs
随机字符串,不长于32位。推荐随机数生成算法
签名
sign

string(32)
c380bec2bfd727a4b6845133519f3ad6
签名,详见签名生成算法
对账单日期
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('<pre>'); echo "【对账单详情】"."</br>"; print_r($downloadbill->response); print_r('</pre>'); } }
上述对账单一次只能查询一天的数据。
其返回的账单结果如下
交易时间,公众账号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, '1428843600', 'wx554f0b3e56067c9d', '10024142', '0', 'wj1', '1006120206201504120058836372', 'wx554f0b3e56067c9d1428814787', 'omfx0jnvvuaor84xv8cp4ugcd9dk', 'native', 'success', 'pab_credit', 'cny', '16.80', '0.00', '0', '0', '0', '0', '', '', '微信公众平台开发最佳实践', '', '0.10080', '0.60%'), (31, '1428850601', '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%'), (30, '1428855888', 'wx554f0b3e56067c9d', '10024142', '0', 'wj1', '1003310206201504120059131508', 'wx554f0b3e56067c9d1428827074', 'omfx0jk-zqqeyv7yzyec4w1lwpvg', 'native', 'success', 'cft', 'cny', '15.80', '0.00', '0', '0', '0', '0', '', '', '微信公众平台开发最佳实践', '', '0.09480', '0.60%');
二、统计分析有了本地数据,就可以进行各种统计分析了。
1. 条件组合下面是一种进行组合查询账单的界面实现。需要查询使用的设备,使用的支付类型,及指定的时间范围。
其查询的结果如下所示
更多微信支付开发对账单。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product