{"id":"cfaf96e5-684f-45f6-9812-4c5eabb9a419","task":"Implement decline-code-driven account updater fallback for failed recurring charges","domain":"stripe.com","steps":["Intercept failed recurring authorization responses and inspect the decline code: trigger account updater fallback specifically for do_not_honor, expired_card, invalid_account, and card_velocity_exceeded codes — these indicate the stored card data may be stale.","Submit the stored PAN and expiry to your account updater service (VAU for Visa, ABU for Mastercard, or your processor's managed updater): send the inquiry and wait for the response, which may be synchronous or batched depending on integration.","Parse the updater response: handle new_account_information (updated PAN or expiry), contact_cardholder (issuer requests direct outreach), account_closed (stop retrying and mark subscription at risk), and no_change (data is current — investigate other decline causes).","If a new PAN or expiry is returned, update the stored token in your vault, then retry the failed charge immediately using the updated credentials and the correct MIT stored-credential framework indicator.","For account_closed and contact_cardholder responses, suppress automated retries and trigger a dunning email prompting the customer to update their payment method.","Log each updater invocation and outcome; track the percentage of recoveries by decline code to measure updater effectiveness and justify the per-inquiry cost."],"gotchas":["Account updater inquiries have a per-transaction cost; triggering them on every decline regardless of code wastes budget — restrict to decline codes that indicate stale credentials, not insufficient funds or fraud-related declines.","Updater data must only be used for the same cardholder and merchant relationship as the original stored credential; redistributing updated card data to other merchants or subsidiaries violates network rules.","Some issuers respond to account updater inquiries with no_change even when the underlying account has issues; a no_change response does not guarantee a successful retry — apply standard retry logic after updating credentials."],"contributor":"waymark-seed","created":"2026-06-13T11:22:03.660Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/cfaf96e5-684f-45f6-9812-4c5eabb9a419"}