收发现金红包——alipay.fund.coupon.order.refund(红包退回接口)

简介: 接口名称:红包退回接口英文名称:alipay.fund.coupon.order.refund产品首页:[url]https://openclub.alipay.com/read.php?tid=12180&fid=72[/url]上一步:[url]https://openclub.alipay.com/read.php?tid=13609&fid=72[/url]下一步:[url]https://openclub.alipay.com/read.php?tid=13612&fid=72[/url]一、注意事项1、未领取的红包,可通过红包退回接口。

接口名称:红包退回接口

英文名称:alipay.fund.coupon.order.refund

产品首页:[url]https://openclub.alipay.com/read.php?tid=12180&fid=72[/url]

上一步:[url]https://openclub.alipay.com/read.php?tid=13609&fid=72[/url]

下一步:[url]https://openclub.alipay.com/read.php?tid=13612&fid=72[/url]

一、注意事项

1、未领取的红包,可通过红包退回接口。

2、当收发现金红包支付宝退款时,是有异步通知的,通知地址是支付接口的异步通知地址;

3、异步说明:

(1)红包退回接口调用进行退款的异步通知是通过红包退回接口设置的notify_url地址进行接收;

(2)无论是全额退款,还是部分退款,只要退款成功,notify_type=fund_stdtrustee_refund.success就会触发异步通知;

(3)没有调用接口,而是超时退款的异步通知是根据支付接口设置的notify_url地址进行接收;

二、参数说明

1、auth_no:发放红包时产生的支付宝资金订单号(支付接口返回的auth_no);

2、out_request_no:商户本次资金操作的请求流水号;

3、amount:退款金额;

三、接口请求示例

JAVA版请求示例

public static void main(String[] args) throws AlipayApiException {
        //在SDK调用前需要进行初始化
		AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, AlipayConfig.format, AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);
        AlipayFundCouponOrderRefundRequest request = new AlipayFundCouponOrderRefundRequest();
        AlipayFundCouponOrderRefundModel model = new AlipayFundCouponOrderRefundModel();
        //支付时传入的支付宝的资金授权订单号
        model.setAuthNo("2018081710002001860231318890");
        //商户本次资金操作的请求流水号
        model.setOutRequestNo("refund20171228254");
        model.setAmount("0.01");
        model.setRemark("支付后,剩余红包退款");
        request.setBizModel(model);
        request.setNotifyUrl("http://退款异步发送地址");
        AlipayFundCouponOrderRefundResponse response=alipayClient.execute(request);
        System.out.println(response.getBody());
}


PHP版请求示例


  
require_once 'AopSdk.php';
$aop = new AopClient ();
$aop->appId = '填写您的appid';
$aop->rsaPrivateKey = '填写您的私钥';
$aop->alipayrsaPublicKey='填写您的支付宝公钥';
$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
$aop->apiVersion = '1.0';
$aop->signType = 'RSA2';
$aop->postCharset='utf-8';
$aop->format='json';
$date=date("YmdHis");
$arr=range(1000,9999);
shuffle($arr);
$request = new AlipayFundCouponOrderDisburseRequest ();
$request = new AlipayFundCouponOrderRefundRequest ();
request.setNotifyUrl("http://退款异步发送地址");
$request->setBizContent("{" .
		""auth_no":"2018081710002001860231318890"," .
		""out_request_no":"refund20171228254"," .
		""amount":0.01," .
		""remark":"支付后,剩余红包退款"" .
		"}");
$result = $aop->execute ( $request); 
var_dump($result);

.NET版本请求示例

IAopClient client = new DefaultAopClient(config.gatewayUrl, config.app_id, config.private_key, "json", "1.0", "RSA2", config.alipay_public_key, config.charset, false);


        AlipayFundCouponOrderRefundRequest request = new AlipayFundCouponOrderRefundRequest();
        request.BizContent="{" +
        ""auth_no":"2018081710002001860231318890"," +
		""out_request_no":"refund20171228254"," +
		""amount":0.01," +
		""remark":"支付后,剩余红包退款"" +
        "  }";
        request.setNotifyUrl("http://退款异步发送地址");
        AlipayFundCouponOrderRefundResponse response=client.execute(request);
        Response.Write(response.Body);

四、异步通知

触发通知类型

异步通知示例

