ECサイトなど、多くの決済を取り扱うシステムでは重複処理・多重決済をいかに防止するかが重要です。 Stripeの場合、同一IDのPayment IntentやInvoiceであれば、2回目以降の決済リクエストについてはデフォルトでエラーで返します。 例えば、以下のコードでは、1回目のconfirm以降にconfirmやcaptureを実行すると、This PaymentIntent could not be captured because it has already been captured.エラーが発生します。 const stripe = new Stripe('sk_test_xxxx', { apiVersion: '2022-08-01', }) // Payment Intentを作成 const paymentIntent = await stripe.paymentI