跳转至

网页商店购买限制验证

Hive 控制台 > 社区 & 网页商店 > 网页商店 > 商品管理 可为网页商店商品设置账号购买限制购买数量限制,并为两项设置各自配置最大购买数量

网页商店购买限制验证用于检查网页商店中已支付的商品是否超出上述两项设置的最大购买数量。为此提供网页商店支付信息验证 API

概述

包含调用 网页商店支付信息验证 API 在内的网页商店购买限制验证整体流程如下:

  1. 开发者:参考PG 支付实现PG 设置,构建用户在网页商店通过 PG 支付后发放商品的流程。
  2. 开发者:当用户在网页商店购买具有账号购买限制或购买数量限制的商品时,在发放商品前调用网页商店支付信息验证 API
  3. Hive 服务器:验证该订单是否超出商品最大购买数量。验证结果作为 API 响应返回给开发者服务器。
  4. 开发者:仅在验证条件(如未超出最大购买数量)通过时发放商品。若订单超出最大购买数量,则不发放商品并执行支付取消。网页商店仅在验证结果无问题时才会将数量计入已售并减少剩余数量。若 API 响应判定为无效支付,服务器不得向用户发放商品,且必须执行支付取消。
Warning

如未实现步骤 2 与 4,Hive 控制台中配置的账号购买限制与购买数量限制将无法正常工作。此时网页商店会认为尚无已售数量,显示的剩余数量不会减少,意味着商品可被无限购买。

Note

有关支付取消的详情请参阅发放结果处理

网页商店支付信息验证 API

基于已完成的网页 PG 支付信息,验证支付是否有效,包括是否超出商品最大购买数量。

Request information

分类 信息
正式 URL https://shop.withhive.com/api/webstore/check-quantity-limit
SANDBOX URL https://sandbox-shop.withhive.com/api/webstore/check-quantity-limit
HTTP Method POST
Data Format JSON

Request header

字段 说明 类型 必填 备注
Content-Type application/json String Y
Authorization Bearer 令牌 String Y App Center > 项目管理 > 游戏详情 > 基本信息 > Hive 认证密钥

Request header sample

Content-Type : application/json
Authorization : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNjAyMDU2NzI2LCJqdGkiOiIxODczMTExMzIwIn0.3soFiHTPlObCoqR5xX9ZeOQTSvnHrHDHWmopP3QfWtY

Request body

字段 说明 类型 必填
type 通知类型(paid: 支付完成, cancelled: 支付取消或退款) String Y
market_pid 商品唯一 ID String Y
order_id 订单号 String Y
server_id 购买用户连接的游戏服务器代码 String Y
appid 上述 market_pid 所在的网页商店 AppID String Y
cs_code 购买用户的 PlayerID String Y
paid_datetime 支付完成时间 (Y-m-d H:i:s) String Y
quantity 购买数量 String Y
iap_payload 游戏服务器发放商品所需的附加账户信息 String Y

Request body sample

{
    "type": "paid",
    "market_pid": "com.com2us.hivesdk.windows.microsoftstore.global.normal.item01",
    "order_id" : "H3175513391360875943",
    "server_id" : "1",
    "appid" : "com.com2us.hivesdk.windows.hivepc", 
    "cs_code" : "20000023100", 
    "paid_datetime": "2025-08-14 10:12:18",
    "quantity": "10",
    "iap_payload": "{\"cs_code\":20000023100,\"data\":{\"server_id\":\"1\",\"server_name\":\"Server 1\",\"channels\":{\"channel_id\":\"11\",\"channel_name\":\"Channel 11\",\"characters\":{\"character_id\":\"111\",\"character_name\":\"Character 111\"}}}}",
}

Response body

字段 说明 类型
code 响应结果代码 Integer
msg 响应结果消息 String
  • 仅对 100, 101 响应进行正常发放。
  • 3001 表示该订单已完成验证。仅在尚未发放商品时再次发放。
  • 3002 表示超过商品最大购买数量。必须执行支付取消。 详情参阅发放结果处理

Response body sample

{
    "code": 100,
    "msg": "success"
}

Response codes

以下是响应代码(code)说明。

code msg description
100 success 成功
101 success(product no limit) 成功(无数量限制;无需额外验证)
2000 fail(method error) 使用无效 HTTP METHOD
2001 fail(request parameter error) 缺少必需参数
2002 fail(type parameter error) 无效参数 (type)
2003 fail(market_pid parameter error) 无效参数 (market_pid)
2004 fail(order_id parameter error) 无效参数 (order_id)
2005 fail(server_id parameter error) 无效参数 (server_id)
2006 fail(appid parameter error) 无效参数 (appid)
2007 fail(cs_code parameter error) 无效参数 (cs_code)
2008 fail(paid_datetime parameter error) 无效参数 (paid_datetime)
2009 fail(quantity parameter error) 无效参数 (quantity)
2010 fail(iap_payload parameter error) 无效参数 (iap_payload)
2011 fail(hiveCertificationKey parameter error) 无效参数 (hiveCertificationKey)
3000 fail(hiveCertificationKey invalid) Hive 认证密钥验证失败
3001 fail(already completed) ⚠️ 订单号已验证并计入数量
若已发放则无需再次发放
3002 fail(purchase fail, purchase cancellation required) ⚠️ 失败(数量限制超出)
超出数量限制;取消支付
500 fail(appid in DB not exist) 无匹配 appId 的游戏信息
501 fail(gameprefix not exist) 未能获取 appId 对应网页商店信息
需先创建网页商店
502 fail(####) 其他 "####" 错误
503 fail(product info in DB not exist) 无匹配 market_pid 的商品信息
需先在Hive 控制台 > 社区 & 网页商店 > 网页商店 > 商品管理 注册
504 fail(####) 其他 "####" 错误
505 fail(temporary error : ####) 其他临时 "####" 错误