Java实现微信支付功能
第二步创建配置类
@Configuration
public class WxConfig {
@Autowired
private WxPayConfigs properties;
@Bean
public WxMaConfig wxMaConfig() {
WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
config.setAppid(properties.getAppId());
config.setSecret(properties.getAppSecret());
return config;
}
@Bean
public WxMaService wxMaService(WxMaConfig maConfig) {
WxMaService service = new WxMaServiceImpl();
service.setWxMaConfig(maConfig);
return service;
}
@Bean
public WxMaService wxMaService() {
WxMaDefaultConfigImpl wxMaConfig = new WxMaDefaultConfigImpl();
wxMaConfig.setAppid(this.properties.getAppId());
wxMaConfig.setSecret(this.properties.getAppSecret());
WxMaService wxMaService = new WxMaServiceImpl();
wxMaService.setWxMaConfig(wxMaConfig);
return wxMaService;
}
@Bean
public WxPayService wxPayService() {
WxPayConfig payConfig = new WxPayConfig();
payConfig.setAppId(properties.getAppId());
payConfig.setMchId(properties.getMchId());
payConfig.setMchKey(properties.getMchKey());
payConfig.setNotifyUrl(properties.getNotifyUrl());
payConfig.setKeyPath(properties.getKeyPath());
payConfig.setSignType("MD5");
WxPayService wxPayService = new WxPayServiceImpl();
wxPayService.setConfig(payConfig);
return wxPayService;
}
}
第三步,创建实体类
@Data
@Configuration
@ConfigurationProperties("wx")
public class WxPayConfigs {
private String appId;
private String appSecret;
private String mchId;
private String mchKey;
private String notifyUrl;
private String keyPath;
private String refundUrl;
}
分两步,支付接口和支付成功和失败的回调接口
支付接口是提供给前端调用的,回调接口是我们自己回调的
支付接口实现层
只要代码块在try catch,其余根据自己的业务需求修改
ps:金额要把元转化成分
回调接口
同样的,后半部分根据自己的业务需求修改
第五步申请退款
有错误,希望大佬们指出,不要喷我,谢谢!
下一篇:
java处理毫秒,微秒,纳秒时间格式
