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": "[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"
  },
  "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
        }
      ]
    }
  ]
}

Navigate this webhook

The subscription.group.payment.reminder 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.reminder webhook payload. Fields are grouped into categories for easier navigation.

<tr id="coterm-group" style={{ borderTop: "4px solid #ddd" }}>
  <td colSpan="3" style={{ paddingTop: "4px", fontWeight: "600" }}>
    <a href="#navigate-this-webhook">Co-term Group</a>
  </td>
</tr>

<tr><td>cotermGroupId</td><td>string</td><td>Unique identifier for the co-term group</td></tr>
<tr><td>cotermGroupDisplayName</td><td>string</td><td>Display name of the co-term group</td></tr>
<tr><td>cotermGroupPeriodStartDate</td><td>integer</td><td>Start of the current co-term period in milliseconds since epoch</td></tr>
<tr><td>cotermGroupPeriodEndDate</td><td>integer</td><td>End of the current co-term period in milliseconds since epoch</td></tr>
<tr><td>cotermGroupPrimarySubscription</td><td>string</td><td>ID of the primary subscription in the co-term group</td></tr>
<tr><td>cotermGroupStatus</td><td>string</td><td>Status of the co-term group (e.g., <code>EXECUTED</code>)</td></tr>
<tr><td>cotermGroupOrderId</td><td>string</td><td>Order ID associated with the co-term group</td></tr>
<tr><td>cotermNextChargeDate</td><td>integer</td><td>Next charge date for the co-term group in milliseconds since epoch</td></tr>
<tr><td>cotermNextChargeTotal</td><td>number</td><td>Total amount for the next group charge</td></tr>
<tr><td>cotermGroupSize</td><td>integer</td><td>Number of subscriptions in the co-term group</td></tr>
<tr><td>currency</td><td>string</td><td>Three-letter ISO currency code</td></tr>


<tr id="changed-timestamps" style={{ borderTop: "4px solid #ddd" }}>
  <td colSpan="3" style={{ paddingTop: "4px", fontWeight: "600" }}>
    <a href="#navigate-this-webhook">Changed Timestamps</a>
  </td>
</tr>

<tr><td>changed</td><td>integer</td><td>Last update timestamp in milliseconds</td></tr>
<tr><td>changedValue</td><td>integer</td><td>Duplicate of <code>changed</code> (milliseconds)</td></tr>
<tr><td>changedInSeconds</td><td>integer</td><td>Last update timestamp in seconds</td></tr>
<tr><td>changedDisplay</td><td>string</td><td>User-friendly display date of the last update</td></tr>
<tr><td>changedDisplayISO8601</td><td>string</td><td>ISO 8601 date of the last update</td></tr>


<tr id="next-charge" style={{ borderTop: "4px solid #ddd" }}>
  <td colSpan="3" style={{ paddingTop: "4px", fontWeight: "600" }}>
    <a href="#navigate-this-webhook">Next Charge</a>
  </td>
</tr>

<tr><td>nextChargeDate</td><td>integer</td><td>Next charge date in milliseconds</td></tr>
<tr><td>nextChargeDateValue</td><td>integer</td><td>Duplicate of <code>nextChargeDate</code> (milliseconds)</td></tr>
<tr><td>nextChargeDateInSeconds</td><td>integer</td><td>Next charge date in seconds</td></tr>
<tr><td>nextChargeDateDisplay</td><td>string</td><td>User-friendly next charge date</td></tr>
<tr><td>nextChargeDateDisplayISO8601</td><td>string</td><td>ISO 8601 formatted next charge date</td></tr>


<tr id="account-object" style={{ borderTop: "4px solid #ddd" }}>
  <td colSpan="3" style={{ paddingTop: "4px", fontWeight: "600" }}>
    <a href="#navigate-this-webhook">Account object</a>
  </td>
</tr>

