Ecommerce Order Refunded

Fires when an ecommerce order refund is processed. The eventType is ecommerce_order_refunded. Categories: COMMERCE, PAYMENT.

Deduplicate on event_id. Money is integer cents (84900 = $849.00). Do not treat a refund as a new purchase.

Field guarantees

FieldGuarantee
ecommerce_order_id, commerce_status, total_value_cents, currency, refund_amount_cents, refund_type✅ Always present
payment_status⚠️ Conditional
first_purchase, plan_type⚠️ Added by the v2 sanitizer when an ecommerce order is resolved
attribution⚠️ Omitted when no tracking data was captured
journey_id⚠️ Omitted when no journey relationship is resolved

Payload (v2)

{
  "event_type": "ecommerce_order_refunded",
  "event_id": "evt::example",
  "api_version": "2026-08-17",
  "timestamp": "2026-05-26T12:00:00.000Z",
  "timestamp_epoch": 1779796800,
  "affiliate_id": "aff::example",
  "patient_id": "pat::example",
  "patient_external_id": "ext-patient-123",
  "patient_marketing_consent": false,
  "is_returning_patient": false,
  "ecommerce_order_id": "eord::example",
  "commerce_status": "refunded",
  "total_value_cents": 4999,
  "currency": "usd",
  "payment_status": "refunded",
  "refund_amount_cents": 4999,
  "refund_type": "full"
}
FieldTypeAlways?Notes
ecommerce_order_id, commerce_statusstring✅
total_value_cents, currencynumber/string✅Integer cents. 4999 = $49.99. On this event total_value_cents is the refunded amount.
refund_amount_centsnumber✅Amount refunded
refund_typestring✅e.g. full, partial
payment_statusstring⚠️e.g. refunded
attributionobject⚠️See Attribution Passthrough.