Skip to content

常量字典

下面是 OpenAPI v1.2 所有"不會變"的值。任何破壞性變更都會透過 changelog + 版本號公告,並提前通知整合方。

Base URL

環境URL
生產https://api.coinepay.net
沙箱暫無(v1.2 不提供)
本地開發http://localhost:8801

API 字首

/api/v1/openapi

HTTP 約定

Method全部 POST(專案硬性約束)
請求 Content-Typeapplication/json
響應 Content-Typeapplication/json; charset=utf-8
最大請求體4 MB(4194304 位元組)
字元集UTF-8

鑑權

演算法HMAC-SHA256
必需 headerX-App-Id / X-Timestamp / X-Nonce / X-Signature
AppID 格式cp_<28 hex>,固定長度 31
Secret 格式64 hex 字元
Secret 字首展示<前 4 字元>****
Timestamp 單位(不是毫秒)
時間戳容差±300 秒
Nonce 長度8~64 字元
Nonce 防重放視窗600 秒
簽名格式lowercase hex
簽名長度64 字元

冪等

HeaderIdempotency-Key
必填介面/api/v1/openapi/card/apply / /api/v1/openapi/card/recharge
最大長度128 字元
去重視窗24 小時
衝突狀態碼409

限流

維度(AppID, IP)
配額600 / 分鐘
視窗60 秒(滾動)
超出HTTP 429

Webhook 推送

簽名 headerWebhook-Signature
簽名格式v1,<hex_hmac_sha256>
簽名輸入{timestamp}.{raw_body}
事件 ID headerWebhook-Id
時間戳 headerWebhook-Timestamp
型別 headerWebhook-Type
重試退避(秒)[60, 300, 900, 3600, 21600, 86400]
總投遞次數7(1 次首投 + 6 次重試,之後 dead_letter
接收方響應頭超時5 秒
接收方整請求總超時10 秒
必須 HTTPS✅(生產;dev 環境 AllowHTTP=true 時方可放行 HTTP)
必須公網 IP✅(拒絕私網 / loopback / link-local)
允許埠生產環境僅 443

卡型別(v1.2 OpenAPI 範圍)

card_type說明
virtual_l虛擬卡 - L 類
virtual_p虛擬卡 - P 類
virtual_v虛擬卡 - V 類
virtual_r虛擬卡 - R 類
virtual_g虛擬卡 - G 類
virtual_a虛擬卡 - A 類(郵箱必填、不收手機號,見申請虛擬卡

OpenAPI 不接受非虛擬卡

master_e / visa_h / transfer 等不在範圍內,會返回 400 openapi_card_type_not_supported

apply 介面不傳 card_type

/card/apply 不需要傳 card_type,由 header_id 自動推導。

業務字首

資源字首示例
card_card_12345
套餐pkg_pkg_67
卡頭hdr_hdr_5
充值訂單txn_txn_OO20260429110012abc
Webhook 事件evt_evt_550e8400-e29b-41d4-a716-446655440000

常用 SHA-256 常量

輸入sha256 hex
空字串e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
{}44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a

國際化

Header行為
Accept-Language 不傳預設中文
Accept-Language: zh-CN中文
Accept-Language: en-US英文

message_key 不受 Accept-Language 影響,永遠穩定(用作程式判斷)。

憑證

憑證有效期不過期(除非 reset / disable)
憑證數量上限每使用者 1 條(v1)
Reset 後舊 secret立即失效
Disable 後401 invalid_credentials;可 enable 恢復

採用 MIT 等價條款釋出