栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot实现支付宝支付功能

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot实现支付宝支付功能

一,实现支付宝支付功能步骤

1,创建一个springboot项目

2,注册入驻支付宝成为开发人员
地址给你准备好了:https://open.alipay.com/platform/home.htm?from=wwwalipay

3,进入沙箱应用,获取配置到项目中的配置信息 (重要!!!)

4,下载支付宝开放平台开发助手,生成应用公钥和应用私钥 (重要!!!私钥要配置到项目中)
开发助手下载地址:https://opendocs.alipay.com/common/02kipl

5,springboot中配置支付宝支付信息,编写代码。

6,测试支付功能。

创建springboot项目省略

二,入驻支付宝成为开发人员

搜索支付宝,进入支付宝首页—》我是开发者—》注册登录(第一次登录时要求你必须入驻,直接入驻就行了)

地址给你准备好了:https://open.alipay.com/platform/home.htm?from=wwwalipay
直接登录注册就可以了

三,进入沙箱应用

简单解释下沙箱,就是模拟的支付系统,支付的钱都是假的。

1,沙箱中操作说明

登录—》控制台—》沙箱—》沙箱应用

登录之后,页面是这个样子的

2,沙箱其他信息说明

下面分别是生成的买家和卖家的支付宝账号

支付宝客户端沙箱版,用来模拟扫码支付的,账号是上面的沙箱版买家账号(买家扫码向卖家支付),建议手机扫码下载一个,登录买家账号

四,下载支付宝开发助手生成秘钥 1,生成秘钥

开发助手下载地址:https://opendocs.alipay.com/common/02kipl

下载后直接安装,打开后直接生成秘钥,生成秘钥后电脑会有两个文件,分别保存有应用公钥和应用私钥

2,配置秘钥

将应用公钥复制下来,然后到沙箱应用中配置生成支付宝公钥

五,springboot中配置环境 1,引入jar包
		
        
            com.alipay.sdk
            alipay-sdk-java
            3.1.0
        
2,application.properties
# 应用ID,您的APPID,收款账号既是您的APPID对应支付宝账号,在沙箱应用中获取
appId:2021000119675024
# 商户私钥,您的PKCS8格式RSA2私钥,通过开发助手生成的应用私钥
privateKey:
# 支付宝公钥,在沙箱应用获取,通过应用公钥生成支付宝公钥
publicKey:
# 服务器异步通知页面路径需http://格式的完整路径,不能加?id=123这类自定义参数
notifyUrl:http://localhost:8081/alipay/success
# 页面跳转同步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数
returnUrl: http://localhost:8081/alipay/success
# 签名方式
signType: RSA2
# 字符编码格式
charset: utf-8
# 支付宝网关,在沙箱应用中获取
gatewayUrl: https://openapi.alipaydev.com/gateway.do
3,接收请求参数的实体类

实体类总的属性只能是下划线连接,不能使用驼峰命名

@Data
public class AlipayBean implements Serializable {

    
    private String out_trade_no;

    
    private String subject;

    
    private String total_amount;

    
    private String body;

    
    private String timeout_express = "60m";

    
    private String product_code = "FAST_INSTANT_TRADE_PAY";
}
4,支付接口
@Controller
@RequestMapping("/alipay")
public class AlipayController {

	//获取配置文件中的配置信息
    //应用ID,您的APPID,收款账号既是您的APPID对应支付宝账号
    @Value("${appId}")
    private String appId;

    //商户私钥 您的PKCS8格式RSA2私钥
    @Value("${privateKey}")
    private String privateKey;

    //支付宝公钥
    @Value("${publicKey}")
    private String publicKey;

    //服务器异步通知页面路径
    @Value("${notifyUrl}")
    private String notifyUrl;

    //页面跳转同步通知页面路径
    @Value("${returnUrl}")
    private String returnUrl;

    //签名方式
    @Value("${signType}")
    private String signType;

    //字符编码格式
    @Value("${charset}")
    private String charset;

    //支付宝网关
    @Value("${gatewayUrl}")
    private String gatewayUrl;

    private final String format = "json";


    @RequestMapping("/pay")
    @ResponseBody
    public String pay(AlipayBean alipayBean) throws AlipayApiException {
        AlipayClient alipayClient = new DefaultAlipayClient(gatewayUrl, appId, privateKey, format, charset, publicKey, signType);
        AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
        alipayRequest.setReturnUrl(returnUrl);
        alipayRequest.setNotifyUrl(notifyUrl);


        alipayBean.setOut_trade_no(UUID.randomUUID().toString());
        alipayBean.setSubject("订单名称");
        alipayBean.setTotal_amount(String.valueOf(new Random().nextInt(100)));
        alipayBean.setBody("商品描述");
        log.info("封装请求支付宝付款参数为:{}", JSON.toJSONString(alipayRequest));

        alipayRequest.setBizContent(JSON.toJSONString(alipayBean));
        // 调用SDK生成表单
        String result = alipayClient.pageExecute(alipayRequest).getBody();
        log.info("请求支付宝付款返回参数为:{}", result);

        return result;

    }

    @RequestMapping("/success")
    @ResponseBody
    public String success(){
        return "交易成功!";
    }

    @RequestMapping(value = "/index")
    public String payCoin(){
        return "index.html";
    }
}
5,写一个简单的页面index.html

不要页面,直接接口工具请求也可以




    
    Title


订单号:
订单名称:
付款金额:
商品描述:
6,测试

启动springboot项目,地址栏输入localhost:8081,下单后自动跳到登录页面,需要登录买方的账号,就是沙箱应用生成的账号,支付密码111111,有没有支付成功,可以到沙箱应用查看账号的金额是否发生变动。




转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/825962.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号