最近要做支付对账,即检查第三方支付与数据库中账单是否一一对应,涉及到微信对账单的处理,微信账单接口返回为一个字符串类似如下结果:

交易时间,公众账号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

程序需要实现的功能就是从这个字符串从提取每一笔订单中的有效信息,参考代码如下:

function deal_wechat_return_result($reponse)

{$result = array();$reponse = str_replace(","," ",$reponse);$reponse = explode("`",$reponse);$total_order_count =( count($reponse) - 6 ) / 24;for($i = 0; $i< $total_order_count; $i++)

{$base_index = 24 * $i;$result[$reponse[$base_index + 7]] = array(‘wechat_order_no‘ => $reponse[$base_index + 6],

‘order_count‘ => $reponse[$base_index + 13],

‘order_discount‘ => $reponse[$base_index + 23]

);

}return $result;

}

主要的思路是微信账单返回的结果格式是固定的,可以用 ‘`‘ 实现字符串的分割,然后每 24 个 字段为一个订单的描述信息,最后 6 个字段为账单的汇总信息。因此通过 for 循环就可以遍历整个账单。

代码还有以下几点有待完善:

1. 没有考虑字符串特别大的情况,可能会导致 php 进程分配的内存耗尽,对于普通的商户订单,每天成交量不是特别大的情形是够用的。

2. 默认了微信返回的格式是固化的,其实可以根据微信返回的字符串头和尾进行动态的匹配。

大家有更好的解决方案,欢迎把代码贴出来一起交流!

原文:http://www.cnblogs.com/smallrookie/p/7060858.html

账单php,php 处理微信账单相关推荐

  1. 微信账单怎么查?微信流水账单怎么打印

    自从微信"火"起来之后,不仅在社交方面带给全民许多方便,而且消费.交易方面也是用的比较频繁,微信支付后会留下资金交易明细,那么微信账单怎么查?微信流水账单怎么打印? 我们通过微信支 ...

  2. android 支付宝月账单 统计图_2019年你抢了多少微信红包?花了多少?(微信账单查看教程)...

    昨天一大早, 支付宝2019年度账单出炉, 不少网友看到账单就懵逼了: 一年到头都挣不了多少钱, 我个穷逼咋可能花了这么多钱? 对此,蚂蚁金服回应称, 今年支付宝年账单没有总消费的概念, 全部调整为总 ...

  3. Python脚本把支付宝和微信账单数据转换成随手记APP的excel标准模板导入

    目录 实现初衷 下载账单流水 微信账单 支付宝账单 处理数据 账单文件命名及存放 执行Python脚本 随手记导入数据 查看账单 代码实现 实现初衷 每天通过手动记账太麻烦,而且要精细到每一项支付的内 ...

  4. 下载微信账单用于分析

    摘要:通过微信账单能了解消费习惯.微信账单如果全部下载很复杂,文中列出步骤供参考. 标签:数据分析:数据收集:帐单 目录 前言 一.下载微信帐 路径 操作 微信消息 邮箱 二.用于分析 总结 前言 你 ...

  5. php账单明细功能怎么实现,php 处理微信账单

    这篇文章介绍的内容是关于这篇文章介绍的内容是关于php 处理微信账单 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 最 ...

  6. android 仿微信账单生成器手机版式,2020微信年度账单生成器

    2020微信年度账单生成器是一款十分有意思的年度账单生成的装杯神器软件,这款软件功能十分的强大且好用,可以生成几百万上千万的微信账单,仅供装杯使用,需要的小伙伴赶紧来下载这款2020微信年度账单生成器 ...

  7. 微信账单动态吸顶功能实现逻辑

    打开微信账单划拉到不同月份时,会将当月的汇总吸附在手机顶端,动态改变数据.真实微信怎么实现的我不知道,但是我实现的方式是做一个障眼法. 1.当普通列表遍历. 2.判断出需要吸顶那部分的条件,给出吸顶距 ...

  8. 微信php提取,php提取微信账单的有效信息

    最近要做支付对账,即检查第三方支付与数据库中账单是否一一对应,涉及到微信对账单的处理,微信账单接口返回为一个字符串类似如下结果: 程序需要实现的功能就是从这个字符串从提取每一笔订单中的有效信息,参考代 ...

  9. php 微信订单,php 处理微信账单

    最近要做支付对账,即检查第三方支付与数据库中账单是否一一对应,涉及到微信对账单的处理,微信账单接口返回为一个字符串类似如下结果: 交易时间,公众账号ID,商户号,子商户号,设备号,微信订单号,商户订单 ...

最新文章

  1. IBM拓展云数据分析服务 用户来“做主”
  2. 中国医疗AI第一股首位投资人:AI不再高深,正在回归商业本质
  3. 编程中经常碰到且觉得难的事是什么?
  4. JavaScript中判断是否存在某属性
  5. [POJ2420]A Star not a Tree?(模拟退火)
  6. Java虚拟机性能管理神器 - VisualVM(2) 入门
  7. jq中查找上级_【节能学院】电能管理系统在福州三岐小学项目中的设计及应用...
  8. Python Cookbook 3rd Edition Documentation
  9. sublimetext能编辑html语言,SublimeText_编辑保存的Html乱码问题解决
  10. [转载]JXTA概念介绍
  11. CAD 2022卸载方法,如何完全彻底卸载删除清理干净CAD各种残留注册表和文件? 【转载】
  12. Python菜鸟教程全目录
  13. 【老生谈算法】matlab实现遗传算法改进的模糊C-均值聚类算法源码——C-均值聚类算法
  14. 电脑文件服务器资源管理器在哪,资源管理器在哪?怎么打开资源管理器?5种方法总有适合你...
  15. 为什么安装MathType无法复制粘贴
  16. JVM基本原理,简明扼要,通俗易懂
  17. cod1,301,课程blog与学院blog
  18. 重磅福利!ICCV 2019全部论文合集共1075篇!会议信息全收录!
  19. arch firefox
  20. C 三个学生四门成绩,求成绩总和与平均值

热门文章

  1. 华为云从入门到实战 | 云容器服务
  2. 基于微信奶共享会议室预约小程序系统设计与实现 开题报告
  3. 第九章总结 java常用类
  4. 计算机毕业设计(附源码)python游泳馆管理系统
  5. 计算机如何正确开关机,初学台式机电脑开关机的正确操作 电脑定时关机的基础知识...
  6. 这几点技巧可提高 Kindle 使用体验
  7. 三分钟快速了解typeScript的装饰器
  8. LVGL学习——初识动画 lv_anim_t
  9. 【转】RMAN-06094: datafile 1 must be restored ID 1339439.1
  10. phoenix 安装以及开启后报错