原文链接:https://github.com/mayubao/Android-Pay
支持微信和支付宝两种主流支付的集成库, 两行代码实现微信支付, 三行代码实现支付宝支付 —— 由Ethan2016分享
第一步:
引入依赖包
gradle
对应的项目中的build.gradle文件添加依赖:
dependencies {
//添加支付库
compile 'io.github.mayubao:pay_library:1.0.0'
}
第二步:
使用微信支付方式 步骤
//1.创建微信支付请求
WechatPayReq wechatPayReq = new WechatPayReq.Builder()
.with(this) //activity实例
.setAppId(appid) //微信支付AppID
.setPartnerId(partnerid)//微信支付商户号
.setPrepayId(prepayid)//预支付码-->包含支付的金额
// .setPackageValue(wechatPayReq.get)//"Sign=WXPay"
.setNonceStr(noncestr)
.setTimeStamp(timestamp)//时间戳
.setSign(sign)//签名
.create();
//2.发送微信支付请求
PayAPI.getInstance().sendPayRequest(wechatPayReq);
//关于微信支付的回调
//wechatPayReq.setOnWechatPayListener(new OnWechatPayListener);
使用支付宝支付方式 步骤
//1.创建支付宝支付配置
AliPayAPI.Config config = new AliPayAPI.Config.Builder()
.setRsaPrivate(rsa_private) //设置私钥 (商户私钥,pkcs8格式)
.setRsaPublic(rsa_public)//设置公钥(// 支付宝公钥)
.setPartner(partner) //设置商户
.setSeller(seller) //设置商户收款账号
.create();
//2.创建支付宝支付请求
AliPayReq aliPayReq = new AliPayReq.Builder()
.with(activity)//Activity实例
.apply(config)//支付宝支付通用配置
.setOutTradeNo(outTradeNo)//设置唯一订单号
.setPrice(price)//设置订单价格
.setSubject(orderSubject)//设置订单标题
.setBody(orderBody)//设置订单内容 订单详情
.setCallbackUrl(callbackUrl)//设置回调地址
.create()//
.setOnAliPayListener(null);//
//3.发送支付宝支付请求
PayAPI.getInstance().sendPayRequest(aliPayReq);
//关于支付宝支付的回调
//aliPayReq.setOnAliPayListener(new OnAliPayListener);
混淆方式
pay_library
-dontwarn io.github.mayubao.pay_library.**
-keep class io.github.mayubao.pay_library.** {*;}
wechat pay
-dontwarn com.tencent.**
-keep class com.tencent.** {*;}
alipay
-dontwarn com.alipay.**
-keep class com.alipay.** {;}
-dontwarn com.ta.utdid2.*
-keep class com.ta.utdid2.** {;}
-dontwarn com.ut.device.*
-keep class com.ut.device.** {;}
-dontwarn org.json.alipay.*
-keep class corg.json.alipay.** {*;}
官方文档
微信支付官方文档 支付流程
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5
支付宝支付官方文档 支付流程
https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.sdGXaH&treeId=204&articleId=105296&docType=1