SpringBoot集成支付宝沙箱支付
虽然这里用的spring boot 但是我用的还是jsp文件,具体如何支持jsp文件可以参考我这篇文章
https://blog.****.net/qq_40312707/article/details/89076725
先是开发前准备:
1.支付宝有现成的例子可以下载,根据自己语言下载即可
demo下载地址:https://docs.open.alipay.com/270/106291
2.免费注册蚂蚁金服开发者账号 注册完在可开发中心上选择研发服务,进去会得到appid等一些信息,这些信息需要在下面配置文件填写的
3.RSA2**生成 点击生成方法 根据他的提示一步一步操作 最后生成的**有两种,一个是公钥,一个叫私钥,在应用公钥上填写生成的公钥,填写后可以查看支付宝公钥,这个支付宝公钥下面配置文件需要填写
现在是开发步骤:
1.导入依赖
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>3.0.0</version>
</dependency>
2.配置文件
下载好的demo里有一个AlipayConfig.java文件,复制进你的项目中
@Component
public class AlipayConfig {
//↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
// 应用ID,您的APPID,收款账号既是您的APPID对应支付宝账号 按照我文章图上的信息填写
public static String app_id = "";
// 商户私钥,您的PKCS8格式RSA2私钥 刚刚生成的私钥直接复制填写
public static String merchant_private_key = "";
// 支付宝公钥,对应APPID下的支付宝公钥。 按照我文章图上的信息填写支付宝公钥,别填成商户公钥
public static String alipay_public_key = "";
// 服务器异步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,其实就是你的一个支付完成后返回的页面URL
public static String notify_url = "http://localhost:9999/alipay/notifyurl";
// 页面跳转同步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,其实就是你的一个支付完成后返回的页面URL
public static String return_url = "http://localhost:9999/orders/addOrders";
// 签名方式
public static String sign_type = "RSA2";
// 字符编码格式
public static String charset = "utf-8";
// 支付宝网关
public static String gatewayUrl = "https://openapi.alipaydev.com/gateway.do";
// 支付宝网关
public static String log_path = "C:\\";
//↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
/**
* 写日志,方便测试(看网站需求,也可以改成把记录存入数据库)
* @param sWord 要写入日志里的文本内容
*/
public static void logResult(String sWord) {
FileWriter writer = null;
try {
writer = new FileWriter(log_path + "alipay_log_" + System.currentTimeMillis()+".txt");
writer.write(sWord);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (writer != null) {
try {
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
3.Controller 给jsp文件配置Controller
@Controller
@RequestMapping("alipay")
public class AliPayController{
//支付宝支付主页
@RequestMapping("index")
public String alipayIndex(HttpServletRequest request,HttpSession session,Orders orders,String orderName) {
System.out.println("订单数据-"+orders);
System.out.println("订单名称-"+orderName);
request.setAttribute("orderPay", orders);
request.setAttribute("orderName", orderName);
session.setAttribute("orders", orders);
return "/alipay/alipayindex";
}
@RequestMapping("pay")
public String pay(){
return "/alipay/alipay-pay";
}
@RequestMapping("notifyurl")
public String notifyurl(){
return "/alipay/notify_url";
}
}
4.jsp 我用的是自己修改后的jsp文件
其实刚刚下载的demo解压后 配置完AlipayConfig.java这个配置文件就可以直接在服务器上运行demo的jsp文件,我是自己修改到自己的项目 想简单运行项目的同学 只要开发步骤的前两部即可直接运行体验
最后说一句如果是不会maven和spring boot同学 依赖是三个jar包 在demo里web-inf下lib文件夹里有这个三个jar包 只要按照我的要求配好AlipayConfig.java文件,直接就可以运行demo的jsp文件了,还是比较简单的。还不懂得可以私信我。后面文章我会写上我期间遇到的问题,你们可以参考。