问题已完结。 结论:在jsapi支付中,除了openId和小程序不同外,小程序的appId需要提供自身的。jsapi的请求和其他的native、h5一致。 jsapi是作为native/h5支付与小程序之间的支付方式。PrepayRequest构建与native一致,但同时有需要获取openid。小程序既需要提供openid有需要,提供不同的appid。
微信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的整个流程是还需要做什么。 请问各位大佬,这个情况下,怎么排查问题,怎么解决? 谢谢。
11-09