EasyPay(易支付)Android超简单微信支付宝支付接入
今天我们来看看一个超简单集成微信和支付宝的支付框架EasyPay(易支付), 初学者都能一看就会一写就对的集成支付的方法。
首先还是先上gitHub链接 GitHub - kingofglory/EasyPay: This is a repository for developers to easily use Alipay, WechatPay and UnionPay in Android projects. EasyPay(易支付)集成并高度封装了Android平台的微信支付,支付宝支付以银联支付。使用此库,开发者可以使用简单方便的api实现支付功能。
今天是2021年11月7日, 首当其冲让我们恭喜EDG拿下S11总冠军,可喜可贺,不容易啊。
然后开始说今天的重点,Easypay,项目虽然最后更新时间是2020年了,但是不影响他的好用简洁,现在依然很多应用在使用。
我们的教程现在是在已经申请好微信appid的前提下,如果还没申请好就先到微信开放平台去申请一下。接下来就一起看看使用步骤吧。
首先首先还是集成依赖库。
在你的项目下的app里的build.gradle文件中的dependencies下加入:
implementation 'com.xgr.easypay:EasyPay:2.0.5'(必须要的 框架的基类库)
implementation 'com.xgr.easypay:wechatpay:2.0.5'(非必须 微信支付)
implementation 'com.xgr.easypay:alipay:2.0.5'(非必须 支付宝支付)
除了必须要的基类库,支付宝支付和微信支付是分开的,需要什么就加入什么,这样更加的灵活同时也能够减小我们的代码体积。加入后点击一下右上角的Sync Now,这样我们的第一步集成就结束了。
接着就是第二步也是最后一步,使用!
首先先讲支付宝支付吧。通常我们都会通过接口向服务端拿到支付所需的信息(服务端一般是访问微信或支付宝得到支付信息),这个我们这里就不赘述了,因为每个项目的都不同,每个人也都有自己的方法,我们就说拿到支付信息后的步骤吧。支付宝的支付信息通常是一串字符串。
AliPay aliPay = new AliPay(); //实例化支付宝支付
AlipayInfoImpli alipayInfoImpli = new AlipayInfoImpli(); //构造支付宝订单实体
alipayInfoImpli.setOrderInfo("支付宝的支付信息"); //这里是填上向服务端获取的支付信息
//开始支付 第二个参数是context参数, 第四个参数是回调
EasyPay.pay(aliPay, this, alipayInfoImpli, new IPayCallback() {
@Override
public void success() {
//支付成功回调
Toast.makeText(mContext,"支付成功", Toast.LENGTH_SHORT).show();
}
@Override
public void failed(int code, String msg) {
//支付失败回调
Toast.makeText(mContext,"支付失败", Toast.LENGTH_SHORT).show();
}
@Override
public void cancel() {
//取消支付回调
Toast.makeText(mContext,"取消支付", Toast.LENGTH_SHORT).show();
}
});
如此,我们的支付宝支付就结束了,接下来我们讲讲微信支付。
使用EasyPay来进行微信支付我们甚至不用去写什么WXPayEntryActivity,非常牛,直接用就完事了。微信支付其实和支付宝支付大同小异,区别在于微信支付信息服务端返回给我们的通常是一个对象,我们需要处理这个对象转换成微信订单实体,其他就都相同了。
WXPay wxPay = WXPay.getInstance();//实例化微信支付
WXPayInfoImpli payInfo = new WXPayInfoImpli();//构造微信订单实体
//以下订单信息由服务端返回 我们得到服务端给的json转换成对象到这里填写到订单实体内即可
payInfo.setAppid("");
payInfo.setPartnerid("");
payInfo.setPackageValue("");
payInfo.setPrepayId("");
payInfo.setNonceStr("");
payInfo.setTimestamp("");
payInfo.setSign("");
EasyPay.pay(wxPay, this, payInfo, new IPayCallback() {
@Override
public void success() {
//支付成功回调
Toast.makeText(mContext,"支付成功", Toast.LENGTH_SHORT).show();
}
@Override
public void failed(int code, @Nullable String message) {
//支付错误回调
Toast.makeText(mContext,"支付错误", Toast.LENGTH_SHORT).show();
}
@Override
public void cancel() {
//取消支付回调
Toast.makeText(mContext,"取消支付", Toast.LENGTH_SHORT).show();
}
});
如此在appid和应用匹配的情况下,我们的微信支付也完成了,是不是非常简单,EasyPay除了支持微信和支付宝同时也支持银联支付,使用方法都是差不多的,如果有想看银联支付的小伙伴多的话我再写一篇银联支付的给大家看看。另外本人创建了个微信公众号 啊哈Android 打算专门用来和大家一起讨论分享自己开发工作过程中遇到的有趣方便的工具,如果能帮到或者你也有兴趣就来关注关注吧 谢谢谢谢 之后也还会在公众号发视频类教程,大家一起多多讨论吧 , 在公众号中回复“支付”就能看到这篇文章咯~~~~~
EasyPay(易支付)Android超简单微信支付宝支付接入相关推荐
- 单个APP接入多个微信支付宝支付的一种解决方案
背景 最近在对接微信支付宝支付的时候出现了一个需求,由于我们公司在不同的地区有分公司,为了实现财务对账方便,不同公司的客户需要打款到相应的公司的账户,也就是要实现接口分账,一听到这个需求,我一脸懵逼, ...
- 国外stripe支付,超简单几行代码搞定
国外stripe支付,超简单几行代码搞定 海外的项目 需要stripe支付 很简单 几行代码 先加入依赖: compile 'com.stripe:stripe-android:6.1.2' 总共两种 ...
- delphi7微信支付宝支付单机版前台源码
delphi7微信支付宝支付单机版前台源码 try NonceStr := GetRandomStr(NONCE_STR); ListStr.Values['appid'] := appidstr; ...
- 三方支付与微信,支付宝支付有什么优势
西米支付网(www.45ri.com) 首先我们来看一下,财付通 (又称微信支付).支付宝支付 ,三方支付的相同之处与关联 (1)三方支付又称非银行清算机构,是除了银行之外能够合理合法进行收付款服务 ...
- 仿微信支付宝支付密码
仿微信支付宝支付密码 效果图: 一.主要知识点 GridLayout的应用 EditText的textCursorDrawable的应用 InputMethodManager的应用 TextWatch ...
- android 夜间模式代码,Android 超简单的夜间模式如何实现?
原标题:Android 超简单的夜间模式如何实现? 本文作者 作者: 唐子玄 实现夜间模式有很多种方式,经过多次尝试,算是找到了一种性价比较高的方式. 1 主题方式 这是最正统的方式,但工作量巨大,因 ...
- 微信支付服务器错误,【支付问题】微信支付宝支付超时、支付异常解决办法
微信支付宝支付异常解决办法 只要用户在手机上支付成功,钱一定会到商户的账户上. 只要用户在手机上支付成功,钱一定会到商户的账户上. 只要用户在手机上支付成功,钱一定会到商户的账户上. 正常情况下,用户 ...
- 019:Django微信支付宝支付
本章知识点 1.Django支付 2.Django微信支付介绍 3.Django支付宝支付实施 知识点讲解 Django支付 1.银行支付 2.微信支付 3.支付宝支付 4.其他的支付平台 支付可能有 ...
- 银联微信支付宝支付文档参考,不用再四处寻摸了
银联微信支付宝支付文档参考,不用再四处寻摸了 银联.支付宝.微信的支付文档API讲解汇总 银联 银联开放平台 链接:https://open.unionpay.com/tjweb/index API文 ...
最新文章
- IE9浏览器更像一个互联网舞台
- 服务器文件储存,文件储存服务器
- CHIL-ORACLE-唯一约束(unique)
- 用electron-forge创建一个项目
- Matlab 矩阵计算例子
- 美国税局再遭攻击:原是偷来的社会安全号码作祟
- 2-1 gradle安装
- java字节流分为_Java文件流可分为字节流和字符流。
- CTA策略07_MultiTimeframeStrategy
- 剑指Offer 09 用两个栈实现队列
- CMake实践(2)
- python课程预告_Python3编程预告
- 架构师之路:星环大数据架构师的培训心得
- 康得新董事长是谁?_您人生董事会中的谁?
- 基于NB-IoT物联网人体红外防盗报警检测
- window java 一键启动部署 mysql,jar
- echarts+echarts-gl vue2制作3D地图+下钻功能+标记点功能,解决dblclick事件失效问题,解决地图下钻后边框不更新保留问题
- 基于Stm32f103硬件iic驱动LM75A温度传感器
- [Eclipse手册]设置pom.xml打开方式
- 基于CentOs的docker的安装和简单使用
热门文章
- git操作提示warning: redirecting to git@github.com:XXXXX
- GUVB-T11GD-L 太阳光紫外线传感器TO-46韩国GenUV光电二极管杀菌灯监控
- Android Froyo基于32 bit ubuntu 10.10编译问题
- [Linux Kernel] memory-barriers 内存屏蔽 官方文档
- SpringMVC---(2)
- 田野调查手记·浮山摩崖石刻(八)
- 记录一下手把手教您做电商网站
- 上传图片直接显示图片操作
- SCI论文投稿信(Cover Letter)的写法及模版(转
- 老夫金钟罩铁布衫纵横江湖数十年