我是靠谱客的博主 大胆橘子,最近开发中收集的这篇文章主要介绍2020-8-11 springboot项目接入支付宝接口,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

不会的时候觉得项目接入支付宝接口男上加男,学会以后觉得还是挺简单的(狗头),总结一下步骤:

1、登录 支付宝开放平台,手机支付宝扫一扫也就登录了,真方便

2、进入沙箱环境 ,在RSA2秘钥的地方可以生成秘钥,需要下载,我的已经生成过了

这两处地方可以和我配置的一样,回调地址是支付宝付款成功后跳转的地址

3、下载SDK

点我,

大概这个样子吧

<!-- alipay -->
    <dependency>
      <groupId>com.alipay.sdk</groupId>
      <artifactId>alipay-sdk-java</artifactId>
      <version>3.1.0</version>
    </dependency>

4、又是工具类

工具类基本上是这样的,和微信比,接入支付宝真是简单多了,接口文档写的也很好,爱了爱了。这个返回的form其实是一个前端的form表单,会自动提交,可以在控制台输出看一下效果,但是最后的<script>标签在前端的时候会自动解析,所以可以截取下来,将form放入前端的div中,通过jquery选择器获取到form,.submit()提交就可以了。支付宝做的这个页面在支付完成后会自动跳转到我们制定的页面。接入就完成了。

package com.fh.util;

import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.request.AlipayTradePagePayRequest;
import com.fh.entity.Order;

import javax.servlet.http.HttpServletRequest;
import java.io.IOException;

public class AliPayUtil {

