收藏
回答

微信支付v3普通商户h5下单400是什么问题?

请求URL:https://api.mch.weixin.qq.com/v3/pay/transactions/h5

请求方式:POST

PrivateKey merchantPrivateKey = PemUtil.loadPrivateKey(

                new ByteArrayInputStream(privateKey.getBytes("utf-8")));

            //使用自动更新的签名验证器,不需要传入证书

            verifier = new AutoUpdateCertificatesVerifier(

                new WechatPay2Credentials(mchId, new PrivateKeySigner(mchSerialNo, merchantPrivateKey)),

                apiV3Key.getBytes("utf-8"));


            httpClient = WechatPayHttpClientBuilder.create()

                .withMerchant(mchId, mchSerialNo, merchantPrivateKey)

                .withValidator(new WechatPay2Validator(verifier))

                .build();

      HttpPost httpPost = new HttpPost("https://api.mch.weixin.qq.com/v3/pay/transactions/h5");

String data = "{\n" +

            "    \"time_expire\": \"2018-06-08T10:34:56+08:00\",\n" +

            "    \"amount\": {\n" +

            "        \"total\": 100,\n" +

            "        \"currency\": \"CNY\"\n" +

            "    },\n" +

            "    \"mchid\": \"商户id\",\n" +

            "    \"description\": \"Image形象店-深圳腾大-QQ公仔\",\n" +

            "    \"notify_url\": \" https://www.weixin.qq.com/wxpay/pay.php\",\n" +

            "    \"out_trade_no\": \"1217752501201407033233368019\",\n" +

            "    \"appid\": \"appid\",\n" +

            "    \"scene_info\": {\n" +

            "        \"h5_info\": {\n" +

            "            \"type\": \"iOSAndroidWap\"\n" +

            "        },\n" +

            "        \"payer_client_ip\": \"14.23.150.211\"\n" +

            "    }\n" +

            "}";

StringEntity reqEntity = new StringEntity(

        data, ContentType.create("application/json", "utf-8"));

    httpPost.setEntity(reqEntity);

    httpPost.addHeader("Accept", "application/json");

    httpPost.addHeader("Wechatpay-Serial", "微信支付平台生成的证书得序列号");//请求头这里加了Wechatpay-Serial,加不加都是400错误

    CloseableHttpResponse response = httpClient.execute(httpPost);

//httpClient构建的时候会组装好Authorization,Authorization里面放的商户签名,是普通商户不能用这个api吗?

回答关注问题邀请回答
收藏

2 个回答

登录 后发表内容
问题标签