Co-term Payment Charge Completed

Event payload example and property overview for subscription.group.charge.completed

Webhook response payload example (expansion enabled)

When a subscription.group.charge.completed 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": "EXECUTED",
    "cotermGroupOrderId": "aBCDE12fGH3iJkL4mNOpq",
    "cotermGroupOrderReference": "ABC123456-7891-01112",
    "cotermNextChargeDate": 1756646400000,
    "cotermNextChargeTotal": 199.95,
    "cotermGroupSize": 2,
    "currency": "USD",
    "total": 20,
    "status": "successful",
    "timestamp": 1739223188721,
    "account": {
      "id": "abCdE1FGH2Hij3KLMnOpqR",
      "account": "abCdE1FGH2Hij3KLMnOpqR",
      "contact": {
        "first": "Jane",
        "last": "Doe",
        "email": "[email protected]",
        "company": "Company Inc.",
        "phone": "8001234567",
        "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
    },
    "order": {
      "order": "aBCDE12fGH3iJkL4mNOpq",
      "id": "aBCDE12fGH3iJkL4mNOpq",
      "reference": "ABC123456-7891-01112",
      "buyerReference": null,
      "ipAddress": null,
      "changed": 1739223188831,
      "language": "en",
      "live": false,
      "currency": "USD",
      "payoutCurrency": "USD",
      "quote": null,
      "invoiceUrl": "https://company.onfastspring.com/account/order/null/invoice",
      "siteId": "ABC1DE2FGHIJ3",
      "acquisitionTransactionType": "GROUP_REGULAR_PERIOD",
      "total": 20,
      "tax": 1.48,
      "subtotal": 18.52,
      "discount": 0,
      "discountWithTax": 0,
      "notes": [],
      "items": [
        {
          "product": "cloud-storage",
          "quantity": 1,
          "display": "Cloud Storage Service",
          "sku": "SKU-CS-101",
          "imageUrl": null,
          "shortDisplay": "Cloud Storage Service",
          "subtotal": 9.26,
          "discount": 0,
          "isSubscription": true,
          "isAddon": null,
          "changeQuantity": false,
          "subscription": "1abc2DE_FGhIjKLm3NoPQR",
          "fulfillments": {},
          "withholdings": {
            "taxWithholdings": false
          }
        },
        {
          "product": "data-analytics-service",
          "quantity": 1,
          "display": "Data Analytics Service",
          "sku": null,
          "imageUrl": null,
          "shortDisplay": "Data Analytics Service",
          "subtotal": 9.26,
          "discount": 0,
          "isSubscription": true,
          "isAddon": null,
          "changeQuantity": false,
          "subscription": "2abc2DE_FGhIjKLm3NoPQR",
          "fulfillments": {},
          "withholdings": {
            "taxWithholdings": false
          }
        }
      ]
    },
    "quote": null,
    "subscriptions": [
      {
        "id": "1abc2DE_FGhIjKLm3NoPQR",
        "active": true,
        "state": "active",
        "isSubscriptionEligibleForPauseByBuyer": true,
        "isPauseScheduled": false,
        "changed": 1739223188786,
        "lastRebillOrderAcquisition": null,
        "live": false,
        "product": "cloud-storage",
        "sku": null,
        "display": "Cloud Storage Service",
        "quantity": 1,
        "currency": "USD",
        "adhoc": false,
        "autoRenew": true,
        "price": 10,
        "discount": 0,
        "subtotal": 10,
        "end": null,
        "canceledDate": null,
        "deactivationDate": null,
        "sequence": 1,
        "periods": null,
        "remainingPeriods": null,
        "begin": 1739222241061,
        "intervalUnit": "week",
        "intervalUnitAbbreviation": "wk",
        "intervalLength": 1,
        "nextChargeCurrency": "USD",
        "nextChargeDate": 1740441600000,
        "nextChargePreTax": 9.26,
        "nextChargeTotal": 10,
        "addons": null,
        "fulfillments": {},
        "instructions": [
          {
            "product": "cloud-storage",
            "type": "regular",
            "periodStartDate": 1739145600000,
            "periodEndDate": null,
            "intervalUnit": "week",
            "intervalLength": 1,
            "discountDurationUnit": null,
            "discountDurationLength": null,
            "discountPercent": 0,
            "discountTotal": 0,
            "unitDiscount": 0,
            "price": 10,
            "priceTotal": 10,
            "unitPrice": 10,
            "total": 10,
            "totalWithTaxes": 10,
            "totalWithTaxesDisplay": "$10.00",
            "isNotTrial": true
          }
        ]
      },
      {
        "id": "2abc2DE_FGhIjKLm3NoPQR",
        "active": true,
        "state": "active",
        "isSubscriptionEligibleForPauseByBuyer": true,
        "isPauseScheduled": false,
        "changed": 1739223188818,
        "lastRebillOrderAcquisition": null,
        "live": false,
        "product": "data-analytics-service",
        "sku": null,
        "display": "Data Analytics Service",
        "quantity": 1,
        "currency": "USD",
        "adhoc": false,
        "autoRenew": true,
        "price": 10,
        "discount": 0,
        "subtotal": 10,
        "end": null,
        "canceledDate": null,
        "deactivationDate": null,
        "sequence": 1,
        "periods": null,
        "remainingPeriods": null,
        "begin": 1739222135539,
        "intervalUnit": "week",
        "intervalUnitAbbreviation": "wk",
        "intervalLength": 1,
        "nextChargeCurrency": "USD",
        "nextChargeDate": 1740441600000,
        "nextChargePreTax": 9.26,
        "nextChargeTotal": 10,
        "addons": null,
        "fulfillments": {},
        "instructions": [
          {
            "product": "data-analytics-service",
            "type": "regular",
            "periodStartDate": 1739145600000,
            "periodEndDate": null,
            "intervalUnit": "week",
            "intervalLength": 1,
            "discountDurationUnit": null,
            "discountDurationLength": null,
            "discountPercent": 0,
            "discountTotal": 0,
            "unitDiscount": 0,
            "price": 10,
            "priceTotal": 10,
            "unitPrice": 10,
            "total": 10,
            "totalWithTaxes": 10,
            "totalWithTaxesDisplay": "$10.00",
            "isNotTrial": true
          }
        ]
      }
    ]
  }

