GET/v1/players/{playerId}/withdrawals

接入方服务端 → 支付服务

服务端签名认证

每次请求按方法、路径、时间戳、原始 query 与原始正文计算 HMAC。先完成 身份验证 和 环境配置。

调用说明

调用时机

玩家查看提现历史、提交受理后刷新记录,或 OG 后端恢复服务后补查已受理原单时调用;未知提交仍由 OG 本地原单和单笔查询跟踪。

调用步骤

  1. OG 后端从自己的登录态确定玩家,使用原 playerId 与允许读取的登记 chainId。
  2. 发送空 body 的签名 GET;query 只允许 chainId、page、pageSize,各至多一次。分页 query 的实际字节原样参与 HMAC。
  3. 核对每条记录的原订单、完整链/资产、金额和收款地址,按 withdrawOrderId 合并自己的持久记录,再返回授权玩家的历史列表。

分页与排序

page 默认 1,只接受无前导零的正十进制字符串,最大 10001;pageSize 默认 20,只接受 20 或 50。还须满足 (page - 1) * pageSize <= 200000。响应为裸对象 {items,total,page,pageSize};items 的每一项与单笔提现查询使用相同字段。

按 acceptedAt 的 Unix 秒倒序,相同秒按公开 30 位 withdrawOrderId 的字节倒序。这里的时间是平台首次受理时间,不是提现完成时间。这是 offset 分页,不是 cursor 或快照分页;翻页期间新受理订单可能使边界移动,客户端须按订单号合并去重并刷新首页,不能承诺一次遍历期间没有重复或遗漏。

结果处理

仅返回该 HMAC 接入方、原玩家和当前允许读取完整链事实的已受理原单;不返回其他玩家、其他接入方、未知提交或未受理记录。列表项与单笔查询相同,不另带 playerId、管理侧标识或 scope。status 仍可能是 held。OG 必须自行保存原提交、未知结果与预扣;空列表、超出末页或某单未出现,都不能释放预扣。重要结果仍可按原订单号单笔复核。

失败与重试

401 检查签名与原 query;422 检查玩家路径、登记链、分页写法/边界、多余或重复 query、非空 body。503 表示依赖或原记录暂不可用、损坏,保留本地账本后重查并请平台核查。无匹配记录返回 200,不返回 404;不支持时间或收款地址筛选。

请求头

请求头说明
X-Access-Key必填

平台发放的 API Access Key,用于识别你的业务后端。每个请求发送一次;只在服务端保存。

X-Timestamp必填

本次请求的 Unix 秒,使用十进制字符串。与服务端时间相差不得超过 300 秒;每个请求发送一次,重试重新生成。

X-Signature必填

本次 API 请求的 HMAC-SHA256 签名,64 个小写十六进制字符。使用 API 密钥签 METHOD|PATH|TIMESTAMP|QUERY|BODY,保留实际路径、query 和 body 字节;每个请求发送一次。

路径参数

playerIdstring必填

提交提现时的原玩家标识,最多 128 个 Unicode 字符,不含空白、控制字符或 /,作为单个转义路径段;由 OG 后端授权,不能接受浏览器任意指定其他玩家。

格式规则:^[^/]+$;最少字符数:1;最多字符数:128

查询参数

chainIdstring必填

当前环境允许读取的登记链 ID;按完整登记链事实筛选已受理原单。

格式规则:^0*[1-9][0-9]*$;最少字符数:1;最多字符数:20
pagestring可选

页码,默认 1,无前导零,最大 10001;同时要求 (page - 1) * pageSize <= 200000。

格式规则:^([1-9][0-9]{0,3}|10000|10001)$;默认值:1
pageSizestring可选

每页数量,仅支持 20 或 50,默认 20。

取值:20、50;默认值:20

GET 请求的 body 必须为空;只发送本页列出的路径和 query 参数。

响应字段

200 成功响应

返回该玩家该链本次查询可见的已受理订单及总数。无匹配或页码超过末页时 items 为空,不据此释放本地预扣。

