收藏
回答

StatusCode: 400, ReasonPhrase: 'Bad Request'?

调用接口:https://api.mch.weixin.qq.com/v3/certificates

请求信息:{Method: GET, RequestUri: 'https://api.mch.weixin.qq.com/v3/certificates', Version: 1.1, Content: <null>, Headers:{  Authorization: WECHATPAY2-SHA256-RSA2048 mchid="1520812001",nonce_str="ncmy4ymj.t0b",timestamp="1604154531",serial_no="7E035D22E9BDA25D6AB8A952C9B2918DE8E4B28F",signature="BvhzYN/gRnyM2lthJHiQuAzocX0IGTErzt7de9Gl8FXwXvf5RVpBSPNBSTVdT8LVYkvYEP6Cj10vq7oTsiNllVBIlGGedbl47/iyU7nTzQ0iYvololyojcITzLcciRkq/KVuo6yu6ZNVP5t4R2WgX5dr6wg2RQOuIRSTkfBvWS5wSte7ruyvgR+nReAatrn/QHJ0pE0S5BynypleQCgBoQ65GPQ1lpumeDehCYqCEiTT8UuYQ0IbJ5MMMHFnj/m1sye6E4M4/deHuFfmWDDLP4GgldVHF5y6kLoFKRVu5QllrSJahAqc2lJeGweZyIPl9k1TJt34qWte4gAtlINm8g=="}}

返回信息:Id = 5, Status = RanToCompletion, Method = "{null}", Result = "StatusCode: 400, ReasonPhrase: 'Bad Request', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:\r\n{\r\n  Connection: keep-alive\r\n  Keep-Alive: timeout=8\r\n  X-Content-Type-Options: nosniff\r\n  Request-ID: 08CFE8F5FC0510E703189DC4C24820E72628FCBE05-270924291\r\n  Cache-Control: must-revalidate, no-cache\r\n  Date: Sat, 31 Oct 2020 14:27:27 GMT\r\n  Server: nginx\r\n  Content-Length: 71\r\n  Content-Language: zh-CN\r\n  Content-Type: application/json; charset=utf-8\r\n}"

使用POSTMAN可以通,但程序死活通不了。

我用的代码就是文档中的代码:https://wechatpay-api.gitbook.io/wechatpay-api-v3/qian-ming-zhi-nan-1/qian-ming-sheng-cheng (拉到最下面的.Net代码)。

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

4 个回答

  • 淺烣汲
    淺烣汲
    2023-08-24
    EntityUtils.toString(response.getEntity())微信返回报错信息的代码
    之前没有好好去看微信的数字字典,看到这个400查了很多方案都没有解决,后来打印报错信息,出现的报错为
    


    {"code":"PARAM_ERROR","detail":{"location":"body","value":100.0},"message":"无法将 JSON 输入源“/body/amount/total”映射到目标字段“总金额”中,此字段需要一个合法的 64 位有符号整数"}
    微信订单金额是以分为单位的,价格只能传整数int类型给微信,不然也会报错400
    
    2023-08-24
    有用
    回复
  • 门欣
    门欣
    2021-10-04

    我的情况是 http header里面必须传 accept 和 user-agent,否则服务器认为bad request.

    2021-10-04
    有用
    回复
  • 郑飞
    郑飞
    2020-11-02

    解决了,使用PostMan的Code生成功能解决的。用的是RestSharp发起http请求。

    httpclient和webrequest之类的工具死活请求不通。

    2020-11-02
    有用
    回复
  • 微信支付技术助手8
    微信支付技术助手8
    2020-11-02

    1,检查你的程序代码,以及调用环境是否有问题。

    2,https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_sl_api.php?chapter=23_2&index=3排查一下网络情况。

    2020-11-02
    有用
    回复
登录 后发表内容
问题标签