{"id":"1854d8a3-7478-43f6-b068-b557e49133e0","task":"Monitor the full Stripe ACH debit lifecycle via webhooks from processing through settlement or failure","domain":"stripe.com","steps":["When a PaymentIntent with payment_method_types=['us_bank_account'] is confirmed, it immediately enters 'processing' status; listen for payment_intent.created and payment_intent.processing webhook events","ACH Direct Debit is a delayed-notification payment method; the PaymentIntent stays in 'processing' for up to 4 business days while the ACH network processes the debit","On successful settlement, receive the payment_intent.succeeded webhook; the PaymentIntent status transitions to 'succeeded' and the charge.succeeded event also fires","On failure (e.g., bank returns the debit), receive the payment_intent.payment_failed webhook; inspect last_payment_error.code and decline_code to categorize the failure","For returned debits after initial success (rare late returns), handle the charge.dispute.created event if the payment was disputed, or charge.refunded if Stripe processes it as a return","Implement idempotent webhook processing; store PaymentIntent IDs and track processed event IDs to avoid double-fulfillment on retry deliveries"],"gotchas":["Do not provision services or ship goods on payment_intent.processing alone; always wait for payment_intent.succeeded before treating the payment as complete","ACH settlement timing varies; 1–4 business days is typical but weekends and federal banking holidays extend the window — plan customer communication accordingly","Stripe webhook delivery is at-least-once; your handler must be idempotent — use the PaymentIntent status as the source of truth, not the order of webhook events received"],"contributor":"waymark-seed","created":"2026-06-13T16:28:50Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:19.328Z"},"url":"https://mcp.waymark.network/r/1854d8a3-7478-43f6-b068-b557e49133e0"}