个人开发者快速集成移动支付SDK,TrPay支付接入说明

最近在开发自己的一款应用,其中涉及到移动快捷支付,但由于自己是个人开发者(哈哈~~相信有不少跟我一样的朋友),无法直接申请市场上主流支付,如支付宝、微信、银联等。在网上找了好久第三方支付SDK,后来不经意间看到了TrPay聚合支付,感觉费率还可以,便试着集成了,现在应用上线运营了快大半年了,今天来跟大家分享一下TrPay的两种集成过程(aar和jar方式)。

集成步骤:

一、准备工作:

1、登录TrPay官网:http://pay.trsoft.xin,注册一个账号并激活,之后登录控制台。

2、登录控制台后,点击“添加应用”按钮,填写自己的应用名称以及平台(Android、IOS、Wap),按提示进行下一步,最后进入到“完善应用详细内容”环节,上传自己的应用安装包、应用截图、应用描述等资料,之后点击”提交审核“按钮,提交成功后请等待TrPay官方人员对您的应用或网站进行审核。

3、当审核成功后,便开始我们的下一步集成工作了。

二、集成工作:

方式一:以aar方式集成:

1、下载TrPay支付的Android支付SDK,TrPay_Android_SDK下载。(另外,官方提供了两个demo,下载地址如下TrPay_Android_Demo下载(aar方式)、TrPay_Android_AS_Demo_jar下载(jar版本))

2、将已下载的paysdk复制到工程的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文件中添加相应的权限。代码如下所示:

       
       
       
      
       
   

方式二:以jar方式集成:

1.将解压后的SDK文件中的TrPay_sdk_Jar.zip文件解压,其中包含TrPay所需要的jar文件res资源文件AndroidManifest.xml权限文件

2.1.将alipaySdk-20170922.jarpaysdk-release-1.2.1.jar文件复制到工程的libs(若无该目录,请先创建)目录下,之后将其加入项目依赖库中。

2.2.将res资源文件添加到您项目的res目录中(若不想走TrPay收银台,可不必加入res资源文件)。

3.修改您项目的AndroidManifest.xml文件,请参考TrPay_sdk_Jar.zip压缩包中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集成TrPay支付的全部过程了,希望我的这篇文章能够帮助到更多个人开发者或企业在自己的产品中快速集成移动支付。

注:另有需要JAVA、Android、IOS、Python、C++、HTML5等全套编程视频教程的朋友,请关注微信公众号trteach图灵技术社区”获取资源~~~



你可能感兴趣的:(Android)