固定返回值
items[].acceptedtrue
items[].paymentDetails.remainingAmountBase0
items[].paymentDetails.excessAmountBase0
items[].paymentDetails.paymentState6 个取值
含义与取值
unpaid
partial
verifying
succeeded
overpaid
manual_review
items[].paymentDetails.payments[].state4 个取值
含义与取值
verifying
confirming
confirmed
invalid
items[].status8 个取值
含义与取值适用范围与处理
人工流程处理中manual_pending普通流程

继续保留预扣;可能处于审批、提现监测或链上确认,不代表未广播。

等待人工核查held普通流程

继续保留预扣,等待处理结果。

提现成功succeeded普通流程 / 终态

按 withdrawOrderId 确认扣款一次。

提现失败failed普通流程 / 终态

按 withdrawOrderId 释放原预扣一次;不同于提交 HTTP 422。

自动提现处理中auto_sending兼容自动流程

继续保留预扣,等待终态。

提现凭证核验中voucher_checking已配置凭证流程

继续保留预扣,有哈希也不确认扣款。

提现凭证未通过voucher_failed已配置凭证流程

仍是处理中,继续保留预扣,不按终态处理。

已作退款结算refunded取消未广播提现 / 终态

按订单释放预扣一次,不表示链上自动转币退款。

items[].route2 个取值
含义与取值适用范围与处理
人工提现manual普通流程

保存流程信息,按 status 判断账务动作。

自动提现auto兼容自动流程

保存流程信息,按 status 判断账务动作。

items[].verificationStage7 个取值
含义与取值
awaiting_proof
verifying
confirming
proof_failed
succeeded
payments_managed
payments_succeeded
items[].broadcast2 个取值
含义与取值
true
false
pageSize2 个取值
含义与取值
20
50
itemsarray<object>必返

按 acceptedAt 秒倒序,同秒按 withdrawOrderId 字节倒序。每项与单笔查询相同,不另带 playerId、管理侧标识或 scope。status 仍可能是 held。

最多项数:50
查看每项字段
paymentDetailsobject按条件返回

查询与多笔付款成功通知的完整付款摘要,不含内部命令、账户、游标或钱包标识。成功须 paymentState=succeeded、已确认总额等于 requiredAmountBase=原单金额、remaining/excess 均为 0,无待确认付款;每条事实同原单收款地址及冻结资产精度,交易不重复。partial/overpaid/manual_review 均不按成功结清。顶层 txHash 可省略,不得把缺失单一哈希当失败。

不接受未定义字段
查看结构与约束
paymentStatestring必返
取值:unpaid、partial、verifying、succeeded、overpaid、manual_review
requiredAmountBasestring必返
格式规则:^[1-9][0-9]{0,80}$;最多字符数:81
confirmedAmountBasestring必返

多笔付款聚合基础单位整数,允许 0;与原单冻结精度一致,须精确计算,不用浮点。

格式规则:^(0|[1-9][0-9]{0,80})$;最多字符数:81
remainingAmountBasestring必返

多笔付款聚合基础单位整数,允许 0;与原单冻结精度一致,须精确计算,不用浮点。

格式规则:^(0|[1-9][0-9]{0,80})$;最多字符数:81
excessAmountBasestring必返

多笔付款聚合基础单位整数,允许 0;与原单冻结精度一致,须精确计算,不用浮点。

格式规则:^(0|[1-9][0-9]{0,80})$;最多字符数:81
assetDecimalsinteger必返
最小值:0;最大值:77
paymentsarray<object>必返
最多项数:1000
查看每项字段
txHashstring必返

提现交易哈希,可带小写 0x 前缀,后接 64 个小写十六进制字符。成功终态必须返回;所属链以订单记录为准,不按前缀推断。

格式规则:^(0x)?[0-9a-f]{64}$
statestring必返
取值:verifying、confirming、confirmed、invalid
amountBasestring按条件返回

未确认实际金额时省略,不能补零;confirmed 时必含。

