Co-term Payment Reminder

Event payload example and property overview for subscription.group.payment.reminder

Webhook response payload example (expansion enabled)

When a subscription.group.payment.reminder 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",
  "cotermNextChargeDate": 1756646400000,
  "cotermNextChargeTotal": 199.95,
  "cotermGroupSize": 2,
  "currency": "USD",
  "changed": 1753526400000,
  "changedValue": 1753526400000,
  "changedInSeconds": 1753526400,
  "changedDisplay": "07/25/25",
  "changedDisplayISO8601": "2025-07-25",
  "nextChargeDate": 1756646400000,
  "nextChargeDateValue": 1756646400000,
  "nextChargeDateInSeconds": 1756646400,
  "nextChargeDateDisplay": "08/31/25",
  "nextChargeDateDisplayISO8601": "2025-08-31",
  "account": {
    "id": "abCdE1FGH2Hij3KLMnOpqR",
    "account": "abCdE1FGH2Hij3KLMnOpqR",
    "contact": {
      "first": "Jane",
      "last": "Doe",
      "email": "jane.doe@company.com",
      "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"
  },
  "reminderNotification": null,
  "cancellationSetting": {
    "cancellation": "AFTER_LAST_NOTIFICATION",
    "intervalUnit": "week",
    "intervalLength": 1
  },
  "scheduledEvents": [
    {
      "date": "11/20/2025 03:00:00",
      "type": "PAYMENT_REMINDER"
    },
    {
      "date": "11/27/2025 08:00:00",
      "type": "RENEWAL"
    },
    {
      "date": "11/28/2025 08:00:00",
      "type": "FOLLOW_UP"
    },
    {
      "date": "12/01/2025 08:00:00",
      "type": "FOLLOW_UP"
    },
    {
      "date": "12/04/2025 03:00:00",
      "type": "PAYMENT_OVERDUE"
    },
    {
      "date": "12/06/2025 08:00:00",
      "type": "FOLLOW_UP"
    },
    {
      "date": "12/11/2025 03:00:00",
      "type": "PAYMENT_OVERDUE"
    },
    {
      "date": "12/18/2025 03:00:00",
      "type": "PAYMENT_OVERDUE"
    },
    {
      "date": "12/25/2025 03:00:00",
      "type": "PAYMENT_OVERDUE"
    },
    {
      "date": "01/01/2026 08:00:00",
      "type": "DEACTIVATION"
    }
  ],
  "subscriptions": [
    {
      "id": "1abc2DE_FGhIjKLm3NoPQR",
      "quote": null,
      "active": true,
      "state": "active",
      "isSubscriptionEligibleForPauseByBuyer": false,
      "isPauseScheduled": false,
      "changed": 1.732038466488E12,
      "live": false,
      "currency": "USD",
      "product": {
        "product": "cloud-storage",
        "parent": null,
        "productAppReference": "1aB_CDeFGh2IJk34_5LmN",
        "display": {
          "en": "Cloud Storage Service"
        },
        "fulfillments": {
          
        },
        "format": "digital",
        "taxcode": "DC020400",
        "taxcodeDescription": null,
        "pricing": {
          "interval": "week",
          "intervalLength": 1.0,
          "intervalCount": null,
          "quantityBehavior": "allow",
          "quantityDefault": 1.0,
          "price": {
            "EUR": 100.0,
            "USD": 100.0
          },
          "dateLimitsEnabled": false
        }
      },
      "sku": null,
      "display": "Cloud Storage Service",
      "quantity": 1.0,
      "adhoc": false,
      "autoRenew": true,
      "price": 100.0,
      "discount": 0.0,
      "subtotal": 100.0,
      "end": null,
      "canceledDate": null,
      "deactivationDate": null,
      "sequence": 1.0,
      "periods": null,
      "remainingPeriods": null,
      "begin": 1.732038207127E12,
      "intervalUnit": "week",
      "intervalUnitAbbreviation": "wk",
      "intervalLength": 1.0,
      "intervalLengthGtOne": false,
      "nextChargeCurrency": "USD",
      "nextChargeDate": 1.7326656E12,
      "nextChargePreTax": 92.81,
      "nextChargeTotal": 100.0,
      "taxExemptionData": null,
      "nextNotificationType": null,
      "nextNotificationDate": null,
      "addons": null,
      "discounts": null,
      "fulfillments": {
        
      },
      "instructions": [
        {
          "product": "cloud-storage",
          "type": "regular",
          "isNotTrial": true,
          "periodStartDate": 1.7326656E12,
          "periodEndDate": null,
          "discountIntervalUnit": null,
          "discountDurationLength": null,
          "discountDuration": null,
          "discountDurationUnit": null,
          "unitDiscount": 0.0,
          "discountPercent": 0.0,
          "discountTotal": 0.0,
          "price": 100.0,
          "priceTotal": 100.0,
          "unitPrice": 100.0,
          "unitPriceInPayoutCurrencyDisplay": "$100.00",
          "total": 100.0,
          "totalWithTaxes": 100.0
        }
      ]
    },
    {
      "id": "2abc2DE_FGhIjKLm3NoPQR",
      "quote": null,
      "active": true,
      "state": "active",
      "isSubscriptionEligibleForPauseByBuyer": false,
      "isPauseScheduled": false,
      "changed": 1.732038466489E12,
      "live": false,
      "currency": "USD",
      "product": {
        "product": "data-analytics",
        "parent": null,
        "productAppReference": "2aB_CDeFGh2IJk34_5LmN",
        "display": {
          "en": "Data Analytics Service"
        },
        "fulfillments": {
          
        },
        "format": "digital",
        "taxcode": "DC020500",
        "taxcodeDescription": null,
        "pricing": {
          "interval": "week",
          "intervalLength": 1.0,
          "intervalCount": null,
          "quantityBehavior": "allow",
          "quantityDefault": 1.0,
          "price": {
            "USD": 0.23
          },
          "dateLimitsEnabled": false
        }
      },
      "sku": null,
      "display": "Data Analytics Service",
      "quantity": 1.0,
      "adhoc": false,
      "autoRenew": true,
      "price": 0.23,
      "discount": 0.0,
      "subtotal": 0.23,
      "end": null,
      "canceledDate": null,
      "deactivationDate": null,
      "sequence": 1.0,
      "periods": null,
      "remainingPeriods": null,
      "begin": 1.732038186499E12,
      "intervalUnit": "week",
      "intervalUnitAbbreviation": "wk",
      "intervalLength": 1.0,
      "intervalLengthGtOne": false,
      "nextChargeCurrency": "USD",
      "nextChargeDate": 1.7326656E12,
      "nextChargePreTax": 0.23,
      "nextChargeTotal": 0.23,
      "taxExemptionData": null,
      "nextNotificationType": null,
      "nextNotificationDate": null,
      "addons": null,
      "discounts": null,
      "fulfillments": {
        
      },
      "instructions": [
        {
          "product": "data-analytics",
          "type": "regular",
          "isNotTrial": true,
          "periodStartDate": 1.7326656E12,
          "periodEndDate": null,
          "discountIntervalUnit": null,
          "discountDurationLength": null,
          "discountDuration": null,
          "discountDurationUnit": null,
          "unitDiscount": 0.0,
          "discountPercent": 0.0,
          "discountTotal": 0.0,
          "price": 0.23,
          "priceTotal": 0.23,
          "unitPrice": 0.23,
          "unitPriceInPayoutCurrencyDisplay": "$0.23",
          "total": 0.23,
          "totalWithTaxes": 0.23
        }
      ]
    }
  ]
}

