统一收单交易创建接口集成开发者指南

简介: 说明:交易创建接口主要是用于创建交易生成trade_no,配合jsapi唤起收银台来唤起支付的。一、官方文档官方文档地址:[url]https://docs.open.alipay.com/api_1/alipay.

说明:

交易创建接口主要是用于创建交易生成trade_no,配合jsapi唤起收银台来唤起支付的。

一、官方文档

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

二、开发前准备工作

1、签约:[url]https://openclub.alipay.com/read.php?tid=276&fid=72[/url]

2、创建应用:[url]https://openclub.alipay.com/read.php?tid=1606&fid=72[/url]

3、生成密钥:[url]https://openclub.alipay.com/read.php?tid=1833&fid=69[/url]

4、下载服务端sdk:[url]https://docs.open.alipay.com/54/106370/[/url]

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

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

检查调用appid的应用功能列表中是否添加“当面付”并显示已签约。

三、接口集成示例代码

1、参数说明

(1)out_trade_no:商户订单号,由商户自定义设置;

(2)subject:商品标题;

(3)buyer_id:买家的支付宝唯一用户号(2088开头的16位纯数字);

(4)total_amount:交易订单金额,精确到小数点后2位,最小设置为0.01;

2、JAVA版请求示例

沙箱账号

//沙箱APPID	public static final  String app_id = "您的appid";	//沙箱私钥pkcs8格式	public static final  String merchant_private_key = "您的应用私钥";	//支付宝公钥	public static final  String alipay_public_key = "您的支付宝公钥";	//沙箱网关地址	public static final  String gatewayUrl = "https://openapi.alipaydev.com/gateway.do";

请求示例

AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key","RSA2");AlipayTradeCreateRequest request = new AlipayTradeCreateRequest();//model格式传值AlipayTradeCreateModel   model =new AlipayTradeCreateModel();	model.setOutTradeNo("20150320010101002");	model.setTotalAmount("0.01");	model.setBuyerId("20888028623****");//传入付款方的pid	model.setSubject("Iphone6 16G");	model.setBody("Iphone6 16G");request.setBizModel(model);/**	json格式传值request.setBizContent("{" +		"\"out_trade_no\":\"20150320010101001\"," +		"\"total_amount\":0.01," +		"\"subject\":\"Iphone6 16G\"," +		"\"body\":\"Iphone6 16G\"," +		"\"buyer_id\":\"20888028623****\"" +//传入付款方的pid		"  }");**/AlipayTradeCreateResponse response = alipayClient.execute(request);//使用第三方应用授权app_auth_token传值方式//AlipayTradeCreateResponse response = alipayClient.execute(request,null,"app_auth_token");if(response.isSuccess()){	System.out.println("调用成功");	System.out.println(response.getBody());} else {	System.out.println("调用失败");	System.out.println(response.getBody());}

返回结果

{"alipay_trade_create_response":{"code":"10000","msg":"Success","out_trade_no":"20150320010101001","trade_no":"2018121722001473950576863846"},"sign":"OqTZURLG3Oa6w1oD2Rg8NLvRzLQsa5GSxBmwvQlrBed+xCh4IfRgWhYQJuk8ru/uoE00DgkFO+zWWYwuW6a50s4+LnSbOo0N9aEE1Ft7ncjXGNalFdhDLumuTvOzgvpS59QsdSx5FsCplMCfG7+rm5ZTN189dICQKzuFridKeMXdrzKEnuJBEdld29+6ptW0Q00Ua1kHWkCHLKKIEMfbob6kKrV3iYsTtCCuAb8lgrpuI+7WyAQQpyakbkoPyxIqUNdaeiijfEHNjMwCh0Nx3qoziyrebK2fiQjWNWXRqW/AoIgPBMdsTr7jCpIMAulANw8z587woA4ELJIfcM879Q=="}

 

3、PHP版请求示例


  gatewayUrl = 'https://openapi.alipaydev.com/gateway.do';$aop->appId = '您的appid';$aop->rsaPrivateKey = '您的应用私钥';$aop->apiVersion = '1.0';$aop->postCharset='utf-8';$aop->format='json';$aop->signType = 'RSA2';//生成随机订单号$date=date("YmdHis");$arr=range(1000,9999);shuffle($arr);$request = new AlipayTradeCreateRequest ();$request->setBizContent("{" .    "\"out_trade_no\":\"".$date.$arr[0]."\"," .    "\"total_amount\":\"0.01\"," .	"\"subject\":\"tets\"," .	"\"buyer_id\":\"2088102175822813\"," .    "\"timeout_express\":\"2m\"" .    "}");$result = $aop->execute($request);//第三方请求,传入的是谁的授权token,资金就收款到谁的账户,不传token则收款到app_id对应的账户//$result = $aop->execute($request,"","auth_token");var_dump($result);?>

返回结果

object(stdClass)[9]  public 'alipay_trade_create_response' =>     object(stdClass)[10]      public 'code' => string '10000' (length=5)      public 'msg' => string 'Success' (length=7)      public 'out_trade_no' => string '201901030700291291' (length=18)      public 'trade_no' => string '2019010322001422810200828570' (length=28)  public 'sign' => string 'Tkud9S3K+866Ldp/aB/11fj9mcd3s9KPjvwooX4Sy1JFJS+9IA7c+X7JldNXRBfhePiJNgT5fiGg/ZYk7g1qzr1zVaCCk+DyoTcNJiy8eLD+FhoqspR4ClXyEjscupLhSEOVvvTeDlBqAb409JWyux9ZMFJoI7InxFS2o7kQiI9MdcaDBM7BYNqUVU2GlZ0EOCqq581yN4I+nynXfIxNIUDCIveSYipqWxUaqKUENCfHOAx4mH+VLEA4337n3oXIu9D1MvGqge1Rr+maUyzcZKQMQeaQ06nYxCW3TmxlTzUYrWoEOLllVS3PXTwfqQj09rCD0lHe5AIrt67BcOGtEQ==' (length=344)

 

4、.NET版请求示例

 IAopClient client = new DefaultAopClient("https://openapi.alipaydev.com/gateway.do", Com.Alipay.Config.appId, Com.Alipay.Config.merchant_private_key, "json", "1.0", "RSA2", Com.Alipay.Config.alipay_public_key, "GBK", false);            AlipayTradeCreateRequest alipayRequest = new AlipayTradeCreateRequest();//创建API对应的request            AlipayTradeCreateModel model = new AlipayTradeCreateModel();            model.OutTradeNo = "2018092815181234561223434123";            model.Subject = "交易创建接口测试";            model.TotalAmount = "0.01";            //用户pid(付款方pid)可使用用户信息授权方式获取            model.BuyerId = "2088102175822813";            alipayRequest.SetBizModel(model);            //第三方调用方式            //AlipayTradeCreateResponse response = client.Execute(alipayRequest, "", "app_auth_token");            //自调用方式            AlipayTradeCreateResponse response = client.Execute(alipayRequest);            Console.WriteLine("交易创建接口返回信息:" + response.Body);

返回结果

交易创建接口返回信息:{"alipay_trade_create_response":{"code":"10000","msg":"Success","out_trade_no":"2018092815181234561223434123","trade_no":"2019010322001422810200828571"},"sign":"eqiXYmUwA7thyXUpF46RQSZy95oaBui78K4DPajWw4BrXUTDzeKWyXBBmQk0PMHLQDNXbk1oO71TsiZzMqFwQ1WJqZwdEuy3nz81bjiFauK6NwdZs4odE/w+LiY8MTBCt7sjWSHI4nj4wtagsmLzixe16TUQP0CDhw29X2/6CQMjz8+YhaV8BAciAt1D2bl7Zk12dYCYilOZugpcWJxZ58pZ3OZ+vYAk1l9DtUqeum+EldimP4ebQIMYnBs0bcqjHrePXd4sxzJW0alSunYrydn2ZgbhWLsuqWhsoGtaac1svDS4uhehgKtAMP2Y0Z78ZSBV2npM4c74RQw4OPtmGQ=="}

四、注意事项

1、获取买家的buyer_id

建议使用用户信息授权接口获取pid,详细的获取方案:[url]https://openclub.alipay.com/read.php?tid=1813&fid=68[/url]

2、基础常识

1).交易创建接口支持第三方代商户发起请求,详细的如何传入app_auth_token的代码在示例里面已经说明

2).接口调用成功返回10000后,这边调用查询接口是可以查询到订单信息的,但是是等待支付状态的订单

3、trade_no请求方式

商家获取到返回的trade_no参数,需要使用jsapi唤起支付,具体详细的建议参考文档

创建订单+JSAPI唤起收银台支付:[url]https://docs.open.alipay.com/common/105591[/url]

4、辅助接口

alipay.trade.query(统一收单线下交易查询)集成流程:[url]https://openclub.alipay.com/read.php?tid=13842&fid=56[/url]

alipay.trade.refund(统一收单交易退款接口) 集成流程:[url]https://openclub.alipay.com/read.php?tid=13853&fid=56[/url]

alipay.trade.fastpay.refund.query(统一收单交易退款查询) :[url]https://openclub.alipay.com/read.php?tid=13962&fid=56[/url]

alipay.trade.close(统收单交易关闭接口)集成流程:[url]https://openclub.alipay.com/read.php?tid=13963&fid=56[/url]

alipay.data.dataservice.bill.downloadurl.query(查询对账单下载地址):[url]https://openclub.alipay.com/read.php?tid=14016&fid=56[/url]

五、Java版本demo

json传值demo:download:交易创建接口json传值Javademo.zip

model传值demo:download:交易创建接口model传值Java demo.zip

    

 

