alipay.trade.refund(统一收单交易退款接口)如何判断退款是否成功

简介: 1、通过同步返回的信息来判断退款  调用退款接口成功同步返回信息示例:{"alipay_trade_refund_response":{"code":"10000","msg":"Success","buyer_logon_id":"150****8675","buyer_user_id":"...

1、通过同步返回的信息来判断退款

  调用退款接口成功同步返回信息示例:

{
  "alipay_trade_refund_response":{
  "code":"10000","msg":"Success","buyer_logon_id":"150****8675","buyer_user_id":"2088702939584880","fund_change":"Y","gmt_refund_pay":"2018-08-01 14:16:22","out_trade_no":"201881141452422","refund_fee":"0.01","send_back_fee":"0.00","trade_no":"2018080121001004890510526853"},"sign":"HxpAjxLvEE8LdNhiwsNZ15ucXbUTo8C0Fj9ib3ycHsxgP7bNVRqNV1IS5SHMi2/6wDz7yGBJFepb78+gFjrZ5EEFHjp81Cjbvmieb4FJAtm+7EPl1IiU/oxDKLaQ1JV2j2d4BO241flQ4HJmKzewBlCWeutxciLj/gxruMYCNAGjklg0ANaJwIBMZShWce0FLUqv+FX7v2k5Y9rmySyidL3f1ErEmbDXypxk2TDe9vGZvwyhBQlG19iNs8GNA6tMjOMFrggIadAx5WBwOfzVIBgfiMHpWicL37Ziflz9SRGa0N8+8dxBq+PPLlHeO+YOIni9He4WyZLphuykdrxdA=="}

其中"code":"10000","msg":"Success" 只是表示退款接口调用成功,实际是否退款成功需要依据同步返回参数中的fund_change(本次退款是否发生了资金变化)参数来判断 如果fund_change返回的参数是Y那么就可以确定为退款成功


2、通过退款查询接口来判断

退款查询接口同步返回信息示例:

{
  "alipay_trade_fastpay_refund_query_response":{
  "code":"10000","msg":"Success","out_request_no":"201881141452422","out_trade_no":"201881141452422","refund_amount":"0.01","total_amount":"0.01","trade_no":"2018080121001004890510526880"},"sign":"Ww37FfpEkmcKZVFYZrGMm/tq0crAVHhdVYXtJyw9qawsA/hg2eBIpwHWC1C0DLN78nGQVaw9yl+eyuyEOFEGwOPTCJmx1Fd9YnzAznPWA+GgyaQoZs7ILKG985odSY22fRKJwolP7kvPBSsWRL8YdRU6I5KPOSOoWJWjrp4hK0bONrQn7XpUAX54QLexjwpw9bSpvUCVhi+TEQDVkLb3uSfKLuHKGRBlD6JNEH32tLoedyNCp+KBpd/IcivzcTMMsUFHdRHbCFM9RMq/+h5wRO8UhGFNYx7AAPCj3VmRdbo8+jSr8nSCKNoQFcbY5MCHK7rrCcXK5XvhyjkV6NOiQ=="}

同样的,这里的code":"10000","msg":"Success" 表示的是调用接口成功,判断退款是否成功需要依据该接口是否返回了查询数据,如果返回了则代表退款成功,如果没有查询到则代表未退款成功,可以调用退款接口进行重试。重试时请务必保证退款请求号一致。这里的返回查询数据指的就是在这个接口调用成功后是否有返回如示例中的out_request_no,out_trade_no,refund_amount,trade_no 等参数  如果有返回则可判定为退款成功


3、通过触发的异步信息来判断

  在这个退款接口是没有传入异步地址的位置的,退款的异步通知是依据支付接口的触发条件来触发的,异步通知也是发送到支付接口传入的异步地址上。 

  (1)部分退款:部分退款交易状态是处于TRADE_SUCCESS(交易成功),此时因部分退款导致交易金额变动,都会触发异步通知 
  (2)全额退款:交易成功后全额退款,交易状态会转为TRADE_CLOSED(交易关闭),此时根据不同的支付接口触发条件也不同,例如APP支付接口TRADE_CLOSED(交易关闭)状态触发异步,此时就会收到全额退款的异步通知。而电脑网站支付TRADE_CLOSED(交易关闭)状态不会触发异步,就不会有全额退款的异步通知 

这里如果退款触发了异步信息,退款的异步信息中会有refund_fee 退款总金额参数,如果有这个参数就可以确定这一笔退款成功了

注:详细的支付接口的异步触发条件:

如有其它疑问,欢迎大家在帖子后面追问!

目录
相关文章
|
敏捷开发 Dubbo Java
需求开发人日评估
随着敏捷开发在国内的风靡,越来越多的团队开始推行敏捷开发,这其中有一个关键事项就是:工时的人日评估。简单来说就是:项目经理会让开发人员自己评估自己负责的模块大概需要的开发周期。 人日,即按照1人几天完成,如1/人日:表示这个需求需要1个人1天完成,如果有2个人一起做,可能就是0.5天(需求开发一般1+1 < 2,因为有代码合并的兼容性要处理)。
1770 1
|
开发框架 负载均衡 Java
Spring Cloud 介绍及负载均衡Ribbon、服务容错Hystrix 组件使用详解
Spring Cloud 介绍及负载均衡Ribbon、服务容错Hystrix 组件使用详解
669 0
|
人工智能 JSON 安全
MCP Server 实践之旅第 1 站:MCP 协议解析与云上适配
本文深入解析了Model Context Protocol(MCP)协议,探讨其在AI领域的应用与技术挑战。MCP作为AI协作的“USB-C接口”,通过标准化数据交互解决大模型潜力释放的关键瓶颈。文章详细分析了MCP的生命周期、传输方式(STDIO与SSE),并提出针对SSE协议不足的优化方案——MCP Proxy,实现从STDIO到SSE的无缝转换。同时,函数计算平台被推荐为MCP Server的理想运行时,因其具备自动弹性扩缩容、高安全性和按需计费等优势。最后,展望了MCP技术演进方向及对AI基础设施普及的推动作用,强调函数计算助力MCP大规模落地,加速行业创新。
3113 77
|
数据采集 API 开发工具
项目支付接入支付宝【沙箱环境】
该博客文章详细介绍了如何在PC端项目中接入支付宝支付功能,特别是在沙箱环境中的配置和实现步骤。文章提供了详细的配置指南,包括获取支付宝公钥和私钥、配置沙箱应用环境、生成密钥、设置服务端代码以及调用支付接口等步骤,并附有相应的代码示例和说明。
项目支付接入支付宝【沙箱环境】
|
缓存 Java Nacos
nacos常见问题之无法注册如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
3327 7
alipay.trade.refund(统一收单交易退款接口) 集成流程
接口名称:统一收单交易退款接口 英文名称:alipay.trade.refund 主要用于交易资金的退款 一、文档地址 官方文档地址:[url]https://docs.open.alipay.com/api_1/alipay.trade.refund[/url] 二、开发前准备工作 调用步骤:[url]https://openclub.alipay.com/read.php?tid=12194&fid=69[/url] 注意事项:1、支持沙箱测试;2、需签约并添加功能;3、支持第三方调用。
3247 0
|
开发框架 .NET 数据库连接
解决HTTP错误500.19 - internal server error -内部服务器错误的终极指南
解决HTTP错误500.19 - internal server error -内部服务器错误的终极指南
5645 0
|
Java Maven Kotlin
idea maven创建kotlin项目
本文介绍了在IntelliJ IDEA中使用Maven创建Kotlin项目的步骤,包括在`pom.xml`文件中添加Maven中央仓库、配置`kotlin-maven-plugin`插件、指定源目录、添加测试插件和执行插件,以及添加Kotlin测试依赖和标准库依赖。文中还提到了如何通过更换镜像或使用代理来解决依赖下载速度慢的问题,并展示了运行示例代码的截图。
1009 4
idea maven创建kotlin项目
|
存储 缓存 安全
动态DMA映射指南 【ChatGPT】
动态DMA映射指南 【ChatGPT】
|
Java 关系型数据库 MySQL
【已解决】SpringBoot 启动报错:Failed to configure a DataSource: ‘url‘ attribute is not specified and no emb
【已解决】SpringBoot 启动报错:Failed to configure a DataSource: ‘url‘ attribute is not specified and no emb
10043 1