跳到主要内容

支付接口

1、接口说明

危险

游戏在调用支付接口前,必须确保已调用上传角色接口,否则拉起支付时出现异常。

2、支付接口

2.1、拉起支付

危险
  • 单价参数price必须以分为单位。国内为CNY(单位分),海外为USD(单位美分)! :::

调用代码示例如下:

import { DHRequestCode, DHResultCode, DHSDKHelper, DHUploadGameInfoType } from 'DHSDKHelper'

//以下所有字段值皆为示例,研发接入时需替换为游戏的真实值,保证登录成功后调用支付
let payInfo: ESObject = {
uid: '120002212', //电魂用户ID
uname: 'suer12212', // 电魂用户名称
roleId: '1102', // 角色ID,实在无值时不用传入
areaId: '23', // 游戏大区Id(默认1)
proId: 'com.dianhun.xxx', // 道具商品唯一ID
proName: '6元道具', // 道具商品名称
price: '600', // 金额,必须以分为单位。国内是CNY(单位分),海外是USD(单位美分)!
proNum: '1', // 商品数量,默认:1
rate: '10', // 真实货币和游戏货币的的汇率,比如1元可以购买10个游戏充值钻石,该值就为10
memo: '', // memo透传参数,支付成功会透传给研发服务端,一般存放研发自己的订单信息
currency: 'CNY', // 货币类型,国内是CNY,海外是USD
gameInfo: '{}'//可选参数,json字符串
}

/**
* @param context 上下文
* @param params 支付json数据字符串
*/
DHSDKHelper.pay(getContext(this),JSON.stringify(payInfo))

支付信息,主要参数说明如下:

参数类型必传字段统一字段说明
uidstring账号ID
unamestring账号名称
areaIdstring大区ID
roleIdstring角色ID,无值则传0
proIdstring商品ID
proNamestring商品名称
proNumstring商品数量,一般固定为1
pricestring商品单价(分),请注意必须以分为单位
ratestring货币兑换比例,110100
memostring透传参数,支付完成后,服务器回调时将原样返回
currencystring货币类型,国内为CNY(单位分),海外为USD(单位美分)
gameInfostring游戏支付信息,JSON字符串

调用后在初始化设置的SDK回调将收到如下回调码:

...
//支付结果
case DHRequestCode.REQ_PAY:
if (resultCode == DHResultCode.OK) {
//支付成功
} else {
//支付失败
}
break
...
  • DHResultCode.OK不代表支付成功,仅表示完整支付流程结束(某些渠道存在延迟或不准情况),真实支付成功以服务端通知为准 :::