Android微信支付返回-1问题解决

  1. 1. 整体流程回顾
  2. 2. 问题解决
    1. 2.1. 首先,检查微信平台的APP ID是否正确;
    2. 2.2. 其次,检查微信商户平台的API密钥(随机32位即可)是否设置且正确使用;
    3. 2.3. 然后,检查微信平台的包名和签名(注意字母小写)是否配置并正确;
    4. 2.4. 再然后,检查服务端是否二次签名;并且二次签名是否正确;
    5. 2.5. 最后,检查返回的时间戳是不是使用二次签名的时间戳;
    6. 2.6. 返回的随机字符串是不是二次签名时的随机字符串。

整体流程回顾

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  
商户系统和微信支付系统主要交互说明:

步骤1:用户在商户APP中选择商品,提交订单,选择微信支付。

步骤2:商户后台收到用户支付单,调用微信支付统一下单接口。参见【统一下单API】。

步骤3:统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appid,partnerid,prepayid,noncestr,timestamp,package。注意:package的值格式为Sign=WXPay

步骤4:商户APP调起微信支付。api参见本章节【app端开发步骤说明】

步骤5:商户后台接收支付通知。api参见【支付结果通知API】

步骤6:商户后台查询支付结果。,api参见【查询订单API】

问题解决

首先,检查微信平台的APP ID是否正确;

其次,检查微信商户平台的API密钥(随机32位即可)是否设置且正确使用;

随机字符串生成地址

然后,检查微信平台的包名和签名(注意字母小写)是否配置并正确;

再然后,检查服务端是否二次签名;并且二次签名是否正确;

最后,检查返回的时间戳是不是使用二次签名的时间戳;

返回的随机字符串是不是二次签名时的随机字符串。