WxPayConfiguration.java 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package beilv.wx.pay.config;
  2. import com.github.binarywang.wxpay.config.WxPayConfig;
  3. import com.github.binarywang.wxpay.service.WxPayService;
  4. import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
  5. import lombok.AllArgsConstructor;
  6. import org.apache.commons.lang3.StringUtils;
  7. import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
  8. import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
  9. import org.springframework.boot.context.properties.EnableConfigurationProperties;
  10. import org.springframework.context.annotation.Bean;
  11. import org.springframework.context.annotation.Configuration;
  12. /**
  13. * @author Binary Wang
  14. */
  15. @Configuration
  16. @ConditionalOnClass(WxPayService.class)
  17. @EnableConfigurationProperties(WxPayProperties.class)
  18. @AllArgsConstructor
  19. public class WxPayConfiguration {
  20. private WxPayProperties properties;
  21. @Bean
  22. @ConditionalOnMissingBean
  23. public WxPayService wxService() {
  24. WxPayConfig payConfig = new WxPayConfig();
  25. payConfig.setAppId(StringUtils.trimToNull(this.properties.getAppId()));//V3商户模式需要
  26. payConfig.setMchId(StringUtils.trimToNull(this.properties.getMchId()));//V3商户模式需要
  27. payConfig.setMchKey(StringUtils.trimToNull(this.properties.getMchKey()));
  28. payConfig.setSubAppId(StringUtils.trimToNull(this.properties.getSubAppId()));
  29. payConfig.setSubMchId(StringUtils.trimToNull(this.properties.getSubMchId()));
  30. payConfig.setKeyPath(StringUtils.trimToNull(this.properties.getKeyPath()));
  31. payConfig.setApiV3Key(StringUtils.trimToNull(this.properties.getApiV3Key()));//V3商户模式需要
  32. payConfig.setCertSerialNo(StringUtils.trimToNull(this.properties.getCertSerialNo()));//V3商户模式需要
  33. payConfig.setPrivateCertPath(StringUtils.trimToNull(this.properties.getPrivateCertPath()));//V3商户模式需要
  34. payConfig.setPrivateKeyPath(StringUtils.trimToNull(this.properties.getPrivateKeyPath()));//V3商户模式需要
  35. payConfig.setPublicKeyPath(StringUtils.trimToNull(this.properties.getPublicKeyPath()));//V3商户模式需要
  36. payConfig.setPublicKeyId(StringUtils.trimToNull(this.properties.getPublicKeyId()));//V3商户模式需要
  37. payConfig.setNotifyUrl(StringUtils.trimToNull(this.properties.getNotifyUrl()));//支付成功回调地址
  38. // 可以指定是否使用沙箱环境
  39. payConfig.setUseSandboxEnv(false);
  40. WxPayService wxPayService = new WxPayServiceImpl();
  41. wxPayService.setConfig(payConfig);
  42. return wxPayService;
  43. }
  44. }