汎用ソフトウェア開発⭐ リポ 2品質スコア 59/100
retries-idempotency
@alexasomba/paystack-nodeのリトライ、Retry-After動作、べき等性キー、タイムアウト、安全なリトライセマンティクスを設定する際に使用します。
description の原文を見る
Use when configuring @alexasomba/paystack-node retries, Retry-After behavior, idempotency keys, timeouts, and safe retry semantics.
SKILL.md 本文
Paystack Node リトライとべき等性
Node SDKはトランジェント障害をリトライして、POSTリクエストにべき等キーを追加できます。決済、送金、払戻、顧客ミューテーションに対して、意図的に設定してください。
リトライ設定
const paystack = createPaystack({
secretKey: process.env.PAYSTACK_SECRET_KEY!,
retry: {
retries: 3,
minDelayMs: 500,
maxDelayMs: 5_000,
retryOnStatuses: [408, 429, 500, 502, 503, 504],
},
});
SDKは429レスポンスのRetry-Afterが存在する場合、それを遵守します。
べき等性
POSTリクエストで生成されたUUIDキーに対して idempotencyKey: "auto" を使用します。
const paystack = createPaystack({
secretKey: process.env.PAYSTACK_SECRET_KEY!,
idempotencyKey: "auto",
});
プロセス再起動後に同じビジネス操作をリトライする場合は、安定したカスタムキーを使用します。
const paystack = createPaystack({
secretKey: process.env.PAYSTACK_SECRET_KEY!,
idempotencyKey: () => currentPaymentAttempt.idempotencyKey,
});
ベストプラクティス
- GET、HEAD、OPTIONSはトランジェント障害に対して自由にリトライできます。
- POSTはべき等キーが存在する場合のみリトライします。
- ビジネス操作リファレンスとPaystackリファレンスをデータベースに保存します。
- 決済呼び出しがリクエストワーカーを無限に待機させないようにタイムアウトを使用します。
- 関連性のない操作で静的なべき等キーを再利用しないでください。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- alexasomba
- ライセンス
- MIT
- 最終更新
- 2026/5/9
Source: https://github.com/alexasomba/paystack-node / ライセンス: MIT