Product limit validation
Hive 主控台 > 社群 & 網頁商店 > 網頁商店 > 商品管理 可為網頁商店商品設定帳號購買限制與購買數量限制,並可為兩項設定各自配置最大購買數量。
網頁商店購買限制驗證用於檢查網頁商店中已付款的商品是否超出上述兩項設定的最大購買數量。為此提供網頁商店付款資訊驗證 API。
概述¶
包含呼叫 網頁商店付款資訊驗證 API 在內的網頁商店購買限制驗證整體流程如下:
- 開發者:參考PG 付款實作與PG 設定,建構使用者在網頁商店透過 PG 付款後發放商品的流程。
- 開發者:當使用者在網頁商店購買具帳號購買限制或購買數量限制的商品時,在發放商品前呼叫網頁商店付款資訊驗證 API。
- Hive 伺服器:驗證該訂單是否超出商品最大購買數量。驗證結果作為 API 回應傳回開發者伺服器。
- 開發者:僅在驗證條件(例如:未超出最大購買數量)通過時發放商品。若訂單超出最大購買數量,則不發放商品並執行付款取消。網頁商店僅在驗證結果無問題時才會將數量反映為已售並減少剩餘數量。若 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¶
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 : ####) | 其他暫時性 "####" 錯誤 |