2.6 支付接口
功能说明:
调用该接口会向玩家展示选定产品的支付界面,用户可以在支付界面选择不同的支付方式来支付该产品。研发只用调用该接口即可,具体的业务逻辑SDK内部会处理。研发不能以该接口的回调成功与否来作为游戏内发货的依据,而必须要以SDK服务器的支付结果通知作为发货的依据。
接口形式:
public void pay (Activity act, RNPayData data, RNCallback callback)
参数说明:
act:游戏自身 Activity实例
data: 支付相关数据。(具体说明见以下介绍)
callback: 接口回调
RNPayData说明:
属性名称
属性描述(全部为String类型)
productid
产品id (必须由SDK服务器端定义)
uid
玩家 uid (登录接口返回的 UID)
roleid
玩家角色id
rolename
玩家角色名
rolelevel
玩家角色等级
extradata
研发方自定义数据,SDK服务器原样透传游戏服务器
serverid
服务器id
gamecno
研发方订单号
接口回调code说明:
接口回调code
code对应情形
RNCode.OK
支付成功
RNCode.CANCEL
支付取消
其他
支付错误
接口示例:
RNPayData payData = new RNPayData();
payData.productid = "65";
payData.uid = "3233333";
payData.roleid = "555555";
payData.rolename = "Jugg";
payData.rolelevel = "16";
payData.extradata = "extradata";
payData.serverid = "12";
payData.gamecno = "1231414";
RNSDK.getInstance().pay(this, payData, new RNCallback() {
@Override
public void onCompleted(int code, String msg, Object data) {
//支付成功
if (RNCode.OK == code) {
PayResponseData payResponseData = (PayResponseData) data;
// SDK方生成的订单号
String cno = payResponseData.getCno();
// 支付的类型,微信支付为"spH5",支付宝支付为"alipay"
String payType = payResponseData.getPayType();
// 支付的产品id
String productId = payResponseData.getProductId();//
// 支付的产品金额
String productCharge = payResponseData.getProductCharge();//
}
else if (RNCode.CANCEL == code) {
// 支付取消
}
else {
// 支付失败
String errorMsg = msg;
}
}
});
Last updated
Was this helpful?