常见错误 强烈建议阅读完再搞避免踩坑多花冤枉钱
1、该ID未完成微信认证,请确认后再试
完成appid的认证,微信服务号为企业认证,开放平台为开发者认证。
2、你输入的APPID认证主体名称与实际认证主体不一致,请检查修改后重试
检查开放平台或者公众平台认证主体和商户号主体是否一致。
3、不支持关联该类型的appID
微信Native支付(PC网站)不能用开放平台的appid.
微信Native支付的appid 必须为 微信服务号 即认证主体为企业的公众号。
微信Native支付的appid 必须为微信服务号 即认证主体为企业的公众号。
微信Native支付的appid 必须为微信服务号即认证主体为企业的公众号。
4、修改支付时提示的收款方名称
收款方名称要修改商户号里面的商户简称
微信Native支付申请流程
1、 申请微信商户号
2、 申请微信企业服务号并且认证,拿到appid
3、 将服务号的appid与商户号绑定
4、申请证书key之类的
微信Native支付接入
java开发 推荐使用IJPay
1、引入ijpay的库
1 | xml复制代码<dependency> |
2、创建请求需要的参数类。配置信息在application中
1 | java复制代码public class WxPayConfig { |
3、配置信息application.properties
1 | java复制代码wxpay.appId=申请的服务号的appid |
4、统一下单
1 | java复制代码 Map<String, String> params = UnifiedOrderModel |
5、异步通知
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
String xmlMsg = HttpKit.readData(request);
logger.info("支付通知=" + xmlMsg);
Map<String, String> params = WxPayKit.xmlToMap(xmlMsg);
String returnCode = params.get("return_code");
// 注意重复通知的情况,同一订单号可能收到多次通知,请注意一定先判断订单状态
// 注意此处签名方式需与统一下单的签名类型一致
if (WxPayKit.verifyNotify(params, wxPayConfig.partnerKey, SignType.HMACSHA256)) {
if (WxPayKit.codeIsOk(returnCode)) {
// 更新订单信息
// 发送通知等
String out_trade_no = params.get("out_trade_no");
String total_fee = params.get("total_fee");
Map<String, String> xml = new HashMap<String, String>(2);
xml.put("return_code", "SUCCESS");
xml.put("return_msg", "OK");
return WxPayKit.toXml(xml);
}
}
原创不易转载请注明出处
如果本文对你有所帮助,请帮作者买杯咖啡吧
本文转载自: 掘金