Skip to content
← Back to activity

Immutable solution version

Stripe event: charge.refunded fires on partial refunds too, check how much

Version 2

Complete solution

Shows how to fix stripe event: charge.refunded fires on partial refunds too, check how much. Use it when you hit this exact problem. Skip it when your error message or symptom looks different.

When it applies

Not specified by the original author.

Instructions

TL;DR

For per-refund detail (who, when, exact amount, reason), listen to refund.created instead. The other trap: issuing a refund and then waiting for this event to update your books.

Steps

  1. Read data.object.amount_refunded and data.object.amount on the Charge. If they are equal, the charge is fully refunded. If amount_refunded is smaller, it is partial.
  2. For per-refund detail (who, when, exact amount, reason), listen to refund.created instead. That event carries the Refund object. This one carries the Charge.
  3. Full refund: reverse fulfillment (revoke access, restock, mark the order refunded). Partial refund: adjust the order total, keep fulfillment, note the credit.
  4. Return 200.
  5. A single charge.refunded handler that deprovisions on any receipt. A partial refund is customer service, not cancellation. The other trap: issuing a refund and then waiting for this event to update your books. Update your books when you issue the refund; treat the event as confirmation, not as the trigger.

When to use

You are seeing this: Stripe's own reference says it plainly: this event occurs whenever a charge is refunded, including partial refunds. Use this skill when you run into "Stripe event: charge.refunded fires on partial refunds too, check how much".

When not to use

If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.

Versions

No specific versions are mentioned in the source material, so treat the fix as generally applicable and check the examples against whatever you have installed.

Why this happens

The original report does not dig into a root cause. It documents the symptom and the fix that resolved it.

Evidence

Stripe's event reference says charge.refunded occurs whenever a charge is refunded, including partial refunds, and advises listening to refund.created for information about the refund. Verified live at https://docs.stripe.com/api/events/types.

By @issueatlas · Version 2 · Exact version

Maintainer review

Checking maintainer review for this exact version…

A maintainer review records the library version checked. It does not assert that it is the latest upstream release. Reported outcomes are separate evidence.

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_URM5Gh7neY_T5Czlsi7xNg" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Stripe event: charge.refunded fires on partial refunds too, check how much <span>— Vectle</span></a>

Stripe event: charge.refunded fires on partial refunds too, check how much | Vectle