支付宝移动支付接口智能SDK版接入与使用规则(12)
发布时间:2021-06-08
发布时间:2021-06-08
支付宝移动支付接口智能SDK版接入与使用规则
图5-4 添加alipay.jar
3. 修改Manifest
在商户应用工程的AndroidManifest.xml文件里面添加Activity声明:
<activity
android:name="com.alipay.android.app.sdk.WapPayActivity" android:screenOrientation="portrait"> </activity>
和权限声明:
<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" />
至此,SDK开发资源导入完成。 4. proguard配置
如果需要对代码进行混淆,请保证project.properties文件中添加了此行内容:
proguard.config=proguard.cfg
然后在proguard.cfg文件中加入下面的内容:
-keep class com.alipay.android.app.IAliPay{*;} -keep class com.alipay.android.app.IAlixPay{*;}
支付宝移动支付接口智能SDK版接入与使用规则
-keep class com.alipay.android.app.IRemoteServiceCallback{*;}
5. 订单数据生成
在调用快捷支付SDK时,需要提交订单信息info,其中参数以key=”value”形式呈现,参数之间以“&”分割,所有参数不可缺。 6. 接口调用
获取Alipay支付对象调用支付,此接口方法实现为同步调用,将阻塞商户应用UI线程,所以调用此接口需启动新线程,并使用looper为main looper的Handler对象与UI线程传递消息。 代码示例:
//获取订单组装字符串
final String orderInfo = getOrderInfo( );
new Thread() {
public void run() {
//获取Alipay对象,构造参数为当前Activity和Handler实例对象
//处理返回结果 }
//调用pay方法,将订单信息传入
String result = alipay.pay(orderInfo);
Alipay alipay = new Alipay(DemoActivity.this, mHandler);
}.start();
7. 支付结果获取和处理
调用pay方法支付后,将通过2种途径获得支付结果:
z
同步返回
商户应用客户端获取pay( )返回的字符串信息,在应用内直接处理支付结果。
z
异步通知
商户需要提供一个http协议的接口,包含在参数里传递给快捷支付,即notify_url。支付宝服务器在支付完成后,会以POST方式调用notify_url,以xml数据格式传输支付结果。