一、对接流程概述
申请支付宝商户号
> 开通支付能力
>申请应用
>开发设置
>签约开通支付能力
>集成SDK
二、流程详解
2.1 申请支付宝账号
2.2开通网站支付功能
2.3创建应用
创建完以后一般一天只能都能审核通过
2.4 开发设置
2.4.1 接口加签方式设置
详细信息可参考官网文档:官网地址
我这里选择的是在线生成证书的方式,补充响应的信息即可下载证书
2.5 开通签约支付能力
点击签约开通就可以了
2.6 对接SDK
终于到了激动人心撸代码的环节了
引入SDK
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>4.22.49.ALL</version>
</dependency>
创建配置类
package com.wn.config;
import com.alibaba.fastjson.JSONObject;
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.AlipayConfig;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.internal.util.AlipaySignature;
import com.alipay.api.internal.util.StreamUtil;
import com.alipay.api.internal.util.codec.Base64;
import com.alipay.api.request.AlipayTradePagePayRequest;
import com.alipay.api.response.AlipayTradePagePayResponse;
import com.google.common.io.Resources;
import com.wn.utils.ResultUtils;
import lombok.extern.slf4j.Slf4j;
import org.omg.CORBA.PRIVATE_MEMBER;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import java.io.*;
import java.math.BigDecimal;
import java.net.URISyntaxException;
import java.security.KeyFactory;
import java.security.PublicKey;
import java.security.spec.X509EncodedKeySpec;
import java.util.Map;
/**
* @Author: 大王
* @Date: 2022/3/1 15:27
*/
@Slf4j
@Component
public class AliPayConfigSetting {
@Value("${alipay.serverUrl}")
private String serverUrl;
@Value("${alipay.appId}")
private String appId;
@Value("${alipay.privateKey}")
private String privateKey;
@Value("${alipay.notify}")
private String notify;
public String getAppId() {
return appId;
}
private AlipayClient alipayClient;
private AlipayConfig alipayConfig;
/**
* 验签名
* 这里需要使用阿里的支付证书来验证签名,注意使用的方法和证书是否正确,使用证书或者验证签名的方法不正确验证都会报错,需要特别注意
* @param params
* @return
*/
public boolean