条码支付集成开发者指南

简介: 本帖仅供参考,非官方demo一、官方文档文档地址:点击【查看】sdk下载:点击【查看】官方demo下载地址:点击【查看】二、开发前准备工作1、签约:[url]https://openclub.

本帖仅供参考,非官方demo

一、官方文档

文档地址:点击【查看

sdk下载:点击【查看

官方demo下载地址:点击【查看

二、开发前准备工作

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的应用功能列表中是否添加“当面付”并显示已签约。

三、接口集成示例代码

支付宝网关:

沙箱环境支付宝网:[url]https://openapi.alipay[/url]dev.com/gateway.do   

正式环境支付宝网关:[url]https://openapi.alipay.com/gateway.do[/url]

1、参数说明

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

(2)scene:支付场景

条码支付,取值:bar_code 

声波支付,取值:wave_code

(3)subject:商品标题

(4)auth_code:支付授权码,由用户支付宝app的“付钱”选项中获取

    

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";//正式环境网关地址	//public static final  String gatewayUrl = "https://openapi.alipay.com/gateway.do";

(适用于jdk1.5以上)

   //获得初始化的AlipayClient		AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, AlipayConfig.format, AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);		//创建API对应的request类				AlipayTradePayRequest request = new AlipayTradePayRequest(); //创建API对应的request类 		request.setNotifyUrl("https://openclub.alipay.com/");		AlipayTradePayModel model = new AlipayTradePayModel();		model.setOutTradeNo("2019012020321558348254");		//支付场景 条码支付,取值:bar_code ;声波支付,取值:wave_code		model.setScene("bar_code");		//支付宝钱包中的付款码    	model.setAuthCode("285532156582655772");		model.setSubject("我是subject");		model.setTotalAmount("0.01");		request.setBizModel(model);		//通过alipayClient调用API,获得对应的response类					AlipayTradePayResponse response = alipayClient.execute(request);		/**		//下面两代码是使用第三方应用授权传值方式 授权传app_auth_token写法	    // 第三方应用授权获取app_auth_token可参照该贴:[url]https://openclub.alipay.com/read.php?tid=1649&fid=43[/url] 获取app_auth_token	    //用于代商户发起请求,传值app_auth_token是谁授权的,钱就收到谁的账户中	      String app_auth_token="";  	      AlipayTradePayResponse response = alipayClient.execute(request,"",app_auth_token);	     **/		//判断是否请求成功		if(response.isSuccess()){			System.out.println("调用成功");		} else {			System.out.println("调用失败");		}		//返回信息		System.out.println( response.getBody());

返回结果

{"alipay_trade_pay_response":{"code":"10000","msg":"Success","buyer_logon_id":"uqq***@sandbox.com","buyer_pay_amount":"0.01","buyer_user_id":"2088102175794899","buyer_user_type":"PRIVATE","fund_bill_list":[{"amount":"0.01","fund_channel":"ALIPAYACCOUNT"}],"gmt_payment":"2019-01-28 10:31:09","invoice_amount":"0.01","out_trade_no":"2019012020321558348254","point_amount":"0.00","receipt_amount":"0.01","total_amount":"0.01","trade_no":"2019012822001494890500811033"},"sign":"Kesok3smU3DMBbG3ErBb2547mGedldcGa3XE16A/eo987ENHFjZOymjMA5qr+riIeVn3te7vljhvAoRpKaJ0IIH8lLMiCo8L+RNkpHQmoxMl6i0pZA/rbv1N4Hpd68xdKJbPp43AJ1CoEVzjKwPN3fw5XOCLTGAXk8Z3xGRmBRIOJuZa7/+hy/kD2geIOraZgt9fI22Ho9QGr1mz5UWgK/WgHVGpxef/QgUfQynqZcNVBYrXDkfL7RXPuSQdemXAienLPZwYf3d+7cYY+LNmqv89pu1heAVup/SqMYyTOhAZZXTA3kuOcWYJ2zCJTVE7RvpSweHp6lituAu6ZtgGMg=="}

 

3、PHP版请求参数

(适用于php 5.5以上环境)


  appId = '填写您的appid';$aop->rsaPrivateKey = '填写您的私钥';$aop->alipayrsaPublicKey='填写您的支付宝公钥';$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';$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 AlipayTradePayRequest();$request->setBizContent("{" .    "\"out_trade_no\":\"".$date.$arr[0]."\"," .    "\"total_amount\":\"0.1\"," .	"\"scene\":\"bar_code\"," .	"\"auth_code\":\"282535540301553598\"," .	"\"subject\":\"tets\"," .    "\"product_code\":\"FACE_TO_FACE_PAYMENT\"" .    "}");$result = $aop->execute($request);//post请求//$result = $aop->pageExecute($request);var_dump($result);?>

返回信息

