聊一聊如何接入支付宝

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。博客源地址为zhixiang.org.cn https://blog.csdn.net/myFirstCN/article/details/81676606 说起来做一个支付系统最基础的就是支付功能了,对于我们来说除了各大银行以外微信和支付宝也是必选项,毕竟人家这个庞大的用户群在那里摆着呢,你不用那不是想着放弃这些用户么。
版权声明:本文为博主原创文章,未经博主允许不得转载。博客源地址为zhixiang.org.cn https://blog.csdn.net/myFirstCN/article/details/81676606

说起来做一个支付系统最基础的就是支付功能了,对于我们来说除了各大银行以外微信和支付宝也是必选项,毕竟人家这个庞大的用户群在那里摆着呢,你不用那不是想着放弃这些用户么。

今天我们就来看一看对于我们开发者来说如何快速的进行接入。

首先我们要做的就是先去蚂蚁金服开放平台注册账号https://open.alipay.com。这里需要注意的是如果我们是以个人注册的话,是没有办法投入生产使用的,只能是注册企业支付宝去申请才可以。不过呢,对于我们现在学习来说是已经足够了。

创建应用

第一步我们点击导航栏的 开发接入 按钮,找到支付应用。创建一个应用。
应用创建完成后就是补充应用的信息了,相信看着页面的描述你可以做到的,这里就不过多的描述了。不过有一点需要注意,就是我们的支付功能的话可以先选择一个当面付来玩一玩商场里的扫码枪是如何做到的。

使用沙箱账号进行测试

接下来呢,我们要准备测试用的环境了。进入此页面https://openhome.alipay.com/platform/appDaily.htm?tab=info
这里面呢,有一些我们一会需要的信息,比如说APPID,支付宝公钥,支付宝网关等信息。页面持续往下拉,会有一个Android版的沙箱支付宝,先下载下来,登陆信息在左侧导航栏沙箱账号里。

开始搞

前面我们已经把需要准备的东西都准备好了,下面我们就开始开发吧。

引入依赖

有很多教程里面都是直接引入的支付宝相关的jar包,个人感觉这种方式对于我们现在maven的时代还是比较不合适的。所以呢,咱们使用支付宝官方提供的maven依赖

1
2
3
4
5
<dependency>
	<groupId>com.alipay.sdk</groupId>
	<artifactId>alipay-sdk-java</artifactId>
	<version>3.0.0</version>
</dependency>

配置基础信息

创建一个名为 alipay_config.properties的配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#加密方式
alipay.signType=RSA2

#字符编码格式
alipay.charset=utf-8

#appid
alipay.appId =xxx

#商户私钥
alipay.appPrivateKey =xxx

#支付宝公钥
alipay.appPublicKey=xxx
#沙箱测试地址
alipay.aliUrl=https://openapi.alipaydev.com/gateway.do

上方几个信息详细你在沙箱里面已经看到了,这里我就不做详细解释了哦

使用@PropertySource在Java类中读取配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
@Data
@Configuration
@ConfigurationProperties(prefix = "alipay",ignoreUnknownFields = false)
@PropertySource(value = { "classpath:alipay_config.properties" },ignoreResourceNotFound=false)
public class AlipayConfig {

    private String appId;

    private String appPrivateKey;

    private String appPublicKey;

    private String aliUrl;

    private String signType;

    private String charset;

    @Bean
    public AlipayClient alipayClient(){
        return new DefaultAlipayClient(aliUrl,
                appId, appPrivateKey, "JSON", charset, appPublicKey, signType);
    }
}

这个配置方式呢,其实就是一个简单的把配置文件中的属性注入到这个类中的各个属性,然后呢使用一个@Bean的注解把这些配置组合成一个AlipayClient类来放入Spring的容器中进行管理

撸代码

接下来的这个时候其实已经不需要我来讲了。API接口文档在这:https://docs.open.alipay.com/api_1/alipay.trade.pay

大家可以直接参考着搞起来了。我这里给两个简单的例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
@Service
public class AlipayService {