    public static String payController(HttpServletRequest request, Order order) throws IOException {
        //获得初始化的AlipayClient
        AlipayClient alipayClient = new DefaultAlipayClient(
                "https://openapi.alipaydev.com/gateway.do",
                //自己的APPID 沙箱里边有的
                "2021000116677545",
               //自己生成的私钥
 "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCPGKk/92iOisPBTHq05hMy4bHGx3/CLIjaCQ+zIl+AnK2+3QyMxyRVa0a/L4DKTCCdiUhqJWIZETE7zWnZ+E6td0kyZOyHlvB3FuFcUW53OSs3LcU7Z0WdvTWVeAJI/Lf7Km+277fnb8IgvZFF1toO5uLu5n3m3Rksq7SWHgufP2561MKC9jL+fw5Xb8VOZPYDQjcXVSOdsjo9p2dQzDTyr8iCMHln3n36X406yui8nU9rbxqJxqo3GdqpiLARvegx5+N/vV3r8BkFw1XGRVSWwIpS8A0fr6nELQSr0qYNM0YYAKUbQ6+BcPAWFi7vYRcssep6X+dkJrKalVFYq02xAgMBAAECggEAXcUpU9OK3q2sLcUyO8zxE8y2NK6S1+lbHJYHhbmmn58MdCBikvYEpz0PNUWpvec5EELgAz7QE+EiRDANh1qiJCYg/zcHkKqmlUOXFmn+W35JBXWm45B/HCjbLkFgLff9kEd0wYpBFxYzPkU7J2rtpgpC945vPpPwZUd3pU+3CfkHVAuKNPwVlu5/QkGgTxeUoqaFxiXSWy3wXvftMwEc7M+TPpFNFcD0a/o9GiQyal87bR+3H0FTpNoMJw3eicXBFVm1LBS2g/l7rjWf3njRYcQf2dn9IVpz4vaO6X+cvdnGeyare75u+BE9Z8cEtbwIunGMJqGSwWvdMi+xoBXx4QKBgQDfVc3OyNGWWPzdSYPEoQ2NFZgnqjw0hac4TqRmydSVPrcq8D6wsDmVvIZ4rg51T1YsRTviYkgHfGgGjHunOnK99MuLdAl8Dh8jS38aFT0sKtk7Akw9TMzppo976/XHCBqxg0MQUpVtxClFWT8JQR9FfD1VXSy2K23yzkC20RfshQKBgQCkBoaQJuGhh0kxD9L5oICN3HdIOvG1LtwfB5rc4w/+IyDgJ0BvamneYGff+84guI4fLVWi9Qzb8Q+BWEFTnhovPUXdbgMBNIZLdc2MuXTjDl3sbzuJXnVfAML4R2mGXxqImxmaWVeUeYa5q3e1hsRlvr+IP8ySYShAY1QdryvKPQKBgQCoo/L/dTaFz/ZI5m0gefhwk2DMeshxZIbrhr6vezIR7ESFoNnFs5wYDD6CO/Rg8qKAVVsty8bWGEO4xjXNBd6Ev6c/S0SqL0Ol9CkqueTyR/y2iTqmgyqsOABas8doHh+B8TsfxSxesWP0oLpvs4P4hSMPJYdQm6SvVr0ZDvSAvQKBgAL9p3h7bQPP/rKpUjSBC7cKfRZRFNUz7ImYTueWMFV2+IN907v0WcfXRC2eXszT8Kt63SPiigB8rcazAEXxDRMtb9ewyNc9yPEZTc0yGIKHYYkNIi3IDiXUUrnKO49arpYtFdNtq54mdSFvkfg6Y9xjFQT7/NPyd5Rs+zyrVAYVAoGBAN1eghr6WP4DBTkzzad3mJgiebZPqjY7hTmM6uYPeUpPMa2tRha3FiicaYvgsOfVT3Kyw5pTvJuqnrZw06/OdXUQQPhXJkvQxEEL8Q2KY8EvXR2A0FCPFAuzryuYBofqfzssDFs2U2K+6cTxpMPetpIHq0PWKnBZQ+HdRCr07Okj",
                //这两个就和我的一样吧,这都不重要
                "json",
                "utf-8",
                //支付宝公钥,注意,不是我们生成的公钥,是支付宝公钥,找沙箱    
            "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv6PuEyyob2cGwqec09s8ma//N/1XM77F7YQ7LzQvKIvkD+rmCrPVsIjH99QhheX4byWmyxkBZQiffzrJJPt+PkIPd2uj7Ue6oWv+J/mUIXf1YOyXycDtZT60vg5gU95UPflkDS1btq/UEHTP8lAIlJtHRFoysmrYEoPwVgU2R6nj/PdW5bAbYVtGaAQfHhDp6VJoXOQoYrDjQXiWl82McZNOMm+OATTq4sjPpJC5l0XjZ+oQVLbFmQ25t7dRdPQqMPb7gwBnhKrlVVPzxnWLXfTo5GGIP/mBQKtgv/RlYsLdIg0kKpc/DLCxtKZV0E4newhhOqOwgLLde4JemdUkOwIDAQAB",
                "RSA2"
        );

        //设置请求参数
        AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
        //支付完成后返回的页面
        alipayRequest.setReturnUrl("http://192.168.1.11:8081/aliPay-success.jsp");
        //这个就不要变了
        alipayRequest.setNotifyUrl("https://openapi.alipaydev.com/gateway.do");

        //商户订单号,商户网站订单系统中唯一订单号,必填
        String out_trade_no = order.getOrderId().toString();
        //付款金额,必填
        String total_amount = order.getTotalMoney().toString();
        //订单名称,必填
        String subject = order.getOrderId().toString();
        //商品描述,可空 可空就是不用写 哈哈

        alipayRequest.setBizContent("{"out_trade_no":""+ out_trade_no +"","
                + ""total_amount":""+ total_amount +"","
                + ""subject":""+ subject +"","
                + ""product_code":"FAST_INSTANT_TRADE_PAY"}");

        //若想给BizContent增加其他可选请求参数,以增加自定义超时时间参数timeout_express来举例说明
        //alipayRequest.setBizContent("{"out_trade_no":""+ out_trade_no +"","
        //		+ ""total_amount":""+ total_amount +"","
        //		+ ""subject":""+ subject +"","
        //		+ ""body":""+ body +"","
        //		+ ""timeout_express":"10m","
        //		+ ""product_code":"FAST_INSTANT_TRADE_PAY"}");
        //请求参数可查阅【电脑网站支付的API文档-alipay.trade.page.pay-请求参数】章节

        //请求
        String form="";
        try {
            form = alipayClient.pageExecute(alipayRequest).getBody(); //调用SDK生成表单
        } catch (AlipayApiException e) {
            e.printStackTrace();
        }
        return form;
    }

}

 

 

 

 

 

最后

以上就是大胆橘子为你收集整理的2020-8-11 springboot项目接入支付宝接口的全部内容,希望文章能够帮你解决2020-8-11 springboot项目接入支付宝接口所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部