public 'alipay_trade_pay_response' =>     object(stdClass)[10]      public 'code' => string '10000' (length=5)      public 'msg' => string 'Success' (length=7)      public 'buyer_logon_id' => string 'uqq***@sandbox.com' (length=18)      public 'buyer_pay_amount' => string '0.10' (length=4)      public 'buyer_user_id' => string '2088102175794899' (length=16)      public 'buyer_user_type' => string 'PRIVATE' (length=7)      public 'fund_bill_list' =>         array (size=1)          0 =>             object(stdClass)[11]              ...      public 'gmt_payment' => string '2019-01-28 10:27:24' (length=19)      public 'invoice_amount' => string '0.10' (length=4)      public 'out_trade_no' => string '201901280227221355' (length=18)      public 'point_amount' => string '0.00' (length=4)      public 'receipt_amount' => string '0.10' (length=4)      public 'total_amount' => string '0.10' (length=4)      public 'trade_no' => string '2019012822001494890500811327' (length=28)  public 'sign' => string 'ctTkcTpVtF3WGioFaw5lVtI4R4hdss/t/nqUlDQGyDY3zQaW+L3j8t889sxtRd9KZB7wGIDikFr7kySxTAdT3vqcp6OdyFqTQbpO+XznZK8SkV3HX/rkooD/wjzA4niTa6pdkbo/DENYZlK2NLfxaQZ6lnJXLfXiRPwOH0fVz9Qf5/Nw5aKKSe+GWs5e8rcCqr9sbsWt7DhVdXHnb9BSCZTeOCU3vimZzHa7+0o9RuxcJ6H4FRzPm9MIgePSPyUS7eONWb2WEBmIYo40eKnmIjnr9wnnvlmo4x/L9UG1pAcc9gtMSAQN+DyPwQQtXE7bZgvFidDhlAZ+bSyrXa1dMQ==' (length=344)

 

4、.NET版请求参数

//应用appId沙箱            string appId = "appid";            //支付宝网关            string serverUrl = "https://openapi.alipaydev.com/gateway.do";            //沙箱支付宝公钥            string alipay_public_key = @"支付宝公钥";            //开发者原始私钥,千万不要用pkcs8格式的 沙箱            string merchant_private_key = @"商户应用私钥";            IAopClient client = new DefaultAopClient(serverUrl, appId, merchant_private_key, "json", "1.0", "RSA2", alipay_public_key, "GBK", false);            //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);            AlipayTradePayRequest alipayRequest = new AlipayTradePayRequest();//创建API对应的request            AlipayTradePayModel model = new AlipayTradePayModel();            model.OutTradeNo = "20190128262815182234123";            model.Subject = "沙箱条码支付测试";            model.TotalAmount = "0.11";            model.Scene = "bar_code";            model.AuthCode = "289044087810204442";  //支付宝钱包中的付款码            model.ProductCode = "FACE_TO_FACE_PAYMENT";            alipayRequest.SetBizModel(model);            //第三方调用方式            // AlipayTradePayResponse response = client.Execute(alipayRequest, "", "app_auth_token");            //自调用方式            AlipayTradePayResponse response = client.Execute(alipayRequest);            Console.WriteLine("条码支付返回信息:" + response.Body);

返回结果

条码支付返回信息:{"alipay_trade_pay_response":{"code":"10000","msg":"Success","buyer_logon_id":"uqq***@sandbox.com","buyer_pay_amount":"0.11","buyer_user_id":"2088102175794899","buyer_user_type":"PRIVATE","fund_bill_list":[{"amount":"0.11","fund_channel":"ALIPAYACCOUNT"}],"gmt_payment":"2019-01-28 10:11:46","invoice_amount":"0.11","out_trade_no":"20190128262815182234123","point_amount":"0.00","receipt_amount":"0.11","total_amount":"0.11","trade_no":"2019012822001494890500811217"},"sign":"VzXHbX1hbviodKtHuL5McBEnQxcyF/jrIG95/ReTiJkVRwQPyAYPOH/piwvpLzRYtLDzg1AyTCo9EV1NVRIXm22YRILXsl4TCmtbZ3dngEbiXLRBXJIA7XSSDOAYPhRSdmm8h1EK8n4DyfSOWoSaZn1Aq6aPSg7ulDsapEgruWai9RW7oKbklpMvE+fodeSp5dLjQf284Zf4kojacnsSyhZEnMh9n+p7l+u+LWSQ68VvLM6lLwqFAZyzn+u5T5BnEhcRigETt312W4vTpPNbupBudIdVin7FB6fB1hpdAgPA+RdmiG0Yox9eS2O8BzMjpN5quN4qS5em0KHIz3iW7A=="}

四、注意事项

1、调用接口返回10003状态

1).金额过大,需要用户手动输入密码,正式环境金额大于1000,沙箱环境因账户而异,以实测为准;

2).账户余额不足,导致扣款失败;

3).系统异常,网络问题,导致付款失败;

2、交易是否成功

接口返回1000只代表接口调用成功,不代表交易成功,交易成功建议使用查询接口查询。

3、条码限额

1千块钱以内是无需输入密码,直接扣款的,返回支付成功;

大于一千则会扫码后会跳出密码输入框,要求输入密码,不输入密码会返回1003(等待支付)状态;

