收藏
回答

首次安装支付成功,之后一直提示fail:{"errMsg":"requestPayment:fail

这是第一次支付成功截图,之后就一直提示fail:{"errMsg":"requestPayment:fail [payment微信:-1]General errors","errCode":-100,"code":-100} 

MchID=1549587351
AppID=wxee620b0657d3452e

能否帮忙查一下原因,开发平台uniapp,能获取prepayId说明配置,签名正常,支付成功过说明接口也没问题,真不知道原因了

14:03:22.817 wxpay at pages/personal/purse/money/money.vue:239

14:03:22.837 wxpay, [Object] {"package":"Sign=WXPay","appid":"wxee620b0657d3452e","sign":"Y2TrNcmiEkfeYj1qkqIncGE5XCF072bXSvrK9LDUV9hdK...}  at pages/personal/purse/money/money.vue:316

14:03:23.145 fail:{"errMsg":"requestPayment:fail [payment微信:-1]General errors","errCode":-100,"code":-100} at pages/personal/purse/money/money.vue:334

14:03:23.166 [Object] {"name":"微信","payType":"wx","amount":"0.12"}  at pages/personal/purse/money/money.vue:107

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

2 个回答

  • Memory
    Memory
    2021-10-23

    一、为什么第一次成功了,第二次却返回-1?

    这是因为接口的校验规则问题,第一次请求没有对包名、签名进行验证

    二、返回-1代表什么意思?

    1、返回-1可能的原因:签名错误、未注册APPID、项目设置APPID不正确、注册的APPID与设置的不匹配、其他异常等。

    2、确认manifest文件里面声明,应用使用的注册appid的包名是否与开放平台一致。

    3、appid关联的包名和签名需要商户自己登陆商户后台系统查看。

    自查地址:OpenSdk包名签名校验失败说明

    可以按照以下几点进行排查:

    1、使用签名检查工具(https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1)校验签名算法是否有误

    2、确认秘钥是否有误(服务商模式使用服务商商户号秘钥,秘钥是在商户平台配置,如果同一商户号调用其它接口成功可排除是秘钥问题)

    3、确认接口实际的请求参数与生成签名原串的参数一致,不能增加或缺少参数(可通过打印签名原串进行排查)

    4、确认参数的大小写,参数名与接口文档一致

    5、签名原串的参数值使用原始值,不需要encode

    6、接口需要使用UTF-8编码

    7、IOS正常,安卓异常的情况下,请排查包名与包签名

    8、未注册APPID

    9、项目设置APPID不正确

    10、注册的APPID与设置的不匹配

    11、服务商模式下,统一下单中的sub_appid是否有传入

    12、“唤起支付接口”中的签名类型是否与“统一下单接口”的类型一致


    2021-10-23
    有用 1
    回复
  • 雷神
    雷神
    发表于移动端
    2021-10-23
    😜 😏 😚 😍 👿 👿 👿 😚
    2021-10-23
    有用
    回复
登录 后发表内容