app支付宝快速入门
最近在做个车辆认证app,需要用到支付宝付款.前端使用H5,框架是react,后台是java。app支付与普通网页支付差别还是很大,我这里主要对于app支付做说明
1.让财务开通支付宝账号(需要企业税号,营业执照,财务身份证,等信息)
2.开通之后由于一直麻烦财务操作不方便,让财务登录支付宝账号后,将企业账号设置成主账号,将自己的支付宝账号设置为绑定企业的子账号的开发管理员,方便后续操作
3.创建app应用,该过程需要阿里审核,说是3天,我当时2小时就通过了。
4.通过软件生成公钥,私钥,创建app应用的时候会有appid
5.导入支付宝jar,编写后台代码,将加密后的一大串字符串返回给前端,前端用codva的支付宝插件,直接拼接这个字符串就可以调用支付宝了
6.支付宝上配置回调接口.
大致这么操作下面具体说明
1.申请支付宝账号后登陆

2.如何设置开发者管理员




3.然后点击页面上的开发者中心,选中自己的


4.进入之后查看app支付是否开通

如果要开通app应用支付请点击支付接入


支付宝网关是固定的,如果是沙箱环境就改成https://openapidev.alipay.com/gateway.do

如何生成私钥公钥,请点击
5.java后端代码编写,当前端调用后端接口后将后台的订单以及支付宝生成的url传到前端,前端需要这个url调用支付宝接口

我遇到的坑

我按照上面3步,自己解析了一下午,终于完成了,然后无意中发现支付宝一个sdk一句话就完成了,不过这个过程中把md5加密,URLEncode编码,java基础练了下- -
public static void main(String[] args) {
//签名方式
String sign_type="RSA2";
//编码格式
String CHARSET="utf-8";
//正式环境支付宝网关,如果是沙箱环境需更改成https://openapi.alipaydev.com/gateway.do
String url="https://openapi.alipay.com/gateway.do";
//实例化客户端
AlipayClient alipayClient = new DefaultAlipayClient(url, APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY,sign_type);
//实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
//SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。
AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
model.setBody("我是测试数据");
model.setSubject("1");
//请保证OutTradeNo值每次保证唯一
model.setOutTradeNo("IQJZSRC1YMQB5HU");
model.setTimeoutExpress("30m");
model.setTotalAmount("0.01");
model.setProductCode("QUICK_MSECURITY_PAY");
request.setBizModel(model);
request.setNotifyUrl("你的回调地址");
try {
//这里和普通的接口调用不同,使用的是sdkExecute
AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request);
System.out.println(response.getBody());//就是orderString 可以直接给客户端请求,无需再做处理。
} catch (AlipayApiException e) {
e.printStackTrace();
}
}

另外看过一些相关有用的支付宝连接供参考:app支付宝服务端demo
app支付客户端demo
异步回调通知
通知参数说明
原文链接:
http://www.jianshu.com/p/6e02a0c44fbc
关注我的公众号,都是满满的干货!

