app支付宝快速入门
2018-01-01 13:44
190 查看
最近在做个车辆认证app,需要用到支付宝付款.前端使用H5,框架是react,后台是java。app支付与普通网页支付差别还是很大,我这里主要对于app支付做说明
“`
1.让财务开通支付宝账号(需要企业税号,营业执照,财务身份证,等信息)
2.开通之后由于一直麻烦财务操作不方便,让财务登录支付宝账号后,将企业账号设置成主账号,将自己的支付宝账号设置为绑定企业的子账号的开发管理员,方便后续操作
3.创建app应用,该过程需要阿里审核,说是3天,我当时2小时就通过了。
4.通过软件生成公钥,私钥,创建app应用的时候会有appid
5.导入支付宝jar,编写后台代码,将加密后的一大串字符串返回给前端,前端用codva的支付宝插件,直接拼接这个字符串就可以调用支付宝了
6.支付宝上配置回调接口.
大致这么操作下面具体说明
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
异步回调通知
通知参数说明
关注我的公众号,都是满满的干货!
“`
1.让财务开通支付宝账号(需要企业税号,营业执照,财务身份证,等信息)
2.开通之后由于一直麻烦财务操作不方便,让财务登录支付宝账号后,将企业账号设置成主账号,将自己的支付宝账号设置为绑定企业的子账号的开发管理员,方便后续操作
3.创建app应用,该过程需要阿里审核,说是3天,我当时2小时就通过了。
4.通过软件生成公钥,私钥,创建app应用的时候会有appid
5.导入支付宝jar,编写后台代码,将加密后的一大串字符串返回给前端,前端用codva的支付宝插件,直接拼接这个字符串就可以调用支付宝了
6.支付宝上配置回调接口.
大致这么操作下面具体说明
###1.申请支付宝账号后[登陆](https://open.alipay.com/platform/home.htm) ![image.png](http://upload-images.jianshu.io/upload_images/5548226-1e8cbc9f9cbc4125.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ###2.[如何设置开发者管理员](https://docs.open.alipay.com/200/ug05sr/) ![image.png](http://upload-images.jianshu.io/upload_images/5548226-d06240ca5a1ccb1f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![image.png](http://upload-images.jianshu.io/upload_images/5548226-2dab50979d398936.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![image.png](http://upload-images.jianshu.io/upload_images/5548226-75fb5da4037958a3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![image.png](http://upload-images.jianshu.io/upload_images/5548226-6ec76bd238d7c737.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 3.然后点击页面上的开发者中心,选中自己的 ![image.png](http://upload-images.jianshu.io/upload_images/5548226-39d2a34fdb5e3221.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![image.png](http://upload-images.jianshu.io/upload_images/5548226-b20c77e34a96a97e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 4.进入之后查看app支付是否开通 ![image.png](http://upload-images.jianshu.io/upload_images/5548226-f7698197001bd16f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 如果要开通app应用支付请点击支付接入 ![image.png](http://upload-images.jianshu.io/upload_images/5548226-3ab6955cbf222fbf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![image.png](http://upload-images.jianshu.io/upload_images/5548226-d1f3353143e58317.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ####支付宝网关是固定的,如果是沙箱环境就改成https://openapidev.alipay.com/gateway.do ![image.png](http://upload-images.jianshu.io/upload_images/5548226-f4d1fdc815efa6ac.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ###如何生成私钥公钥,请[点击]( http://vodcdn.video.taobao.com/oss/taobao-ugc/63dcb8b1980147608d501cd38aa42b1c/1494311046/video.mp4) 5.[java后端代码编写](https://docs.open.alipay.com/54/106370/),当前端调用后端接口后将后台的订单以及支付宝生成的url传到前端,前端需要这个url调用支付宝接口 ![image.png](http://upload-images.jianshu.io/upload_images/5548226-036ab978a45e7825.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ##[我遇到的坑](https://docs.open.alipay.com/204/105465) ![image.png](http://upload-images.jianshu.io/upload_images/5548226-f8c3a143191a2358.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 我按照上面3步,自己解析了一下午,终于完成了,然后无意中发现支付宝一个sdk一句话就完成了,不过这个过程中把md5加密,[URLEncode编码](http://tool.chinaz.com/tools/urlencode.aspx),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
异步回调通知
通知参数说明
关注我的公众号,都是满满的干货!
相关文章推荐
- app支付宝快速入门
- android app 快速接入支付宝流程(android studio)
- Metro Style App开发快速入门 之文件访问操作示例
- Sencha Touch 快速入门2.0 第一章 开发Sencha Touch App
- Sencha Touch 快速入门2.0 第一章 开发Sencha Touch App
- Xcode快速入门-2-第一个APP - Hello World(二)
- Metro Style App开发快速入门 之资源操作
- Android快速入门的第二个App
- Sencha Touch快速入门2.0之Sencha Touch App开发
- 快速集成支付宝支付到自己的app中
- Angular2快速入门-1.创建第一个app
- Metro Style App开发快速入门 之基本控件使用总结
- Android快速入门的第二个App(讲解版)
- Sencha Touch快速入门2.0之Sencha Touch App开发
- (1)外网映射(NATAPP快速入门)
- Xcode快速入门-2-第一个APP - Hello World
- .NET Core快速入门教程 2、我的第一个.NET Core App(Windows篇)
- webAppbuilder微件使用教程1 快速入门
- 支付宝App支付快速接入
- .NET Core快速入门教程 3、我的第一个.NET Core App (CentOS篇)