6. PHP接入支付宝有密退款接口
2016-08-03 20:17
519 查看
payment 项目2.0版本
这个接口主要用于退款操作。之前没有接入该功能时,商城用户如果想要退款,我们需要先查到对应用户的支付流水号,然后写退款申请给财务,财务到支付宝进行查询。完了之后原路退回。然后告诉程序,程序再去修改订单状态。
这样的流程不仅麻烦。而且充满不安全性。如果程序误操作(或者是心情太差了),操作为其他人员,那么这将会为企业带来很大的风险。
以上请求发送完毕后,会跳转到生成的url。界面如下:
这时候,只需要要输入支付密码。就可完成退款。确认完毕后会自动完成异步通知。异步通知数据内容在 支付的回调统一处理 已经说明。
备注:支付宝支持一次退款多笔。也可单次退款一笔,请自行根据情况进行设置。
refund_data数据
一笔订单,可分多次进行退款处理。比如:一笔支付100元的订单。可分为10次,每次退款10元。该思路可扩展一下,就可实现提现功能(原路返回),想要具体了解提现功能,可咨询我!
这个接口主要用于退款操作。之前没有接入该功能时,商城用户如果想要退款,我们需要先查到对应用户的支付流水号,然后写退款申请给财务,财务到支付宝进行查询。完了之后原路退回。然后告诉程序,程序再去修改订单状态。
这样的流程不仅麻烦。而且充满不安全性。如果程序误操作(或者是心情太差了),操作为其他人员,那么这将会为企业带来很大的风险。
SDK调用
支付宝支持多笔退款。// 支付宝配置信息 $aliconfig = [ 'partner' => '2088xxxxx', 'md5_key' => 'xxxxxxxxxxxx', 'rsa_private_key' => dirname(__FILE__) . '/rsa_private_key.pem', "notify_url" => 'http://test.helei.com/pay-notify.html', "return_url" => 'http://test.helei.com/return-url.html', "time_expire" => '14', ]; // 生成退款单号 便于测试 function createPayid() { return date('Ymdhis', time()).substr(floor(microtime()*1000),0,1).rand(0,9); } // 退款数据 $reundData = [ 'refund_no' => createPayid(), 'refund_data' => [ ['transaction_id' => '2016011421001004330041239366', 'amount' => '0.01', 'refund_fee' => '0.01', 'reason' => '测试退款1'], ['transaction_id' => '2016031521001004330271745693', 'amount' => '0.01', 'refund_fee' => '0.01', 'reason' => '测试退款2'], ], ]; $refund = new RefundContext(); try { $refund->initRefund(Config::ALI, $aliconfig); $ret = $refund->refund($reundData); } catch (PayException $e) { echo $e->errorMessage();exit; } // 跳转支付宝 header("Location:{$ret}");
以上请求发送完毕后,会跳转到生成的url。界面如下:
这时候,只需要要输入支付密码。就可完成退款。确认完毕后会自动完成异步通知。异步通知数据内容在 支付的回调统一处理 已经说明。
备注:支付宝支持一次退款多笔。也可单次退款一笔,请自行根据情况进行设置。
请求参数
参数 | 参数名 | 参数说明 | 是否必须 |
---|---|---|---|
refund_no | 退款单号 | 由商家自定义生成,可由字母、数字组成 | 是 |
refund_data | 退款数据 | 详细内容见后表,它是一个数组 | 是 |
参数 | 参数名 | 参数说明 | 是否必须 |
---|---|---|---|
transaction_id | 支付宝流水号 | 支付成功时,异步通知时有返回 | 是 |
amount | 订单总金额 | 订单总金额,应该等于支付时的金额 | 否 |
refund_fee | 退款金额 | 退款金额,不能超过支付的总金额 | 是 |
reason | 退款理由 | 退款理由 | 是 |
相关文章推荐
- 4.PHP接入支付宝手机网站支付、移动支付接口
- 7. PHP接入支付宝有密批量转款接口
- 2. PHP接入支付宝 即时到帐接口
- 5. PHP接入支付宝单笔订单查询接口
- php接入支付宝接口以及嵌入thinkphp框架
- 10.PHP接入微信退款接口
- PHP接入支付宝下单接口
- [PHP]误读支付宝接口可能引发的乌龙
- 教你实现PHP支付宝接口
- php 支付宝接口程序源码(完整版带实例)
- 支付宝担即时到帐批量退款接口(转)
- 在线支付接口之PHP支付宝接口开发简单介绍
- Android 接入支付宝接口
- PHP接入WebService接口
- 支付宝极简收银台(无线快捷支付)SDK,PHP服务端接入经验
- Linux PHP接入C++标准DLL接口(非COM、非PHP扩展 )的解决方案
- php支付宝接口用法分析
- 支付宝付款接口不支持个人博客接入
- php接入短信接口
- 支付宝php支付接口说明