美文网首页微信开发运营Android 开发收集的一些东西Android
Android快速实现微信支付(真的!很快!)

Android快速实现微信支付(真的!很快!)

作者: Marno | 来源:发表于2016-04-21 10:24 被阅读48014次
    • 本文为 Marno 原创,转载必须保留出处!
    • 公众号【 aMarno 】,关注后回复 RN 加入交流群
    • React Native 优秀开源项目大全:http://www.marno.cn

    如果你已经成功集成了微信登录和分享,那么此文将助你快速集成微信支付,此文基于微信支付SDK3.1.1,也就是目前为止最新的SDK
    1)微信官方的集成文档
    2)微信官方资源下载

    资源下载

    不过我相信,即便你看了微信的官方文档,你依然不知道微信支付怎么集成,因为微信支付的官方文档简直太.....

    如果你已经准备好了资源包,接下来正式开始集成

    我们需要的资源其实有以下几样,在开始前,就这些转备好吧
    1)微信支付的APPID
    2)微信支付依赖包 >>> libammsdk.jar
    3)一个Activity类 >>> WXPayEntryActivity.java

    这里需要特别说明一下,这个Activity类,直接从上下载到的范例代码中copy到自己的工程中即可,这个页面是在你调起微信支付完成支付(或取消或失败)后,再回到你的App时会调用的一个页面。页面的布局可以是你自定义的布局,直接放图讲解:

    先说一下这个类的路径,网上也有一大堆介绍了,我直接放图,路径一定,而且必须是这样的:

    WXPayEntryActivity 的路径

    在这个类中需要注意的地方有两个:
    1、这个类中的布局是可以自定义的,如果你不需要展示什么布局,而是要跳转页面,把这段代码删除即可

    回调页面的布局

    2、回调结果的处理,下面是官方的处理方式,直接给了一个dialog,很多人会摸不着头脑,如果你不需要这个dialog,直接删除就好了,不需要把官方demo中的布局和资源都复制过来

    官方的处理方式

    下面是我自定义的处理方式,比较简单,就是土司显示了一下支付结果,如果你需要支付成功后跳转,那么直接在这里startActivity即可,别忘记最后要将这个页面finish()

    自定义的处理方式

    这个类中的其余的回调方法,我们都不需要去操作

    然后我们就可以开始支付了,支付很简单,真的很简单

    参数列表

    这是微信支付需要我们携带的参数,对于新人来说,可能比较困惑的是我怎么生成这些参数呢?其实这些参数都是服务器返回给我们的,APPID我们可以自己保存在本地一份,其余的都是服务器返回给我们的,大概介绍一下流程:

    发起支付的流程,提交订单的时候的参数根据项目需要配置

    最后,服务器返回给我们微信支付的参数后,我们就可以愉快的支付了,这里是关键一步,注意!!

    发起支付的关键步骤

    至此我们已经可以调起微信支付页面来支付了
    最后还有一个需要注意的是,很多人被这一步坑了,就是关于微信开放平台签名的问题。其实只要你手机上的程序的签名和你在微信平台登记的签名一致即可,无论是debug版本,还是release版本

    微信开放平台签名
    为了方便测试,我暂时填写的是我debug的签名,当然这个是可以改的,修改后会有审核期,几天就不知道,有时会很快,当应用快上线之前,记得去改为正式的签名即可,修改次数我也不知道了,可以自行百度一下! 修改签名

    相关文章

      网友评论

      • 南宫逸诺:你好 我想知道这个appid是申请的登录的appid 还是支付的appid
      • da57f8fb8647:楼主请问下,支付的参数是我们自己的服务器生成的,还是我们的服务器调用微信的服务器返回的数据,然后再把数据返回给app?
        微信提供的测试连接http://wxpay.wxutil.com/pub_v2/app/app_pay.php,是不是只能使用一次?第二次就会返回-1错误?
      • c0c9c7f261e8:楼主 你导入demo 类没发现很多类都找不到吗??
      • d3c4d99c5b40:我原来用的是debug签名,后来改成release签名,服务器那边需不需要改动什么?还是只改这一个签名等审核期?
        c16c76f9be0a:@卖干粮的老头 大概12小时 没有地方能看
        c16c76f9be0a:改成release签名 后用 微信的 那个 软件从新获取一次网站上需要的那个 值 替换掉 大概 12小时就生效了 我上次是过了一夜就OK 了
        c16c76f9be0a:问一下 那个 微信开发平台的应用签名修改后大概多久可以生效.哪里可以查看
      • 705dd400c235:呃,我还是不能发起支付功能……楼主能看到的话请火力支援一下:532245792
        谢先生_0f0a:支付的参数是我们需要调微信的服务器还是要吊我们自己的后台服务器?微信支付需不需要跟我们自己的后台开发人员有交接?
        iOS_凯:@性感灬无罪 可以的,一年了,终于解决啦:smile:
        705dd400c235:已经解决了,不打扰了
      • igding:为什么我拿不到回调啊???
        可以跳到微信,但是就是拿不到回调
        试了N次了都
      • igding:我微信可以调用,但是不知道为什么 得不到回调,回调里面的代码我都删掉了,就写了个log
        但是断点就是走不到回调
      • 南宫逸诺:虽然不知道Mark是什么意思 还是谁的名字 但是不明觉厉啊!!!
      • 追梦的小蜗牛:有时调不起微信支付,必须手动把微信客户端打开一下才行,是什么问题
      • jsdlxf:感谢
      • _Sisyphus:mark~
      • e8a031d91ef0:支付价格写在哪里?我看你截的图没写要支付的价钱
      • 7618a4bd239c:Constants.APP_ID 报红,找不到APP_ID的属性,这个是什么情况呢
        皇马船长:这个变量就是你自己的APP_ID
      • 2c2ecf70df9a:官方文档,简直mmp,一点用没有
      • keyboy:请问楼主,签约时没有营业执照你是怎么解决的
      • 888d7fbe8ae4:正式签名在哪儿可以得到
      • edef419939fc:支付过游戏会重启,遇到过吗?
      • ElonYanJ:parntenerid在哪里去啊
      • 3ea09be6895c:更改release签名后将微信卸载重装便好使
      • 3ea09be6895c:debug签名改成release签名,只要保存就行了是吧,不用重置appSecret是吧,审核得多长时间?
      • tellfresh:需要改AndroidManifest吗?
      • inaW:请问那个官网demo里面问什么没有WXPayEntryActivity.java呢?
        0596d849f781:@inaW 选择【微信支付】APP 支付示例下载就会有
        0596d849f781:@inaW 在这里下载就有了 https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=11_1
      • Lydia_Syi:我想问一下,我的app 参数都是后台提供给我的,我直接调起微信请求,后台那边参数没错,但是我这边调起来为什么一直是-1. 检查了签名,包名都跟微信平台一模一样,而且也经过正式打包过后的。appid也核对多遍都没错,即时清了微信的缓存,也还是-1.能告诉我是什么原因引起的吗?
        皇马船长:看下服务端调用微信统一下单接口时, 交易类型 trade_type 是不是传的APP ?
        2fb72bed030e:后面你那是什么问题呢,我也遇到这种情况了
        Marno:@Lydia_Syi 可能是后台那边计算参数的时候有问题吧,你让他们好好核实一下生成参数是否都按照微信要求的来做的
      • Ljson:请问一下,如何才知道我们修改了微信后台的签名或包名,什么时候才算通过审核?因为修改信息之后,就有一个保存按钮,没有提示说要审核,但是直接用的话,一直报错,支付结果 -1.望解答,谢谢!
        Marno:@Ljson 保存后就修改成功了,虽然不会再次审核,但是好像有一个延时,会过段时间才可以用,过多久我不清楚了,一般我都是改了后第二天就可以用了
      • applabyx:楼主6666。比官方文档写的简洁多了。
        thanks,刚好用到 :smile: :smile:
      • coco猫:6666
      • aa1000777:可以交一下我,如果写后台么?微支付手机支付,需要一个后台接口,用来确保支付安全。请问大牛这个接口怎么写?在哪里可以找到DEMO
        我在官网上找不到,下载下来的只有Android的,android的我已经接入完成了
        Marno:@aa1000777 去 Github搜吧,一搜一大把

      本文标题:Android快速实现微信支付(真的!很快!)

      本文链接:https://www.haomeiwen.com/subject/jyrtrttx.html