Shell脚本 css nhibernate php零基础入门视频 centos查看php版本 bitlocker加密好慢 solr索引 bootstrap滚动条 python开发工具 python正则表达 java开发教程 java数组添加 java正则替换 java自学编程入门教程 java怎么使用 java定义变量 java得到当前时间 java中的集合 java怎么学 decimalformat 摩尔斯电码翻译器 小米5c拆机 深入浅出通信原理 摩斯密码在线翻译 微信小程序开发实例 popen函数 关闭页面 只狼全鬼佛 python延时函数 asp程序下载 免费ftp空间 qq制作网页 qq空间自动点赞 速查表 php完全自学手册 ass转srt 数据库同步解决方案 qq浏览器兼容模式 网红男头像 ps渐变工具在哪里
当前位置: 首页 > 学习教程  > 编程语言

2020-8-11 springboot项目接入支付宝接口

2020/8/11 20:48:37 文章标签:

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

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

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

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

3、下载SDK

点我,下载maven依赖配置在Pom文件中

大概这个样子吧

<!-- 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;
    }

}

 

 

 

 

 


本文链接: http://www.dtmao.cc/news_show_100421.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?