收藏
回答

测试环境沙盒支付报错 请确认请求参数是否正确param mch_id invalid

测试环境沙盒支付报错 请确认请求参数是否正确param mch_id invalid


签名计算方法与正式环境一样,正式请求没问题,沙箱环境就报错。

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

3 个回答

  • 支付社区运营-Tasting
    支付社区运营-Tasting
    04-12

    ① 请求参数有误,请参考开发文档对应支付api列表

    ② 请确认商户号与子商户号是否正确受理关系,需使用入驻时获取的真实商户号


    04-12
    有用
    回复 1
    • 梦
      09-03
      你tm会不会实际解决一下问题啊,就只会复读机一样。我们如果不是tm的把你说的这些都检查过了还不行,会废这么大劲儿来这里反馈?一个破jb沙箱支付好多年了还在出bug,而且是相同的bug,也没有规范的文档,也不提供一些清晰明了的demo,腾讯真是养了一群吃shit的人。恶心死了,真的吐了
      09-03
      1
      回复
  • 北望沣渭
    北望沣渭
    04-12

    以下是亲测(脱敏)信息,供参考,命令行可见:真香:一行命令即可体验「微信支付」全系接口能力

    ./node_modules/.bin/wxpay v2.pay.getsignkey \
    -u 'https://api.mch.weixin.qq.com/sandboxnew/' \
    -c.mchid 136****302 \
    -c.secret 4b2b8**********************8e35d \
    -c.serial any \
    -c.privateKey any \
    -c.certs.any \
    -d.mch_id 136****302 \
    -d.nonce_str 5K8264ILTKCH16CQ2502SI8ZNMTM67VS
    {
      config: {
        url: 'pay/getsignkey',
        method: 'post',
        data: '<xml><mch_id>136****302</mch_id><nonce_str>5K8264ILTKCH16CQ2502SI8ZNMTM67VS</nonce_str><sign>817F6C6313F5C9D9604E2A3A42F1C180</sign></xml>',
        headers: {
          Accept: 'application/json, text/plain, */*',
          'Content-Type': 'text/xml; charset=utf-8',
          'User-Agent': 'wechatpay-axios-plugin/0.5.4 axios/0.21.1 node/14.16.1 darwin/x64',
          'Content-Length': 138
        },
        baseURL: 'https://api.mch.weixin.qq.com/sandboxnew/',
        transformRequest: [ [Function: signer], [Function: toXml] ],
        transformResponse: [ [Function: toObject], [Function: verifier] ],
        timeout: 0,
        adapter: [Function: httpAdapter],
        responseType: 'text',
        xsrfCookieName: 'XSRF-TOKEN',
        xsrfHeaderName: 'X-XSRF-TOKEN',
        maxContentLength: -1,
        maxBodyLength: -1,
        httpsAgent: Agent {
          _events: [Object: null prototype],
          _eventsCount: 2,
          _maxListeners: undefined,
          defaultPort: 443,
          protocol: 'https:',
          options: [Object],
          requests: {},
          sockets: {},
          freeSockets: [Object],
          keepAliveMsecs: 1000,
          keepAlive: true,
          maxSockets: Infinity,
          maxFreeSockets: 256,
          scheduling: 'fifo',
          maxTotalSockets: Infinity,
          totalSocketCount: 0,
          maxCachedSessions: 100,
          _sessionCache: [Object],
          [Symbol(kCapture)]: false
        },
        validateStatus: [Function: validateStatus],
        mchid: 136****302,
        secret: '4b2b8**********************8e35d',
        serial: 'any',
        privateKey: 'any',
        certs: { any: true }
      },
      headers: {
        server: 'nginx',
        date: 'Mon, 12 Apr 2021 06:51:02 GMT',
        'content-type': 'text/plain;charset=utf-8',
        'content-length': '185',
        connection: 'keep-alive',
        'keep-alive': 'timeout=8',
        from: 'sandbox'
      },
      data: {
        return_code: 'SUCCESS',
        return_msg: 'ok',
        sandbox_signkey: '4b2b85ef1****9d728a4****d248e35d'
      }
    }
    
    04-12
    有用
    回复 21
    • 苏广
      苏广
      04-12
      感谢您的回答,请问https://api.mch.weixin.qq.com/sandboxnew/pay/getsignkey 中字段(签名 sign)的生成方法 
      sign=MD5( mch_id=XXXXX&nonce_str=XXXXX&key=商户号key)  这样对么?
      另外你源码中 “data: '<xml><mch_id>136****302</mch_id><nonce_str>5K8264ILTKCH16CQ2502SI8ZNMTM67VS</nonce_str><sign>817F6C6313F5C9D9604E2A3A42F1C180</sign></xml>',”
      其中sign部分为什么没有 ![CDATA?难道我这部分有问题?
      04-12
      回复
    • 北望沣渭
      北望沣渭
      04-12回复苏广
      CDATA 是xml规范的一部分,可有可无,你把你发送的xml文本debug出来,贴出来看看
      04-12
      回复
    • 苏广
      苏广
      04-12
      04-12
      回复
    • 北望沣渭
      北望沣渭
      04-12回复苏广
      CDATA不能美化,美化后的括号内的【】空行空格,都认为是合法内容
      04-12
      回复
    • 苏广
      苏广
      04-12
      刚才是用XML查看器观察的,这回再请看看
      04-12
      回复
    查看更多(16)
  • 苏广
    苏广
    04-12

    参考了N遍,你能不能回答点有建设性的?

    请帮忙看看SIGN生成方法是否正确?

    04-12
    有用
    回复 1
    • 苏广
      苏广
      04-12
      商户号肯定是对的,在正式下单API中是可以正常请求的。
      04-12
      回复
登录 后发表内容
问题标签