# 支付接口

# 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 货币兑换比例,110100
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: 2024/11/6 09:22:16