app支付宝快速入门

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

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

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

app支付宝快速入门_第1张图片
image.png

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

app支付宝快速入门_第2张图片
image.png
app支付宝快速入门_第3张图片
image.png
app支付宝快速入门_第4张图片
image.png
app支付宝快速入门_第5张图片
image.png

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


app支付宝快速入门_第6张图片
image.png
app支付宝快速入门_第7张图片
image.png

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


app支付宝快速入门_第8张图片
image.png

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


app支付宝快速入门_第9张图片
image.png
app支付宝快速入门_第10张图片
image.png

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

app支付宝快速入门_第11张图片
image.png

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

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

image.png

我遇到的坑

app支付宝快速入门_第12张图片
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();
        }
    }
app支付宝快速入门_第13张图片
image.png

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

app支付宝快速入门_第14张图片
孙坚.gif

你可能感兴趣的:(app支付宝快速入门)