Android-SDK说明文档

Android接入Android-paySDK说明文档


一、产品介绍

1. 场景介绍

Sdk可以简化商家在 App 应用中集成微信和支付宝支付功能的步骤。 商家APP调用Sdk预支付接口,Sdk 再调用自己的的后台接口并返回微信和支付宝支付需要的参数。用户可以参照android-paysdk1.x-d9lab-DEMO实现Android应用集成微信/支付宝支付功能。

2. 产品展示

展示一 展示二 展示三

3. 资源下载

Sdkhttps://kdfiles.d9lab.net/group1/M00/01/9B/cHxzJF-aueWAZSlYAADt3l_toZQ499.aar

Demohttps://kdfiles.d9lab.net/group1/M00/01/9B/cHxzJF-aukOAUKtcATk6T03zwWw626.rar

二、Android客户端集成

1. 准备工作

1.1 商家注册

使用微信/支付宝支付之前,需要先在微信/支付宝开放平台进行商家注册,获取你应用的AppId;

1.1.1 微信注册

微信开放平台注册地址

微信开放平台

(注意:使用微信支付时,需要对你在平台上注册的移动应用的包名、应用签名、AppId三者进行校验)

1.1.2 支付宝注册:

支付宝开放平台注册地址

支付宝开放平台
1.2 微信/支付宝支付SDK下载
1.2.1 微信支付

微信支付SDK下载地址

微信支付sdk
1.2.2 支付宝支付

支付宝支付SDK下载地址

支付宝支付sdk

具体微信/支付宝的支付Sdk接入流程请参考开放平台文档继承流程。

或参考android-paysdk1.x-D9lab-DEMO的实现。

2. 导入android-paysdk

以下内容可参考 android-paysdk1.x-d9lab-DEMO 的实现。

2.1 加入libs

将 android-paysdk1.x-d9lab.aar 包放在您的应用工程的 libs 目录下(图片中文件名仅做示例,请以实际 预支付Sdk 文件名为准):

加入libs
2.2 引入libs

在主项目的 build.gradle 中,添加下面的内容,将 libs 目录作为依赖仓库:

allprojects {
    repositories {

        // 添加下面的内容
        flatDir {
            dirs 'libs'
        }
        // ... jcenter() 等其他仓库
    }
}
2.3 添加依赖

在您 App Module 的 build.gradle 中,添加下面的内容,将预支付 Sdk 作为项目依赖:

dependencies {

	...
    //添加下面内容
	implementation fileTree(dir: 'libs', include: ['*.jar'])

	implementation files("libs/android-paysdk1.3-d9lab.aar") //sdk aar包中是代码和资源文件

	implementation 'com.google.code.gson:gson:2.8.6'
    implementation 'com.github.GrenderG:Toasty:1.4.2'
    implementation 'com.orhanobut:logger:2.2.0'
    implementation 'org.greenrobot:eventbus:3.2.0'
    implementation 'com.squareup.retrofit2:retrofit:2.9.0'
    implementation 'com.squareup.retrofit2:converter-scalars:2.9.0'
    implementation 'com.squareup.okio:okio:2.6.0'  //这些都是使用sdk需要的依赖
    
}

至此,预支付 Sdk 开发资源导入完成。

3. 使用微信/支付宝支付

3.1 准备工作

PaySDK 对象为商户提供预支付功能,获取当前订单使用微信支付和支付宝支付需要的数据。

使用 PaySDK对象调用预支付并拉起微信/支付宝支付,代码示例:

3.1.1 向SDK注册应用信息
//这一步必须要先做

String platformId = " ";                //填写你在本平台平台上面注册的platformId
Boolean isAliPayCert = true;            //支付宝是否使用证书支付方式,默认值为true
PaySDK.getInstance().init(platformId, isAliPayCert);    //向SDK注册信息
3.1.2 传入订单信息
/**
 * 传入自己的订单参数
 * 这些是必传参数
 */

String orderNum = "d9lab12345678910";        //订单编号
String productName = "奶茶";                 //商品名称(多个商品可以拼接)
String amount = "0.01";                     //商品总价(保留两位小数)
String sign = "d9lab";                      //订单签名
String nonceStr = "j48g39chb7gnh883znu";    //随机字符串
3.1.3 创建微信预支付模型

另外创建一个名为WxPrePayModel的类,并在该类中添加代码如下:

import com.google.gson.annotations.SerializedName;

public class WxPrePayModel {

    @SerializedName("package")
    private String mPackage;          //  "Sign=WXPay"
    private String appid;             // 微信或支付宝平台注册的AppId
    private String sign;              // 订单签名
    private String partnerid;         // 合伙人ID
    private String prepayid;          // 预支付ID
    private String noncestr;          // 随机字符串
    private String timestamp;         // 时间戳

}

该Model将被用于接收Sdk返回的参数,并可以直接用于向微信后台发起正式支付请求。

3.2 开始支付
3.2.1 使用Sdk进行微信支付
PaySDK.getInstance().wxPrePay(orderNum, productName, amount, sign, nonceStr, new IWxPayCallback() {
    
	@Override
	public void onWxPrePaySuccess(WxPrePayModel wxPrePayModel) {
		startWechatPay(wxPrePayModel);
        //wxPrePayModel为微信支付所需数据 startWechatPay()可以换成自己用于发起正式微信支付的方法
	}

	@Override
	public void onWxPrePayFailure(String message) { }

	@Override
	public void onWxPrePayError(int code, String message) { }

	@Override
		public void onWxPrePayComplete() {  }
	});
3.2.2 使用Sdk进行支付宝支付
PaySDK.getInstance().aliPrePay(orderNum, productName, amount, sign, nonceStr, new IAliPayCallback() {
	@Override
	public void onAliPrePaySuccess(String aliPayInfo) {
		startAliPay(aliPayInfo);                 
		//aliPayInfo为支付宝支付所需数据 startAliPay()换成自己用于发起正式支付宝支付的方法
	}

	@Override
	public void onAliPrePayFailure(String message) { }

	@Override
	public void onAliPrePayError(int code, String message) { }

	@Override
	public void onAliPrePayComplete() { }
    
});

三、运行android-paysdk1.x-d9lab-DEMO

1. 设置platformId

在app包下面的MainActivity中修改自己注册的platformId

2. 修改包名

将app中AndroidManifest的package和build.gradle(app)中的applicationId改为你在微信开放平台注册的应用包名

3. 配置keystore

在app的build.gradle的android { } 中配置你的keystore,用于生成你在微信开放平台注册的应用签名

四、参数说明

1. 请求参数
参数类型参数名称参数说明
StringplatformId本平台上面注册的platformId
BooleanisAliPayCert支付宝是否使用根证书
StringorderNum订单编号
StringproductName商品名称(多个商品可以拼接)
Stringamount商品总价(保留两位小数)
Stringsign订单签名
StringnoneStr随机字符串
2. 响应参数
字段名变量名必填类型示例值描述
响应码codeint200成功时为200
成功标志位successBooleantrue值为true时说明获取成功,false为失败
返回消息提示messageString获取成功提示成功或失败的相关信息
3. 返回值

以下字段在使用返回信息success结果为true的时候有返回值

字段名变量名必填类型示例值
包名packageStringSign=WXPay
应用IDappidStringwx7c31422179662e6c
签名signString99FDDF3F1FFAC08493A4F58FEE671EB6
partneridpartneridString1557376081
预支付IdperpayidStringwx3015221972709665dc30ac24e485f00000
随机字符串noncestrString1601450539756
时间戳timestampString1601450539
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值