A customer cancellation can create an affiliate payout error if your billing system and commission rules don’t match. The problem gets worse when a refund, a chargeback, or a paid commission enters the same workflow.
To automate affiliate cancellations safely, connect billing events to clear commission rules before you turn on automation. Your goal is simple: pay affiliates for collected revenue, not revenue that later disappears.
Automate Affiliate Cancellations With Clear Rules
A cancellation is not always a reversal. A customer may cancel today but keep access through the end of a paid billing period. That affiliate commission can still be valid.
Write the rules first. Then configure Rewardful, Stripe, and your internal workflow around them.
Decide what a subscription cancellation means
Your affiliate terms should state when a commission becomes earned. For most SaaS programs, that means after a successful invoice payment, not when a trial starts or a subscription is created.
Use a simple policy:
- Keep commissions on invoices that were paid and not refunded.
- Stop future recurring commissions after the final paid billing period.
- Hold commissions when a cancellation includes an open refund request or payment dispute.
- Review already-paid commissions separately from unpaid commissions.
Don’t remove a commission only because the customer clicked “Cancel.” The important question is whether you collected and retained the invoice revenue.
Treat refunds as a separate event
Rewardful documents automated handling for Stripe refunds. A full refund removes the commission tied to that invoice. A partial refund adjusts the commission amount to match the revised payment.
Review Rewardful’s automated refund handling before you set your internal policy. It also covers sales changes such as upgrades and downgrades.
A subscription cancellation stops future revenue. A refund changes revenue you already collected. Your commission workflow should keep those actions separate.
This distinction prevents a common mistake. Teams often delete every commission when a customer cancels, even though the customer completed the current billing period.
Connect Stripe Events to Rewardful
Stripe is the cleanest setup when Rewardful is connected to the same Stripe account that processes subscription payments. Rewardful receives billing updates and tracks referred customers, invoices, recurring commissions, and lifecycle changes.
Use Rewardful as the commission record
Don’t make your spreadsheet the source of truth for affiliate commissions. Store the Rewardful sale ID, commission ID, Stripe customer ID, subscription ID, and invoice ID in your operations database.
That record lets your team trace one cancellation back to the affiliate, campaign, invoice, and payout status. It also prevents a refund event from changing the wrong commission.
Rewardful webhook events include sale.updated, sale.refunded, commission.updated, commission.voided, and commission.deleted. Check the full Rewardful webhook event list before building your event handler.
Use caution with Paddle and custom billing
Don’t assume Stripe refund behavior applies to every payment processor. Rewardful’s public refund guidance is tied to Stripe notifications.
If you use Paddle, Chargebee, or a custom billing system, test the full path in a non-production account. Create a referred subscription, cancel it, issue a partial refund, then issue a full refund. Compare the billing record with the Rewardful sale and commission records.
For custom billing, use your billing webhook as the trigger. Your middleware should find the stored Rewardful commission record, apply your policy, and write an adjustment record. Avoid browser automation for financial actions when an API or webhook can handle the job.
Build the Cancellation Automation Workflow
A good workflow is small and deterministic. It should process one billing event at a time and preserve the original financial record.
Match every event to a stable record
Your handler needs an idempotency check. Billing providers can retry event delivery, and a duplicate event must not create a duplicate reversal.
Use this sequence:
- Receive the cancellation, refund, or dispute event from your billing system or Rewardful.
- Check the event ID against processed events in your database.
- Match the customer, subscription, invoice, and Rewardful commission IDs.
- Apply the rule for that event type, then save the result and return a success response.
Rewardful expects a webhook endpoint to return HTTP 200. Failed deliveries can retry for up to three days with exponential backoff, according to its webhook request guidance.
Store the raw event payload, received time, action taken, and workflow run ID. Those fields turn a payout dispute into a record review instead of a guessing exercise.
Change only the commission that needs action
For an unpaid commission on a fully refunded invoice, confirm that Rewardful has already removed or updated it before your workflow takes another action. Your internal job should reconcile the result, not create a second reversal.
If you must remove a commission through the API, treat it as permanent. Rewardful’s delete commission endpoint recalculates related affiliate and campaign figures, and the deletion can’t be undone.
Don’t use deletion as a shortcut for a commission that was already paid. A completed payout needs a business rule. Most SaaS programs either offset the amount against future affiliate earnings or absorb the loss when recovery isn’t practical.
For chargebacks, place the related commission on hold while the dispute is open. Release or recover it only after finance confirms the final payment result.
Keep an Audit Trail for Every Reversal
Don’t overwrite the original commission when its value changes. Add an adjustment entry with the original amount, revised amount, refund amount, event date, reason, and approval owner.
Your cancellation report should include:
- Customer and subscription IDs
- Invoice and payment processor IDs
- Rewardful sale and commission IDs
- Affiliate and campaign IDs
- Commission state before and after the action
- Refund, chargeback, or cancellation reason
- Payout date and recovery method
Track paid commissions, adjusted commissions, refund rate, chargeback rate, and correction time. A workflow that creates many commission records but needs hours of cleanup isn’t efficient.
Rewardful’s public documentation doesn’t list a separate plan-tier restriction for webhooks, commission deletion, or Stripe refund handling. Still, confirm your active plan, processor connection, and API permissions before you deploy changes.
If your team needs to map a custom billing event to Rewardful commission actions, Book A Call before changing live payout rules.
Final Thoughts
To automate affiliate cancellations, stop future rewards when future revenue stops, but don’t erase valid commissions from completed billing periods.
Let Stripe refunds adjust the affected Rewardful commission. Keep paid payouts, chargebacks, and custom billing cases in a controlled review path. A clear event record is what keeps cancellation automation accurate.
