alipay.trade.close(统一收单交易关闭接口)集成流程

简介: 接口名称:统一收单交易关闭接口英文名称:alipay.trade.close主要用于订单创建后,关闭一定时间内没有支付的订单信息一、文档地址官方文档地址:[url]https://docs.open.alipay.com/api_1/alipay.trade.close[/url]二、开发前准备工作调用步骤:[url]https://openclub.alipay.com/read.php?tid=12194&fid=69[/url]注意事项:1、支持沙箱测试;2、需签约并添加功能;3、支持第三方调用。

接口名称:统一收单交易关闭接口

英文名称:alipay.trade.close

主要用于订单创建后,关闭一定时间内没有支付的订单信息

一、文档地址

官方文档地址:[url]https://docs.open.alipay.com/api_1/alipay.trade.close[/url]

二、开发前准备工作

调用步骤:[url]https://openclub.alipay.com/read.php?tid=12194&fid=69[/url]

注意事项:1、支持沙箱测试;2、需签约并添加功能;3、支持第三方调用。

如何签约以及签约无法成功等相关签约问题[url]https://openclub.alipay.com/read.php?tid=276&fid=72[/url]

注:该接口为辅助接口,只要签约当面付、手机网站支付、电脑网站支付和APP支付,四个支付接口中其中一个就可以调用。

三、接口集成代码示例

1、参数说明

(1)out_trade_no:商户订单号,该参数值为退款接口中设置的out_trade_no参数值;

(2)trade_no:支付宝交易号,该参数值为支付接口订单创建后,退款接口设置的trade_no参数值;

注:out_trade_no和trade_no至少必传其中一个参数,两者同时设置优先取值trade_no。

2、JAVA版请求示例

public static void main(String[] args)throws AlipayApiException {
		AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, AlipayConfig.format, AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);
		AlipayTradeCloseRequest request = new AlipayTradeCloseRequest();
		AlipayTradeCloseModel model = new AlipayTradeCloseModel();
		model.setOutTradeNo("page2018727205734612444550");
//		model.setTradeNo("2019032622001494891000009754");
		request.setBizModel(model);
		AlipayTradeCloseResponse response =  alipayClient.execute(request);
		if(response.isSuccess()){
			System.out.println("调用成功");
		} else {
			System.out.println("调用失败");
		}
		System.out.println(response.getBody());
}

响应参数

{"alipay_trade_close_response":{"code":"10000","msg":"Success","out_trade_no":"page2018727205734612444550","trade_no":"2019032622001494891000009754"},"sign":"PBq1QUBMhnBN6OWz3uLBxKY/8ep70OiIFr8eJB7/EjCtCowkGsXvNhkPzKdRByYlfvq2B+mjmaa2/DL1Gr32IOSZN+noxNUabnmYEmZCmTw3QzImcG+kQMovezo1SU+7TMhkvdvqEWOuBctK99BgGtSFdc6XyzZC5IFq4o6CoLyvOD3iMJ5xSghsr6AdM0pT/srIkZONEI0zt3wyA0fkMzteP8b9gPjr+qRDTq5gJWXKXFzMdzm+HpW0y2WYF4r+RqsYOgMSs91F1xkJCsK27etGfUM25vLPNPrj9DEqQOaY++J6MdvcdPoVcifZNY7OC4fsUNiNkjckJ7nrxoR/Nw=="}


3、PHP版请求示例

<?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 AlipayTradeCloseRequest();
$request->setBizContent("{" .
		""out_trade_no":"page2018727205734612444550"," .
		""trade_no":"2019032622001494891000009754"" .
		"  }");
$result = $aop->execute($request); 
//第三方调用
//$result = $aop->execute($request,"","app_auth_token"); 
echo json_encode($result);

响应参数

{"alipay_trade_close_response":{"code":"10000","msg":"Success","out_trade_no":"page2018727205734612444550","trade_no":"2019032622001494891000009754"},"sign":"PBq1QUBMhnBN6OWz3uLBxKY/8ep70OiIFr8eJB7/EjCtCowkGsXvNhkPzKdRByYlfvq2B+mjmaa2/DL1Gr32IOSZN+noxNUabnmYEmZCmTw3QzImcG+kQMovezo1SU+7TMhkvdvqEWOuBctK99BgGtSFdc6XyzZC5IFq4o6CoLyvOD3iMJ5xSghsr6AdM0pT/srIkZONEI0zt3wyA0fkMzteP8b9gPjr+qRDTq5gJWXKXFzMdzm+HpW0y2WYF4r+RqsYOgMSs91F1xkJCsK27etGfUM25vLPNPrj9DEqQOaY++J6MdvcdPoVcifZNY7OC4fsUNiNkjckJ7nrxoR/Nw=="}


