@@ -105,6 +105,7 @@ | |||||
<module>weixin-java-pay</module> | <module>weixin-java-pay</module> | ||||
<module>weixin-java-miniapp</module> | <module>weixin-java-miniapp</module> | ||||
<module>weixin-java-open</module> | <module>weixin-java-open</module> | ||||
<module>starters/wx-java-pay-starter</module> | |||||
<!--module>weixin-java-osgi</module--> | <!--module>weixin-java-osgi</module--> | ||||
</modules> | </modules> | ||||
@@ -0,0 +1,65 @@ | |||||
<?xml version="1.0" encoding="UTF-8"?> | |||||
<project xmlns="http://maven.apache.org/POM/4.0.0" | |||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |||||
<parent> | |||||
<artifactId>wx-java</artifactId> | |||||
<groupId>com.github.binarywang</groupId> | |||||
<version>3.3.8.B</version> | |||||
</parent> | |||||
<modelVersion>4.0.0</modelVersion> | |||||
<artifactId>wx-java-pay-starter</artifactId> | |||||
<properties> | |||||
<spring.boot.version>2.1.4.RELEASE</spring.boot.version> | |||||
</properties> | |||||
<dependencies> | |||||
<dependency> | |||||
<groupId>org.springframework.boot</groupId> | |||||
<artifactId>spring-boot-autoconfigure</artifactId> | |||||
<version>${spring.boot.version}</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.springframework.boot</groupId> | |||||
<artifactId>spring-boot-configuration-processor</artifactId> | |||||
<version>${spring.boot.version}</version> | |||||
<optional>true</optional> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.projectlombok</groupId> | |||||
<artifactId>lombok</artifactId> | |||||
<scope>provided</scope> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>com.github.binarywang</groupId> | |||||
<artifactId>weixin-java-pay</artifactId> | |||||
<version>${project.version}</version> | |||||
</dependency> | |||||
</dependencies> | |||||
<build> | |||||
<plugins> | |||||
<plugin> | |||||
<groupId>org.springframework.boot</groupId> | |||||
<artifactId>spring-boot-maven-plugin</artifactId> | |||||
<version>${spring.boot.version}</version> | |||||
</plugin> | |||||
<plugin> | |||||
<groupId>org.apache.maven.plugins</groupId> | |||||
<artifactId>maven-source-plugin</artifactId> | |||||
<version>2.2.1</version> | |||||
<executions> | |||||
<execution> | |||||
<id>attach-sources</id> | |||||
<goals> | |||||
<goal>jar-no-fork</goal> | |||||
</goals> | |||||
</execution> | |||||
</executions> | |||||
</plugin> | |||||
</plugins> | |||||
</build> | |||||
</project> |
@@ -0,0 +1,57 @@ | |||||
package com.binarywang.spring.starter.wxjava.pay.config; | |||||
import com.binarywang.spring.starter.wxjava.pay.properties.WxPayProperties; | |||||
import com.github.binarywang.wxpay.config.WxPayConfig; | |||||
import com.github.binarywang.wxpay.service.WxPayService; | |||||
import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl; | |||||
import org.apache.commons.lang3.StringUtils; | |||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; | |||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; | |||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; | |||||
import org.springframework.boot.context.properties.EnableConfigurationProperties; | |||||
import org.springframework.context.annotation.Bean; | |||||
import org.springframework.context.annotation.Configuration; | |||||
/** | |||||
* <pre> | |||||
* 微信支付自动配置 | |||||
* Created by BinaryWang on 2019/4/17. | |||||
* </pre> | |||||
* | |||||
* @author <a href="https://github.com/binarywang">Binary Wang</a> | |||||
*/ | |||||
@Configuration | |||||
@EnableConfigurationProperties(WxPayProperties.class) | |||||
@ConditionalOnClass(WxPayService.class) | |||||
@ConditionalOnProperty(prefix = "wx.pay", value = "enabled", matchIfMissing = true) | |||||
public class WxPayAutoConfiguration { | |||||
private WxPayProperties properties; | |||||
@Autowired | |||||
public WxPayAutoConfiguration(WxPayProperties properties) { | |||||
this.properties = properties; | |||||
} | |||||
/** | |||||
* 构造微信支付服务对象. | |||||
* | |||||
* @return 微信支付service | |||||
*/ | |||||
@Bean | |||||
@ConditionalOnMissingBean(WxPayService.class) | |||||
public WxPayService wxPayService() { | |||||
final WxPayServiceImpl wxPayService = new WxPayServiceImpl(); | |||||
WxPayConfig payConfig = new WxPayConfig(); | |||||
payConfig.setAppId(StringUtils.trimToNull(this.properties.getAppId())); | |||||
payConfig.setMchId(StringUtils.trimToNull(this.properties.getMchId())); | |||||
payConfig.setMchKey(StringUtils.trimToNull(this.properties.getMchKey())); | |||||
payConfig.setSubAppId(StringUtils.trimToNull(this.properties.getSubAppId())); | |||||
payConfig.setSubMchId(StringUtils.trimToNull(this.properties.getSubMchId())); | |||||
payConfig.setKeyPath(StringUtils.trimToNull(this.properties.getKeyPath())); | |||||
wxPayService.setConfig(payConfig); | |||||
return wxPayService; | |||||
} | |||||
} |
@@ -0,0 +1,46 @@ | |||||
package com.binarywang.spring.starter.wxjava.pay.properties; | |||||
import lombok.Data; | |||||
import org.springframework.boot.context.properties.ConfigurationProperties; | |||||
/** | |||||
* <pre> | |||||
* 微信支付属性配置类 | |||||
* Created by Binary Wang on 2019/4/17. | |||||
* </pre> | |||||
* | |||||
* @author <a href="https://github.com/binarywang">Binary Wang</a> | |||||
*/ | |||||
@Data | |||||
@ConfigurationProperties(prefix = "wx.pay") | |||||
public class WxPayProperties { | |||||
/** | |||||
* 设置微信公众号或者小程序等的appid. | |||||
*/ | |||||
private String appId; | |||||
/** | |||||
* 微信支付商户号. | |||||
*/ | |||||
private String mchId; | |||||
/** | |||||
* 微信支付商户密钥. | |||||
*/ | |||||
private String mchKey; | |||||
/** | |||||
* 服务商模式下的子商户公众账号ID,普通模式请不要配置,请在配置文件中将对应项删除. | |||||
*/ | |||||
private String subAppId; | |||||
/** | |||||
* 服务商模式下的子商户号,普通模式请不要配置,最好是请在配置文件中将对应项删除. | |||||
*/ | |||||
private String subMchId; | |||||
/** | |||||
* apiclient_cert.p12文件的绝对路径,或者如果放在项目中,请以classpath:开头指定. | |||||
*/ | |||||
private String keyPath; | |||||
} |
@@ -0,0 +1 @@ | |||||
org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.binarywang.spring.starter.wxjava.pay.config.WxPayAutoConfiguration |