1. 云栖社区>
  2. PHP教程>
  3. 正文

PHP接入支付宝有密退款接口

作者:用户 来源:互联网 时间:2017-12-01 17:09:39

php接口支付接入退款宝有密

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

payment 项目2.0版本


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


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


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


github.io/images/4.png&objectId=1190000006232582&token=1248414a7566ef2e3d3ce505c649b47d?x-oss-process=image/watermark,image_aW1wb3J0LmpwZw==,g_se,x_1,y_1" alt="PHP接入支付宝有密退款接口">


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


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


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

refund_data数据


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

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

内容来源:https://segmentfault.com/a/1190000006232582

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php , 接口 , 支付 , 接入 , 退款 宝有密 ,以便于您获取更多的相关知识。