9. PHP接入微信支付订单、退款订单、转款订单的查询
来源:互联网 发布:linux重启监听服务 编辑:程序博客网 时间:2024/06/02 13:00
payment 项目2.0版本
微信并未提供一个统一的查询接口。对应每种查询均需要不同的api。为了便于大家在项目中使用,忽略细节。对以上三种进行了封装。通过工厂的方式降低调用成本。
$wxconfig = [ 'app_id' => 'wxxxx', // 公众账号ID 'mch_id' => 'xxxx',// 商户id 'md5_key' => 'xxxxxx',// md5 秘钥 'notify_url' => 'http://test.helei.com/pay-notify.html', 'time_expire' => '14', // 涉及资金流动时,需要提供该文件 'cert_path' => dirname(__FILE__) . DIRECTORY_SEPARATOR . 'wx' . DIRECTORY_SEPARATOR . 'apiclient_cert.pem', 'key_path' => dirname(__FILE__) . DIRECTORY_SEPARATOR . 'wx' . DIRECTORY_SEPARATOR . 'apiclient_key.pem',];use Payment\QueryContext;use Payment\Common\PayException;use Payment\Config;$query = new QueryContext();// 通过交易号查询, 推荐$data = [ //'order_no' => '2016011402433464',// 商户订单号 'transaction_id' => '4007572001201607098672633287',// 微信订单查询 微信退款单查询 //'trans_no' => '1007570439201601142692427764', // 微信批量转款查询];try { // 微信订单查询 $query->initQuery(Config::WEIXIN, $wxconfig); // 微信退款订单状态查询 //$query->initQuery(Config::WEIXIN_REFUND, $wxconfig); // 微信企业付款查询 //$query->initQuery(Config::WEIXIN_TRANS, $wxconfig); $ret = $query->query($data);} catch (PayException $e) { echo $e->errorMessage();exit;}
订单查询非常简单。对于微信支付订单以及退款订单可以根据微信支付的流水号进行查询。对于微信支付的订单还可根据商户的订单号进行查询。但是强烈建议通过微信自身的流水号进行查询。
对于批量转款查询。需要提供再转款时,生产的转款单号(此单号是由商家自行生产的)。这里我也蛮迷惑,为什么不提供使用微信返回的转款流水号进行查询呢?
接下来对返回值进行解释,以下结构为一个顶层结构
微信支付订单返回值
支付订单中关于 response
中包含字段的描述
微信退款订单
退款有以下两点需要注意
- 交易时间超过一年的订单无法提交退款;
- 微信支付退款支持单笔交易分多次退款,多次退款需要提交原支付订单的商户订单号和设置不同的退款单号。一笔退款失败后重新提交,要采用原来的退款单号。总退款金额不能超过用户实际支付金额。
由于一笔支付订单,可能存在多笔退单的情况,因此退款记录将返回一个数组
退款订单中关于 response
中包含字段的描述
refund_data
中包含字段的描述
转款订单查询结果
'trans_id' => $data['detail_id'],// 付款单号 'trans_status' => $data['status'],// 转账状态 'reason' => $data['reason'],// 失败原因 'buyer_id' => $data['openid'], 'trans_name' => $data['transfer_name'],// 收款用户姓名 'trans_time' => $data['transfer_time'], 'desc' => $data['desc'],// 付款描述
1 0
- 9. PHP接入微信支付订单、退款订单、转款订单的查询
- 微信支付开发(5) 订单查询
- php 微信商户发红包,退款,订单查询,企业付款到零钱
- 5. PHP接入支付宝单笔订单查询接口
- 微信支付v2开发(5) 订单查询
- 微信支付java版本之查询订单
- 微信支付java版本之查询订单
- Java微信支付开发之查询订单
- 电商平台接入第三方支付接口之微信支付接入订单系统
- 查询每个订单中订单明细中只支付了部分或为支付的订单
- 微信支付之关闭订单
- 微信支付订单工具类
- PB微信支付【刷卡支付】【扫码支付】【订单查询】
- 订单
- 订单
- 订单
- 订单
- 订单
- Servlet生命周期及运行过程
- 浅谈C++中内存分配、函数调用和返回值问题
- POJ 2492 A Bug's Life(并查集)
- 数码相机一些知识前沿
- ios开发-UI高级 HTTP协议
- 9. PHP接入微信支付订单、退款订单、转款订单的查询
- Validations in FI-AP
- Mysql在Linux下的表名问题
- java内存管理、继承、和向上造型
- Android面试题之Android部分
- poj 2226 Muddy Fields
- 缓存demo
- 【整理】服务器忽略SIGPIPE信号原因及方法
- 语法