Communitygithub.com

pagou-com-br/skills

實現 Pagou API 中自訂結帳頁面的信用卡收款。當使用者要求信用卡支付、分期付款、瀏覽器端令牌化、card_token、建立 payer 或卡片、透過 customer_id 和 card_id 收費、防詐欺、擷取、取消、退款、重試、信用卡的 Idempotency-Key、chargebacks 或 Pagou 的卡片註冊時使用。涵蓋瀏覽器與後端架構、完整資料與參考的選擇、authorized、captured 和 settled 狀態、冪等性以及 Sandbox 測試。Pagou 的 MCP 僅能讀取信用卡收款。請與 pagou skill 一起使用。

skills 是什麼?

此技能專門處理 Pagou API 中的信用卡支付整合,特別針對自訂結帳頁面(checkout próprio)的場景。它定義了嚴格的雙層架構:瀏覽器端負責使用 Pagou 的令牌化函式庫收集卡片資料並生成 token,然後僅將 token 化物件與購買資料傳送至商家後端;後端則使用 X-API-KEY 向 API 發起收款請求,且金鑰絕不會出現在瀏覽器中。技能詳細說明如何選擇「完整資料」流程(提供 customer 與 card 物件)或「參考」流程(使用 customer_id 與 card_id),並強調兩者不可混用。此外,它涵蓋了支付生命週期的各個狀態(authorized、captured、settled),以及擷取、取消、退款、重試(/retry)和 chargeback 處理的具體規則與商務邏輯。冪等性是關鍵設計,要求每筆商業操作都生成獨一無二的 Idempotency-Key,並在重試時保持請求的位元組完全一致。此技能主要用於 Claude Code、Cursor 或 Codex 等 AI 代理工具,輔助開發者正確地實作信用卡支付功能,避免常見的架構錯誤、狀態誤判或冪等性問題。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/pagou-com-br/skills/tree/HEAD/skills/pagou-cartao

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

信用卡在 Pagou API 中

請先套用技能 pagou 的規則(環境、後端驗證、安全性與不確定結果)。此技能僅提供信用卡的決策。欄位與 payload 位於下列頁面:請在實作前閱讀它們。

實作前請先閱讀

先決條件

帳號啟用中、信用卡註冊已核准、已設定信用卡費率的方案以及有效的金鑰。註冊需透過控制面板申請,非經由 API。如果帳號尚未註冊,請在實作前告知使用者。

強制架構

  1. 瀏覽器: 自訂結帳頁面收集卡片資料,並使用 Pagou 的令牌化函式庫生成 token,該函式庫必須與收款所使用的 API 環境相同。此函式庫使用的公鑰不是 X-API-KEY。
  2. 瀏覽器到後端: 僅將 token 化的 card 物件與購買資料傳送至商店伺服器。令牌化完成後,請清除表單狀態中的卡號與 CVV。
  3. 商家後端: 使用 X-API-KEY 在 API 中建立收款,此金鑰絕不應存在於瀏覽器中。

完整卡號與 CVV 不屬於 API 合約的一部分。請勿在日誌、分析工具或瀏覽器儲存中記錄卡號、CVV 或 token。Pagou 結帳頁面已處理令牌化:此架構適用於自訂結帳頁面。

決策規則

  • 金額以整數分為單位: value: 5000 代表 R$ 50.00。請勿沿用 Pix 或銀行條碼的單位。

  • 確切選擇一種流程:

    1. 完整資料:customer 與 card 物件(含 token)。
    2. 參考:同一付款人的 customer_id 與 card_id,均需屬於已驗證的帳號。此流程中不需生成新的 token。

    請勿混合兩種流程,也不要只發送配對中的一個元素。在完整流程中,請儲存回傳的 ID 以供後續重複使用。

  • 防詐欺: 遵循文件要求,包括購買者的真實 IP。切勿使用範例中的示意 IP。

  • 分期付款: 遵守發卡組織的限制,且卡片不能已過期。

  • 根據 status 判斷財務結果: 201 不保證核准。區分 authorized(授權)、captured(擷取)與 settled(已結算)。收款的 unknown 狀態與溝通錯誤導致的不確定結果不同。

  • 擷取不是固定步驟: 建立收款時可能已回傳 captured。僅對持續處於 authorized 狀態且商業意圖需要時,才呼叫明確的擷取。切勿使用擷取來解決逾時問題。

  • 取消或退款: 取消適用於待處理的收款;已授權、已擷取或已結算的收款則遵循退款規則,目前在合約中為全額退款。請先確認狀態再選擇。

  • 重試 (/retry): 這是另一項財務操作,僅在確認失敗後(failed),使用專屬金鑰且在文件限制內執行。切勿使用 /retry 來解決逾時或不確定結果。

  • Chargebacks: 在爭議操作中使用 chargeback 的 id;爭議狀態與收款的 charged_back 狀態不同。辯護與接受是商家決策:僅在要求時實作。

  • 分帳: 請遵循技能 pagou-split;信用卡收款使用分為單位,但分帳的固定金額使用實際貨幣單位。

冪等性

  • 每筆商業操作(註冊付款人、註冊卡片、建立收款、擷取、退款、重試)生成一個唯一的 Idempotency-Key,並在首次發送前將其與請求一同儲存。
  • 要重複相同操作,請保持相同的金鑰、方法、路徑以及請求主體的位元組,包括 card_token 與分帳陣列。請勿重新組裝 JSON。
  • 新購買需要新金鑰;可以重複使用 customer_id 與 card_id。
  • 請勿在迴圈內生成新金鑰,也不要為了繞過逾時而這麼做。
  • 代碼 idempotency_key_conflict、idempotency_in_progress 與 idempotency_outcome_unknown 有各自不同的處理方式:請閱讀冪等性頁面。不確定結果需要透過查詢來調查,而非發起新收款。

MCP 工具

Pagou 的 MCP 僅能讀取 信用卡收款:

工具用途
get_card_charge根據 ID 查詢一筆收款
list_card_charges根據狀態與時間區間列出與核對收款

MCP 不會建立、擷取、取消、退款或重試信用卡收款,不會管理付款人或卡片,也不會處理 chargebacks。建立動作發生在商家後端,在瀏覽器令牌化之後。請勿嘗試從代理工具經由其他途徑建立信用卡收款。

Sandbox 測試

  1. 確認 Sandbox 帳號符合信用卡的先決條件。
  2. 在 Sandbox 環境中對測試卡號 4111 1111 1111 1111 進行令牌化,請依照令牌化頁面操作。
  3. 從應用程式的後端,針對 https://api.pagou.cloud 使用 Sandbox 金鑰與專屬的 Idempotency-Key 建立收款。Pix 的模擬路由不適用於信用卡。
  4. 檢查回傳的 status 並查詢同一筆收款(也可使用 get_card_charge)。
  5. 使用相同金鑰重複發送相同請求,並確認不會產生重複的收款。

相關技能