DDR爱好者之家 Design By 杰米
最近要做支付对账,即检查第三方支付与数据库中账单是否一一对应,涉及到微信对账单的处理,成功时,微信账单接口返回数据以文本表格的方式返回,第一行为表头,后面各行为对应的字段内容,字段内容跟查询订单或退款结果一致,具体字段说明可查阅相应接口。
Ps:至于如何调用微信接口下载对账单,在微信的官方SDK包中就有现成的方法,直接调用即可。注意对账单接口一次只能查询一天的数据。代码大致如下:
// 引入微信sdk文件 require_once APP_DIR . '/ome/lib/wxpay/lib/WxPay.Api.php'; require_once APP_DIR . '/ome/lib/wxpay/log.php'; // 实列化下载对账单对象 $input = new WxPayDownloadBill(); // 对账单日期 $input->SetBill_date(date("Ymd", strtotime("-1 day"))); // 对账单类型 $input->SetBill_type('ALL'); // 获取账单信息 $downloadBillResult = WxPayApi::downloadBill($input);
打印$downloadBillResult就会发现他是一个数据文本(string),本文程序需要实现的功能就是从这个字符串从提取每一笔订单中的有效信息,参考代码如下:
/** * 微信对账单数据处理 * @param $response 对账单数据 * @return array 返回结果 */ public function deal_WeChat_response($response){ $result = array(); $response = str_replace(","," ",$response); $response = explode(PHP_EOL, $response); foreach ($response as $key=>$val){ if(strpos($val, '`') !== false){ $data = explode('`', $val); array_shift($data); // 删除第一个元素并下标从0开始 if(count($data) == 24){ // 处理账单数据 $result['bill'][] = array( 'pay_time' => $data[0], // 支付时间 'APP_ID' => $data[1], // app_id 'MCH_ID' => $data[2], // 商户id 'IMEI' => $data[4], // 设备号 'order_sn_wx' => $data[5], // 微信订单号 'order_sn_sh' => $data[6], // 商户订单号 'user_tag' => $data[7], // 用户标识 'pay_type' => $data[8], // 交易类型 'pay_status' => $data[9], // 交易状态 'bank' => $data[10], // 付款银行 'money_type' => $data[11], // 货币种类 'total_amount' => $data[12], // 总金额 'coupon_amount' => $data[13], // 代金券或立减优惠金额 'refund_number_wx' => $data[14], // 微信退款单号 'refund_number_sh' => $data[15], // 商户退款单号 'refund_amount' => $data[16], // 退款金额 'coupon_refund_amount' => $data[17], // 代金券或立减优惠退款金额 'refund_type' => $data[18], // 退款类型 'refund_status' => $data[19], // 退款状态 'goods_name' => $data[20], // 商品名称 'service_charge' => $data[22], // 手续费 'rate' => $data[23], // 费率 ); } if(count($data) == 5){ // 统计数据 $result['summary'] = array( 'order_num' => $data[0], // 总交易单数 'turnover' => $data[1], // 总交易额 'refund_turnover' => $data[2], // 总退款金额 'coupon_turnover' => $data[3], // 总代金券或立减优惠退款金额 'rate_turnover' => $data[4], // 手续费总金额 ); } } } return $result; }
返回的数据分为2部分,bill节点下存放的是具体流水数据,summary节点下存放的是统计数据
主要的思路是微信账单返回的结果格式是固定的,可以用 '`',换行符(PHP_EOL)实现字符串的分割,然后每 24 个 字段为一个订单的描述信息,最后 6 个字段为账单的汇总信息。因此通过循环就可以遍历整个账单。
大家有更好的解决方案,欢迎把代码贴出来一起交流!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米
暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
2024年11月28日
2024年11月28日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]