<tr><td>account</td><td>object</td><td>Account object containing customer details</td></tr>
<tr><td>account.id</td><td>string</td><td>Unique FastSpring account ID</td></tr>
<tr><td>account.account</td><td>string</td><td>Duplicate of the account ID for compatibility</td></tr>
<tr><td>account.contact.first</td><td>string</td><td>Account contact first name</td></tr>
<tr><td>account.contact.last</td><td>string</td><td>Account contact last name</td></tr>
<tr><td>account.contact.email</td><td>string</td><td>Account contact email address</td></tr>
<tr><td>account.contact.company</td><td>string</td><td>Account contact company name</td></tr>
<tr><td>account.contact.phone</td><td>string</td><td>Account contact phone number</td></tr>
<tr><td>account.contact.subscribed</td><td>boolean</td><td>Whether the account contact is subscribed</td></tr>
<tr><td>account.address.address line 1</td><td>string</td><td>Primary street address line</td></tr>
<tr><td>account.address.address line 2</td><td>string</td><td>Secondary street address line</td></tr>
<tr><td>account.address.city</td><td>string</td><td>City</td></tr>
<tr><td>account.address.country</td><td>string</td><td>Two-letter ISO country code</td></tr>
<tr><td>account.address.postal code</td><td>string</td><td>Postal or ZIP code</td></tr>
<tr><td>account.address.region</td><td>string</td><td>Region code (e.g., <code>US-NY</code>)</td></tr>
<tr><td>account.address.region custom</td><td>string</td><td>Custom region text when applicable</td></tr>
<tr><td>account.address.company</td><td>string</td><td>Company associated with the address</td></tr>
<tr><td>account.language</td><td>string</td><td>Preferred language (two-letter ISO code)</td></tr>
<tr><td>account.country</td><td>string</td><td>Two-letter ISO country code</td></tr>
<tr><td>account.lookup.global</td><td>string</td><td>Globally unique public ID for lookup</td></tr>
<tr><td>account.url</td><td>string</td><td>Customer-facing account management URL</td></tr>


<tr id="reminder-notification" style={{ borderTop: "4px solid #ddd" }}>
  <td colSpan="3" style={{ paddingTop: "4px", fontWeight: "600" }}>
    <a href="#navigate-this-webhook">Reminder Notification</a>
  </td>
</tr>

<tr><td>reminderNotification</td><td>object</td><td>Reminder configuration when present; <code>null</code> in this example</td></tr>
<tr><td>reminderNotification.enabled</td><td>boolean</td><td>Whether reminder notifications are enabled (when object present)</td></tr>
<tr><td>reminderNotification.interval</td><td>string</td><td>Time unit for reminders (e.g., <code>week</code>)</td></tr>
<tr><td>reminderNotification.intervalLength</td><td>integer</td><td>Length of the reminder interval</td></tr>


<tr id="cancellation-settings" style={{ borderTop: "4px solid #ddd" }}>
  <td colSpan="3" style={{ paddingTop: "4px", fontWeight: "600" }}>
    <a href="#navigate-this-webhook">Cancellation Settings</a>
  </td>
</tr>

<tr><td>cancellationSetting.cancellation</td><td>string</td><td>Cancellation policy timing (e.g., <code>AFTER_LAST_NOTIFICATION</code>)</td></tr>
<tr><td>cancellationSetting.intervalUnit</td><td>string</td><td>Time unit for the cancellation interval</td></tr>
<tr><td>cancellationSetting.intervalLength</td><td>integer</td><td>Length of the cancellation interval in units</td></tr>


<tr id="scheduled-events" style={{ borderTop: "4px solid #ddd" }}>
  <td colSpan="3" style={{ paddingTop: "4px", fontWeight: "600" }}>
    <a href="#navigate-this-webhook">Scheduled Events</a>
  </td>
</tr>

