android+sdk+English,Android | 境外收单 - SDK | Documentation

本文详细介绍了如何将支付宝SDK导入Android应用,包括步骤、修改Manifest、添加混淆规则,以及订单数据生成和支付接口调用的方法。同时,阐述了支付结果的同步和异步获取方式,以及如何获取SDK版本号。
摘要由CSDN通过智能技术生成

#导入开发资源

1、将alipaySDK-.jar包放入商户应用工程的libs目录下,如下图。

7f424892ade0fd1527d016e1f84aac48.png

2、进入商户应用工程的Java Build Path,将libs目录下的alipaySDK-.jar导入,如下图。

305f0b9b5ac299926fdee460f6c256fc.png

3、选中Order and Export,勾选alipaySDK-.jar,如下图。

e66f8d425efabbe2b0d02f5f661eaeb5.png

#修改 Manifest

在商户应用工程的AndroidManifest.xml文件里面添加声明:

copy

android:name="com.alipay.sdk.app.H5PayActivity"

android:configChanges="orientation|keyboardHidden|navigation"

android:exported="false"

android:screenOrientation="behind" >

android:name="com.alipay.sdk.auth.AuthActivity"

android:configChanges="orientation|keyboardHidden|navigation"

android:exported="false"

android:screenOrientation="behind" >

和权限声明:

copy

#添加混淆规则

在商户应用工程的proguard-project.txt里添加以下相关规则:

copy-libraryjars libs/alipaySDK-(Date).jar

-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 *;}

至此,开发包开发资源导入完成。

#订单数据生成

在调用开发包支付时需要提交订单信息info,其中参数以key=”value”形式呈现,参数之间以“&”分隔,所有参数不可缺。

#支付接口调用

需要在新线程中调用支付接口。(可参考alipay_demo实现)

获取PayTask支付对象调用支付(支付或者授权的行为需要在独立的非ui线程中执行),代码示例:

copyfinal String orderInfo = info; // 订单信息

Runnable payRunnable = new Runnable() {

@Override

public void run() {

PayTask alipay = new PayTask(DemoActivity.this);

String result = alipay.pay(orderInfo,true);

Message msg = new Message();

msg.what = SDK_PAY_FLAG;

msg.obj = result;

mHandler.sendMessage(msg);

}

};

// 必须异步调用

Thread payThread = new Thread(payRunnable);

payThread.start();

#支付结果获取和处理

调用pay方法支付后,将通过2种途径获得支付结果:

#同步返回

商户应用客户端通过当前调用支付的Activity的Handler对象,通过它的回调函数获取支付结果。(可参考alipay_demo实现)

代码示例

copyprivate Handler mHandler = new Handler() {

public void handleMessage(Message msg) {

Result result = new Result((String) msg.obj);

Toast.makeText(DemoActivity.this, result.getResult(),

Toast.LENGTH_LONG).show();

};

};

#异步通知

商户需要提供一个http协议的接口,包含在参数里传递给快捷支付,即notify_url。支付宝服务器在支付完成后,会以POST方式调用notify_url,以xml数据格式传输支付结果。

#获取当前开发包版本号

调用PayTask对象的getVersion()方法查询。

代码示例:

copyPayTask payTask = new PayTask(activity);

String version = payTask.getVersion();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值