收藏
回答

Android APP第一次能调起支付,后面就都不能调起支付了

控制台打印信息如下:

2020-04-15 21:50:27.051 5512-5512/com.rchz.yijia.user D/MicroMsg.SDK.WXMsgImplComm: check signature:308202eb30820254a00302010202044d36f7a4300d06092a864886f70d01010505003081b9310b300906035504061302383631123010060355040813094775616e67646f6e673111300f060355040713085368656e7a68656e31353033060355040a132c54656e63656e7420546563686e6f6c6f6779285368656e7a68656e2920436f6d70616e79204c696d69746564313a3038060355040b133154656e63656e74204775616e677a686f7520526573656172636820616e6420446576656c6f706d656e742043656e7465723110300e0603550403130754656e63656e74301e170d3131303131393134333933325a170d3431303131313134333933325a3081b9310b300906035504061302383631123010060355040813094775616e67646f6e673111300f060355040713085368656e7a68656e31353033060355040a132c54656e63656e7420546563686e6f6c6f6779285368656e7a68656e2920436f6d70616e79204c696d69746564313a3038060355040b133154656e63656e74204775616e677a686f7520526573656172636820616e6420446576656c6f706d656e742043656e7465723110300e0603550403130754656e63656e7430819f300d06092a864886f70d010101050003818d0030818902818100c05f34b231b083fb1323670bfbe7bdab40c0c0a6efc87ef2072a1ff0d60cc67c8edb0d0847f210bea6cbfaa241be70c86daf56be08b723c859e52428a064555d80db448cdcacc1aea2501eba06f8bad12a4fa49d85cacd7abeb68945a5cb5e061629b52e3254c373550ee4e40cb7c8ae6f7a8151ccd8df582d446f39ae0c5e930203010001300d06092a864886f70d0101050500038181009c8d9d7f2f908c42081b4c764c377109a8b2c70582422125ce545842d5f520aea69550b6bd8bfd94e987b75a3077eb04ad341f481aac266e89d3864456e69fba13df018acdc168b9a19dfd7ad9d9cc6f6ace57c746515f71234df3a053e33ba93ece5cd0fc15f3e389a3f365588a9fcb439e069d3629cd7732a13fff7b891499

2020-04-15 21:50:27.051 5512-5512/com.rchz.yijia.user D/MicroMsg.SDK.WXMsgImplComm: pass

2020-04-15 21:50:27.051 5512-5512/com.rchz.yijia.user I/MicroMsg.SDK.WXApiImplV10: sendReq, req type = 5

2020-04-15 21:50:27.051 5512-5512/com.rchz.yijia.user D/MicroMsg.SDK.MMessageAct: send, targetPkgName = com.tencent.mm, targetClassName = com.tencent.mm.plugin.base.stub.WXPayEntryActivity

2020-04-15 21:50:27.063 5512-5512/com.rchz.yijia.user D/MicroMsg.SDK.MMessageAct: send mm message, intent=Intent { flg=0x18000000 cmp=com.tencent.mm/.plugin.base.stub.WXPayEntryActivity (has extras) }


而且开始会有一次包名不对的提示,后面就没有了,确定包名填写一致,不然第一次也不会成功调起的

对了,code返回为-1

最后一次编辑于  2020-04-15
回答关注问题邀请回答
收藏

1 个回答

  • 微信支付技术助手8
    微信支付技术助手8
    2020-04-16

    首先按文档中业务流程和开发步骤接入,按照文档流程排查;如果还有问题,需要按以下环节排查:

    #
    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


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