Android微信支付,填坑扫雷大全

在开发中,支付功能越来越普遍。相应的开发中遇到问题的人也越来越多。在此记录一下微信支付中出现的无法调起支付,调起后errrorCode一直返回-1,签名错误等问题的解决办法。

1.签名

最常见的错误。具体查看app签名请用官方提供的signApk,保持app签名、包名与平台配置的一致即可,就不再赘述了。在此想提一下的是对于使用AndroidStudio开发者来说, 可以在gradle中配置秘钥信息,这样就可以省去了每次打包再安装测试的时间。具体如下。

//该节点写在android节点下。
signingConfigs{
     debug {
         keyAlias '别名'
         keyPassword '别名密码'
         storePassword 'keyStore密码'
         storeFile file('keyStore路径')
     }

     release{
         keyAlias '别名'
         keyPassword '别名密码'
         storePassword 'keyStore密码'
         storeFile file('keyStore路径')
     }
}

2.清单文件配置

貌似微信的文档里边并没有注明这个。如果没有正确配置会导致无法调起支付。

    
           
              
              
          
   

3、调用微信统一下单API、以及返回数据给前端时候的sign问题。

这个也是重点,因为微信的文档实在是很坑人。

  • 调用统一下单时候的商户key,让人摸不着头脑的一个值。实际上这个是要登陆到商户平台去设置的,仔细看看文档也能找的到。具体步骤是 微信商户平台(pay.weixin.qq.com)-->账户设置-->API安全-->密钥设置
  • 调用统一下单API后,按照微信文档中的业务流程,下一步该是:
统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。
参与签名的字段名为appId,partnerId,prepayId,nonceStr,timeStamp,package。注意:package的值格式为Sign=WXPay

重点来了 个人认为这是文档中最大的坑。请注意上文中的key字段命名,没错,驼峰命名很规范。但是呢,实际上在做sign操作的时候,参与签名的这些key都

必须全是小写的 必须全是小写的 必须全是小写的

目前记起来的大概是这些,希望能帮到大家。

水平有限,若有错误请指正!

你可能感兴趣的:(Android微信支付,填坑扫雷大全)