支付成功后,触发异步通知,notify_url地址接收通知如下

https://退款接口设置的异步地址?notify_type=fund_stdtrustee_refund.success&notify_id=91722adff935e8cfa58b3aabf4dead6ibe&notify_time=2017-02-16 21:46:15&sign_type=RSA2&sign=WcO+t3D8Kg71dTlKwN7r9PzUOXeaBJwp8/FOuSxcuSkXsoVYxBpsAidprySCjHCjmaglNcjoKJQLJ28/Asl93joTW39FX6i07lXhnbPknezAlwmvPdnQuI01HZsZF9V1i6ggZjBiAd5lG8bZtTxZOJ87ub2i9GuJ3Nr/NUc9VeY=&auth_no=null&out_order_no=null&operation_id=null&out_request_no=null&operation_type=REFUND&amount=退款金额&status=null&gmt_create=null&gmt_trans=null&payer_logon_id=null&payer_user_id=null

五、显示效果

image.png

总的流程页面账单显示如下:


如果还是报错,请按如下方式进行提问:

正确提问方式:使用环境(沙箱还是正式环境)+接口名称(中文+英文)+ 请求参数 + 报错信息详情

目录
相关文章
|
Python
Ubuntu18.04 ROS Melodic安装和卸载
Ubuntu18.04 ROS Melodic安装和卸载简单过程
667 0
CMake Error: The source “xxx“ does not match the source “yyy“ used to generate cache. Re-run cmake
CMake Error: The source “xxx“ does not match the source “yyy“ used to generate cache. Re-run cmake
1656 0
|
监控 机器人 Shell
Nightingale——夜莺监控系统部署企业微信机器人告警系【四】
Nightingale——夜莺监控系统部署企业微信机器人告警系【四】
627 1
Nightingale——夜莺监控系统部署企业微信机器人告警系【四】
|
12月前
|
机器学习/深度学习 人工智能 异构计算
SkyReels-A1:解放动画师!昆仑开源「数字人制造机」:一张照片生成逼真虚拟主播,表情连眉毛颤动都可控
SkyReels-A1 是昆仑万维开源的首个 SOTA 级别表情动作可控的数字人生成模型,支持高保真肖像动画生成和精确的表情动作控制。
1281 23
|
JavaScript 前端开发
基于SVG的js圆形菜单插件
这是一款基于SVG的js圆形菜单插件。该js圆形菜单插件可以生成漂亮的圆形菜单效果,支持二级菜单,支持使用鼠标滚动切换菜单
261 16
|
12月前
|
机器学习/深度学习 存储 数据可视化
这份Excel+Python飞速搞定数据分析手册,简直可以让Excel飞起来
本书介绍了如何将Python与Excel结合使用,以提升数据分析和处理效率。内容涵盖Python入门、pandas库的使用、通过Python包操作Excel文件以及使用xlwings对Excel进行编程。书中详细讲解了Anaconda、Visual Studio Code和Jupyter笔记本等开发工具,并探讨了NumPy、DataFrame和Series等数据结构的应用。此外,还介绍了多个Python包(如OpenPyXL、XlsxWriter等)用于在无需安装Excel的情况下读写Excel文件,帮助用户实现自动化任务和数据处理。
|
缓存 监控 负载均衡
提高服务器CPU使用率
提高服务器CPU使用率
1494 8
|
存储 SQL 关系型数据库
【赵渝强老师】PostgreSQL的物理存储结构
PostgreSQL在初始化时通过环境变量$PGDATA指定的目录下生成各类文件,构成其物理存储结构,包括数据文件、日志文件(如运行日志、WAL预写日志、事务日志和服务器日志)、控制文件及参数文件等,确保数据库的高效运行与数据安全。
357 1
|
存储 缓存 NoSQL
Redis深度解析:部署模式、数据类型、存储模型与实战问题解决
Redis深度解析:部署模式、数据类型、存储模型与实战问题解决
|
安全 Java
一文教你,synchronized和Lock的区别?
最近有多位粉丝被问到synchronized和Lock,据说还是阿里一面的面试题。在分布式开发中,锁是控制线程的重要方式。Java提供了两种锁机制synchronized 和 Lock。接下来,我给大家分享一下我对synchronized和Lock的理解。
482 0

热门文章

最新文章