基础搭建
Springboot集成支付宝沙箱支付Easy版
正式版本的SDK
-
通用版SDK文档
通用版SDK文档 -
maven依赖
<!-- https://mvnrepository.com/artifact/com.alipay.sdk/alipay-sdk-java -->
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>4.22.110.ALL</version>
</dependency>
<!-- fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.78</version>
</dependency>
- AlipayConfig.java配置类中,只需要获取配置alipay的参数即可
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
* 支付宝配置类
* @author fangqi174956
*/
@Data
@Component
@ConfigurationProperties(prefix = "alipay")
public class AliPayConfig {
// AppId,例如:2019091767145019
private String appId;
// 应用私钥
private String merchantPrivateKey;
// 支付宝公钥
private String alipayPublicKey;
// 支付类接口异步通知接收服务地址
private String notifyUrl;
}
4.支付宝参数实体类AliPay.java中,配置属性
package com.qingge.springboot.entity;
import lombok.Data;
/**
* 支付实体类
* @author fangqi174956
*/
@Data
public class AliPay {
private String subject;
private String tradeNo;
private String totalAmount;
/** 要退款的订单交易流水号 */
private String aliPayTradeNo;
}
4.配置接口 ,在AliPayController.java中配置以下接口
- 支付接口 ‘/alipay/pay’ ,
- 支付成功回调 ‘/alipay/notify’
- 退款接口 ‘/alipay/returnPay’
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONObject;
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.internal.util.AlipaySignature;
import com.alipay.api.request.AlipayTradePagePayRequest;
import com.alipay.api.request.AlipayTradeRefundRequest;
import com.alipay.api.response.AlipayTradeRefundResponse;
import com.qingge.springboot.config.AliPayConfig;
import com.alipay.api.DefaultAlipayClient;
import com.qingge.springboot.common.Result;
import com.qingge.springboot.entity.AliPay;
import com.qingge.springboot.entity.Orders;
import com.qingge.springboot.service.IOrdersService;
import org.slf4j.Logger;