Alipay-EasySDK从配置到撒钱
添加SDK依赖
Maven
在
pom.xml
的dependencies
标签中加入如下内容<dependency> <groupId>com.alipay.sdk</groupId> <artifactId>alipay-easysdk</artifactId> <version>2.1.0</version> </dependency>
Gradle
在
build.gradle
这个文件中的dependencies
里加入如下内容implementation 'com.alipay.sdk:alipay-easysdk:2.1.0'
配置SDK
准备材料
下面的配置需要用到沙箱环境,如果还没有完成沙箱环境相关的配置工作,或者不太清楚的可以先来这里看看
清单 值示例 来源 APPID
2016XXXXXXXX2651 沙箱应用中的APPID AlipayPublicKey
类似MIIBIjAN开头的字符串 支付宝公钥 MerchantPrivateKey
长得和支付宝公钥类似,但更长 生成应用公钥时同步生成的私钥 Protocol
https 网关协议,因为是对接支付宝,它提供的都是https GateWayHost
openapi.alipaydev.com 这里是支付宝的沙箱网管,实际生产环境网关地址为openapi.alipay.com/gateway.do SignType
RSA2 支付宝推荐使用RSA2加密方式 注:这里的
GateWayHost
后面有gateway.do
,算是个小坑
代码配置
application.yml
alipay: protocol: https # 不需要加/gateway.do,这是新旧SDK的区别,切记 gatewayHost: openapi.alipaydev.com signType: RSA2 # 填APPID appId: 2016102600762651 # 填应用私钥,注意是应用私钥,不要填成公钥了_(:з」∠)_ merchantPrivateKey: MIIE..... # 填支付宝公钥,注意不是生成的应用公钥 alipayPublicKey: MIIBIjAN......
AlipayProperties.java
@Component @ConfigurationProperties(prefix = "alipay") public class AlipayProperties { /** 应用识别码 */ private String appId; /** 网关协议 */ private String protocol; /** 网关地址 */ private String gatewayHost; /** 密钥加密方式 */ private String signType; /** 私钥 */ private String merchantPrivateKey; /** 公钥 */ private String alipayPublicKey;
AlipayConfig.java
@Configuration public class AlipayConfig { @Bean public Config getConfig(@Autowired AlipayProperties properties) { Config config = new Config(); // 网关协议 config.protocol = properties.getProtocol().trim(); // 网关地址 config.gatewayHost = properties.getGatewayHost().trim(); // 密钥加密方式 config.signTyp