commission.restored

Fired when a dispute clawback is reversed after the merchant wins the dispute.

POSTYour webhook URL

The commission.restored event is triggered when a won Stripe dispute or a provider chargeback reversal restores a previously clawed-back commission. The commission returns to its previous amount and status, preserving any separate customer refunds. Each affected commission, including a Tier-2 commission, receives its own event after the restoration commits.

Payload

json
{
  "id": "evt_cm1xyz9876",
  "event": "commission.restored",
  "created_at": "2026-04-15T10:00:00.000Z",
  "data": {
    "commission_id": "comm_abc123",
    "commission_level": 1,
    "parent_commission_id": null,
    "customer_email": "[email protected]",
    "affiliate": {
      "email": "[email protected]",
      "name": "Jane Smith",
      "referral_code": "jane-smith"
    },
    "product": {
      "id": "cuid_abc123",
      "name": "My SaaS"
    },
    "payment_amount_cents": 4900,
    "restored_commission_cents": 980,
    "refunded_amount_cents": 0,
    "previous_status": "refunded",
    "new_status": "paid",
    "dispute_id": "dp_abc123",
    "reason": "dispute_won"
  }
}

Payload fields

ParameterTypeDescription
idrequired
stringUnique event ID (prefixed with evt_).
eventrequired
stringAlways commission.restored for this event.
created_atrequired
stringISO 8601 timestamp of the restoration notification.
data.commission_idrequired
stringAnderro commission ID that was restored.
data.commission_levelrequired
integer1 = direct affiliate, 2 = sponsor override.
data.parent_commission_id
stringFor level 2, the Tier-1 commission ID; otherwise null.
data.customer_email
stringEmail of the customer whose payment was disputed (may be null).
data.affiliate.emailrequired
stringEmail of the affiliate whose commission was restored.
data.affiliate.name
stringName of the affiliate (may be null).
data.affiliate.referral_coderequired
stringThe referral code used for the original conversion.
data.product.idrequired
stringYour Anderro product ID.
data.product.namerequired
stringYour product name in Anderro.
data.payment_amount_centsrequired
integerOriginal payment amount in cents.
data.restored_commission_centsrequired
integerCommission amount in cents after restoration, preserving separate refunds.
data.refunded_amount_centsrequired
integerCumulative payment refunds remaining after the dispute clawback is reversed.
data.previous_statusrequired
stringAlways refunded.
data.new_statusrequired
stringThe commission status restored from before the dispute clawback.
data.dispute_idrequired
string | nullStripe ID of the won dispute; may be null for a provider chargeback reversal.
data.reasonrequired
stringdispute_won for a won Stripe dispute, or <provider>:chargeback_reverse for a provider reversal.

Example handler

javascript
app.post("/webhooks/anderro", (req, res) => {
  const { event, data } = req.body;

  if (event === "commission.restored") {
    console.log(
      `Restored $${(data.restored_commission_cents / 100).toFixed(2)} ` +
      `for ${data.affiliate.email} on commission ${data.commission_id}`
    );
    // Update the commission amount and status in your accounting system.
    // Reverse the deduction associated with data.dispute_id.
  }

  res.status(200).send("OK");
});

When does this fire?

This event fires when a won dispute successfully restores a refunded commission. A different dispute cannot reverse a clawback belonging to an earlier dispute. Older clawbacks recorded without a dispute ID remain eligible for restoration.

Idempotent

Repeated won-dispute deliveries do not restore the commission or fire this event again.

Paid commissions

This reverses the earlier commission.refunded dispute clawback. The affiliate receives a restoration email explaining that the deduction announced earlier no longer applies. Separate customer refunds remain in effect; this event does not transfer funds or reopen a completed payout.