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

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

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

请求参数

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

refund_data数据

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

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

6. PHP接入支付宝有密退款接口相关推荐

  1. java支付宝无密退款

    支付宝API提供了两处退款的接口文档: ①统一收单退款接口:https://doc.open.alipay.com/doc2/apiDetail.htm?spm=a219a.7395905.0.0.0 ...

  2. 新版支付宝手机网站支付、支付宝pc支付、支付宝无密退款实现

    前面我记录过老版本的支付以及退款,这次写的是新版本的支付和退款 还是那句话,先去看官方文档:https://openhome.alipay.com/developmentDocument.htm 和微 ...

  3. php 支付宝订单查询_5. PHP接入支付宝单笔订单查询接口

    巴西奥运会来了,刚好我又是做体育行业的互联网.哎!这个月又要加班成狗了.最近遇到好多莫名其妙的问题,待我忙完这段,再跟大家分享下.今天还是继续说说 Payment项目 今天主要说说支付宝订单查询接口. ...

  4. 5. PHP接入支付宝单笔订单查询接口

    payment 项目2.0版本 巴西奥运会来了,刚好我又是做体育行业的互联网.哎!这个月又要加班成狗了.最近遇到好多莫名其妙的问题,待我忙完这段,再跟大家分享下.今天还是继续说说 Payment项目 ...

  5. 7. PHP接入支付宝有密批量转款接口

    payment 项目2.0版本 这个接口蛮有用的,不过现阶段支付宝已经停止审核啦!微信的转账功能还可以继续使用.企业可以转账到其他支付宝账户.对于企业活动非常有帮助,比如:购买返现呀! 虽然现在已经不 ...

  6. 支付宝即时到账交易接口和即时到账有密退款接口demo

    https://pan.baidu.com/s/1-bb33MZ26-o0M4sAd5meaw

  7. 微信支付 自动退款 php,银联在线、微信、支付宝自动退款接口文档总结和API地址...

    关于微信和支付宝自动退款接口的接入总结 一:支付宝的自动退款接口接入 支付宝官方api:https://doc.open.alipay.com/doc2/apiDetail.htm?spm=a219a ...

  8. PHP接入支付宝手机网站支付、移动支付接口

    payment 项目2.0版本 前面已经说完了 PHP接入支付宝 即时到帐接口 回调接口也已经完成.这篇主要讲 手机网站支付 . 移动支付 接口的调用.调用方式与即时到帐 基本一样. 关于代码部分的详 ...

  9. 4.PHP接入支付宝手机网站支付、移动支付接口

    Payment项目地址github地址 前面已经说完了 PHP接入支付宝 即时到帐接口 回调接口也已经完成.这篇主要讲 手机网站支付 . 移动支付 接口的调用.调用方式与即时到帐 基本一样. 关于代码 ...

最新文章

  1. 手写html5游戏,HTML5 手写输入法
  2. Fiddler 发送post 请求失败
  3. mysql数据库连接jar_mysql数据库连接包
  4. 优优加速cdn带宽_为什么使用CDN你的网速还是那么慢?
  5. 5行代码解决——L1-042 日期格式化 (5分)
  6. 计算机网络配置调试综合实验,计算机网络设备配置与调试课程标准.doc
  7. manacher java_最大回文子串(Manacher算法)
  8. Maven学习总结(十一)——Maven项目对象模型pom.xml文件详解
  9. 物联网中大数据的挑战有哪些
  10. 谷歌浏览器 js 获取 汉字 乱码
  11. 白噪声的matlab程序,matlab产生白噪声信号
  12. 使用监听扫描枪输入事件
  13. hive-使用开窗函数实现百分比、topN、前百分比
  14. matlab模拟正态分布曲线拟合,[MATLAB数学相关] 急请教:正态分布曲线拟合问题
  15. c语言语法口诀,一般过去时语法口诀
  16. 在Linux系统中的安装cpolar内网穿透
  17. 在电脑上打开手机当前浏览的网页
  18. 农历 Android Java 节气_Android自定义日历,可以点击、标注日期、节气、旧历等
  19. 【算法导论】生日悖论
  20. 斗鱼App产品体验报告

热门文章

  1. 淘宝章文嵩:开源价值很大,但我也算不出来有多大
  2. 【三星官方教程】如何为Gear VR 开发应用(一):开发环境搭建
  3. ZBrush 2021中文版
  4. 新生研讨课课后感ldy3
  5. C#4.0捷径教程笔记(3)
  6. 谷安天下结合owasp的培训
  7. muduo工程文件更改目录后编译提示源不匹配
  8. 产品销售好坏需要哪些方面分析原因-悟空软件与你一起探讨
  9. 再见虚拟机!聊聊 PC 端运行 Docker 的正确姿势!
  10. 网页模板设计之配色应用实例--蓝色系(模板编号00168)