1.1 SDK初始化接口
需要在您的应用启动页先调用此初始化接口。
接口原型:
IAppPay.init (Activity activity, int screenType, String appId)
参数说明
参数名称 | 类型 | 说明 | 备注 |
activity | Activity | 开发者游戏启动页的上下文 |
|
screenType | int | 支付SDK的横竖屏类型。参数如下 IAppPay.PORTRAIT和IAppPay.LANDSCAPE |
|
appId | String | 应用编号 | 由计费平台分配,在后台创建应用获取 |
1.2 SDK支付接口
支付接口目前支持客户端下单和服务端下单两种模式。客户端下单是通过调用startPay将商户的支付订单信息传递到云计费平台,这种模式主要针对没有服务端的应用。服务端下单则是通过调用计费平台服务端的下单接口将订单信息传递给云计费平台。
接口原型:
IAppPay.startPay (Activity activity, String params, IPayResultCallback callback)
参数说明
参数名称 | 类型 | 说明 | 备注 |
activity | Activity | 调用登录的Activity |
|
params | String | 订单信息
| 1、如果是客户端下单,对应传入支付参数即可,请参考请求基本业务参数说明 2、如果是服务端下单模式,则本参数格式如下:transid=xxxx&appid=xxxx 其中transid在服务端下单时由计费平台返回。 3、服务端下单接口参见服务端接入指南-下单 |
callback | IPayResultCallback | 回调接口 |
关于客户端下单和服务端下单说明:
对于有服务端的应用,建议商户使用服务端下单模式,提升支付的安全。该功能是指“商户服务端”从“爱贝服务端”获取transid,然后传给商户客户端调用IAppPay.startPay进行支付。(格式:transid=xxxx&appid=xxxx)。获取transid参见服务端接入指南-下单部分。
请求基本业务参数说明:
参数名称 | 参数含义 | 数据类型 | 是否可选 | 参数说明 |
appid | 应用编号 | String(20) | 必填 | 爱贝后台的应用编号 |
waresid | 商品编号 | Integer | 必填 | 应用中的商品编号。爱贝后台的商品编号 |
waresname | 商品名称 | String(32) | 可选 | 商品名称,对于消费型_应用传入价格的计费方式有效,如果不传则展示后台设置的商品名称 |
cporderid | 商户订单号 | String(64) | 必填 | 商户生成的订单号,需要保证系统唯一 |
price | 支付金额 | Float(6,2) | 可选 | 支付金额,对于消费型_应用传入价格的计费方式有效,其它计费方式不需要传入本参数(单位:元) |
currency | 货币类型 | String(32) | 必填 | 货币类型以及单位: RMB – 人民币(单位:元) |
appuserid | 用户在商户应用的唯一标识 | String(32) | 必填 | 用户在商户应用的唯一标识,建议为用户帐号。对于游戏,需要区分到不同区服,#号分隔;比如游戏帐号abc在01区,则传入“abc#01” |
cpprivateinfo | 商户私有信息 | String(64) | 可选 | 商户私有信息,支付完成后发送支付结果通知时会透传给商户 |
notifyurl | 支付结果通知地址 | String(128) | 可选 | 商户服务端接收支付结果通知的地址。可以配置在爱贝后台。若有传入则以传入为准。 |
1.3获取渠道标识接口
IappPay.getAcid();
2.支付结果通知说明
支付成功后,支付平台通过两种方式告知支付的结果。
2.1客户端的支付结果通知
支付的结果通过IPayResultCallback回调来通知,需要对返回的结果做签名验证。
public void onPayResult(int resultCode, String signvalue, String resultInfo) {}
结果信息详细描述如下:
resultCode | int | 支付回调结果 | SDKApi.PAY_SUCCES代表成功,其它代表失败。返回成功后需要对结果做签名的验证,验证成功,才是真正的支付成功。 |
signvalue | String | 签名 | 签名数据,数据格式参考服务端接入指南-交易结果回调通知 |
resultInfo | String | 支付失败的信息 | 如果支付失败,这里是提示信息。 |
resultCode的说明:
编码 | 说明 |
0 | 支付成功 |
2 | 用户取消 |
3 | 支付失败 |
4 | 支付中 |
1010 | 用户操作过于频繁 |
2020 | 用户登录令牌验证失败 |
4210 | 商家状态异常 |
4230 | 应用信息不存在、应用状态异常 |
4240 | 商品信息不存在、商品状态异常、计费代码不存在、计费代码状态异常 |
4100 | 商户订单签名验证失败 |
4112 | 用户已订购该业务,不需要支付. |
509 | 商户订单号重复 |
4101 | 商户订单数据异常 |
4111 | 支付金额为0,不需要支付 |
4102 | 没有可用支付方式 |
2.2服务端的支付结果通知
若商户有配置接收回调地址,支付成功后 爱贝服务端会异步通知结果到商户配置的回调地址。详见服务端接入指南-交易结果回调通知。
3.注意事项
3.1混淆配置
如果您要混淆apk,要工程中proguard.cfg文件内添加如下的混淆参数,避免爱贝sdk服务提供的类被混淆。详情可参见Demo里的proguard.cfg。
3.2横竖屏注意事项
请务必在您的主界面或者调用支付模块的界面在AndroidManifest.xml设置如下属性:
android:configChanges="screenSize|orientation|keyboard|navigation|layoutDirection"