收藏
回答

调用微信支付返回code-100,payment微信-1,这是什么情况?

我们公司使用HBuilder打包h5调用微信支付,获取到了prepayid,使用微信支付,返回{code:-100,message:[payment微信:-1]General errors}

一开始我使用统一下单,URL地址:https://api.mch.weixin.qq.com/pay/unifiedorder,发送了post请求

从返回的数据中得到prepayid,调用支付接口,返回错误{code:-100,message:[payment微信:-1]General errors},

签名的包名我都进行了多次重试,希望可以解决我的问题,卡在这里已经第三天了@微信支付技术助手1

最后一次编辑于  11-29
回答关注问题邀请回答
收藏

2 个回答

  • 微信支付技术助手1
    微信支付技术助手1
    12-02
    1、统一下单返回是否正常(后面步骤都用到了这个接口的appid,mchid,prepayid,看参数是否匹配
    2、第二次签名过程是否正确(此步骤商户一定要严格按文档的参数列表来做签名,用签名工具做校验)
    2.1、此处涉及一个细节:该接口没有sign_type参数,如果统一下单用的HMAC-SHA256签名,本步骤也必须按HMAC-SHA256
    2.2、本次签名的参数列表要跟文档完全匹配:大小写要一致,参数值要与统一下单接口的保持一致,特别注意参数名:partnerid,取值为mchid(开平SDK历史原因,无法改名)
    2.3、本步骤生成的sign与统一下单的不是同一个,经常有商户直接传同统一下单接口的sign过来
    3、检查客户端调用sendReq(PayReq)对象赋值的正确性(必要时让商户提供数据),有一种情况是商户会通过异步获取到后台数据,比如data对象是通过异步请求得到的对象:request.appId = data.appid; 实际appid属性值为空,偷懒的开发没认真看
    4、 检查配置
    4.1、 Android要求在开放平台后台配置正确的应用签名和包名,可以引导商户提供配置截图
    4.2、 IOS则不需要在开平配置,而是要求商户在开发环境红配置正确的URLSchemes为对应APPID

    一般来说,报-1,都是你的签名出现问题的概率很大。建议仔细核对签名。

    12-02
    赞同
    回复
  • 皮蛋瘦肉
    皮蛋瘦肉
    11-29

    @微信支付技术助手1

    11-29
    赞同
    回复
问题标签