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?