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 条评论
登录 后参与评论

相关文章

来自专栏Rainbond开源「容器云平台」

Rainbond插件体系设计简介

943
来自专栏Janti

spring boot之从零开始开发自己的网站

1722
来自专栏子勰随笔

SDK开发经验之文档

1608
来自专栏玄魂工作室

CTF实战2 Web应用构成

https://www.bilibili.com/video/av22207039/

772
来自专栏喔家ArchiSelf

老曹眼中的Linux基础

Linux 几乎无处不在,不论是服务器构建,还是客户端开发,对操作系统的基本理解和基础技能的掌握对全栈来说都是必备的。

793
来自专栏Thinks

Web App Install Banners简介

移动端,web和native app有一个比较大的区别:访问的过程。

741
来自专栏FD的专栏

前端下半场:构建跨框架的 UI 库

跨框架的 UI 库,即前端 UI 库可以不经任何修改,直接能运行在 React、Angular、Vue 等框架上。

851
来自专栏漏斗社区

工具|NESSUS的高级扫描方法

开篇之时,斗哥就想问你一句,上周的NESSUS基础扫描任务的创建方法6不6 ?不知各位小伙伴们装进心窝了没?!这周斗哥经过深思熟虑,最终慎重决定将NESSUS的...

4116
来自专栏前端架构与工程

前端工程化-构建

构建的核心是资源管理。简单说,构建就是把前端工程师开发的源代码进行编译、压缩、打包等一系列操作,最终产出可以直接上线或者可供后端工程师的资源。 构建可以划分为纯...

2066
来自专栏小樱的经验随笔

Seay源代码审计系统的配置和安装

2014年7月31日 Seay源代码审计系统2.1 时隔刚好一年之久,源代码审计系统再次更新,这次主要优化审计体验,优化了漏洞规则,算是小幅更新,原来使用者打开...

51811

扫码关注云+社区