个人开发者如何在自己的应用中接入移动聚合支付?TrPay支付Eclipse集成说明

前一段时间写了一篇关于如何在自己的应用中接入移动支付(支付宝、微信、银联)的博客,后来私下有些朋友问到,Eclipse如何集成TrPay支付呢?现在我将Eclipse集成TrPay支付的步骤说一下:

集成步骤:

一、准备工作:

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

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

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

二、集成工作:

1.下载TrPay支付的Android支付SDK并解压,TrPay_Android_SDK下载。(另外,官方提供了一个demo,下载地址如下TrPay_Android_Eclipse_Demo_jar下载(jar版本))。
2.将解压后的SDK文件中的
TrPay_sdk_Jar.zip文件解压,其中包含TrPay所需要的jar文件res资源文件AndroidManifest.xml权限文件。
3.将
alipaySdk-20170922.jarpaysdk-release-1.2.1.jar文件复制到工程的libs目录下。
4.将res资源文件添加到您项目的res目录中
(若不想走TrPay收银台,可不必加入res资源文件)
5.修改您项目的
AndroidManifest.xml文件,请参考TrPay_sdk_Jar.zip压缩包中AndroidManifest.xml权限文件设置。请添加以下核心代码:

 
 
 
 
 

    
    
    
    
    
    
    
    
    
    
    
6. 在你应用程序启动的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");
     }
7. 设置支付相关的参数,并启动支付。代码如下所示:

 /**
   * 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()) {
                     //支付失败逻辑处理
              }
         }
   });
8. 若想关闭支付界面可调用以下代码:
TrPay.getInstance(Activity.this).closePayView();
好了,以上就是采用Eclipse集成TrPay支付的全部过程了,希望我的这篇文章能够帮助到更多个人开发者或企业在自己的产品中快速集成移动支付。

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

你可能感兴趣的:(Android)