import type * as Square from "../../../../index"; /** * @example * { * idempotencyKey: "8193148c-9586-11e6-99f9-28cfe92138cf", * locationId: "S8GWD5R9QB376", * planVariationId: "6JHXF3B2CW3YKHDV4XEM674H", * customerId: "CHFGVKYY8RSV93M5KCYTG4PN0G", * startDate: "2023-06-20", * cardId: "ccof:qy5x8hHGYsgLrp4Q4GB", * timezone: "America/Los_Angeles", * source: { * name: "My Application" * }, * phases: [{ * ordinal: BigInt("0"), * orderTemplateId: "U2NaowWxzXwpsZU697x7ZHOAnCNZY" * }] * } */ export interface CreateSubscriptionRequest { /** * A unique string that identifies this `CreateSubscription` request. * If you do not provide a unique string (or provide an empty string as the value), * the endpoint treats each request as independent. * * For more information, see [Idempotency keys](https://developer.squareup.com/docs/build-basics/common-api-patterns/idempotency). */ idempotencyKey?: string; /** The ID of the location the subscription is associated with. */ locationId: string; /** The ID of the [subscription plan variation](https://developer.squareup.com/docs/subscriptions-api/plans-and-variations#plan-variations) created using the Catalog API. */ planVariationId?: string; /** The ID of the [customer](entity:Customer) subscribing to the subscription plan variation. */ customerId: string; /** * The `YYYY-MM-DD`-formatted date to start the subscription. * If it is unspecified, the subscription starts immediately. */ startDate?: string; /** * The `YYYY-MM-DD`-formatted date when the newly created subscription is scheduled for cancellation. * * This date overrides the cancellation date set in the plan variation configuration. * If the cancellation date is earlier than the end date of a subscription cycle, the subscription stops * at the canceled date and the subscriber is sent a prorated invoice at the beginning of the canceled cycle. * * When the subscription plan of the newly created subscription has a fixed number of cycles and the `canceled_date` * occurs before the subscription plan completes, the specified `canceled_date` sets the date when the subscription * stops through the end of the last cycle. */ canceledDate?: string; /** * The tax to add when billing the subscription. * The percentage is expressed in decimal form, using a `'.'` as the decimal * separator and without a `'%'` sign. For example, a value of 7.5 * corresponds to 7.5%. */ taxPercentage?: string; /** * A custom price which overrides the cost of a subscription plan variation with `STATIC` pricing. * This field does not affect itemized subscriptions with `RELATIVE` pricing. Instead, * you should edit the Subscription's [order template](https://developer.squareup.com/docs/subscriptions-api/manage-subscriptions#phases-and-order-templates). */ priceOverrideMoney?: Square.Money; /** * The ID of the [subscriber's](entity:Customer) [card](entity:Card) to charge. * If it is not specified, the subscriber receives an invoice via email with a link to pay for their subscription. */ cardId?: string; /** * The timezone that is used in date calculations for the subscription. If unset, defaults to * the location timezone. If a timezone is not configured for the location, defaults to "America/New_York". * Format: the IANA Timezone Database identifier for the location timezone. For * a list of time zones, see [List of tz database time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). */ timezone?: string; /** The origination details of the subscription. */ source?: Square.SubscriptionSource; /** The day-of-the-month to change the billing date to. */ monthlyBillingAnchorDate?: number; /** array of phases for this subscription */ phases?: Square.Phase[]; }