Co-term Payment Charge Failed

Event payload example and property overview for subscription.group.payment.charge.failed

Webhook response payload example (expansion enabled)

When a subscription.group.payment.charge.failed event is triggered, the webhook sends the following JSON payload:

{
  "cotermGroupId": "aB1c2deFGhIjKL3mn-opqR",
  "cotermGroupDisplayName": "Tech Services Monthly Plan",
  "cotermGroupPeriodStartDate": 1754044800000,
  "cotermGroupPeriodEndDate": 1756646400000,
  "cotermGroupPrimarySubscription": "1abc2DE_FGhIjKLm3NoPQR",
  "cotermGroupStatus": "DUNNING",
  "cotermGroupOrderId": "aBCDE12fGH3iJkL4mNOpq",
  "cotermNextChargeDate": 1756646400000,
  "cotermNextChargeTotal": 199.95,
  "cotermNextChargeTotalDisplay": "$199.95",
  "cotermGroupSize": 2,
  "currency": "USD",
  "total": 40,
  "status": "failed",
  "timestamp": 1739203714927,
  "reason": "EXPIRED_CARD",
  "account": {
    "id": "abCdE1FGH2Hij3KLMnOpqR",
    "account": "abCdE1FGH2Hij3KLMnOpqR",
    "contact": {
      "first": "Jane",
      "last": "Doe",
      "email": "[email protected]",
      "company": null,
      "phone": "5555555",
      "subscribed": true
    },
    "address": {
      "address line 1": "123 Business Rd",
      "address line 2": "Floor 4",
      "city": "Metropolis",
      "country": "US",
      "postal code": "12345",
      "region": "US-NY",
      "region custom": null,
      "company": "Company Inc."
    },
    "language": "en",
    "country": "US",
    "lookup": {
      "global": "lookup-001"
    },
    "url": "https://company.onfastspring.com/account"
  },
  "paymentOverdue": {
    "intervalUnit": "week",
    "intervalLength": 1,
    "total": 4,
    "sent": 0
  },
  "cancellationSetting": {
    "cancellation": "AFTER_LAST_NOTIFICATION",
    "intervalUnit": "week",
    "intervalLength": 1
  },
  "subscriptions": [
    {
      "id": "1abc2DE_FGhIjKLm3NoPQR",
      "active": true,
      "state": "overdue",
      "isSubscriptionEligibleForPauseByBuyer": false,
      "isPauseScheduled": false,
      "changed": 1739203715234,
      "live": false,
      "currency": "USD",
      "account": "abCdE1FGH2Hij3KLMnOpqR",
      "product": "cloud-storage",
      "sku": "SKU-CS-101",
      "display": "Cloud Storage Service",
      "quantity": 1,
      "adhoc": false,
      "autoRenew": true,
      "price": 10,
      "discount": 0,
      "subtotal": 20,
      "next": 1744329600000,
      "end": null,
      "canceledDate": null,
      "deactivationDate": null,
      "sequence": 1,
      "periods": null,
      "remainingPeriods": null,
      "begin": 1738265837569,
      "intervalUnit": "month",
      "intervalUnitAbbreviation": "mo",
      "intervalLength": 1,
      "nextChargeCurrency": "USD",
      "nextChargeDate": 1744329600000,
      "nextChargePreTax": 18.52,
      "nextChargeTotal": 20,
      "addons": null,
      "discounts": null,
      "fulfillments": {},
      "instructions": [
        {
          "product": "cloud-storage",
          "type": "regular",
          "isNotTrial": true,
          "periodStartDate": 1738195200000,
          "periodEndDate": null,
          "discountIntervalUnit": null,
          "discountDurationLength": null,
          "discountDuration": null,
          "discountDurationUnit": null,
          "intervalUnit": "month",
          "intervalLength": 1,
          "discountPercent": 0,
          "discountTotal": 0,
          "unitDiscount": 0,
          "price": 10,
          "priceDisplay": "$10.00",
          "priceTotal": 20,
          "unitPrice": 10,
          "total": 20,
          "totalWithTaxes": 20
        }
      ]
    },
    {
      "id": "2abc2DE_FGhIjKLm3NoPQR",
      "active": true,
      "state": "overdue",
      "isSubscriptionEligibleForPauseByBuyer": false,
      "isPauseScheduled": false,
      "changed": 1739203715234,
      "live": false,
      "currency": "USD",
      "account": "abCdE1FGH2Hij3KLMnOpqR",
      "product": "data-analytics",
      "sku": "SKU-DA-102",
      "display": "Data Analytics Service",
      "quantity": 1,
      "adhoc": false,
      "autoRenew": true,
      "price": 10,
      "discount": 0,
      "subtotal": 10,
      "next": 1744329600000,
      "end": null,
      "canceledDate": null,
      "deactivationDate": null,
      "sequence": 1,
      "periods": null,
      "remainingPeriods": null,
      "begin": 1738256076037,
      "intervalUnit": "month",
      "intervalUnitAbbreviation": "mo",
      "intervalLength": 1,
      "nextChargeCurrency": "USD",
      "nextChargeDate": 1744329600000,
      "nextChargePreTax": 9.26,
      "nextChargeTotal": 10,
      "addons": null,
      "discounts": null,
      "fulfillments": {},
      "instructions": [
        {
          "product": "data-analytics",
          "type": "regular",
          "isNotTrial": true,
          "periodStartDate": 1738195200000,
          "periodEndDate": null,
          "discountIntervalUnit": null,
          "discountDurationLength": null,
          "discountDuration": null,
          "discountDurationUnit": null,
          "intervalUnit": "month",
          "intervalLength": 1,
          "discountPercent": 0,
          "discountTotal": 0,
          "unitDiscount": 0,
          "price": 10,
          "priceDisplay": "$10.00",
          "priceTotal": 10,
          "unitPrice": 10,
          "total": 10,
          "totalWithTaxes": 10
        }
      ]
    }
  ]
}

