這個案例的核心責任是當 Stripe 冪等契約(C39)的對照組、展示無標準狀態下的實作分歧。

觀察

PayPal 的冪等 header 名為 PayPal-Request-Id;並非所有 API 支援、保存期只寫「a period of time」、細節要查各 API reference;replay 回傳「前次請求的最新狀態」;明示同 ID 並發請求時第二個可能失敗。

判讀

與 Stripe 的對照有三點:header 命名不同(無標準的直接後果、呼應 C40);replay 語意不同 — Stripe 重放「首次結局快照」、PayPal 回「最新狀態」、後者對 async 操作友善但失去 exactly-once 回應保證;契約精確度不同 — Stripe 承諾 24h、PayPal 模糊。這組差異本身就是比較教材。

對應大綱

11.8 API 層冪等設計、idempotency key 標準化爭論文章。邊緣(對照組)。

下一步路由

模組十一案例庫

引用源