10.PHP接入微信退款接口
2016-08-16 11:03
489 查看
payment 项目2.0版本
微信的退款操作,通过封装与前面支付宝退款除了配置文件,基本一样。
退款代码如下:
当前sdk支付宝可一次退款多笔数据。微信仅能每次退款1笔(如果想要实现一次退订多笔订单,可在客户端通过循环来处理。)
接下来解释下相关的配置信息
微信的配置文件解释参考 微信的三种支付方式接入:APP支付、公众号支付、扫码支付 中的微信配置信息。
response 数据描述
微信的退款操作,通过封装与前面支付宝退款除了配置文件,基本一样。
退款代码如下:
use Payment\RefundContext; use Payment\Common\PayException; use Payment\Config; // 生成退款单号 便于测试 function createPayid() { return date('Ymdhis', time()).substr(floor(microtime()*1000),0,1).rand(0,9); } $config = [ 'app_id' => 'wxa244db59a34996fc', // 公众账号ID 'mch_id' => '1331302101',// 商户id 'md5_key' => 'adslkfjiKQJLAIQLJ393201482333333',// 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', ]; // 退款数据 $reundData = [ 'refund_no' => createPayid(), 'refund_data' => [ ['transaction_id' => '4007572001201607098672633287', 'amount' => '5', 'refund_fee' => '5', 'reason' => '微信测试金额退款'], ], ]; $refund = new RefundContext(); try { // 微信退款 $type = Config::WEIXIN; $refund->initRefund(Config::WEIXIN, $wxconfig); $ret = $refund->refund($reundData); } catch (PayException $e) { echo $e->errorMessage();exit; } var_dump($ret);
当前sdk支付宝可一次退款多笔数据。微信仅能每次退款1笔(如果想要实现一次退订多笔订单,可在客户端通过循环来处理。)
接下来解释下相关的配置信息
微信的配置文件解释参考 微信的三种支付方式接入:APP支付、公众号支付、扫码支付 中的微信配置信息。
请求参数
参数 | 参数名 | 参数说明 | 是否必须 |
---|---|---|---|
transaction_id | 微信交易号 | 微信系统中的交易流水号,可用于查询订单状态 | 是 |
amount | 总金额 | 微信交易对应的交易总金额 | 是 |
refund_fee | 退款金额 | 本次申请的退款金额,退款金额不能大于总金额 | 是 |
reason | 退款理由 | 退款的理由,可在用户端查看到 | 是 |
响应数据
参数 | 参数名 | 参数说明 | 是否必须 |
---|---|---|---|
is_success | 成功标识 | 请求是否成功,T:成功,F:失败 | 是 |
error | 错误提示 | 只有is_success=F时才返回 | 否 |
response | 响应数据 | 查询成功后返回的数据,一个数组,is_success=T时返回 | 否 |
参数 | 参数名 | 参数说明 | 是否必须 |
---|---|---|---|
transaction_id | 微信订单号 | 微信订单号,下单成功后,微信返回 | 是 |
order_no | 商户订单号 | 商户系统内部的订单号 | 是 |
refund_no | 商户退款单号 | 商户退款单号 | 是 |
refund_id | 微信退款单号 | 微信退款单号 | 是 |
refund_fee | 申请退款金额 | 退款总金额,单位为元(已被我处理),可以做部分退款 | 否 |
amount | 订单金额 | 订单总金额,单位为元,最多两位小数 | 否 |
相关文章推荐
- 学习php微信开发应用接入API接口笔记
- 6. PHP接入支付宝有密退款接口
- 微信沙盒退款接口demo实例,php微信订单退款接口开发,免充值代金券1004用例——微信支付沙箱开发10
- 调用微信退款接口时出现System.Security.Cryptography.CryptographicException: 出现了内部错误 解决办法
- PHP的json_encode函数应用到微信接口问题(include \uxxxx will create fail)
- 微信硬件设备接入接口协议
- 微信硬件设备接入接口协议
- [PHP]如何使用Face++接口开发微信公共平台的人脸识别系统
- php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
- Linux PHP接入C++标准DLL接口(非COM、非PHP扩展 )的解决方案
- 七牛整合php上传从微信下载接口下载下来的文件
- java 微信与支付宝退款接口开发总结
- PHP接入WebService接口
- php 微信商户发红包,退款,订单查询,企业付款到零钱
- 微信“公众平台测试账号”接口接入指南
- php微信服务端的接口程序
- 【php】微信公众帐号开发接口--调试
- 【php】微信公众帐号开发接口--消息回复
- php版微信数据统计接口用法示例
- 微信接口开发 php版的