# 支付接口(必接)

# 1、接口说明

DANGER

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

# 2、支付接口

# 2.1、拉起支付

警告

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

调用代码示例如下:

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

//以下所有字段值皆为示例,研发接入时需替换为游戏的真实值,保证登录成功后调用支付
let payInfo: ESObject = {
      accountId: '120002212', //电魂用户ID
      accountName: 'suer12212', // 电魂用户名称
      roleId: '1102', // 角色ID,实在无值时不用传入
      areaId: '23', // 游戏大区Id(默认1)
      itemId: 'com.dianhun.xxx', // 道具商品唯一ID
      itemName: '6元道具', // 道具商品名称
      itemPrice: '600', // 金额,必须以分为单位。国内是CNY(单位分),海外是USD(单位美分)!
      itemNum: '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))

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

参数 类型 必传字段 统一字段 说明
accountId string 是 是 账号 ID
accountName string 否 是 账号名称
areaId string 是 是 大区 ID
roleId string 是 是 角色 ID,无值则传0
itemId string 是 是 商品 ID
itemName string 是 是 商品名称
itemNum string 是 是 商品数量,一般固定为1
itemPrice string 是 是 商品单价(分),请注意必须以分为单位
rate string 否 是 货币兑换比例,1或10或100
memo string 否 是 透传参数,支付完成后,服务器回调时将原样返回
currency string 是 是 货币类型,国内为 CNY(单位分),海外为 USD(单位美分)
gameInfo string 否 否 游戏支付信息,JSON 字符串

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

...
//支付结果
case DHRequestCode.REQ_PAY:
if (resultCode == DHResultCode.OK) {
    //支付成功
} else {
    //支付失败
}
break
...

DANGER

  • DHResultCode.OK不代表支付成功,仅表示完整支付流程结束(某些渠道存在延迟或不准情况),真实支付成功以服务端通知为准
Last Updated: 2026/7/10 16:21:52