目录
相关文章
|
7月前
|
人工智能 运维 API
Dify开发者必看:如何破解MCP集成与Prompt迭代难题?
Dify 是一个面向AI时代的开源大语言模型(LLM)应用开发平台,致力于让复杂的人工智能应用构建变得简单高效,目前已在全球范围内形成显著影响力,其 GitHub 仓库 Star 数截至 2025 年 6 月已突破 100,000+,目前,Dify 已经成为 LLMOps 领域增长最快的开源项目之一。
|
7月前
|
缓存 监控 安全
电商API集成入门:从零开始搭建高效接口
在数字化电商时代,API集成成为企业提升效率、实现系统互联的关键。本文从零开始,逐步讲解如何搭建高效、可靠的电商API接口,适合初学者学习。内容涵盖API基础、认证安全、请求处理、性能优化等核心步骤,并提供Python代码示例与数学公式辅助理解。通过实践,读者可掌握构建优质电商API的技巧,提升用户体验与系统性能。
314 0
|
人工智能 运维 API
Dify 开发者必看:如何破解 MCP 集成与 Prompt 迭代难题?
Dify 是面向 AI 时代的开源大语言模型应用开发平台,GitHub Star 数超 10 万,为 LLMOps 领域增长最快项目之一。然而其在 MCP 协议集成、Prompt 敏捷调整及运维配置管理上存在短板。Nacos 3.0 作为阿里巴巴开源的注册配置中心,升级支持 MCP 动态管理、Prompt 实时变更与 Dify 环境变量托管,显著提升 Dify 应用的灵活性与运维效率。通过 Nacos,Dify 可动态发现 MCP 服务、按需路由调用,实现 Prompt 无感更新和配置白屏化运维,大幅降低 AI 应用开发门槛与复杂度。
1002 20
|
7月前
|
安全 数据安全/隐私保护
SAP集成HTTP接口(x-www-form-urlencoded格式)
实现这一过程时,务必遵循最佳实践,包括确保代码的稳定性、考虑到异常处理和系统资源的优化使用。这样做不仅能确保数据的安全和有效性,还能提高系统集成的效率和可靠性。
502 4
|
人工智能 数据处理 C#
AI Dev Gallery:微软开源 Windows AI 模型本地运行工具包和示例库,助理开发者快速集成 AI 功能
微软推出的AI Dev Gallery,为Windows开发者提供开源AI工具包和示例库,支持本地运行AI模型,提升开发效率。
833 13
|
安全 测试技术 数据安全/隐私保护
原生鸿蒙应用市场开发者服务的技术解析:从集成到应用发布的完整体验
原生鸿蒙应用市场开发者服务的技术解析:从集成到应用发布的完整体验
|
XML JSON API
开发者必备:淘宝商品列表接口集成全攻略
淘宝开放平台提供的商品列表数据接口让开发者编程获取商品列表数据。接口支持按关键词、类目等查询条件获取商品详情,包括标题、价格等信息。具备灵活性高、数据丰富及操作便捷等特点。使用流程包括注册账号、构建并发送HTTP请求及处理响应数据。可用于电商数据分析、商品推荐等场景。开发者需遵守规定确保数据安全合法。[体验API](c0b.cc/R4rbK2)
|
SQL Java 数据库
实时计算 Flink版产品使用问题之Spring Boot集成Flink可以通过什么方式实现通过接口启动和关闭Flink程序
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
开发者 持续交付 Android开发
Xamarin开发者的秘密武器:如何通过持续集成与持续部署(CI/CD)实现高效、高质量的软件交付
【8月更文挑战第31天】在当今追求高效、高质量软件交付的时代,Xamarin开发者需像大厨般迅速烹制数字化佳肴,而持续集成(CI)与持续部署(CD)则是关键工具。CI要求开发者频繁将代码集成到共享仓库,利用自动化工具如Azure Pipelines或Jenkins自动编译、测试代码,确保质量。CD在此基础上进一步实现自动化部署,简化从开发到生产的全过程。借助如Visual Studio App Center这样的工具,Xamarin项目得以快速构建、测试并部署至Android和iOS平台,显著提升开发效率和代码质量,助力团队乘风破浪,驶向成功的彼岸。
145 0
|
持续交付 测试技术 jenkins
JSF 邂逅持续集成,紧跟技术热点潮流,开启高效开发之旅,引发开发者强烈情感共鸣
【8月更文挑战第31天】在快速发展的软件开发领域,JavaServer Faces(JSF)这一强大的Java Web应用框架与持续集成(CI)结合,可显著提升开发效率及软件质量。持续集成通过频繁的代码集成及自动化构建测试,实现快速反馈、高质量代码、加强团队协作及简化部署流程。以Jenkins为例,配合Maven或Gradle,可轻松搭建JSF项目的CI环境,通过JUnit和Selenium编写自动化测试,确保每次构建的稳定性和正确性。
229 0

热门文章

最新文章