前面写过关于如何在自己的应用中利用Eclipse和Android Studio采用jar包方式接入TrPay移动支付(支付宝、微信、银联)的随笔,那么有没有更简单的方法呢?那如何集成TrPay支付呢?我的回答是:“当然有,就是以aar方式集成”。现在我将Android Studio以aar方式集成TrPay支付的步骤说一下:
集成步骤:
一、准备工作:
1、登录TrPay官网:http://pay.trsoft.xin,注册一个账号并激活,之后登录用户管理后台。
2、登录用户管理后台后,点击“添加应用”按钮,填写自己的应用名称以及平台(Android、IOS、Wap),按提示进行下一步,最后进入到“完善应用详细内容”环节,上传自己的应用APK安装包、应用截图、应用描述等资料,之后点击”提交审核“按钮,提交成功后等待TrPay官方人员对您的应用或网站进行审核。
3、当审核通过后,便开始我们的下一步集成工作了。
二、集成工作:
1.下载TrPay支付的Android支付SDK并解压,TrPayAndroidSDK下载。(另外,官方提供了一个demo,下载地址如下TrPay_Android_AS_Demo_aar下载(aar版本))。
2.将解压后的SDK文件中paysdk-release-1.2.1.aar
文件复制到工程的libs
(若无该目录,请先创建)目录下,并修改build.gradle
配置文件。代码如下所示:
2.1、在android中增加以下内容:
repositories {
flatDir {
dirs 'libs'
}
}
2.2、在dependencies中增加以下内容:
compile(name:'paysdk-release-1.2.1', ext:'aar')//paysdk-release-1.2.1(sdk名称)
2.3、点击Sync,同步配置。
3.修改您项目的 AndroidManifest.xml
文件,请添加以下核心代码:
4.在你应用程序启动的Activity的onCreate()方法中初始化TrPay功能。代码如下所示:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/**
* 初始化PaySdk(context请传入当前Activity对象(如:MainActivity.this))
* 第一个参数:是您在trPay后面应用的appkey(需要先提交应用资料(若应用未上线,
* 需上传测试APK文件),审核通过后appkey生效)
* 第二个参数:是您的渠道,一般是baidu,360,xiaomi等
*/
TrPay.getInstance(Activity.this).initPaySdk("您的应用AppKey","baidu");
}
5.设置支付相关的参数,并启动支付。代码如下所示:
/**
* 1.发起快捷支付调用(打开TrPay收银台页面,用户自己选择支付方式)
* @param tradename 商品名称
* @param outtradeno 商户系统订单号(商户系统内唯一)
* @param amount 商品价格(单位:分。如1.5元传150)
* @param backparams 商户系统回调参数
* @param notifyurl 商户系统回调地址
* @param userid 商户系统用户ID(如:[email protected],商户系统内唯一)
*/
TrPay.getInstance(Activity.this).callPay(tradename, outtradeno, amount, backparams, notifyurl, userid, new PayResultListener() {
/**
* 支付完成回调
* @param context 上下文
* @param outtradeno 商户系统订单号
* @param resultCode 支付状态(RESULT_CODE_SUCC:支付成功、RESULT_CODE_FAIL:支付失败)
* @param resultString 支付结果
* @param payType 支付类型(1:支付宝 2:微信 3:银联)
* @param amount 支付金额
* @param tradename 商品名称
*/
@Override
public void onPayFinish(Context context, String outtradeno, int resultCode, String resultString, int payType, Long amount, String tradename) {
if (resultCode == TrPayResult.RESULT_CODE_SUCC.getId()) {
//支付成功逻辑处理
} else if (resultCode == TrPayResult.RESULT_CODE_FAIL.getId()) {
//支付失败逻辑处理
}
}
});
/**
* 2.发起支付宝支付
* @param tradename 商品名称
* @param outtradeno 商户系统订单号(商户系统内唯一)
* @param amount 商品价格(单位:分。如1.5元传150)
* @param backparams 商户系统回调参数
* @param notifyurl 商户系统回调地址
* @param userid 商户系统用户ID(如:[email protected],商户系统内唯一)*/
TrPay.getInstance(Activity.this).callAlipay(tradename, outtradeno, amount, backparams,notifyurl, userid, new PayResultListener() {
/**
* 支付完成回调
* @param context 上下文
* @param outtradeno 商户系统订单号
* @param resultCode 支付状态(RESULT_CODE_SUCC:支付成功、RESULT_CODE_FAIL:支付失败)
* @param resultString 支付结果
* @param payType 支付类型(1:支付宝 2:微信 3:银联)
* @param amount 支付金额
* @param tradename 商品名称
*/
@Override
public void onPayFinish(Context context, String outtradeno, int resultCode,String resultString, int payType, Long amount, String tradename) {
if (resultCode == TrPayResult.RESULT_CODE_SUCC.getId()) {
//支付成功逻辑处理
} else if (resultCode == TrPayResult.RESULT_CODE_FAIL.getId()) {
//支付失败逻辑处理
}
}
});
/**
* 3.发起微信支付
* @param tradename 商品名称
* @param outtradeno 商户系统订单号(商户系统内唯一)
* @param amount 商品价格(单位:分。如1.5元传150)
* @param backparams 商户系统回调参数
* @param notifyurl 商户系统回调地址
* @param userid 商户系统用户ID(如:[email protected],商户系统内唯一)
*/
TrPay.getInstance(Activity.this).callWxPay(tradename, outtradeno, amount, backparams, notifyurl, userid, new PayResultListener() {
/**
* 支付完成回调
* @param context 上下文
* @param outtradeno 商户系统订单号
* @param resultCode 支付状态(RESULT_CODE_SUCC:支付成功、RESULT_CODE_FAIL:支付失败)
* @param resultString 支付结果
* @param payType 支付类型(1:支付宝 2:微信 3:银联)
* @param amount 支付金额
* @param tradename 商品名称
*/
@Override
public void onPayFinish(Context context, String outtradeno, int resultCode, String resultString, int payType, Long amount, String tradename) {
if (resultCode == TrPayResult.RESULT_CODE_SUCC.getId()) {
//支付成功逻辑处理
} else if (resultCode == TrPayResult.RESULT_CODE_FAIL.getId()) {
//支付失败逻辑处理
}
}
});
6.若想关闭支付界面可调用以下代码:
TrPay.getInstance(Activity.this).closePayView();
7.集成测试,看能否成功唤起支付。
好了,以上就是利用Android Studio采用
aar方式
集成 TrPay支付的全部过程了,希望我的这篇文章能够帮助到更多个人开发者或企业在自己的产品中快速集成移动支付。
注:另有需要JAVA、Android、IOS、Python、C++、HTML5全套视频教程的朋友,请搜索关注“误入编程界的程序猿”,私信我哦~~~