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. |