十一月项目小结( Alipay集成)

Alipay集成

  1. 下载Alipay的SDK
    SDK下载地址
  2. 导入资源
    将AlipaySdk******.jar包放入应用工程libs目录
    在这里插入图片描述
  3. 添加依赖

compile files(‘libs/alipaySdk-20170725.jar’)

  1. 配置Manifest文件
	<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" >
  1. 权限声明
	<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" />
  1. 设置混淆规则
    在商户应用工程的proguard-project.txt(proguard-rules.pro)里添加以下相关规则:
	-keep class com.alipay.android.app.IAlixPay{*;}
	-keep class com.alipay.android.app.IAlixPay$Stub{*;}
	-keep class com.alipay.android.app.IRemoteServiceCallback{*;}
	-keep class com.alipay.android.app.IRemoteServiceCallback$Stub{*;}
	-keep class com.alipay.sdk.app.PayTask{ public *;}
	-keep class com.alipay.sdk.app.AuthTask{ public *;}
	-keep class com.alipay.sdk.app.H5PayCallback {
    	<fields>;
   	 <methods>;
	}
	-keep class com.alipay.android.phone.mrpc.core.** { *; }
	-keep class com.alipay.apmobilesecuritysdk.** { *; }
	-keep class com.alipay.mobile.framework.service.annotation.** { *; }
	-keep class com.alipay.mobilesecuritysdk.face.** { *; }
	-keep class com.alipay.tscenter.biz.rpc.** { *; }
	-keep class org.json.alipay.** { *; }
	-keep class com.alipay.tscenter.** { *; }
	-keep class com.ta.utdid2.** { *;}
	-keep class com.ut.device.** { *;}
  1. 设置运行环境
    沙箱测试环境
    在super.onCreate(savedInstanceState)方法调用前调用EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOX)
    生产环境
    去掉EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOX)

  2. 调用Alipay接口(必须在子线程中调用)

Runnable payRunable = new Runnable() {
            	@Override
            	public void run() {
                	PayTask alipay = new PayTask(activity);
                	Map<String, String> result = alipay.payV2(signature, true);
               	 Message msg = new Message();
               	 msg.what =msgWhat;
                	msg.obj = result.get("resultStatus");
                	mHandler.sendMessage(msg);
           	 }
        	};
        	Thread payThread = new Thread(payRunable);
        	payThread.start();
  1. 详细流程链接

猜你喜欢

转载自blog.csdn.net/qq_43044875/article/details/84674737
今日推荐