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

  • Post author:
  • Post category:其他






最近在开发自己的一款应用,其中涉及到移动快捷支付,但由于自己是个人开发者(哈哈~~相信有不少跟我一样的朋友),无法直接申请市场上主流支付,如支付宝、微信、银联等。在网上找了好久第三方支付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

文件中添加相应的权限。代码如下所示:

   <uses-permission android:name="android.permission.INTERNET" />    
   <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />    
   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />    
   <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" />



方式二:以jar方式集成:


1.将解压后的SDK文件中的

TrPay_sdk_Jar.zip

文件解压,其中包含TrPay所需要的

jar文件



res资源文件



AndroidManifest.xml权限文件



2.1.将

alipaySdk-20170922.jar



paysdk-release-1.2.1.jar

文件复制到工程的libs(若无该目录,请先创建)目录下,之后将其加入项目依赖库中。


2.2.将res资源文件添加到您项目的res目录中(


若不想走TrPay收银台,可不必加入res资源文件


)。


3.修改您项目的

AndroidManifest.xml

文件,请参考

TrPay_sdk_Jar.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>


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支付

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

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












版权声明:本文为wchengsheng原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。