買家可以繞過你,直接向發卡行主張這筆交易有問題。這叫拒付(Chargeback),一旦發起,資金就已經被上游扣留——它是既成事實,不是一個可以拒絕的請求。
資金怎麼變
拒付開案的那一刻,爭議金額會從可用餘額移到凍結餘額:
開案 available -= amount, frozen += amount dispute_freeze
勝訴 frozen -= amount, available += amount dispute_unfreeze
敗訴 frozen -= amount dispute_debit
available -= 處理費 dispute_fee凍結不做餘額充足性檢查,可用餘額可以變成負數。如果你在拒付發起前已經把這筆錢提走了,負餘額就是你欠平台的金額,它會一直擋住後續提現,直到被後續收款補平。
敗訴時除了扣回爭議金額,還會收取一筆拒付處理費(默認 $15.00,按商戶可配)。這筆費用覆蓋上游收單機構的爭議處理成本,勝訴不收。
狀態
| 狀態 | 含義 | 資金 |
|---|---|---|
needs_response | 已開案,等待舉證 | 凍結中 |
under_review | 已提交申訴,發卡行審理中 | 凍結中 |
won | 申訴成功 | 已解凍退回 |
lost | 申訴失敗 / 未按時舉證 / 主動接受 | 已扣賬 + 處理費 |
closed | 發卡行撤銷了拒付 | 已解凍退回 |
不舉證等於敗訴。 超過 evidence_due_by 未響應會直接進入 lost,和主動認輸的結果完全一樣。
你需要做什麼
訂閲拒付事件
在 Webhook 端點上訂閲 dispute.created,讓你的系統第一時間拿到拒付。
平台同時會給賬戶所有者、管理員和入駐聯繫郵箱發郵件:開案時一封,距舉證截止 3 天和 24 小時時各提醒一次(僅正式環境,已提交證據的拒付不再提醒)。郵件是兜底,不能代替 Webhook 做自動化處理。
核對爭議訂單
事件裏的 data.object.trade_no 指向原訂單。拿它查出發貨記錄、物流憑證、買家溝通記錄。
在截止時間前提交證據
調用 提交證據 把材料發給發卡行。哪些字段有用取決於拒付原因,見下表。
curl -X POST "https://api.kukopay.com/v1/disputes/dsp_xxx/evidence" \
-H "X-Api-Key: kuko_live_你的密鑰" \
-H "Content-Type: application/json" \
-d '{
"evidence": {
"shipping_carrier": "DHL",
"shipping_tracking_number": "JD0099887766",
"shipping_date": "2026-09-02",
"product_description": "Pro 年度訂閲"
},
"submit": true
}'等待結案
結案時會推送 dispute.won / dispute.lost / dispute.closed,資金同步變化。
按拒付原因準備材料
發卡行只看與爭議點相關的材料,堆砌無關文件不會提高勝率。
| 拒付原因 | 最該提供的 |
|---|---|
| 未收到貨 | shipping_carrier · shipping_tracking_number · shipping_date · shipping_documentation 文件 |
| 商品與描述不符 | product_description · receipt 文件 · customer_communication 文件 |
| 訂閲已取消 | cancellation_rebuttal · cancellation_policy_disclosure · cancellation_policy 文件 |
| 要求退款被拒 | refund_policy_disclosure · refund_refusal_explanation · refund_policy 文件 |
| 未授權 / 盜刷 | customer_purchase_ip · customer_email_address · billing_address · customer_signature 文件 · access_activity_log |
| 重複扣款 | invoice_showing_distinct_transactions 文件 |
submit: false 可以先暫存草稿、分多次補充材料;submit: true 才會真正發給發卡行,且不可撤回。提交後拒付進入 under_review,凍結金額不變。
確定會輸的時候
調用 接受拒付 直接認輸。
資金結果與放任舉證期過期完全一樣,區別是立刻結案,而不是讓爭議金額一直凍結到截止日。如果你已經確認是自己的責任,早點認輸能更快把剩餘資金解放出來。
拒付率風控
平台按滾動 30 天統計每個商戶正式環境的拒付率:期間新開的拒付筆數 ÷ 期間創建的成功訂單筆數。
| 級別 | 條件 | 結果 |
|---|---|---|
| 預警 | 拒付不少於 2 筆,且拒付率 ≥ 0.65% | 平台運營收到提醒,開始關注 |
| 暫停提現 | 拒付不少於 3 筆,且拒付率 ≥ 0.9% | 自動凍結賬戶的正式提現,並郵件通知你 |
暫停期間收款、退款和拒付應訴都不受影響,只是不能提現。平台核查後人工解除;解除後如果又出現新的拒付,會重新按上表判斷。
0.9% 與卡組織對收單方的監控門檻一致。拒付率過高時,受罰的是平台共用的收單賬戶,所以平台會在卡組織介入之前先行控制。降低拒付率最有效的辦法是:清晰的賬單描述、及時發貨並提供物流單號、快速處理買家退款請求。
拒付期間不能退款
訂單存在未結案拒付時,退款接口返回 409 conflict。
原因很直接:上游已經把這筆錢扣留了,再退一次等於把同一筆錢付給買家兩次。想認輸的話,讓拒付走到 lost 即可,不要用退款去"處理"拒付。
對賬
拒付在資金流水裏表現為四種類型,都可以用 資金流水接口 按 type 篩選:
dispute_freeze · dispute_unfreeze · dispute_debit · dispute_fee
每一行的 reference_id 都是 dispute_no,可以直接和拒付記錄對上。
即使 Webhook 全部漏掉,平台的對賬巡檢也會定期從上游重新拉取未結案拒付並推進狀態,所以不會出現資金被永久凍結的情況。