跳转至

付款金额验证 API

'付款金额验证' API 支持当用户想要购买因网店商品折扣或优惠券应用而改变金额的商品时,使用游戏服务器发出的验证密钥来验证折扣付款金额。当使用有效验证密钥进行付款时,游戏服务器最终可以提供商品。

操作流程

这解释了从调用'付款金额验证' API 到最终商品提供的整体处理顺序和系统间处理过程。

Hive 网店服务器和游戏服务器之间的操作和数据流如下:

  1. 用户操作:在 Hive 网店中购买金额变更的商品时,会调用'付款金额验证' API。
  2. Hive 网店服务器:从 Hive 控制台中注册的验证密钥发放目标 URL(游戏服务器)请求验证密钥。此时,以回调格式传递商品 PID、价格信息、优惠券代码等。
    • 有关在 Hive 控制台中注册验证密钥发放目标 URL 的过程,请参考下面的前提条件。
  3. 游戏服务器:验证接收到的价格信息后,返回用于付款验证的验证密钥(gameserver_price_verify_key)作为响应。
  4. Hive 网店服务器:通过计费服务器将从游戏服务器接收的验证密钥以及商品 PID 和价格信息等传递回游戏服务器来执行付款金额验证。
  5. 游戏服务器:当计费服务器完成付款时,验证接收到的验证密钥的有效性,然后提供最终商品。

前提条件

要正常调用'付款金额验证' API,游戏公司必须首先在 Hive 控制台中注册用于发放验证密钥的端点 URL。Hive 网店服务器可以通过向该 URL 传递商品 PID、价格信息、优惠券代码等来请求验证密钥。

Hive 控制台 > 社区 & 网店 > 网店 > 网店设置 > 付款金额验证 中注册 API 端点(回调 URL)。

  • 回调 URL 格式可以由游戏公司自由设置
  • 其他 API 规范遵循下面的 API 请求配置和 API 响应配置项目

API 调用(Hive 网店服务器 → 游戏服务器)

这解释了如何从 Hive 服务器向游戏服务器调用'付款金额验证' API。

Request info

  • 端点:在 Hive 控制台 > 社区 & 网店 > 网店 > 网店设置 > 付款金额验证 中设置的端点(回调 URL)
  • HTTP 方法:POST

Request header

API 信息 描述
Response Format JSON
Content-type application/json

Request body

名称 类型 必需(必需:O,可选:X) 描述
game_index Integer O 游戏唯一标识符
cs_code String O 购买用户的 PlayerID
language String O 语言代码(例如:ko、en、ja)
market_pid String O 商品唯一 ID
quantity Integer O 购买数量
original_price Integer O 原始商品金额
sale_price Integer O 折扣应用后金额
coupon_price Integer O 优惠券折扣金额
final_price Integer O 优惠券和折扣应用后的最终付款金额
discount_coupon_code String O 应用的折扣优惠券代码(未使用优惠券时不传递)

Request body sample

{
    "game_index": 1001,
    "cs_code": "20000010000",
    "language": "ko",
    "market_pid": "item01",
    "quantity": 1,
    "original_price": 10000,
    "sale_price": 8000,
    "coupon_price": 1000,
    "final_price": 7000,
    "discount_coupon_code": "SUMMER2025"
}

API 响应(游戏服务器 → Hive 网店服务器)

这解释了作为调用'付款金额验证' API 的结果,从游戏服务器发送到 Hive 网店服务器的响应信息。

Response body

  • 数据类型:JSON
  • 参数

    名称 类型 描述
    code Integer 结果代码(100:成功)
    gameserver_price_verify_key String 用于付款验证的验证密钥(成功时必须返回)

Response code

HTTP 状态代码 代码 消息 描述
200 100 Success. 成功
  • 成功必须以 100 传递。
  • 成功时,响应中必须包含 gameserver_price_verify_key

Response sample

{
    "code": 100,
    "gameserver_price_verify_key": "a1b2c3d4e5f6g7h8i9j0"
}