微信支付demo的使用笔记

        公司最近要上线微信支付功能模块了.Android版本的支付部分就研究了一下。由于申请公司账号较为麻烦,所以只能使用微信官方的测试版。关于微信支付的这个测试版,有些小坑的地方。写下了供大家参考,以免走些弯路。

     在官方的demo中,其提供了一个可以生成预订单的接口:http://wxpay.weixin.qq.com/pub_v2/app/app_pay.php?plat=android请求这个接口,就会获得一个预支付订单,这个订单的商品名称,商品描述,价格都是默认的,无法自定义。之所以无法定制是因为微信支付官方提供的这个测试appid的密钥没有提供,只提供了apid。

1、首先下载官方的demo

     官方的demo,是eclipse版本的,下下来就可以直接跑。这一点比较赞。但是我的微信号不知怎么地了,测试了一次之后就再也测试不了了。这一点比较坑。重点来了:如果您也遇到了这种情况,并且错误返回码为-1,这是你可以尝试换一个微信号试试。这是第一种解决办法。第二种解决办法是你卸载掉微信,之后再安装。我就是这样解决的。这个bug难以复现,就不探究为什么会产生这个问题了。

2、关于向Android Studio迁移的问题

     我把官方的demo简化后迁移到了studio,但是就是无法调用微信支付。我反思了一下,首先明确这么几点:

  1. 微信官方用于微信支付第三方应用验证的原理是:应用的包名+应用的MD5签名。
  2. 我使用的是微信官方提供的demo,因此如果想用他的借口就得把包名替换为官方demo的包名
  3. 关于MD5的产生,依照我的理解,这个MD5产生的依据,应该是包名和keystore
  4. 因此将as上的demo的包名替换为 net.sourceforge.simcpux,关于debug.keystore可以在那个官方demo中找到

    明确了问题的原因,就去解决吧!包名容易替换,关于keystore的替换,在Android Studio中有两种方式(来源于stackoverflow):

  1. 在你的迁移到的应用的moudle的build.gradle文件中添加

android {
    signingConfigs {
        debug {
            storeFile file("your.keystore")  //替换为全路径
            }
        }
    }

       2.引导式添加:File->Project Structure

            Add a keystore at "Signing" Tab:先选中你的moudle,然后点击Singing
            Select it for your debug/release "Build types".  在点击那个"+",然后起个名字debug
            Make sure the alias name matchs with your keystore (keytool -list -v shows your alias name):然后在store file那儿按照引导添加官方的debug.keystore就可以了

就写到这里吧!等到公司appid申请完毕,有什么新问题在写。小伙伴们遇到这方面的困难,可以私信我.

Androidstudio版微信支付demo(精简版)下载



附加内容:

关于应用签名的生成,除了使用微信支付官方提供的apk以外;

   还可以使用Androidstudio自带工具keytool;

你可能感兴趣的:(第三方sdk的使用)