app支付宝快速入门

最近在做个车辆认证app,需要用到支付宝付款.前端使用H5,框架是react,后台是java。app支付与普通网页支付差别还是很大,我这里主要对于app支付做说明

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

1.申请支付宝账号后登陆

image.png

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

image.png

image.png

image.png

image.png

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

image.png

image.png

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

image.png

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

image.png

image.png

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

image.png

如何生成私钥公钥,请点击

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

image.png

我遇到的坑

image.png

我按照上面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();
        }
    }

image.png

另外看过一些相关有用的支付宝连接供参考:app支付宝服务端demo app支付客户端demo 异步回调通知 通知参数说明

原文发布于微信公众号 - 编程软文(zhuyuansj)

原文发表时间:2017-12-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据架构师专家

docker pull 下载加速-2018

使用docker pull,命令下载镜像太慢了,默认是从国外的,本文记录下如何配置国内阿里云竞相加速方式。文档力求简单.

1652
来自专栏ml

linux修改密码的几种方法

 1.  启动电脑 ,进入grub模式。  也就是下面这个模式: ? 按下e键,进入下面这个画面.... ? 选第二个(kernel的那个):  然后按下e键...

3195
来自专栏农夫安全

某服务器安全溯源审计报告

流量关联分析 通过查看服务器连接的程序发现有外网ip 23.33.178.8和91.121.2.76两个,查看到clock-applet一般为程序自带的文件,而...

3356
来自专栏运维前线

管理和监控MySQL和MongoDB性能的开源平台Percona

Percona监控和管理概述 Percona监控和管理(PMM)是一个用于管理和监控MySQL和MongoDB性能的开源平台。 它由Percona与托管数据库...

4556
来自专栏云计算教程系列

在Docker上安装Discourse论坛系统

DiscourseStack Overflow的联合创始人 Jeff Atwood 推出的一个新的开源论坛项目,其目的是为了改变十年未变的论坛软件。它摒弃了传统...

1823
来自专栏Web 开发

离线安装PM2

蛋疼的公司网络,搞专网专用,开发环境没法联通外网,npm install直接就废掉了,只能离线安装。

1460
来自专栏黑白安全

渗透指定站点笔记

首先介绍下什么样站点可以入侵:我认为必须是动态的网站 如ASP、PHP、 JSP等代码编写的站点 如果是静态的(.htm或html),一般是不会成功的。

1874
来自专栏Youngxj

php在线PIng接口源码

2873
来自专栏FreeBuf

LaserCrack:一款可扩展的暴力破解框架

lasercrack是一款爆力破解工具,现如今市面上常见的暴力工具如hydra,medusa都有着不错的破解效率,不过我还没有找到ruby写的,一方面是想从原理...

1212
来自专栏拂晓风起

用SonBuddy搭建无线局域网,共享上网。(SONBuddy常见问题,无线组网,共享,上网,笔记本)

1014

扫码关注云+社区