博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP接入支付宝有密退款接口
阅读量:6161 次
发布时间:2019-06-21

本文共 1628 字,大约阅读时间需要 5 分钟。

这个接口主要用于退款操作。之前没有接入该功能时,商城用户如果想要退款,我们需要先查到对应用户的支付流水号,然后写退款申请给财务,财务到支付宝进行查询。完了之后原路退回。然后告诉程序,程序再去修改订单状态。

这样的流程不仅麻烦。而且充满不安全性。如果程序误操作(或者是心情太差了),操作为其他人员,那么这将会为企业带来很大的风险。

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。界面如下:

image

这时候,只需要要输入支付密码。就可完成退款。确认完毕后会自动完成异步通知。异步通知数据内容在 已经说明。

备注:支付宝支持一次退款多笔。也可单次退款一笔,请自行根据情况进行设置。

请求参数

参数 参数名 参数说明 是否必须
refund_no 退款单号 由商家自定义生成,可由字母、数字组成
refund_data 退款数据 详细内容见后表,它是一个数组

refund_data数据

参数 参数名 参数说明 是否必须
transaction_id 支付宝流水号 支付成功时,异步通知时有返回
amount 订单总金额 订单总金额,应该等于支付时的金额
refund_fee 退款金额 退款金额,不能超过支付的总金额
reason 退款理由 退款理由

一笔订单,可分多次进行退款处理。比如:一笔支付100元的订单。可分为10次,每次退款10元。该思路可扩展一下,就可实现提现功能(原路返回),想要具体了解提现功能,可咨询我!

转载地址:http://kyrfa.baihongyu.com/

你可能感兴趣的文章
MySQL kill操作
查看>>
windows下看端口占用
查看>>
Decommissioning a Domain Controller 降域控
查看>>
Character中的奇葩
查看>>
c++书籍推荐
查看>>
轻松监听Azure service health 状态
查看>>
获取SQL SERVER某个数据库中所有存储过程的参数
查看>>
在Linux下编译安装Apache2(2)
查看>>
Method Swizzling 处理一类简单的崩溃
查看>>
AngularJS学习!
查看>>
在Eclipse中搭建Python Django
查看>>
struts国际化
查看>>
Laravel 5.0 - Middleware (中间件)
查看>>
文件特殊权限及facl
查看>>
我的友情链接
查看>>
Android按两次返回键退出应用
查看>>
第一章:认识Redhat Linux
查看>>
文本查看指令
查看>>
我的友情链接
查看>>
android开源项目框架大全:《IT蓝豹》
查看>>