app支付宝快速入门的更多相关文章
- .NET Core快速入门教程 2、我的第一个.NET Core App(Windows篇)
一.前言 本篇开发环境?1.操作系统: Windows 10 X642.SDK: .NET Core 2.0 Preview 二.安装 .NET Core SDK 1.下载 .NET Core下载地址 ...
- .NET Core快速入门教程 3、我的第一个.NET Core App (CentOS篇)
一.前言 本篇开发环境?1.操作系统:CentOS7(因为ken比较偏爱CentOS7)2.SDK版本:.NET Core 2.0 Preview 你可能需要的前置知识1.了解如何通过Hyper-V安 ...
- Vue.js 快速入门
什么是Vue.js vue是法语中视图的意思,Vue.js是一个轻巧.高性能.可组件化的MVVM库,同时拥有非常容易上手的API.作者是尤雨溪,写下这篇文章时vue.js版本为1.0.7 准备 我推荐 ...
- Swift语言快速入门
Swift语言快速入门(首部同步新版官方API文档和语法的Swift图书,确保代码可编译,作者专家在线答疑,图书勘误实时跟进) 极客学院 编著 ISBN 978-7-121-24328-8 201 ...
- html5快速入门(四)—— JavaScript
前言: 1.HTML5的发展非常迅速,可以说已经是前端开发人员的标配,在电商类型的APP中更是运用广泛,这个系列的文章是本人自己整理,尽量将开发中不常用到的剔除,将经常使用的拿出来,使需要的朋友能够真 ...
- HTML5快速入门(三)—— 标签综合运用
前言: 1.HTML5的发展非常迅速,可以说已经是前端开发人员的标配,在电商类型的APP中更是运用广泛,这个系列的文章是本人自己整理,尽量将开发中不常用到的剔除,将经常使用的拿出来,使需要的朋友能够真 ...
- html5快速入门(二)—— CSS简介
前言: 1.HTML5的发展非常迅速,可以说已经是前端开发人员的标配,在电商类型的APP中更是运用广泛,这个系列的文章是本人自己整理,尽量将开发中不常用到的剔除,将经常使用的拿出来,使需要的朋友能够真 ...
- html5快速入门(一)—— html简介
前言: 1.HTML5的发展非常迅速,可以说已经是前端开发人员的标配,在电商类型的APP中更是运用广泛,这个系列的文章是本人自己整理,尽量将开发中不常用到的剔除,将经常使用的拿出来,使需要的朋友能够真 ...
- OpenStack云计算快速入门之二:OpenStack安装与配置
原文:http://blog.chinaunix.net/uid-22414998-id-3265685.html OpenStack云计算----快速入门(2) 该教程基于Ubuntu12.04版, ...
随机推荐
- Fis3迁移至Webpack实战
Webpack从2015年9月第一个版本横空初始至今已逾2载.它的出现,颠覆了一大批主流构建如Ant.Grunt和Gulp等等.腾讯NOW直播IVWEB团队之前一直采用Fis构建,本篇文章主要介绍从F ...
- 启用 Brotli 压缩算法,对比 Gzip 压缩 CDN 流量再减少 20%
Google 认为互联网用户的时间是宝贵的,他们的时间不应该消耗在漫长的网页加载中,因此在 2015 年 9 月 Google 推出了无损压缩算法 Brotli.Brotli 通过变种的 LZ77 算 ...
- Spring AMQP + Rabbit 配置多数据源消息队列
一般在稍微大一点的项目中,需要配置多个数据库数据源,最简单的方式是用 Spring 来实现,只需要继承 AbstractRoutingDataSource 类,实现 determineCurrentL ...
- P3052 [USACO12MAR]摩天大楼里的奶牛Cows in a Skyscraper
题目描述 给出n个物品,体积为w[i],现把其分成若干组,要求每组总体积<=W,问最小分组.(n<=18) 输入格式: Line 1: N and W separated by a spa ...
- javascript语言基础
js的基本语法 /* 多行注释 * */ //单行注释 // 变量赋值 默认以换行符作为结束符,有分号以分号作为结束符号 var i; i=10; s="hello"; var b ...
- jsp加java连接数据库,进行信息输入,并进行初步的拦截判断。
图形大概这样 按照图片要求设计添加新课程界面.(0.5分) 在后台数据库中建立相应的表结构存储课程信息.(0.5分) 实现新课程添加的功能. 要求判断任课教师为王建民.刘立嘉.刘丹.王辉.杨子光五位教 ...
- Ztree改版 - 将图标字体化 - fontAwesome
引言 ps:小白可以一看,大神勿打~ 用过 ztree 的盆友们都知道,ztree 功能强大,就功能上来说,追求着“无处不按钮”的体验,但好用不好看.可能有朋友说:“我这棵树只有我自己看,够用就行” ...
- 组合模式(Composite)
组合模式(Composite) 组合模式有时又叫部分-整体模式在处理类似树形结构的问题时比较方便,看看关系图: 直接来看代码: [java] view plaincopypublic class Tr ...
- 一个简单的 js 时间对象创建
JS中获取时间很常见,凑凑热闹,也获取一个时间对象试试 首先,先了解js的获取时间函数如下: var myDate = new Date(); //创建一个时间对象 myDate.g ...
- linux添加新硬盘并格式化
1.查看当前系统硬盘及分区情况 (注:Linux中SCSI的第1个硬盘/dev/sda,第2个硬盘/dev/sdb依此类推) 2. 初始化分区sdb为物理卷pv pvcreate /dev/sdb ...