Navigate this webhook

The subscription.group.payment.charge.failed webhook payload includes dozens of fields. Use the cards below to jump to a specific section of the property reference.

Payload properties

All fields below are included in the subscription.group.payment.charge.failed webhook payload. Fields are grouped into categories for easier navigation.

NameTypeDescription
Co-term Group
cotermGroupIdstringUnique identifier for the co-term group
cotermGroupDisplayNamestringDisplay name of the co-term group
cotermGroupPeriodStartDateintegerStart of the current co-term period in milliseconds since epoch
cotermGroupPeriodEndDateintegerEnd of the current co-term period in milliseconds since epoch
cotermGroupPrimarySubscriptionstringID of the primary subscription in the co-term group
cotermGroupStatusstringStatus of the co-term group (e.g., DUNNING)
cotermGroupOrderIdstringOrder ID associated with the co-term group
cotermNextChargeDateintegerNext charge date for the co-term group in milliseconds since epoch
cotermNextChargeTotalnumberTotal amount for the next group charge
cotermNextChargeTotalDisplaystringFormatted display of the next group charge total
cotermGroupSizeintegerNumber of subscriptions in the co-term group
Event Summary
currencystringThree-letter ISO currency code
totalnumberTotal amount associated with the failed charge
statusstringStatus of the group payment attempt (e.g., failed)
timestampintegerEvent timestamp in milliseconds since epoch
reasonstringFailure reason code (e.g., EXPIRED_CARD)
Account object
accountobjectAccount object containing customer details
account.idstringUnique FastSpring account ID
account.accountstringDuplicate of the account ID for compatibility
account.contact.firststringAccount contact first name
account.contact.laststringAccount contact last name
account.contact.emailstringAccount contact email address
account.contact.companystring|nullAccount contact company name when provided
account.contact.phonestringAccount contact phone number
account.contact.subscribedbooleanWhether the account contact is subscribed
account.address.address line 1stringPrimary street address line
account.address.address line 2stringSecondary street address line
account.address.citystringCity
account.address.countrystringTwo-letter ISO country code
account.address.postal codestringPostal or ZIP code
account.address.regionstringRegion code (e.g., US-NY)
account.address.region customstring|nullCustom region text when applicable
account.address.companystringCompany associated with the address
account.languagestringPreferred language (two-letter ISO code)
account.countrystringTwo-letter ISO country code
account.lookup.globalstringGlobally unique public ID for lookup
account.urlstringCustomer-facing account management URL
Payment Overdue
paymentOverdue.intervalUnitstringTime unit for overdue notifications (e.g., week)
paymentOverdue.intervalLengthintegerNumber of units before the first overdue notification is sent
paymentOverdue.totalintegerTotal number of overdue notifications to send
paymentOverdue.sentintegerNumber of overdue notifications already sent
Cancellation Settings
cancellationSetting.cancellationstringCancellation policy timing (e.g., AFTER_LAST_NOTIFICATION)
cancellationSetting.intervalUnitstringTime unit for the cancellation interval
cancellationSetting.intervalLengthintegerLength of the cancellation interval in units
Subscriptions array
subscriptionsarrayList of subscriptions in the co-term group impacted by the failed payment
subscriptions.idstringSubscription ID
subscriptions.activebooleanWhether the subscription is active
subscriptions.statestringCurrent subscription state (e.g., overdue)
subscriptions.isSubscriptionEligibleForPauseByBuyerbooleanWhether the buyer can pause the subscription
subscriptions.isPauseScheduledbooleanWhether a pause is scheduled
subscriptions.changedintegerLast update timestamp in milliseconds
subscriptions.livebooleanWhether the subscription is in live mode
subscriptions.currencystringThree-letter ISO currency code
subscriptions.accountstringFastSpring account ID associated with the subscription
subscriptions.productstringProduct path or identifier
subscriptions.skustringSKU of the subscription product
subscriptions.displaystringCustomer-facing product display name
subscriptions.quantityintegerQuantity on the subscription
subscriptions.adhocbooleanWhether the subscription is ad-hoc
subscriptions.autoRenewbooleanWhether auto-renew is enabled
subscriptions.pricenumberUnit price for the subscription
subscriptions.discountnumberDiscount amount applied
subscriptions.subtotalnumberSubtotal amount before tax
subscriptions.nextintegerNext billing date in milliseconds
subscriptions.endnull|stringEnd date, when applicable
subscriptions.canceledDatenull|stringDate the subscription was canceled, when applicable
subscriptions.deactivationDatenull|stringDate the subscription was deactivated, when applicable
subscriptions.sequenceintegerSequence number for the billing period
subscriptions.periodsnull|stringTotal number of billing periods when fixed-term
subscriptions.remainingPeriodsnull|stringRemaining number of billing periods
subscriptions.beginintegerActivation timestamp in milliseconds
subscriptions.intervalUnitstringBilling interval unit (e.g., month)
subscriptions.intervalUnitAbbreviationstringAbbreviation of the interval unit (e.g., mo)
subscriptions.intervalLengthintegerNumber of interval units per billing period
subscriptions.nextChargeCurrencystringCurrency of the next charge
subscriptions.nextChargeDateintegerNext charge date in milliseconds
subscriptions.nextChargePreTaxnumberPre-tax amount for the next charge
subscriptions.nextChargeTotalnumberTotal next charge amount
subscriptions.addonsnull|arrayArray of add-on items when present
subscriptions.discountsnull|arrayArray of applied discount objects when present
subscriptions.fulfillmentsobjectFulfillment details (object may be empty)
Instructions array (within subscriptions)
subscriptions.instructionsarrayPricing and timing instructions for each subscription period
subscriptions.instructions.productstringProduct path associated with the instruction
subscriptions.instructions.typestringInstruction type (e.g., regular)
subscriptions.instructions.isNotTrialbooleanWhether the instruction is not a trial
subscriptions.instructions.periodStartDateintegerStart date of the instruction period in milliseconds
subscriptions.instructions.periodEndDatenull|integerEnd date of the instruction period when present
subscriptions.instructions.discountIntervalUnitnull|stringUnit for discount duration, when applicable
subscriptions.instructions.discountDurationLengthnull|integerLength of the discount duration, when applicable
subscriptions.instructions.discountDurationnull|integerRemaining discount duration, when applicable
subscriptions.instructions.discountDurationUnitnull|stringUnit for remaining discount duration, when applicable
subscriptions.instructions.intervalUnitstringBilling interval unit for the instruction
subscriptions.instructions.intervalLengthintegerNumber of interval units for the instruction period
subscriptions.instructions.discountPercentnumberDiscount percentage
subscriptions.instructions.discountTotalnumberTotal discount amount
subscriptions.instructions.unitDiscountnumberPer-unit discount
subscriptions.instructions.pricenumberUnit price
subscriptions.instructions.priceDisplaystringFormatted unit price
subscriptions.instructions.priceTotalnumberTotal price for the instruction
subscriptions.instructions.unitPricenumberUnit price before taxes
subscriptions.instructions.totalnumberTotal amount before taxes
subscriptions.instructions.totalWithTaxesnumberTotal amount including taxes