格式规则:^[1-9][0-9]{0,80}$;最多字符数:81
payerAddressstring必返
最少字符数:1
toAddressstring必返
最少字符数:1
confirmationsinteger按条件返回
最小值:0
requiredConfirmationsinteger必返
最小值:1
failureCodestring按条件返回
最少字符数:1

不接受未定义字段。

不接受未定义字段。

withdrawOrderIdstring必返

你的业务后端生成的提现订单号,恰好 30 位数字,必须作为字符串传输以保留前导零。提交、重试、查询和账务去重使用同一个值。

格式规则:^[0-9]{30}$
acceptedboolean必返

固定为 true,表示订单已受理,不等于提现成功。

取值:true
broadcastboolean必返

true 表示本响应带有 txHash 或多笔付款已成功;false 不能证明链上尚未广播。该字段不决定扣款或释放预扣。

statusstring必返

提现查询状态。普通人工流程使用 manual_pending、held、succeeded、failed;已配置凭证流程还可能返回 voucher_checking、voucher_failed。accepted、sending、confirming 仅用于进度通知,不属于本字段。succeeded 确认扣款,failed 或 refunded 释放原预扣,其余状态继续保持预扣。

取值:manual_pending、held、succeeded、failed、auto_sending、voucher_checking、voucher_failed、refunded
chainNamestring必返

平台返回的链名称,用于保存和展示。取址和提交提现时只传 chainId,不自行填写此字段。

最少字符数:1
chainIdstring必返

本条记录所属链的数字字符串。与当前环境约定的链核对,并与记录一起保存。

最少字符数:1
tokenContractstring必返

该环境登记的 USDT 合约。取址和提现响应由平台返回,请与链一起保存;请求不填写此字段。EVM 合约使用小写十六进制,TRON 使用区分大小写的 Base58Check。是否开放某条链,以平台提供的环境信息为准。

最少字符数:1
toAddressstring必返

提现收款地址,必须与所选链类型一致,不能是全零地址。EVM 接受 0x/0X 加 40 位十六进制并转为小写;TRON 接受 34 位 Base58Check,或 41 开头的 21 字节十六进制(可带 0x/0X),统一转为 Base58Check。不要把 TRON 地址转为小写。

最少字符数:1
amountstring必返

代币最小单位的正整数字符串。按当前环境的资产精度换算,使用整数或高精度十进制计算,禁止浮点。例:若 USDT 精度为 6,1 USDT 填 "1000000"。提交提现不允许 0、前导零、小数或科学计数,数值不得超过 uint256。充值入账前先核对链和合约,不能把其他代币按 USDT 精度换算。

格式规则:^[1-9][0-9]{0,77}$;字符串表示的数值上限:115792089237316195423570985008687907853269984665640564039457584007913129639935;pattern 只检查十进制写法与位数;还需用高精度整数比较数值上限,不能使用浮点比较。
acceptedAtinteger必返

首次受理时间,Unix 秒整数。重复提交时保持不变;不是链上提现完成时间。

最小值:0
routestring必返

提现路径。manual_pending 对应 manual,auto_sending 对应 auto,其他状态返回实际流程。按 status 处理余额,不按 route 判断成功或退款。

取值:manual、auto;最少字符数:1
txHashstring按条件返回

提现交易哈希,可带小写 0x 前缀,后接 64 个小写十六进制字符。成功终态必须返回;所属链以订单记录为准,不按前缀推断。

格式规则:^(0x)?[0-9a-f]{64}$
voucherTxHashstring按条件返回

已配置凭证流程的交易哈希。voucher_checking 时必返,其他状态有值才返回。可带小写 0x,后接 64 个小写十六进制字符;有凭证哈希不等于提现成功。

格式规则:^(0x)?[0-9a-f]{64}$
verificationStagestring按条件返回

可选提现凭证阶段:awaiting_proof 等待录入哈希,verifying 核验中,confirming 等待确认,proof_failed 凭证未通过,succeeded 核验成功;payments_managed 多笔付款处理中,payments_succeeded 多笔付款全部完成。阶段用于解释提现进度,账务始终按 status;proof_failed 不释放预扣。仅平台已配置并实际同步该流程时返回。

