美文网首页
Android以最简单的方式接入支付

Android以最简单的方式接入支付

作者: HurryYu_YZH | 来源:发表于2019-07-12 15:13 被阅读0次

    很久都没更新过博客了,一来是最近在搞Flutter,二来是有很多事情需要做。就在几天前我开源了一个名叫BestPay的库,使用它可以在Android上非常方便的接入三方支付SDK(微信,支付宝),但未来还会支持更多。这篇文章准备和大家聊一聊Android上常见的支付接入与使用方式。

    一、微信支付

    1.1、官方版

    相信大家都接入过微信支付,那酸爽也是体会过的吧。在这里我简单介绍一下微信支付的官方集成过程:

    1. Gradle中添加依赖
    2. 创建wxapi包,并创建名字叫做WXPayEntryActivityActivity
    3. 支付结果也分情况吧,支付成功,支付失败,支付取消等,你需要自己在WXPayEntryActivity里面去判断
    4. App中也许不止一处用到支付吧,需要在WXPayEntryActivity里面判断支付的type,针对不同场景做不同处理
    5. 都在WXPayEntryActivity处理支付结果不好吧,你可能又要引入EventBus等将支付结果告知业务Activity
    6. 请求服务器获取支付所需的字段值
    7. 创建IWXAPI,创建PayReq,开始各种设置支付参数值,最终调用sendReq()方法调起支付

    这样是真的麻烦,你说麻烦点就麻烦点吧,还让我必须在项目的package下创建wxapi,并新建名字必须叫WXPayEntryActivity的文件,这对于有强迫症的老哥来说,简直不能忍呀!如果你是第一次集成微信支付,去看官方文档,也会让你怀疑人生。

    1.2、BestPay

    如果你是用了BestPay,它能让你实现1分钟集成支付,在这里我简单介绍下用BestPay继承微信支付的过程,请自行与官方集成方式对比:

    1. Gradle中添加BestPay依赖
    2. 注解配置支付参数所在实体类以及支付所需参数
    3. 请求服务器获取支付所需字段值,BestPay.wxPay(model,listener)调起支付,listener对三种状态(成功,失败,取消)做了回调

    你没看错,就是这么简单,真的就是这么简单。详细用法就不再这里说明了,大家可自行访问项目github主页查看详细使用说明:github传送门

    二、支付宝支付

    2.1、官方版

    相比微信支付,支付宝支付就显得友好不少,但是仍然有许多不方便之处,比如需要自己做线程切换。下面我简单的介绍下支付宝官方集成过程:

    1. 下载并引入官方版提供的aar
    2. 添加所需权限(3个):android.permission.INTERNETandroid.permission.ACCESS_NETWORK_STATEandroid.permission.ACCESS_WIFI_STATE
    3. 请求服务器获取支付所需的订单数据,服务器会返回一个String类型的值
    4. 创建PayTask,开启新线程,payV2()方法调起支付,等待支付结果的返回
    5. 处理返回结果,切换至主线程更新UI等操作

    明显比微信支付简单不少,但还有比这更简单的方式,那就是使用BestPay

    2.2、BestPay

    如果你集成了BestPay,那么使用支付宝支付将变得非常简单,只需要以下两步即可完成:

    1. 请求服务器获取支付所需的订单数据,服务器会返回一个String类型的值
    2. 调用BestPay.aliPay(context,orderInfo,listener)方法即可调起支付,同样listener对三种状态(成功,失败,取消)做了回调,并且这些回调都是运行在主线程!

    我就问你爽不爽?同样详细的使用方法在这里就不举例说明了,大家可以去Github查看详细使用介绍。

    好了,介绍到这里就结束了,欢迎大家使用以及给我start,非常感谢!跳转至BestPay项目主页

    相关文章

      网友评论

          本文标题:Android以最简单的方式接入支付

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