Navigate this webhook

The subscription.group.charge.completed 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.charge.completed 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., EXECUTED)
cotermGroupOrderIdstringOrder ID associated with the co-term group
cotermGroupOrderReferencestringOrder reference for the co-term group
cotermNextChargeDateintegerNext charge date for the co-term group in milliseconds since epoch
cotermNextChargeTotalnumberTotal amount for the next group charge
cotermGroupSizeintegerNumber of subscriptions in the co-term group
currencystringThree-letter ISO currency code
Event Summary
totalnumberTotal amount associated with the completed group charge
statusstringEvent status (e.g., successful)
timestampintegerEvent timestamp in milliseconds since epoch
quotenullAssociated quote ID when present; null in this example
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.companystringAccount contact company name
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
Order object
orderobjectOrder object for the completed group charge
order.orderstringUnique identifier for the order
order.idstringDuplicate of order.order
order.referencestringCustomer-facing order reference
order.buyerReferencestringBuyer-provided reference (e.g., PO number) when present
order.ipAddressstringIP address captured for the order when available
order.changedintegerLast order update timestamp in milliseconds
order.languagestringTwo-letter ISO language code
order.livebooleanWhether the order was processed in live mode
order.currencystringTransaction currency
order.payoutCurrencystringPayout currency
order.quotestringAssociated quote ID when present
order.invoiceUrlstringURL to view or download the invoice
order.siteIdstringIdentifier of the site where the order occurred
order.acquisitionTransactionTypestringType of acquisition (e.g., GROUP_REGULAR_PERIOD)
order.totalnumberTotal order amount
order.taxnumberTax amount applied to the order
order.subtotalnumberSubtotal before tax and discounts
order.discountnumberTotal discount applied
order.discountWithTaxnumberTotal discount including tax
order.notesarrayArray of order notes (often empty)
Order items (within order)
order.itemsarrayList of order line items
order.items.productstringProduct identifier or path
order.items.quantityintegerQuantity for the item
order.items.displaystringCustomer-facing product name
order.items.skustringSKU when provided
order.items.imageUrlstringImage URL when available
order.items.shortDisplaystringShort display name
order.items.subtotalnumberItem subtotal before tax
order.items.discountnumberDiscount applied to the item
order.items.isSubscriptionbooleanWhether the item is a subscription
order.items.isAddonbooleanWhether the item is an add-on
order.items.changeQuantitybooleanWhether quantity changed
order.items.subscriptionstringSubscription ID associated with the item
order.items.fulfillmentsobjectFulfillment details (object may be empty)
order.items.withholdings.taxWithholdingsbooleanWhether tax withholdings apply
Subscriptions array
subscriptionsarrayList of subscriptions in the co-term group
subscriptions.idstringSubscription ID
subscriptions.activebooleanWhether the subscription is active
subscriptions.statestringCurrent subscription state (e.g., active)
subscriptions.isSubscriptionEligibleForPauseByBuyerbooleanWhether the buyer can pause the subscription
subscriptions.isPauseScheduledbooleanWhether a pause is scheduled
subscriptions.changedintegerLast update timestamp in milliseconds
subscriptions.lastRebillOrderAcquisitionnullTimestamp of last rebill acquisition when present; null in this example
subscriptions.livebooleanWhether the subscription is in live mode
subscriptions.productstringProduct path or identifier
subscriptions.skustringSKU when provided
subscriptions.displaystringCustomer-facing product display name
subscriptions.quantityintegerQuantity on the subscription
subscriptions.currencystringThree-letter ISO currency code
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.endstringEnd date, when applicable
subscriptions.canceledDatestringCancellation date, when applicable
subscriptions.deactivationDatestringDeactivation date, when applicable
subscriptions.sequenceintegerSequence number for the billing period
subscriptions.periodsstringTotal number of billing periods when fixed-term
subscriptions.remainingPeriodsstringRemaining number of billing periods
subscriptions.beginintegerActivation timestamp in milliseconds
subscriptions.intervalUnitstringBilling interval unit (e.g., week)
subscriptions.intervalUnitAbbreviationstringAbbreviation of the interval unit (e.g., wk)
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.addonsarrayArray of add-on items when present
subscriptions.fulfillmentsobjectFulfillment details (object may be empty)
Instructions
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.periodStartDateintegerStart date of the instruction period in milliseconds
subscriptions.instructions.periodEndDateintegerEnd date of the instruction period when present
subscriptions.instructions.intervalUnitstringBilling interval unit for the instruction
subscriptions.instructions.intervalLengthintegerNumber of interval units for the instruction period
subscriptions.instructions.discountDurationUnitstringUnit for remaining discount duration, when applicable
subscriptions.instructions.discountDurationLengthintegerLength of remaining discount duration, when applicable
subscriptions.instructions.discountPercentnumberDiscount percentage
subscriptions.instructions.discountTotalnumberTotal discount amount
subscriptions.instructions.unitDiscountnumberPer-unit discount
subscriptions.instructions.pricenumberUnit 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
subscriptions.instructions.totalWithTaxesDisplaystringFormatted total including taxes
subscriptions.instructions.isNotTrialbooleanWhether the instruction is not a trial