<tr><td>scheduledEvents</td><td>array</td><td>List of upcoming events for the group</td></tr>
<tr><td>scheduledEvents.date</td><td>string</td><td>Date and time of the scheduled event</td></tr>
<tr><td>scheduledEvents.type</td><td>string</td><td>Type of event (e.g., <code>PAYMENT_REMINDER</code>, <code>RENEWAL</code>, <code>PAYMENT_OVERDUE</code>, <code>DEACTIVATION</code>)</td></tr>


<tr id="subscriptions-array" style={{ borderTop: "4px solid #ddd" }}>
  <td colSpan="3" style={{ paddingTop: "4px", fontWeight: "600" }}>
    <a href="#navigate-this-webhook">Subscriptions array</a>
  </td>
</tr>

<tr><td>subscriptions</td><td>array</td><td>List of subscriptions in the co-term group</td></tr>
<tr><td>subscriptions.id</td><td>string</td><td>Subscription ID</td></tr>
<tr><td>subscriptions.quote</td><td>string</td><td>Associated quote ID when present</td></tr>
<tr><td>subscriptions.active</td><td>boolean</td><td>Whether the subscription is active</td></tr>
<tr><td>subscriptions.state</td><td>string</td><td>Current subscription state (e.g., <code>active</code>)</td></tr>
<tr><td>subscriptions.isSubscriptionEligibleForPauseByBuyer</td><td>boolean</td><td>Whether the buyer can pause the subscription</td></tr>
<tr><td>subscriptions.isPauseScheduled</td><td>boolean</td><td>Whether a pause is scheduled</td></tr>
<tr><td>subscriptions.changed</td><td>integer</td><td>Last update timestamp in milliseconds</td></tr>
<tr><td>subscriptions.live</td><td>boolean</td><td>Whether the subscription is in live mode</td></tr>
<tr><td>subscriptions.currency</td><td>string</td><td>Three-letter ISO currency code</td></tr>
<tr><td>subscriptions.sku</td><td>string</td><td>SKU of the subscription product when provided</td></tr>
<tr><td>subscriptions.display</td><td>string</td><td>Customer-facing product display name</td></tr>
<tr><td>subscriptions.quantity</td><td>number</td><td>Quantity on the subscription</td></tr>
<tr><td>subscriptions.adhoc</td><td>boolean</td><td>Whether the subscription is ad-hoc</td></tr>
<tr><td>subscriptions.autoRenew</td><td>boolean</td><td>Whether auto-renew is enabled</td></tr>
<tr><td>subscriptions.price</td><td>number</td><td>Unit price for the subscription</td></tr>
<tr><td>subscriptions.discount</td><td>number</td><td>Discount amount applied</td></tr>
<tr><td>subscriptions.subtotal</td><td>number</td><td>Subtotal amount before tax</td></tr>
<tr><td>subscriptions.end</td><td>string</td><td>End date, when applicable</td></tr>
<tr><td>subscriptions.canceledDate</td><td>string</td><td>Cancellation date, when applicable</td></tr>
<tr><td>subscriptions.deactivationDate</td><td>string</td><td>Deactivation date, when applicable</td></tr>
<tr><td>subscriptions.sequence</td><td>number</td><td>Sequence number for the billing period</td></tr>
<tr><td>subscriptions.periods</td><td>number</td><td>Total number of billing periods when fixed-term</td></tr>
<tr><td>subscriptions.remainingPeriods</td><td>number</td><td>Remaining number of billing periods</td></tr>
<tr><td>subscriptions.begin</td><td>number</td><td>Activation timestamp in milliseconds</td></tr>
<tr><td>subscriptions.intervalUnit</td><td>string</td><td>Billing interval unit (e.g., <code>week</code>)</td></tr>
<tr><td>subscriptions.intervalUnitAbbreviation</td><td>string</td><td>Abbreviation of the interval unit (e.g., <code>wk</code>)</td></tr>
<tr><td>subscriptions.intervalLength</td><td>number</td><td>Number of interval units per billing period</td></tr>
<tr><td>subscriptions.intervalLengthGtOne</td><td>boolean</td><td>Whether the interval length is greater than one</td></tr>
<tr><td>subscriptions.nextChargeCurrency</td><td>string</td><td>Currency of the next charge</td></tr>
<tr><td>subscriptions.nextChargeDate</td><td>number</td><td>Next charge date in milliseconds</td></tr>
<tr><td>subscriptions.nextChargePreTax</td><td>number</td><td>Pre-tax amount for the next charge</td></tr>
<tr><td>subscriptions.nextChargeTotal</td><td>number</td><td>Total next charge amount</td></tr>
<tr><td>subscriptions.taxExemptionData</td><td>string</td><td>Tax exemption details when applicable</td></tr>
<tr><td>subscriptions.nextNotificationType</td><td>string</td><td>Type of the next notification when scheduled</td></tr>
<tr><td>subscriptions.nextNotificationDate</td><td>number</td><td>Timestamp of the next notification when scheduled</td></tr>