4、.NET版请求示例

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

        AlipayTradeCloseRequest request = new AlipayTradeCloseRequest();
        request.BizContent = "{" +
                            ""out_trade_no":"20190322ygyg45484787400001"" +
                         // ""trade_no":"20190321ygyg45447000001"" +
                             "}";

        AlipayTradeCloseResponse response = client.Execute(request);
        

响应参数返回示例:

{"alipay_trade_close_response":{"code":"10000","msg":"Success","out_trade_no":"20190322ygyg45484787400001","trade_no":"2019032622001401091000012168"},"sign":"kI06QoSZCMnrUowRja9Pr5u+uvCD8OAz2eDcHje2WWWIiTgCnOeN8/84eQ1rIuoOGBOh/XDqsdNut3YQiC5s/8nppaOYR/REfxFuxx98lwWZ/G5TQpyGg8FOJlHmPln0u4K2vlSeiYUGExwCuoCeL8TiBCrq+QLttUEYjCV8E63HcP86rb4MQLKewAFyUMldKLRcYDHaiOyqPbxVOfqkXtX8CROr/vX4pF7u2n0OPFq77qHbvyFAGy7VLffxVDOGEDUKuOBXiKlxln/UnB1D5UNScbZhOoUrkBko9J6zCRtMc2AzM7rqQUAEYY8Gzn8oeRplAVOL6j3xHcWrO/R6LA=="}

四、注意事项

1、订单关闭要求

必须在订单创建后,一定时间内没有支付的交易:交易状态必须是WAIT_BUYER_PAY;

若没有设置超时参数,系统默认已创建未支付的订单关闭时间为15天。

2、如何关闭已创建订单

(1)可通过关闭接口进行关闭已创建订单;

(2)可通过支付接口中设置timeout_express或time_expire参数进行控制,具体参考对应支付接口参数说明。

timeout_express参数详解:[url]https://openclub.alipay.com/read.php?tid=1696&fid=72[/url]

time_expire参数详解:[url]https://openclub.alipay.com/read.php?tid=4182&fid=62[/url]

2、关闭接口和撤销接口的区别

关闭接口:用于订单创建后,关闭一定时间内没有支付的订单信息。

撤销接口:只有发生支付系统超时或者支付结果未知时可调用撤销,其他正常支付的订单如需实现相同功能请调用退款接口。

注:(1)撤销接口在提交支付交易后调用【查询订单API】,没有明确的支付结果再调用【撤销订单API】。

       (2)撤销接口只能用于当面付接口产生的交易,关闭接口可用于四大支付接口产品的交易。

3、关闭是否触发异步通知

根据文档异步触发条件,只有手机网站支付和APP支付交易关闭(trade_close)才会触发异步通知,具体参考各接口异步触发条件:

当面付异步触发条件:[url]https://docs.open.alipay.com/194/103296/#s1[/url]

电脑网站支付异步触发条件:[url]https://docs.open.alipay.com/270/105902/#s2[/url]

手机网站支付异步触发条件:[url]https://docs.open.alipay.com/203/105286/#s2[/url]

APP网站支付异步触发条件:[url]https://docs.open.alipay.com/204/105301/#a-nameoxi0vga%E9%80%9A%E7%9F%A5%E8%A7%A6%E5%8F%91%E6%9D%A1%E4%BB%B6[/url]


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

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

