个人开发者接入移动支付,Android Studio集成TrPay支付SDK(arr包方式)步骤说明

前面写过关于如何在自己的应用中利用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文件,请添加以下核心代码:

 <uses-permission android:name="android.permission.INTERNET" />
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

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(如:trpay@52yszd.com,商户系统内唯一)
  */
  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(如:trpay@52yszd.com,商户系统内唯一)*/
  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(如:trpay@52yszd.com,商户系统内唯一)
  */
  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集成TrPay支付SDK(arr包方式)步骤说明》

《个人开发者接入移动支付,Android Studio集成TrPay支付SDK(arr包方式)步骤说明》

《个人开发者接入移动支付,Android Studio集成TrPay支付SDK(arr包方式)步骤说明》

好了,以上就是利用Android Studio采用
aar方式集成
TrPay支付的全部过程了,希望我的这篇文章能够帮助到更多个人开发者或企业在自己的产品中快速集成移动支付。

注:另有需要JAVA、Android、IOS、Python、C++、HTML5全套视频教程的朋友,请搜索关注“误入编程界的程序猿”,私信我哦~~~

    原文作者:误入编程界的程序猿
    原文地址: https://www.jianshu.com/p/3418d520840b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