4、“码已失效,请刷新二维码后重试”

1.检查auth_code 是否传值错误;

2.检查支付请求网关是沙箱还是正式环境,是否跟获取code码的钱包相符,可能沙箱环境用的正式钱包的码,正式环境用的沙箱钱包的条码;

5、沙箱钱包下载

沙箱账号查看地址:[url]https://openhome.alipay.com/platform/appDaily.htm?tab=info[/url]

注意:沙箱钱包只适用于安卓手机,不支持ios;

6、辅助接口

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

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]

 

 

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

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

目录
相关文章
|
3天前
|
人工智能 运维 API
Dify开发者必看:如何破解MCP集成与Prompt迭代难题?
Dify 是一个面向AI时代的开源大语言模型(LLM)应用开发平台,致力于让复杂的人工智能应用构建变得简单高效,目前已在全球范围内形成显著影响力,其 GitHub 仓库 Star 数截至 2025 年 6 月已突破 100,000+,目前,Dify 已经成为 LLMOps 领域增长最快的开源项目之一。
|
3天前
|
监控 前端开发 安全
如何集成第三方支付API到电商网站
在电商网站中,集成第三方支付API是确保交易安全、提升用户体验的关键步骤。本文详细介绍了从选择支付提供商到上线监控的全流程,涵盖代码示例与实用建议,助您高效实现支付功能。
19 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 应用开发门槛与复杂度。
298 20
|
4月前
|
人工智能 网络协议 Java
RuoYi AI:1人搞定AI中台!开源全栈式AI开发平台,快速集成大模型+RAG+支付等模块
RuoYi AI 是一个全栈式 AI 开发平台,支持本地 RAG 方案,集成多种大语言模型和多媒体功能,适合企业和个人开发者快速搭建个性化 AI 应用。
1334 77
RuoYi AI:1人搞定AI中台!开源全栈式AI开发平台,快速集成大模型+RAG+支付等模块
|
6月前
|
人工智能 数据处理 C#
AI Dev Gallery:微软开源 Windows AI 模型本地运行工具包和示例库,助理开发者快速集成 AI 功能
微软推出的AI Dev Gallery,为Windows开发者提供开源AI工具包和示例库,支持本地运行AI模型,提升开发效率。
306 13
|
安全 Java 测试技术
Spring Boot集成支付宝支付:概念与实战
【4月更文挑战第29天】在电子商务和在线业务应用中,集成有效且安全的支付解决方案是至关重要的。支付宝作为中国领先的支付服务提供商,其支付功能的集成可以显著提升用户体验。本篇博客将详细介绍如何在Spring Boot应用中集成支付宝支付功能,并提供一个实战示例。
524 2
|
8月前
|
安全 测试技术 数据安全/隐私保护
原生鸿蒙应用市场开发者服务的技术解析:从集成到应用发布的完整体验
原生鸿蒙应用市场开发者服务的技术解析:从集成到应用发布的完整体验
|
12月前
|
XML JSON API
开发者必备:淘宝商品列表接口集成全攻略
淘宝开放平台提供的商品列表数据接口让开发者编程获取商品列表数据。接口支持按关键词、类目等查询条件获取商品详情,包括标题、价格等信息。具备灵活性高、数据丰富及操作便捷等特点。使用流程包括注册账号、构建并发送HTTP请求及处理响应数据。可用于电商数据分析、商品推荐等场景。开发者需遵守规定确保数据安全合法。[体验API](c0b.cc/R4rbK2)
|
11月前
|
开发者 持续交付 Android开发
Xamarin开发者的秘密武器:如何通过持续集成与持续部署(CI/CD)实现高效、高质量的软件交付
【8月更文挑战第31天】在当今追求高效、高质量软件交付的时代,Xamarin开发者需像大厨般迅速烹制数字化佳肴,而持续集成(CI)与持续部署(CD)则是关键工具。CI要求开发者频繁将代码集成到共享仓库,利用自动化工具如Azure Pipelines或Jenkins自动编译、测试代码,确保质量。CD在此基础上进一步实现自动化部署,简化从开发到生产的全过程。借助如Visual Studio App Center这样的工具,Xamarin项目得以快速构建、测试并部署至Android和iOS平台,显著提升开发效率和代码质量,助力团队乘风破浪,驶向成功的彼岸。
74 0
|
11月前
|
持续交付 测试技术 jenkins
JSF 邂逅持续集成,紧跟技术热点潮流,开启高效开发之旅,引发开发者强烈情感共鸣
【8月更文挑战第31天】在快速发展的软件开发领域,JavaServer Faces(JSF)这一强大的Java Web应用框架与持续集成(CI)结合,可显著提升开发效率及软件质量。持续集成通过频繁的代码集成及自动化构建测试,实现快速反馈、高质量代码、加强团队协作及简化部署流程。以Jenkins为例,配合Maven或Gradle,可轻松搭建JSF项目的CI环境,通过JUnit和Selenium编写自动化测试,确保每次构建的稳定性和正确性。
129 0

热门文章

最新文章