Dunning brief when an Authorize.Net subscription payment fails
When a recurring Authorize.Net charge fails, an agent looks up the customer, files a HubSpot task, and posts a suggested next step in Slack.
Integrations
Authorize.Net
HubSpot
Slack
Type
Categories
- Finance
- Sales
When Authorize.Net sends a net.authorize.customer.subscription.failed webhook, I want an agent to draft a dunning follow-up brief so my team can recover the revenue. The webhook payload includes the subscription id and the failed transaction id (transId), and the workflow uses that transId as the anchor for everything else.
First, call Authorize.Net Get Transaction Details on the failed transId from the webhook to pull the customer's billing email, card last four, and declined amount. Also capture the transaction date and the response reason text so the recap explains why the charge was declined.
Then look the customer up in HubSpot with Get Contact using the billing email as the lookup key (idProperty=email). Read their lifecycle stage, account owner, and past deal value or total revenue so the agent can judge tenure and value. If no contact is found, note that in the recap and skip the association step.
Create a HubSpot task with Create Task titled something like "Recover failed payment $X, card ending Y" (substituting the declined amount and last four), associated with that contact, and assigned to the contact's account owner. Set the due date to the next business day and give it high priority when the customer is high-value.
Finally, use Slack Send a Message to post to the #dunning channel. Include a short recap: customer name and email, declined amount, card last four, decline reason, lifecycle stage, and past deal value. End with one suggested next step chosen from retry the card, send a payment update email, or make a personal call. Pick the recommendation from the customer's tenure and value: long-tenured or high-value customers lean toward a personal call, mid-tier toward a payment update email, and newer or low-value toward a card retry.
Hard rule: the agent must never retry the charge itself, and must never write anything back to Authorize.Net. It only reads the transaction, drafts the brief, and hands off the decision to a human via the HubSpot task and the Slack message.
What it does
- Reacts the moment a recurring subscription charge fails, so no revenue slips by while the team is heads down
- Pulls the customer's billing email, card last four, and declined amount together with their HubSpot lifecycle stage and past deal value
- Creates a HubSpot task for the account owner named after the customer and the amount, so the recovery never gets lost in a channel
- Posts a short recap in your dunning channel with a suggested next move: retry the card, send a payment update email, or make a personal call
What you’ll need
- An Authorize.Net merchant account with webhooks turned on
- A HubSpot login with permission to read contacts and create tasks
- A Slack workspace with a channel where dunning alerts should land
How to customize it
- Change which Slack channel receives the recap or point it at a specific dunning team
- Tune the rules that decide whether a customer gets a retry, a payment update email, or a personal call
- Rename the HubSpot task template so it matches how your team titles collections work
Use cases
- Notifications & Alerts