EasyPay

作者: 极简coder | 来源:发表于2017-06-06 16:06 被阅读95次

EasyPay对此项目的修改,和aar导出。

移动支付

pay-without-union-1.0.aar

不包含银联支付

pay-with-union-1.0.aar

包含银联支付

使用姿势

拷贝aar文件到主项目module,不能是library,在build.gradle文件添加代码

repositories {
    flatDir {
        dirs 'libs'
    }
}
dependencies {
    compile(name: 'pay-without-union-1.0', ext: 'aar')
}
微信支付
内部依赖
  • libs
wechat-sdk-android-with-mta-1.1.6.jar  
配置
  • 在包名(applicationId:com.xxx.xxx)目录下建立.wxapi(如com.xxx.xxx.wxapi)目 录。在目录下新建WXPayEntryActivity.java,继承WXPayEntryBaseActivity.java,实现getWXAppId()方法。

    public class WXPayEntryActivity extends WXPayEntryBaseActivity {
        @Override
        public String getWXAppId() {
            return "appid";
        }
    } 
    
  • 在AndroidManifest.xml中注册上述Activity

    <activity
          android:name=".wxapi.WXPayEntryActivity"
          android:exported="true"
          android:launchMode="singleTop"
          android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
    
  • Application中初始化AppId

    WXPay.setWxAppId(String wxAppId);
    
示例代码
private void wxpay(){
    //实例化微信支付策略
    String wxAppId = "";
    WXPay wxPay = WXPay.getInstance(this,wxAppId);
    //构造微信订单实体。一般都是由服务端直接返回。
    WXPayInfoImpli wxPayInfoImpli = new WXPayInfoImpli();
    wxPayInfoImpli.setTimestamp("");
    wxPayInfoImpli.setSign("");
    wxPayInfoImpli.setPrepayId("");
    wxPayInfoImpli.setPartnerid("");
    wxPayInfoImpli.setAppid("");
    wxPayInfoImpli.setNonceStr("");
    wxPayInfoImpli.setPackageValue("");
    //策略场景类调起支付方法开始支付,以及接收回调。
    EasyPay.pay(wxPay, this, wxPayInfoImpli, new IPayCallback() {
        @Override
        public void success() {
            toast("支付成功");
        }

        @Override
        public void failed() {
            toast("支付失败");
        }

        @Override
        public void cancel() {
            toast("支付取消");
        }
    });
}
支付宝支付
内部依赖
  • libs

    alipaySdk-20170407.jar
    
配置:无需配置。
示例代码
private void alipay(){
    //实例化支付宝支付策略
    AliPay aliPay = new AliPay();
    //构造支付宝订单实体。一般都是由服务端直接返回。
    AlipayInfoImpli alipayInfoImpli = new AlipayInfoImpli();
    alipayInfoImpli.setOrderInfo("");
    //策略场景类调起支付方法开始支付,以及接收回调。
    EasyPay.pay(aliPay, this, alipayInfoImpli, new IPayCallback() {
        @Override
        public void success() {
            toast("支付成功");
        }

        @Override
        public void failed() {
            toast("支付失败");
        }

        @Override
        public void cancel() {
            toast("支付取消");
        }
    });
}
银联支付
内部依赖
  • libs
UPPayAssistEx.jar
UPPayPluginExPro.jar
  • JNILibs
// CPU支持:armeabi、armeabi-v7a、x86、x86_64
libentryexpro.so
libuptsmaddon.so
配置:无需配置
示例代码
private void unionpay(){
    //实例化银联支付策略
    UnionPay unionPay = new UnionPay();
    //构造银联订单实体。一般都是由服务端直接返回。测试时可以用Mode.TEST,发布时用Mode.RELEASE。
    UnionPayInfoImpli unionPayInfoImpli = new UnionPayInfoImpli();
    unionPayInfoImpli.setTn("814144587819703061900");
    unionPayInfoImpli.setMode(Mode.TEST);
    //策略场景类调起支付方法开始支付,以及接收回调。
    EasyPay.pay(unionPay, this, unionPayInfoImpli, new IPayCallback() {
        @Override
        public void success() {
            toast("支付成功");
        }

        @Override
        public void failed() {
            toast("支付失败");
        }

        @Override
        public void cancel() {
            toast("支付取消");
        }
    });
}

相关文章

网友评论

      本文标题:EasyPay

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