<tr id="subscriptions-product" style={{ borderTop: "4px solid #ddd" }}>
  <td colSpan="3" style={{ paddingTop: "4px", fontWeight: "600" }}>
    <a href="#navigate-this-webhook">Product</a>
  </td>
</tr>

<tr><td>subscriptions.product</td><td>object</td><td>Product object for the subscribed item</td></tr>
<tr><td>subscriptions.product.product</td><td>string</td><td>Product path or identifier</td></tr>
<tr><td>subscriptions.product.parent</td><td>string</td><td>Parent product when applicable</td></tr>
<tr><td>subscriptions.product.productAppReference</td><td>string</td><td>Internal application reference for the product</td></tr>
<tr><td>subscriptions.product.display.en</td><td>string</td><td>English display name of the product</td></tr>
<tr><td>subscriptions.product.fulfillments</td><td>object</td><td>Fulfillment configuration (object may be empty)</td></tr>
<tr><td>subscriptions.product.format</td><td>string</td><td>Product format (e.g., <code>digital</code>)</td></tr>
<tr><td>subscriptions.product.taxcode</td><td>string</td><td>Tax code assigned to the product</td></tr>
<tr><td>subscriptions.product.taxcodeDescription</td><td>string</td><td>Description of the product tax code</td></tr>


<tr id="product-pricing" style={{ borderTop: "4px solid #ddd" }}>
  <td colSpan="3" style={{ paddingTop: "4px", fontWeight: "600" }}>
    <a href="#navigate-this-webhook">Pricing (within product)</a>
  </td>
</tr>

<tr><td>subscriptions.product.pricing</td><td>object</td><td>Pricing settings for the product</td></tr>
<tr><td>subscriptions.product.pricing.interval</td><td>string</td><td>Billing interval (e.g., <code>week</code>)</td></tr>
<tr><td>subscriptions.product.pricing.intervalLength</td><td>number</td><td>Length of the billing interval</td></tr>
<tr><td>subscriptions.product.pricing.intervalCount</td><td>number</td><td>Number of intervals when applicable</td></tr>
<tr><td>subscriptions.product.pricing.quantityBehavior</td><td>string</td><td>Quantity behavior (e.g., <code>allow</code>)</td></tr>
<tr><td>subscriptions.product.pricing.quantityDefault</td><td>number</td><td>Default quantity for the product</td></tr>
<tr><td>subscriptions.product.pricing.price</td><td>object</td><td>Map of currency codes to price amounts</td></tr>
<tr><td>subscriptions.product.pricing.price.EUR</td><td>number</td><td>Price in EUR when configured</td></tr>
<tr><td>subscriptions.product.pricing.price.USD</td><td>number</td><td>Price in USD when configured</td></tr>
<tr><td>subscriptions.product.pricing.dateLimitsEnabled</td><td>boolean</td><td>Whether pricing date limits are enforced</td></tr>


<tr id="subscriptions-addons-discounts" style={{ borderTop: "4px solid #ddd" }}>
  <td colSpan="3" style={{ paddingTop: "4px", fontWeight: "600" }}>
    <a href="#navigate-this-webhook">Add-ons & Discounts</a>
  </td>