Webhook response payload properties

The webhook response properties table outlines each property in the subscription.group.payment.reminder event JSON payload, specifying their name, data type, and description.

Name Type Description
Co-term Group Information
cotermGroupId string Unique identifier for the co-term group.
cotermGroupDisplayName string Display name of the co-term group. This property is optional when creating a co-term group.
cotermGroupPeriodStartDate integer Start date of the co-term group period in milliseconds.
cotermGroupPeriodEndDate integer End date of the co-term group period in milliseconds.
cotermGroupPrimarySubscription string ID of the primary subscription in the co-term group. This property represents the most recently purchased subscription within the group.
cotermGroupStatus string Status of the co-term group (e.g., "EXECUTED").
cotermGroupOrderId string Order ID associated with the co-term group.
cotermNextChargeDate integer Next charge date for the co-term group in milliseconds. This value is computed by adding one day to the length of the current term (see the monthly and yearly subscription examples below).

Monthly Subscription: If the co-term is initiated on February 11, the next charge date becomes March 12 (one full month plus one day).

Yearly Subscription: If initiated on February 11, 2025, the next charge date becomes February 12, 2026 (one full year plus one day).
cotermNextChargeTotal number Total amount for the next charge, displayed in the nextChargeCurrency.
cotermGroupSize string Number of subscriptions in the co-term group.
currency string 3-character ISO code of the currency used in the co-term group (e.g., "USD").
Changed Information
changed integer Timestamp of the last change in milliseconds.
changedValue integer Timestamp value of the last change in milliseconds.
changedInSeconds integer Last change timestamp in seconds.
changedDisplay string Formatted display date of the last change (e.g., "9/2/25") based on the associated order's language.
changedDisplayISO8601 string ISO 8601 formatted date of the last change (e.g., "2025-09-02").
Next Charge Information
nextChargeDate integer Next charge date in milliseconds.
nextChargeDateValue integer Next charge date timestamp value in milliseconds.
nextChargeDateInSeconds integer Next charge date timestamp in seconds.
nextChargeDateDisplay string Formatted display of the next charge date (e.g., "9/10/25").
nextChargeDateDisplayISO8601 string ISO 8601 formatted next charge date (e.g., "2025-09-10").
Account Object
account object Account object containing account details.
account.id string Unique identifier for the account.
account.account string FastSpring-generated customer account ID.
account.contact.first string First name of the account contact.
account.contact.last string Last name of the account contact.
account.contact.email string Email address of the account contact.
account.contact.company string Company name of the account contact.
account.contact.phone string Phone number of the account contact.
account.contact.subscribed boolean Indicates if the account contact is subscribed.
account.address.address line 1 string First line of the account address.
account.address.address line 2 string Second line of the account address.
account.address.city string City of the account address.
account.address.country string Country of the account address.
account.address.postal code string Postal code of the account address.
account.address.region string Region or state of the account address.
account.address.region custom string Custom region information for the account address.
account.address.company string Company associated with the account address.
account.language string Preferred language of the account (e.g., "en").
account.country string Country code for the account.
account.lookup.global string Global lookup identifier for the account.
account.url string URL to access the account details.
Reminder Notification Object
reminderNotification.enabled boolean Indicates if reminder notifications are enabled.
reminderNotification.interval string Interval for the reminder (e.g., "week").
reminderNotification.intervalLength integer Length of the reminder interval.
Cancellation Setting Object
cancellationSetting.cancellation string Cancellation policy for the co-term group. Determines the timing of automatic cancellation (e.g., "AFTER_LAST_NOTIFICATION" or "AFTER_PAYMENT_FAILURE").
cancellationSetting.intervalUnit string Unit of time for the cancellation interval (e.g., "week").
cancellationSetting.intervalLength integer Number of intervalUnits following the cancellation event that the co-term group will be canceled.
Scheduled Events Array
scheduledEvents array Array of scheduled event objects.
scheduledEvents.date string Date of the scheduled event.
scheduledEvents.type string Type of the scheduled event.
Subscriptions Array
subscriptions array Array of subscription objects.
subscriptions.id string Unique identifier for the subscription.
subscriptions.quote string Quote associated with the subscription (if any).
subscriptions.active boolean Indicates if the subscription is active.
subscriptions.state string Current state of the subscription.
subscriptions.isSubscriptionEligibleForPauseByBuyer boolean Indicates if the subscription is eligible for pause by the buyer.
subscriptions.isPauseScheduled boolean Indicates if a pause is scheduled for the subscription.
subscriptions.changed integer Timestamp of the last change, in milliseconds.
subscriptions.live boolean Indicates if the subscription is live or in test mode.
subscriptions.currency string 3-character ISO code of the currency used for billing (e.g., "USD")
subscriptions.product object Product object associated with the subscription.
subscriptions.product.product string Product name.
subscriptions.product.parent string Parent product (if any).
subscriptions.product.productAppReference string Product app reference.
subscriptions.product.display.en string Display name for the product in English.
subscriptions.product.fulfillments object Fulfillment details for the product.
subscriptions.product.format string Format of the product (e.g., "digital").
subscriptions.product.taxcode string Tax code of the product.
subscriptions.product.taxcodeDescription string Description of the tax code.
subscriptions.product.pricing object Pricing object for the product.
subscriptions.product.pricing.interval string Billing interval (e.g., "month").
subscriptions.product.pricing.intervalLength integer Length of the billing interval.
subscriptions.product.pricing.intervalCount integer Number of intervals (if applicable).
subscriptions.product.pricing.quantityBehavior string Behavior for quantity (e.g., "allow").
subscriptions.product.pricing.quantityDefault integer Default quantity.
subscriptions.product.pricing.price object Price object with currency-specific values.
subscriptions.product.pricing.price.EUR number Price in EUR.
subscriptions.product.pricing.price.USD number Price in USD.
subscriptions.product.pricing.dateLimitsEnabled boolean Indicates if date limits are enabled for pricing.
subscriptions.sku string SKU of the subscription.
subscriptions.display string Display name of the subscription.
subscriptions.quantity integer Quantity of the subscription.
subscriptions.adhoc boolean Indicates if the subscription is ad-hoc.
subscriptions.autoRenew boolean Indicates if the subscription auto-renews.
subscriptions.price integer Price per unit of the subscription.
subscriptions.discount integer Discount applied to the subscription.
subscriptions.subtotal integer Subtotal amount for the subscription.
subscriptions.end string End date for the subscription.
subscriptions.canceledDate string Canceled date for the subscription.
subscriptions.deactivationDate string Deactivation date for the subscription.
subscriptions.sequence integer Sequence number for the subscription.
subscriptions.periods integer Total number of periods for the subscription.
subscriptions.remainingPeriods integer Number of remaining periods for the subscription.
subscriptions.begin integer Start date of the subscription, in milliseconds.
subscriptions.intervalUnit string Interval unit for the subscription (e.g., "month").
subscriptions.intervalUnitAbbreviation string Abbreviation for the interval unit.
subscriptions.intervalLength integer Length of the subscription interval.
subscriptions.intervalLengthGtOne boolean Indicates if the interval length is greater than one.
subscriptions.nextChargeCurrency string Currency for the next charge.
subscriptions.nextChargeDate integer Next charge date for the subscription, in milliseconds.
subscriptions.nextChargePreTax integer Pre-tax amount for the next charge.
subscriptions.nextChargeTotal integer Total amount for the next charge.
subscriptions.taxExemptionData string Tax exemption details, if any.
subscriptions.nextNotificationType string Type of the next notification (e.g., "PAYMENT_REMINDER").
subscriptions.nextNotificationDate integer Next notification date for the subscription, in milliseconds.
Add-ons Array (within Subscriptions array)
subscriptions.addons array Array of addon objects associated with the subscription.
subscriptions.addons.product string Product associated with the addon.
subscriptions.addons.sku string SKU of the addon.
subscriptions.addons.display string Display name of the addon.
subscriptions.addons.quantity integer Quantity of the addon.
subscriptions.addons.price integer Price per unit of the addon.
subscriptions.addons.discount integer Discount applied to the addon.
subscriptions.addons.subtotal integer Subtotal amount for the addon.
subscriptions.addons.discounts array Array of discounts applied to the addon.
Discounts Array (within Subscriptions array)
subscriptions.discounts array Array of discount objects (if present).
subscriptions.discounts.totalDiscountValue number Total discounted amount that will apply to the order.
subscriptions.discounts.discountPath string Path for the discount.
subscriptions.discounts.discountDuration string Duration for the discount.
subscriptions.discounts.discountValue number Discount amount per billing. This displays in the currency associated with the order, and if the coupon is not a percent discount.
Fulfillments Object (within Subscriptions array)
subscriptions.fulfillments object Fulfillment details for the subscription.
Instructions Array (within Subscriptions array)
subscriptions.instructions array Array of instruction objects for the subscription.
subscriptions.instructions.product string Product associated with the instruction.
subscriptions.instructions.type string Type of instruction (e.g., "discounted").
subscriptions.instructions.isNotTrial boolean Indicates if the instruction is not a trial.
subscriptions.instructions.periodStartDate integer Start date of the instruction period, in milliseconds.
subscriptions.instructions.periodEndDate integer End date of the instruction period, in milliseconds if provided.
subscriptions.instructions.discountIntervalUnit string Interval unit for discount (e.g., "month").
subscriptions.instructions.discountDurationLength integer Length of discount duration, if applicable.
subscriptions.instructions.discountDuration string Duration for discount, if applicable.
subscriptions.instructions.discountDurationUnit string Unit for discount duration (e.g., "month").
subscriptions.instructions.unitDiscount integer Discount per unit in the instruction.
subscriptions.instructions.discountPercent integer Discount percentage applied in the instruction.
subscriptions.instructions.discountTotal integer Total discount applied in the instruction.
subscriptions.instructions.price integer Price per unit in the instruction.
subscriptions.instructions.priceTotal integer Total price for the instruction.
subscriptions.instructions.unitPrice integer Unit price for the instruction.
subscriptions.instructions.unitPriceInPayoutCurrencyDisplay string A formatted string displaying the unit price in the payout currency.
subscriptions.instructions.total integer Total amount for the instruction.
subscriptions.instructions.totalWithTaxes integer Total amount including taxes for the instruction.