取值:awaiting_proof、verifying、confirming、proof_failed、succeeded、payments_managed、payments_succeeded
failureCodestring按条件返回

已同步的凭证核验原因;仅在凭证阶段存在且原因非空时返回。不能据此把 voucher_failed 当作提现终态。

最少字符数:1
payerAddressstring按条件返回

已同步的出款地址,有值时返回;用于核对凭证,不是玩家的充值地址。

最少字符数:1
confirmationsinteger按条件返回

已同步的确认数,0 是已知值;未提供有效计数时省略,不能默认补 0。

最小值:0
requiredConfirmationsinteger按条件返回

已配置凭证流程的确认阈值,已知时返回。字段名与充值的 confirmationsRequired 不同;缺失时不补默认值。

最小值:1

不接受未定义字段。

须同时符合以下结构。

状态与提现路径、交易字段的对应关系

正文须符合以下一种结构。

人工流程处理中
statusstring必返
取值:manual_pending
routestring必返
取值:manual
自动流程处理中
statusstring必返
取值:auto_sending
routestring必返
取值:auto
凭证校验中必须有凭证交易哈希

此分支另要求字段:voucherTxHash。

statusstring必返
取值:voucher_checking
提现成功具有单笔或多笔付款事实
paymentDetailsvalue按条件返回

成功付款摘要没有待确认项;跨字段总额相等、每笔确认阈值、地址及精度仍须业务适配器精确核对。

查看结构与约束

须同时符合以下结构。

PaymentDetails

查询与多笔付款成功通知的完整付款摘要,不含内部命令、账户、游标或钱包标识。成功须 paymentState=succeeded、已确认总额等于 requiredAmountBase=原单金额、remaining/excess 均为 0,无待确认付款;每条事实同原单收款地址及冻结资产精度,交易不重复。partial/overpaid/manual_review 均不按成功结清。顶层 txHash 可省略,不得把缺失单一哈希当失败。

paymentStatestring必返
取值:unpaid、partial、verifying、succeeded、overpaid、manual_review
requiredAmountBasestring必返
格式规则:^[1-9][0-9]{0,80}$;最多字符数:81
confirmedAmountBasestring必返

多笔付款聚合基础单位整数,允许 0;与原单冻结精度一致,须精确计算,不用浮点。

格式规则:^(0|[1-9][0-9]{0,80})$;最多字符数:81
remainingAmountBasestring必返

多笔付款聚合基础单位整数,允许 0;与原单冻结精度一致,须精确计算,不用浮点。

格式规则:^(0|[1-9][0-9]{0,80})$;最多字符数:81
excessAmountBasestring必返

多笔付款聚合基础单位整数,允许 0;与原单冻结精度一致,须精确计算,不用浮点。

格式规则:^(0|[1-9][0-9]{0,80})$;最多字符数:81
assetDecimalsinteger必返
最小值:0;最大值:77
paymentsarray<object>必返
最多项数:1000
查看每项字段
txHashstring必返

提现交易哈希,可带小写 0x 前缀,后接 64 个小写十六进制字符。成功终态必须返回;所属链以订单记录为准,不按前缀推断。

格式规则:^(0x)?[0-9a-f]{64}$
statestring必返
取值:verifying、confirming、confirmed、invalid
amountBasestring按条件返回

未确认实际金额时省略,不能补零;confirmed 时必含。

格式规则:^[1-9][0-9]{0,80}$;最多字符数:81
payerAddressstring必返
最少字符数:1
toAddressstring必返
最少字符数:1
confirmationsinteger按条件返回
最小值:0
requiredConfirmationsinteger必返
最小值:1
failureCodestring按条件返回
最少字符数:1

不接受未定义字段。

不接受未定义字段。

object
paymentStatevalue必返
取值:succeeded
remainingAmountBasevalue必返
取值:0
excessAmountBasevalue必返
取值:0
paymentsarray<object>必返
最少项数:1
查看每项字段
statevalue按条件返回
取值:confirmed、invalid
statusstring必返
取值:succeeded

