Agent skill
kryptogo-pay-webhook
Implements KryptoGO Payment webhook/callback handling for receiving payment status notifications. Use when building webhook endpoints, handling payment callbacks, or implementing 支付狀態通知 for KryptoGO Payment.
Install this agent skill to your Project
npx add-skill https://github.com/paid-tw/skills/tree/main/plugins/kryptogo-pay/skills/kryptogo-pay-webhook
SKILL.md
KryptoGO Payment Webhook 回調處理任務
你的任務是在用戶的專案中實作 KryptoGO Payment Webhook 回調處理。
串接 Checklist
- 端點建立 - 建立 POST endpoint 接收回調
- 狀態處理 - 處理所有 5 種支付狀態
- 冪等處理 - 實作冪等性避免重複處理
- 回應確認 - 回應 HTTP 200 確認收到
- 測試驗證 - 驗證端點可正常運作
Step 1: 確認環境
詢問用戶:
-
框架類型:你使用什麼後端框架?
- Node.js (Express / Fastify / NestJS)
- Python (Django / Flask / FastAPI)
- 其他
-
資料庫:使用什麼資料庫儲存訂單?
- 需要知道如何更新訂單狀態
用戶輸入: $ARGUMENTS
Step 2: 建立 Webhook 端點
建立 POST 端點接收 KryptoGO 的回調通知。
端點路徑建議: /api/payment/callback 或 /webhook/kryptogo
必要行為:
- 接收 POST JSON body
- 驗證
payment_intent_id存在於資料庫 - 根據
status更新訂單狀態 - 回應 HTTP 200
Step 3: 處理所有支付狀態
必須處理以下 5 種狀態:
| 狀態 | 處理邏輯 |
|---|---|
pending |
通常不會收到此狀態的回調 |
success |
更新訂單為已付款,記錄 payment_tx_hash |
expired |
標記訂單為過期 |
insufficient_not_refunded |
記錄異常,等待退款 |
insufficient_refunded |
記錄退款資訊 refund_tx_hash、refund_amount |
Step 4: 實作冪等性
確保同一個 payment_intent_id 的回調不會被重複處理:
- 檢查訂單是否已經更新為最終狀態
- 使用
payment_intent_id作為冪等鍵
Step 5: 測試
- 建立一個 Payment Intent(帶
callback_url) - 完成支付後確認端點收到回調
- 驗證訂單狀態正確更新
- 驗證回應 HTTP 200
Callback Payload 格式
{
"payment_intent_id": "0h39QkYfZps7AUD1xQsj3MDFVLIMaGoV",
"client_id": "9c5a79fc1117310f976b53752659b61d",
"fiat_amount": "300.0",
"fiat_currency": "TWD",
"payment_deadline": 1715462400,
"status": "success",
"payment_chain_id": "arb",
"symbol": "USDT",
"crypto_amount": "2.53",
"payment_tx_hash": "0x1234567890abcdef...",
"received_crypto_amount": "2.53",
"aggregated_crypto_amount": "2.50",
"order_data": {
"order_id": "uid_12345",
"item_id": "100"
},
"callback_url": "https://example.com/callback",
"group_key": "buy_stone_with_usdt"
}
重要欄位
| 欄位 | 說明 |
|---|---|
payment_intent_id |
用來比對你資料庫中的訂單 |
status |
判斷該做什麼處理 |
payment_tx_hash |
成功時的區塊鏈交易 Hash |
received_crypto_amount |
實際收到的加密貨幣金額 |
aggregated_crypto_amount |
扣除手續費後的金額 |
refund_tx_hash |
退款時的區塊鏈交易 Hash |
refund_amount |
退款金額 |
order_data |
你建立 Payment Intent 時傳入的自訂資料 |
詳細參考文件
- 程式碼範例 (Node.js/Python)
- Callback Payload 完整格式
- 疑難排解
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
kryptogo-pay
Provides KryptoGO Payment integration overview and guides users to the appropriate skill. Use when starting KryptoGO crypto payment integration, setting up environment, or needing general guidance about KryptoGO 穩定幣支付.
kryptogo-pay-query
Implements KryptoGO Payment query functionality for checking payment intent status and listing payment intents. Use when building order status checking, transaction verification, or payment confirmation features for KryptoGO 穩定幣支付.
kryptogo-pay-transfer
Implements KryptoGO Payment token transfer/withdrawal functionality using the Asset Pro Transfer API. Use when building withdrawal features, sending tokens to users, or implementing 穩定幣提領轉帳 for KryptoGO Payment.
kryptogo-pay-checkout
Implements KryptoGO Payment checkout integration including Payment Intent creation, React SDK usePayment hook, and Direct API integration. Use when integrating crypto payment, creating checkout flows, or building KryptoGO 穩定幣收款頁面.
payuni-webhook
Implements PAYUNi webhook handling including signature verification, replay attack prevention, and payment status updates. Use when building payment notification endpoints for 統一金流.
payuni-checkout
Implements PAYUNi UPP checkout integration including AES256 encryption, form submission, and payment callback handling. Use when integrating payment gateway, creating checkout flows, or building 統一金流 payment pages.
Didn't find tool you were looking for?