目录
相关文章
|
4月前
|
持续交付 jenkins Devops
WPF与DevOps的完美邂逅:从Jenkins配置到自动化部署,全流程解析持续集成与持续交付的最佳实践
【8月更文挑战第31天】WPF与DevOps的结合开启了软件生命周期管理的新篇章。通过Jenkins等CI/CD工具,实现从代码提交到自动构建、测试及部署的全流程自动化。本文详细介绍了如何配置Jenkins来管理WPF项目的构建任务,确保每次代码提交都能触发自动化流程,提升开发效率和代码质量。这一方法不仅简化了开发流程,还加强了团队协作,是WPF开发者拥抱DevOps文化的理想指南。
96 1
|
3月前
|
图形学 iOS开发 Android开发
从Unity开发到移动平台制胜攻略:全面解析iOS与Android应用发布流程,助你轻松掌握跨平台发布技巧,打造爆款手游不是梦——性能优化、广告集成与内购设置全包含
【8月更文挑战第31天】本书详细介绍了如何在Unity中设置项目以适应移动设备,涵盖性能优化、集成广告及内购功能等关键步骤。通过具体示例和代码片段,指导读者完成iOS和Android应用的打包与发布,确保应用顺利上线并获得成功。无论是性能调整还是平台特定的操作,本书均提供了全面的解决方案。
157 0
|
4月前
|
持续交付 jenkins C#
“WPF与DevOps深度融合:从Jenkins配置到自动化部署全流程解析,助你实现持续集成与持续交付的无缝衔接”
【8月更文挑战第31天】本文详细介绍如何在Windows Presentation Foundation(WPF)项目中应用DevOps实践,实现自动化部署与持续集成。通过具体代码示例和步骤指导,介绍选择Jenkins作为CI/CD工具,结合Git进行源码管理,配置构建任务、触发器、环境、构建步骤、测试及部署等环节,显著提升开发效率和代码质量。
89 0
|
4月前
|
Java 测试技术 容器
从零到英雄:Struts 2 最佳实践——你的Web应用开发超级变身指南!
【8月更文挑战第31天】《Struts 2 最佳实践:从设计到部署的全流程指南》深入介绍如何利用 Struts 2 框架从项目设计到部署的全流程。从初始化配置到采用 MVC 设计模式,再到性能优化与测试,本书详细讲解了如何构建高效、稳定的 Web 应用。通过最佳实践和代码示例,帮助读者掌握 Struts 2 的核心功能,并确保应用的安全性和可维护性。无论是在项目初期还是后期运维,本书都是不可或缺的参考指南。
54 0
|
4月前
|
SQL 存储 数据管理
掌握SQL Server Integration Services (SSIS)精髓:从零开始构建自动化数据提取、转换与加载(ETL)流程,实现高效数据迁移与集成——轻松上手SSIS打造企业级数据管理利器
【8月更文挑战第31天】SQL Server Integration Services (SSIS) 是 Microsoft 提供的企业级数据集成平台,用于高效完成数据提取、转换和加载(ETL)任务。本文通过简单示例介绍 SSIS 的基本使用方法,包括创建数据包、配置数据源与目标以及自动化执行流程。首先确保安装了 SQL Server Data Tools (SSDT),然后在 Visual Studio 中创建新的 SSIS 项目,通过添加控制流和数据流组件,实现从 CSV 文件到 SQL Server 数据库的数据迁移。
291 0
|
5月前
|
XML JSON API
开发者必备:淘宝商品列表接口集成全攻略
淘宝开放平台提供的商品列表数据接口让开发者编程获取商品列表数据。接口支持按关键词、类目等查询条件获取商品详情,包括标题、价格等信息。具备灵活性高、数据丰富及操作便捷等特点。使用流程包括注册账号、构建并发送HTTP请求及处理响应数据。可用于电商数据分析、商品推荐等场景。开发者需遵守规定确保数据安全合法。[体验API](c0b.cc/R4rbK2)
|
5月前
|
SQL Java 数据库
实时计算 Flink版产品使用问题之Spring Boot集成Flink可以通过什么方式实现通过接口启动和关闭Flink程序
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
5月前
|
XML Java 数据格式
支付系统----微信支付20---创建案例项目--集成Mybatis-plus的补充,target下只有接口的编译文件,xml文件了,添加日志的写法
支付系统----微信支付20---创建案例项目--集成Mybatis-plus的补充,target下只有接口的编译文件,xml文件了,添加日志的写法
|
2月前
|
Java Maven Docker
gitlab-ci 集成 k3s 部署spring boot 应用
gitlab-ci 集成 k3s 部署spring boot 应用
|
22天前
|
消息中间件 监控 Java
您是否已集成 Spring Boot 与 ActiveMQ?
您是否已集成 Spring Boot 与 ActiveMQ?
43 0

热门文章

最新文章