    @Autowired
    private AlipayClient alipayClient;


    
    /**
     * 条码支付,声波支付
     */
    public void tradePay(){

        AlipayTradePayRequest request = new AlipayTradePayRequest();
        request.setBizContent("{" +
"\"out_trade_no\":\"20150324450101001\"," + //订单号,全局唯一
"\"scene\":\"bar_code\"," +                //支付方式:条码支付
"\"auth_code\":\"2876323325664394\"," +	//登陆沙箱支付宝,打开付款码得到的一串数字
"\"subject\":\"Iphone6 16G\"," +            //订单标题
"\"total_amount\":888.88," +			    //订单金额
"\"body\":\"Iphone6 16G\"," +
"      \"goods_detail\":[{" +
"        \"goods_id\":\"apple-01\"," +
"\"goods_name\":\"ipad\"," +
"\"quantity\":1," +
"\"price\":2000," +
"\"goods_category\":\"34543238\"," +
"\"body\":\"特价手机\"," +
"\"show_url\":\"http://www.alipay.com/xxx.jpg\"" +
"        }]," +
"\"operator_id\":\"yx_001\"," +
"\"store_id\":\"NJ_001\"," +
"\"terminal_id\":\"NJ_T_001\"," +
"\"extend_params\":{" +
"\"sys_service_provider_id\":\"2088511833207846\"," +
"\"industry_reflux_info\":\"{\\\\\\\"scene_code\\\\\\\":\\\\\\\"metro_tradeorder\\\\\\\",\\\\\\\"channel\\\\\\\":\\\\\\\"xxxx\\\\\\\",\\\\\\\"scene_data\\\\\\\":{\\\\\\\"asset_name\\\\\\\":\\\\\\\"ALIPAY\\\\\\\"}}\"," +
"\"card_type\":\"S0JP0000\"" +
"    }," +
"\"timeout_express\":\"90m\"," +
"\"auth_confirm_mode\":\"COMPLETE:转交易支付完成结束预授权;NOT_COMPLETE:转交易支付完成不结束预授权\"," +
"\"terminal_params\":\"{\\\"key\\\":\\\"value\\\"}\"" +
"  }");
        AlipayTradePayResponse response = null;
        try {
            response = alipayClient.execute(request);
        } catch (AlipayApiException e) {
            e.printStackTrace();
        }
        if(response.isSuccess()){
            System.out.println("调用成功");
        } else {
            System.out.println("调用失败");
        }
    }
    /**
     * 查询
     * @return
     */
    public void queryOrder(){
        AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();
        request.setBizContent("{" +
                "\"out_trade_no\":\"20150320010101001\"," +  	 // 系统订单号
                "\"trade_no\":\"2018081421001004570200746674\"" + //支付宝交易订单号
                "  }");
        AlipayTradeQueryResponse response = null;
        try {
            response = alipayClient.execute(request);
        } catch (AlipayApiException e) {
            e.printStackTrace();
        }
        if(response.isSuccess()){
            System.out.println("调用成功");
        } else {
            System.out.println("调用失败");
        }
    }
}

相信聪明的你已经可以看着文档开启的你的支付之路了。

本文出自http://zhixiang.org.cn,转载请保留。

相关文章
|
7月前
|
新零售 供应链 小程序
拼团公排互助商城系统开发|模式方案|详情需求
新零售模式是一种融合线上、线下商业以及物流,打破传统零售业的边界
|
7月前
|
新零售 供应链
九星创客新零售商城系统开发|源码|方案详情
当下的商业领域,随着网络、电话、电视等平台的日益成熟和壮大
海外交友源码平台搭建:基础功能的实现(一)
今天我要分享的功能是利用海外交友源码去实现,这两个功能并不会引起我们的特别关注,但是,当我们在使用海外交友源码平台时,它们却时时刻刻陪伴着我们。
海外交友源码平台搭建:基础功能的实现(一)
|
API 数据安全/隐私保护
直播源码平台搭建技术分享之直播短信功能实现
在利用直播源码去开发平台中,直播源码功能技术是开发直播平台的重要技术之一,今天我就为大家分享直播源码平台搭建技术分享直播短信功能实现。
直播源码平台搭建技术分享之直播短信功能实现
|
负载均衡 数据安全/隐私保护
一对一直播app开发,直播间的搭建重点
一对一直播app开发,直播间的搭建重点
|
安全 Java 应用服务中间件
企业微信开发(1)——接入企业微信
本文目录 1. 准备工作 2. 创建应用 3. 验证URL 4. 验证
645 0
|
存储 自然语言处理 前端开发
OTT端登录态设备穿透:扫码登录与扫码反登录 | 《优酷OTT互联网大屏前端技术实践》第二章
常规“扫码登录”业务,一般由PC端和手机端两部分组成,而且PC端一般作为“被扫码方”,登录态则由手机端进行操作及确认。那以“CIBN酷喵影视”为代表的OTT大屏电视场景,其扫码登录实现情况又是怎样的呢?
1037 0
OTT端登录态设备穿透:扫码登录与扫码反登录 | 《优酷OTT互联网大屏前端技术实践》第二章
|
机器学习/深度学习 编解码 并行计算
史上最全的支付宝二维码扫码优化技术方案
源自支付宝的扫码组件,全新升级,免费开放!让天下没有难认的“码”
7860 0
史上最全的支付宝二维码扫码优化技术方案
直播商城开发需要具备的五个重要功能 如何进行直播商城开发
直播商城开发成为直播行业发展新趋势,现如今各大直播APP都在积极探索直播+电商的新模式,催生了直播商城爱发的更新与变革。相较于线下购物和传统电商,直播带货有着不可比拟的优越性。不得不承认,直播带货以及形成的网红效应正在潜移默化的改变着人们的生活和购物方式。
直播商城开发需要具备的五个重要功能 如何进行直播商城开发
|
中间件 Java 应用服务中间件
中间件小姐姐直播“带货”——阿里程序员必知的插件
小姐姐这次给大家讲解的是一款 IDE 插件—— Cloud Toolkit, 能够提高开发、部署应用的效率,还可以通过插件快速创建 Dubbo 工程等等,自去年 12 月上线以来,就超过几万的开发者在使用这款插件。
2161 2