Android-Sun-Framework(四)--支付终极封装支持微信回调
一. 写在前面
Android-Sun-Framework是一个Android组件化开发框架,可用于中大型项目。对应框架的一系列文章包含内容:设计思路、实现、如何使用等。我的宗旨是:授之以渔而不是授之以鱼! 同时我也感谢大家对我的支持。
欢迎Star or Follow我的GitHub
欢迎搜索微信公众号SamuelAndroid关注我,定期推送原创文章和代码。
系列文章:
Android开发框架Android-Sun-Framework(一) Android开发框架Android-Sun-Framework(二) Android开发框架Android-Sun-Framework(三)
支付几乎是每个APP都要支持的功能,对于没有相关经验的童鞋,要花不短的时间去实现,尤其是微信支付的回调方式,让初学者更是难上加难,本文章封装后的支付,只需两步即可完成支付,且支持微信支付回调,后面会增加支付宝支付。无图无真相:
二. 引入
由于当前library还未发布到jcenter,所以需要引入源码,后面会陆续把框架中的基础库发布到jcenter,方便大家使用。如果直接使用我的开发框架则,只需要在对应模块中的依赖增加以下配置即可:
compile project(':library:pay')
三. 配置
看过我前面的文章都知道,框架中的配置中心(config.gradle)里面放了各种配置。所以支付的配置当然也会统一放到这里:
//支付
wxpay = [
APP_ID: "wxfac2b15cf89555"
]
四. 使用
前面介绍的基础库统一使用的建造者模式,为了统一,支付同样也是使用建造者模式,调用方式如下:
String appid = "";
String partnerid = "";
String prepayid = "";
String noncestr = "";
String timestamp = "";
String sign = "";
WechatPayReq wechatPayReq = new WechatPayReq.Builder()
.with(this) //activity实例
.setAppId(appid) //微信支付AppID
.setPartnerId(partnerid)//微信支付商户号
.setPrepayId(prepayid)//预支付码
.setNonceStr(noncestr)
.setTimeStamp(timestamp)//时间戳
.setSign(sign)//签名
.setOnPayListener(new WechatPayReq.PayListener() {
@Override
public void onPaySuccess() {
}
@Override
public void onPayFailure(int errorCode, String errStr) {
}
}).create();
WechatPayAPI.getInstance().sendPayReq(wechatPayReq);
五. 总结
只需要以上几步即可完成微信支付的接入,并且支持回调。同时支付回调移到当前调用的Activity中,和支付宝支付统一。
欢迎搜索微信公众号SamuelAndroid关注我,定期推送原创文章和代码。