微信V3-jsapi支付流程,报错。已完成native, h5, 小程序支付。请问可能的原因?
环境 wechatpay-java开发的接口现状 native,h5,小程序支付都已完成。疑问 在参考jsapi支付时,对于传参和调用那个服务类感觉很模糊,和小程序很类似,但又不同。部分代码片段如下 自动更新平台证书 public RSAAutoCertificateConfig rsaAutoCertificateConfig() {
return new RSAAutoCertificateConfig.Builder()
.merchantId(merchantId)
.privateKeyFromPath(privateKeyPath)
.merchantSerialNumber(serialNumber)
.apiV3Key(apiV3Key)
.build();
}
native请求 public NativePayService nativePayService() {
return new NativePayService.Builder()
.config(rsaAutoCertificateConfig()).build();
}
其中native和h5,小程序都是类似的。 但是使用公众号支付,公众号自身存在mchid和appid。 如果按照之前的调用方式 com.wechat.pay.java.service.payments.jsapi.model.PrepayRequest prepayRequest = new com.wechat.pay.java.service.payments.jsapi.model.PrepayRequest();
com.wechat.pay.java.service.payments.jsapi.model.Amount amount = new com.wechat.pay.java.service.payments.jsapi.model.Amount();
amount.setTotal(1);
prepayRequest.setAmount(amount);
会提示[{"code":"PARAM_ERROR","message":"http header中的mchid与post payload中的mchid不匹配"}] 如果传入新的mchid,会提示 httpResponseBody[{"code":"SIGN_ERROR","message":"商户证书序列号有误。请使用签名私钥匹配的证书序列号"}] 到这里就很糊涂了。不清楚jsapi的整个流程是还需要做什么。 请问各位大佬,这个情况下,怎么排查问题,怎么解决? 谢谢。