美文网首页
个人开发者接入移动支付,Eclipse集成TrPay支付SDK步

个人开发者接入移动支付,Eclipse集成TrPay支付SDK步

作者: 误入编程界的程序猿 | 来源:发表于2018-01-16 22:02 被阅读0次

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

集成步骤:

一、准备工作:

1、登录TrPay官网:http://pay.trsoft.xin,注册一个账号并激活,之后登录用户管理后台。
2、登录用户管理后台后,点击“添加应用”按钮,填写自己的应用名称以及平台(Android、IOS、Wap),按提示进行下一步,最后进入到“完善应用详细内容”环节,上传自己的应用APK安装包、应用截图、应用描述等资料,之后点击”提交审核“按钮,提交成功后等待TrPay官方人员对您的应用或网站进行审核。
3、当审核通过后,便开始我们的下一步集成工作了。

二、集成工作:

1.下载TrPay支付的Android支付SDK并解压,TrPayAndroidSDK下载。(另外,官方提供了一个demo,下载地址如下TrPayAndroidEclipseDemojar下载(jar版本))。
2.将解压后的SDK文件中的TrPaysdkJar.zip文件解压,其中包含TrPay所需要的jar文件res资源文件AndroidManifest.xml权限文件。
3.将alipaySdk-20170922.jarpaysdk-release-1.2.1.jar文件复制到工程的libs目录下。
4.将res资源文件添加到您项目的 res目录中(若不想走TrPay收银台,可不必加入res资源文件)。
5.修改您项目的 AndroidManifest.xml文件,请参考TrPaysdkJar.zip压缩包中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" />
<activity
        android:name="com.base.bj.trpayjar.TrPayAcitivity"
        android:configChanges="orientation|keyboardHidden|navigation|screenSize"
        android:exported="false"
        android:launchMode="singleTask"
        android:screenOrientation="behind"
        android:windowSoftInputMode="adjustResize|stateHidden" >
    </activity>
    <activity
        android:name="com.base.bj.trpayjar.TrPayUnionAcitivity"
        android:configChanges="orientation|keyboardHidden|navigation|screenSize"
        android:exported="false"
        android:windowSoftInputMode="adjustResize|stateHidden" >
    </activity>
    <activity
        android:name="com.base.bj.trpayjar.TrSelectListActivity"
        android:configChanges="orientation|keyboardHidden|navigation|screenSize"
        android:exported="false"
        android:windowSoftInputMode="adjustResize|stateHidden" >
    </activity>
    <!-- alipay sdk begin -->
    <activity
        android:name="com.alipay.sdk.app.H5PayActivity"
        android:configChanges="orientation|keyboardHidden|navigation|screenSize"
        android:exported="false"
        android:screenOrientation="behind"
        android:windowSoftInputMode="adjustResize|stateHidden" >
    </activity>
    <activity
        android:name="com.alipay.sdk.app.H5AuthActivity"
        android:configChanges="orientation|keyboardHidden|navigation"
        android:exported="false"
        android:screenOrientation="behind"
        android:windowSoftInputMode="adjustResize|stateHidden" >
    </activity>

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(如: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()) {
                    //支付失败逻辑处理
              }
        }
  });

8.若想关闭支付界面可调用以下代码:

TrPay.getInstance(Activity.this).closePayView();

9.集成测试,看能否成功唤起支付。




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

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

相关文章

网友评论

      本文标题:个人开发者接入移动支付,Eclipse集成TrPay支付SDK步

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