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处理毫秒,微秒,纳秒时间格式