</tr>

<tr><td>subscriptions.addons</td><td>array</td><td>Array of add-on items when present</td></tr>
<tr><td>subscriptions.discounts</td><td>array</td><td>Array of discount objects when present</td></tr>
<tr><td>subscriptions.discounts.totalDiscountValue</td><td>number</td><td>Total discount amount that will apply to the order</td></tr>
<tr><td>subscriptions.discounts.discountPath</td><td>string</td><td>Path or identifier for the discount</td></tr>
<tr><td>subscriptions.discounts.discountDuration</td><td>string</td><td>Duration of the discount</td></tr>
<tr><td>subscriptions.discounts.discountValue</td><td>number</td><td>Per-billing discount amount in order currency (for non-percent coupons)</td></tr>

<tr id="subscriptions-fulfillments" style={{ borderTop: "4px solid #ddd" }}>
  <td colSpan="3" style={{ paddingTop: "4px", fontWeight: "600" }}>
    <a href="#navigate-this-webhook">Fulfillments</a>
  </td>
</tr>

<tr><td>subscriptions.fulfillments</td><td>object</td><td>Fulfillment details (object may be empty)</td></tr>


<tr id="subscriptions-instructions" style={{ borderTop: "4px solid #ddd" }}>
  <td colSpan="3" style={{ paddingTop: "4px", fontWeight: "600" }}>
    <a href="#navigate-this-webhook">Instructions</a>
  </td>
</tr>

<tr><td>subscriptions.instructions</td><td>array</td><td>Pricing and timing instructions for the upcoming period</td></tr>
<tr><td>subscriptions.instructions.product</td><td>string</td><td>Product path associated with the instruction</td></tr>
<tr><td>subscriptions.instructions.type</td><td>string</td><td>Instruction type (e.g., <code>regular</code>)</td></tr>
<tr><td>subscriptions.instructions.isNotTrial</td><td>boolean</td><td>Whether the instruction is not a trial</td></tr>
<tr><td>subscriptions.instructions.periodStartDate</td><td>number</td><td>Start date of the instruction period in milliseconds</td></tr>
<tr><td>subscriptions.instructions.periodEndDate</td><td>number</td><td>End date of the instruction period when present</td></tr>
<tr><td>subscriptions.instructions.discountIntervalUnit</td><td>string</td><td>Interval unit for discounts when applicable</td></tr>
<tr><td>subscriptions.instructions.discountDurationLength</td><td>number</td><td>Length of discount duration when applicable</td></tr>
<tr><td>subscriptions.instructions.discountDuration</td><td>number</td><td>Remaining discount duration when applicable</td></tr>
<tr><td>subscriptions.instructions.discountDurationUnit</td><td>string</td><td>Unit of remaining discount duration when applicable</td></tr>
<tr><td>subscriptions.instructions.unitDiscount</td><td>number</td><td>Per-unit discount</td></tr>
<tr><td>subscriptions.instructions.discountPercent</td><td>number</td><td>Discount percentage</td></tr>
<tr><td>subscriptions.instructions.discountTotal</td><td>number</td><td>Total discount for the instruction</td></tr>
<tr><td>subscriptions.instructions.price</td><td>number</td><td>Unit price</td></tr>
<tr><td>subscriptions.instructions.priceTotal</td><td>number</td><td>Total price for the instruction</td></tr>
<tr><td>subscriptions.instructions.unitPrice</td><td>number</td><td>Unit price before taxes</td></tr>
<tr><td>subscriptions.instructions.unitPriceInPayoutCurrencyDisplay</td><td>string</td><td>Formatted unit price in payout currency</td></tr>
<tr><td>subscriptions.instructions.total</td><td>number</td><td>Total amount before taxes</td></tr>
<tr><td>subscriptions.instructions.totalWithTaxes</td><td>number</td><td>Total amount including taxes</td></tr>
Name Type Description