好久没有更新博客了 今天偶然发现自己的框架篇还有一个微信支付没写 也算是自己的笔记了 就来补上了
微信的支付退款 提现 我已经换成了班纳睿大大的WxJava了 码云地址
我这里只采用了最简单的支付 以及退款
框架是采取的springboot的自动装配
直接上代码
pom
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-pay</artifactId>
<version>3.4.0</version>
</dependency>
配置文件(yml)
wx:
pay:
appId: appID
mchId: 商户号
mchKey: key
subAppId:
subMchId:
keyPath: 证书
notifyUrl: www.liliubing.cn
证书在windows环境需要安装 密码就是商户号 Linux直接绝对路径就可以了
/**
* 微信原路返回
* @return
*/
public ResponseResult<String> wxPay(RefundDto dto) throws Exception{
log.info("微信退款");
WxPayRefundRequest wxPayRefundRequest = new WxPayRefundRequest();
wxPayRefundRequest.setOutTradeNo(dto.getOutTranNum());//支付流水号
wxPayRefundRequest.setOutRefundNo(dto.getOutTranNum());//退款流水号
wxPayRefundRequest.setTotalFee(Integer.valueOf(dto.getTootleMoney()));//支付金额
wxPayRefundRequest.setRefundFee(Integer.valueOf(dto.getMoney()));//退款金额
WxPayRefundResult refundRequest = wxPayService.refund(wxPayRefundRequest);
System.out.println(refundRequest);
if(refundRequest.getReturnCode().equals("SUCCESS")){
//成功
log.info("退款成功");
return ResponseResult.success();
}else{
//失败
log.info("退款失败");
return ResponseResult.failNotice("退款失败");
}
}
这个里面不需要配置任何商户号appid之类的 他们会自动装配好 只需要 填入必须参数 outtrannum是支付的时候的流水号 支付金额 以及退款金额 退款编号自动生成就可以了