# 充值系統 - SP Define # 發送充值物品 ## SP_SendIAPItem 1. 發送的同時寫交易紀錄, 周/月卡紀錄, 限購紀錄 - 資料庫: `RYRechargeDB` ### 輸入參數 | 參數 | 型別 | 必填 | 註解 | |:----------------- |:------------- |:---- |:----------------------------------------------------------------- | | @UserID | INTEGER | Y | 玩家ID | | @IAPOrderID | NVARCHAR(50) | Y | 平台那邊的訂單ID | | @IAPProductID | NVARCHAR(200) | Y | 產品ID | | @IAPPurchaseToken | NVARCHAR(200) | Y | 平台那邊的購買憑證 | | @IsTestOrder | BIT | Y | 是否為測試購買, 0: 否(真實購買), 1: 是(測試購買) | ### 輸出參數 | 參數 | 型別 | 註解 | | -------------------- | ------------- | ------------ | | @OutputResultMessage | NVARCHAR(255) | 執行結果訊息 | | @OutputRedDotNotify | TINYINT | 是否需要紅點通知, 0:否, 1:是 | --- # 領取周/月卡物品 ## SP_ClaimSubscribeItem - 資料庫: `RYRechargeDB` ### 輸入參數 | 參數 | 型別 | 必填 | 註解 | |:---------- |:------- | ---- |:------------ | | @UserID | INTEGER | Y | 玩家ID | | @ProductID | BIGINT | Y | 商品的流水號 | ### 輸出參數 | 參數 | 型別 | 註解 | | -------------------- | ------------- | ------------ | | @OutputResultMessage | NVARCHAR(255) | 執行結果訊息 | --- # 充值商城 - 兌換代幣商品 ## SP_ExchangeTokenProduct - 資料庫: `RYTreasureDB` ### 輸入參數 | 參數 | 型別 | 必填 | 註解 | |:--------------- |:------- | ---- |:-------------------------------------------------------------------------------------------------------------------------------------------------- | | @UserID | INTEGER | Y | 玩家ID | | @OsType | TINYINT | Y | 平台資訊1:Android, 2:IOS | | @TokenProductID | INTEGER | Y | 商品ID(RYTreasureDB.GameStoreTokenProduct) | | @ExchageUnits | INTEGER | N | 要兌換的單位, 預設1, 假設TokenProductID的商品代表 5鑽換1票, 那這就是一個單位, 兩個單位的意思就是 10鑽換2票, 三個單位的意思就是 15鑽換3票, 依此類推 | ### 輸出參數 | 參數 | 型別 | 註解 | | -------------------- | ------------- | ------------ | | @OutputResultMessage | NVARCHAR(255) | 執行結果訊息 | --- # 根據代幣匯率表兌換 ## SP_ExchangeToken - 資料庫: `RYTreasureDB` ### 輸入參數 | 參數 | 型別 | 必填 | 註解 | |:------------------ |:------- | ---- |:------------------------------------------------------------------------------------------------------------------------------------------------------------ | | @UserID | INTEGER | Y | 玩家ID | | @SourceTokenTypeID | INTEGER | Y | 來源的類型, 1:獎券/2:鑽石/3:初級門票/4:中級門票/5:高級門票/99:金幣, 對應RYTreatureDB -> GameStoreTokenType | | @TargetTokenTypeID | INTEGER | Y | 目標的類型, 1:獎券/2:鑽石/3:初級門票/4:中級門票/5:高級門票/99:金幣, 對應RYTreatureDB -> GameStoreTokenType | | @ExchageUnits | INTEGER | N | 要兌換的單位, 預設1, 假設現在兌換匯率為 1鑽換100金幣, 一個單位的意思就是 5鑽換50金, 兩個單位的意思就是 10鑽換100金, 三個單位的意思就是 15鑽換150金, 依此類推 | --- # 查詢玩家限購紀錄 ## SP_CheckUserLimitBuyRecord - 資料庫: `RYTreasureDB` ### 輸入參數 | 參數 | 型別 | 必填 | 註解 | |:---------- |:------- | ---- |:------ | | @UserID | INTEGER | Y | 玩家ID | | @ProductID | INTEGER | Y | 產品ID (IAPProduct/IAPSubscribeProduct/TokenProduct 的 流水號ID) | | @ProductType | SMALLINT | Y | 商品類型 1:一般充值商品/2:訂閱型商品/3:代幣商品| ### 輸出參數 | 參數 | 型別 | 註解 | |:-------------------- | ------------- |:-------------- | | @OutputResultMessage | NVARCHAR(255) | 執行結果訊息 | | @OutputRemainBuyTimes | INTEGER | 剩餘可購買次數 | --- # 錯誤訊息列表 | 參數 | 型別 | | ---- | --------------------------- | | 0 | 成功 | | 3000 | SP程式錯誤 | | 3001 | 找不到用戶 | | 3002 | 用戶已被停用 | | 3013 | 操作權限錯誤 | | 3014 | 請求參數錯誤 | | 3018 | 沒任何符合的獎勵/獎勵已領取 | | 3019 | REPEAT_REQUEST, 重複請求 | | 3020 | 促銷商品 - 不在促銷時段 | | 3021 | 周/月卡 - 已經買過了 | | 3022 | 已達限購次數上限 | | 3023 | 發送請求失敗 | | 3024 | DB Query Fail. | | 3025 | Get AccessToken Fail |