springboot集成微信支付普通商户版之H5支付
一、说明:
通过引入依赖实现微信支付,是非常方便的,因为SDK已经封装了很多公共的操作,比如签名sign等;以前还会因为字段排序等问题导致签名错误,使用该SDK可以规避此类问题。
巨坑!!!请留意:如果是新开的微信商户号,设置API密钥一定要设置两遍,否则会大概率出现“签名错误”。
二、准备参数
1.appid:登陆微信公众平台获取,是申请微信支付时对应公众号的appid;
2.mch_id:商户id,登陆微信商户平台获取
3.商户key(API密钥);设置后不能查看,只能重置,所以要保存好,如果是已经设置过了,重置要注意影响范围
三、开发步骤
1.在pom.xml中引入依赖
<dependency>
<groupId>com.github.wxpay</groupId>
<artifactId>wxpay-sdk</artifactId>
<version>0.0.3</version>
</dependency>
2.在MyWechatpayConfig类实现sdk中的WXPayConfig(注意:以下配置要改为自己的)
public class MyWechatpayConfig implements WXPayConfig {
//appid
public String getAppID() {
return "wx112324223";
}
//商户号
public String getMchID() {
return "156988272323";
}
//API密钥
public String getKey() {
return "112233344566788754432dfdkjjhjkjd";
}
public InputStream getCertStream() {
return null;
}
public int getHttpConnectTimeoutMs() {
return 8000;
}
public int getHttpReadTimeoutMs() {
return 10000;
}
}
3.主体报文逻辑如下
public Map<String,String> wechatpayMweb(HttpServletRequest request) throws Exception {
//解析数据
WXPay wxPay = new WXPay(myWechatpayConfig);
Map<String,String> map = new HashMap();
map.put