- 下单接口报“签名错误”
微信下单接口签名错误,已经按照文档排查了所有可能的原因,在windows开发电脑上可以下单成功,部署在linux服务器后报签名错误,证书是一样的,服务器时间也是和互联网同步的 Config config2 =new RSAPublicKeyConfig.Builder() .merchantId("1722*****57") //微信支付的商户号 .privateKeyFromPath("/data/server/vr-cloud/cert/apiclient_key.pem") // 商户API证书私钥的存放路径 .publicKeyFromPath("/data/server/vr-cloud/cert/pub_key.pem") //微信支付公钥的存放路径 .publicKeyId("PUB_KEY_ID_011722*****90200181519001404") //微信支付公钥ID .merchantSerialNumber("244654B772*****5F24197E35B60E3A3B9") //商户API证书序列号 .apiV3Key("8d80274ed27*****c50ab15fff78de") //APIv3密钥 .build(); // 构建service JsapiService service = new JsapiService.Builder().config(config2).build(); PrepayRequest request = new PrepayRequest(); request.setAppid("wx7*****07f5db088"); request.setMchid(merchantId); request.setDescription("商品描述"); request.setOutTradeNo("VR"+System.currentTimeMillis()); request.setNotifyUrl("https://wxpay.*****.*****/wx/v1/jsapi/callback"); Payer payer=new Payer(); payer.setOpenid(openId); request.setPayer(payer); Amount amount = new Amount(); amount.setTotal(5000); request.setAmount(amount); // 调用下单方法,得到应答 PrepayResponse response = service.prepay(request);
09-19 - 下单接口报“鉴权错误”
微信下单接口鉴权错误,已经按照文档排查了所有可能的原因,在windows开发电脑上可以下单成功,部署在linux服务器后报鉴权错误,证书是一样的,服务器时间也是和互联网同步的 Config config2 =new RSAPublicKeyConfig.Builder() .merchantId("1722*****57") //微信支付的商户号 .privateKeyFromPath("/data/server/vr-cloud/cert/apiclient_key.pem") // 商户API证书私钥的存放路径 .publicKeyFromPath("/data/server/vr-cloud/cert/pub_key.pem") //微信支付公钥的存放路径 .publicKeyId("PUB_KEY_ID_011722*****90200181519001404") //微信支付公钥ID .merchantSerialNumber("244654B772*****5F24197E35B60E3A3B9") //商户API证书序列号 .apiV3Key("8d80274ed27*****c50ab15fff78de") //APIv3密钥 .build(); // 构建service JsapiService service = new JsapiService.Builder().config(config2).build(); PrepayRequest request = new PrepayRequest(); request.setAppid("wx7*****07f5db088"); request.setMchid(merchantId); request.setDescription("商品描述"); request.setOutTradeNo("VR"+System.currentTimeMillis()); request.setNotifyUrl("https://wxpay.*****.*****/wx/v1/jsapi/callback"); Payer payer=new Payer(); payer.setOpenid(openId); request.setPayer(payer); Amount amount = new Amount(); amount.setTotal(5000); request.setAmount(amount); // 调用下单方法,得到应答 PrepayResponse response = service.prepay(request);
09-19