Commet
  • Pricing
Log InTry out
Introduction

Subscription Events

subscription.createdsubscription.activatedsubscription.canceledsubscription.updatedsubscription.plan_changedsubscription.cancellation_scheduledsubscription.cancellation_revokedsubscription.plan_change_scheduledsubscription.plan_change_revokedsubscription.past_due

Trial Events

trial.startedtrial.convertedtrial.expiredtrial.will_endtrial.checkout_ready

Checkout Events

checkout.ready

Payment Events

payment.receivedpayment.failedpayment.recoveredpayment.refundedpayment.disputedpayment.dispute_resolved

Invoice Events

invoice.createdinvoice.upcominginvoice.overdueinvoice.voided

Payment Method Events

payment_method.attachedpayment_method.updated

Customer Events

customer.createdcustomer.updatedcustomer.state_changed

Credits & Balance Events

credits.grantedcredits.purchasedcredits.lowcredits.depletedcredits.expiredbalance.topped_upbalance.lowbalance.depleted

Quota & Usage Events

quota.threshold_reachedquota.exceededusage.recorded

Seat Events

seats.updatedseats.limit_reached

Add-on Events

addon.activatedaddon.deactivated

Payout Events

payout.availablepayout.createdpayout.paidpayout.failed
DocumentationKnowledge BaseBuild with AIAPI ReferenceWebhooks

payment.refunded

A payment was refunded to the customer.

Payload

All webhook payloads follow a consistent top-level structure with event-specific data nested within the data object.

paymentTransactionIdstring

The refunded payment transaction ID.

invoiceIdstring | null

The invoice the payment collected, or null for payments without an invoice.

invoiceNumberstring | null

The human-readable invoice number, if available.

customerIdstring | null

The customer ID, when the payment is linked to an invoice. Returns your externalId if you provided one when creating the customer, otherwise returns the Commet publicId.

subscriptionIdstring | null

The subscription ID, if the invoice is linked to a subscription.

refundAmountnumber

The refunded amount in cents (100 = $1.00).

currencystring

The refund currency code.

{
  "event": "payment.refunded",
  "timestamp": "2026-04-28T16:40:00.000Z",
  "organizationId": "org_abc123",
  "mode": "live",
  "apiVersion": "2026-06-10",
  "data": {
    "paymentTransactionId": "ptx_q7r8s9",
    "invoiceId": "inv_n4o5p6",
    "invoiceNumber": "INV-0043",
    "customerId": "user_123",
    "subscriptionId": "sub_1a2b3c4d",
    "refundAmount": 9900,
    "currency": "usd"
  }
}

When this fires

When a refund is issued for a payment — full or partial — and the payment provider confirms it. A full refund of a subscription invoice also cancels the subscription immediately (subscription.canceled fires with reason refund); a partial refund leaves the subscription untouched.

refundAmount is the refunded amount in cents (100 = $1.00). The invoice fields are null for payments that were not tied to an invoice.

Use it to mirror the refund in your own books or to notify the customer through your channels.

How is this guide?

payment.recovered

A previously failed payment was recovered.

payment.disputed

A customer opened a dispute against a payment.