至少符合以下一种结构。

value

此分支另要求字段:txHash。

object

此分支另要求字段:paymentDetails。

verificationStagevalue必返
取值:payments_succeeded
其余状态沿用实际 route
statusstring必返
取值:held、voucher_failed、failed、refunded
broadcast 表示已知单笔交易或多笔付款成功

正文须符合以下一种结构。

value | object
broadcastvalue必返
取值:true

至少符合以下一种结构。

value

此分支另要求字段:txHash。

object

此分支另要求字段:paymentDetails。

verificationStagevalue必返
取值:payments_succeeded
object

此分支不得出现字段:txHash。

broadcastvalue必返
取值:false

须同时符合以下结构。

value

value

totalinteger必返

本次查询范围内匹配的已受理订单总数,不包括 OG 本地未知提交;后续查询可变化。

最小值:0
pageinteger必返

本次页码,同时受 offset <= 200000 约束。

最小值:1;最大值:10001
pageSizeinteger必返

本次每页数量。

取值:20、50

不接受未定义字段。

HTTP 状态码

状态码含义与处理
200

返回该玩家该链本次查询可见的已受理订单及总数。无匹配或页码超过末页时 items 为空,不据此释放本地预扣。

401

请求未通过验签。先核对 Access Key、Unix 秒、路径/query 和原始 body,再重新签名请求。取址和充值接口在正文读取失败或超过 1 MiB 时也返回此状态。提现提交、取消、玩家提现列表和通知配置的超限正文返回 422,不是 401。

422

查询格式不正确。检查路径参数,仅保留接口允许的 query,并保证 GET body 为空;修正后可重新查询。

503

依赖不可用或原单事实损坏,当前页不能作为可靠查询结果。保持 OG 本地订单/预扣,重试相同查询;持续失败请平台核对原单与运行依赖。

失败时先核对 HTTP 状态、原始签名内容和环境配置,见 错误处理。

接口规范与环境配置

规范包含当前主动接口、每日提现上限查询和一个通知接收操作。高级 24 小时充值对账接口仅收起展示,旧直链和下载规范保留;每日上限查询读取与后台相同的当前规则;仍须核对本环境服务版本与数据库依赖。字段、必填项、枚举和示例见各接口;机器可读版本为 OpenAPI 3.0 规范。

操作方法与路径用途
createDepositAddressPOST /v1/addresses获取玩家充值地址
listPlayerDepositsGET /v1/players/{playerId}/deposits?chainId=...充值页查进度
queryDepositGET /v1/deposits/{txRef}复核单笔充值
submitWithdrawalPOST /v1/withdrawals提交提现申请
listPlayerWithdrawalsGET /v1/players/{playerId}/withdrawals?chainId=...&page=1&pageSize=20分页补查玩家该链已受理提现
queryWithdrawalGET /v1/withdrawals/{withdrawOrderId}查询提现最新状态
cancelWithdrawalPOST /v1/withdrawals/{withdrawOrderId}/cancel取消尚未进入链上处理的提现,成功后为 refunded
queryWithdrawalQuotaGET /v1/withdrawal-quota?playerId=...&chainId=...读取与后台相同的当前每日上限和当日申请额;quota:null 表示不限额
getWebhookConfigGET /v1/webhook-config只读核对通知 URL、启用状态、凭据是否配置、可用性及配置版本;不代表已送达
receiveTerminalNoticePOST {notifyUrl}你的端点接收交易通知

导入 API 工具后,将 servers[0].variables.baseUrl.default 设为平台发放的 API 接入地址;每次调用都重新签名。通知操作独立使用你的完整通知 URL:notifyOrigin 只填协议、主机和端口,操作路径填写接收端的实际路径。默认 /notify 只是示意,不要在已有路径后再次追加,也不能把它当作业务 API 路径。预期工具最终请求的地址与对应环境配置一致;不一致时先检查主机、路径及前缀的拼接。

输入关键词搜索指南、接口和字段。