Skip to content

Latest commit

 

History

History
605 lines (457 loc) · 18.6 KB

subscriptions.md

File metadata and controls

605 lines (457 loc) · 18.6 KB

Subscriptions

const subscriptionsApi = client.subscriptionsApi;

Class Name

SubscriptionsApi

Methods

Create Subscription

Enrolls a customer in a subscription.

If you provide a card on file in the request, Square charges the card for the subscription. Otherwise, Square sends an invoice to the customer's email address. The subscription starts immediately, unless the request includes the optional start_date. Each individual subscription is associated with a particular location.

For more information, see Create a subscription.

async createSubscription(  body: CreateSubscriptionRequest,
requestOptions?: RequestOptions): Promise<ApiResponse<CreateSubscriptionResponse>>

Parameters

Parameter Type Tags Description
body CreateSubscriptionRequest Body, Required An object containing the fields to POST for the request.

See the corresponding object definition for field details.
requestOptions RequestOptions | undefined Optional Pass additional request options.

Response Type

CreateSubscriptionResponse

Example Usage

const body: CreateSubscriptionRequest = {
  locationId: 'S8GWD5R9QB376',
  customerId: 'CHFGVKYY8RSV93M5KCYTG4PN0G',
  idempotencyKey: '8193148c-9586-11e6-99f9-28cfe92138cf',
  planVariationId: '6JHXF3B2CW3YKHDV4XEM674H',
  startDate: '2023-06-20',
  cardId: 'ccof:qy5x8hHGYsgLrp4Q4GB',
  timezone: 'America/Los_Angeles',
  source: {
    name: 'My Application',
  },
  phases: [
    {
      ordinal: BigInt(0),
      orderTemplateId: 'U2NaowWxzXwpsZU697x7ZHOAnCNZY',
    }
  ],
};

try {
  const { result, ...httpResponse } = await subscriptionsApi.createSubscription(body);
  // Get more response info...
  // const { statusCode, headers } = httpResponse;
} catch (error) {
  if (error instanceof ApiError) {
    const errors = error.result;
    // const { statusCode, headers } = error;
  }
}

Bulk Swap Plan

Schedules a plan variation change for all active subscriptions under a given plan variation. For more information, see Swap Subscription Plan Variations.

async bulkSwapPlan(  body: BulkSwapPlanRequest,
requestOptions?: RequestOptions): Promise<ApiResponse<BulkSwapPlanResponse>>

Parameters

Parameter Type Tags Description
body BulkSwapPlanRequest Body, Required An object containing the fields to POST for the request.

See the corresponding object definition for field details.
requestOptions RequestOptions | undefined Optional Pass additional request options.

Response Type

BulkSwapPlanResponse

Example Usage

const body: BulkSwapPlanRequest = {
  newPlanVariationId: 'FQ7CDXXWSLUJRPM3GFJSJGZ7',
  oldPlanVariationId: '6JHXF3B2CW3YKHDV4XEM674H',
  locationId: 'S8GWD5R9QB376',
};

try {
  const { result, ...httpResponse } = await subscriptionsApi.bulkSwapPlan(body);
  // Get more response info...
  // const { statusCode, headers } = httpResponse;
} catch (error) {
  if (error instanceof ApiError) {
    const errors = error.result;
    // const { statusCode, headers } = error;
  }
}

Search Subscriptions

Searches for subscriptions.

Results are ordered chronologically by subscription creation date. If the request specifies more than one location ID, the endpoint orders the result by location ID, and then by creation date within each location. If no locations are given in the query, all locations are searched.

You can also optionally specify customer_ids to search by customer. If left unset, all customers associated with the specified locations are returned. If the request specifies customer IDs, the endpoint orders results first by location, within location by customer ID, and within customer by subscription creation date.

async searchSubscriptions(  body: SearchSubscriptionsRequest,
requestOptions?: RequestOptions): Promise<ApiResponse<SearchSubscriptionsResponse>>

Parameters

Parameter Type Tags Description
body SearchSubscriptionsRequest Body, Required An object containing the fields to POST for the request.

See the corresponding object definition for field details.
requestOptions RequestOptions | undefined Optional Pass additional request options.

Response Type

SearchSubscriptionsResponse

Example Usage

const body: SearchSubscriptionsRequest = {
  query: {
    filter: {
      customerIds: [
        'CHFGVKYY8RSV93M5KCYTG4PN0G'
      ],
      locationIds: [
        'S8GWD5R9QB376'
      ],
      sourceNames: [
        'My App'
      ],
    },
  },
};

try {
  const { result, ...httpResponse } = await subscriptionsApi.searchSubscriptions(body);
  // Get more response info...
  // const { statusCode, headers } = httpResponse;
} catch (error) {
  if (error instanceof ApiError) {
    const errors = error.result;
    // const { statusCode, headers } = error;
  }
}

Retrieve Subscription

Retrieves a specific subscription.

async retrieveSubscription(  subscriptionId: string,
  include?: string,
requestOptions?: RequestOptions): Promise<ApiResponse<RetrieveSubscriptionResponse>>

Parameters

Parameter Type Tags Description
subscriptionId string Template, Required The ID of the subscription to retrieve.
include string | undefined Query, Optional A query parameter to specify related information to be included in the response.

The supported query parameter values are:

- actions: to include scheduled actions on the targeted subscription.
requestOptions RequestOptions | undefined Optional Pass additional request options.

Response Type

RetrieveSubscriptionResponse

Example Usage

const subscriptionId = 'subscription_id0';

try {
  const { result, ...httpResponse } = await subscriptionsApi.retrieveSubscription(subscriptionId);
  // Get more response info...
  // const { statusCode, headers } = httpResponse;
} catch (error) {
  if (error instanceof ApiError) {
    const errors = error.result;
    // const { statusCode, headers } = error;
  }
}

Update Subscription

Updates a subscription by modifying or clearing subscription field values. To clear a field, set its value to null.

async updateSubscription(  subscriptionId: string,
  body: UpdateSubscriptionRequest,
requestOptions?: RequestOptions): Promise<ApiResponse<UpdateSubscriptionResponse>>

Parameters

Parameter Type Tags Description
subscriptionId string Template, Required The ID of the subscription to update.
body UpdateSubscriptionRequest Body, Required An object containing the fields to POST for the request.

See the corresponding object definition for field details.
requestOptions RequestOptions | undefined Optional Pass additional request options.

Response Type

UpdateSubscriptionResponse

Example Usage

const subscriptionId = 'subscription_id0';

const body: UpdateSubscriptionRequest = {
  subscription: {
    canceledDate: 'canceled_date6',
    cardId: '{NEW CARD ID}',
  },
};

try {
  const { result, ...httpResponse } = await subscriptionsApi.updateSubscription(
  subscriptionId,
  body
);
  // Get more response info...
  // const { statusCode, headers } = httpResponse;
} catch (error) {
  if (error instanceof ApiError) {
    const errors = error.result;
    // const { statusCode, headers } = error;
  }
}

Delete Subscription Action

Deletes a scheduled action for a subscription.

async deleteSubscriptionAction(  subscriptionId: string,
  actionId: string,
requestOptions?: RequestOptions): Promise<ApiResponse<DeleteSubscriptionActionResponse>>

Parameters

Parameter Type Tags Description
subscriptionId string Template, Required The ID of the subscription the targeted action is to act upon.
actionId string Template, Required The ID of the targeted action to be deleted.
requestOptions RequestOptions | undefined Optional Pass additional request options.

Response Type

DeleteSubscriptionActionResponse

Example Usage

const subscriptionId = 'subscription_id0';

const actionId = 'action_id6';

try {
  const { result, ...httpResponse } = await subscriptionsApi.deleteSubscriptionAction(
  subscriptionId,
  actionId
);
  // Get more response info...
  // const { statusCode, headers } = httpResponse;
} catch (error) {
  if (error instanceof ApiError) {
    const errors = error.result;
    // const { statusCode, headers } = error;
  }
}

Change Billing Anchor Date

Changes the billing anchor date for a subscription.

async changeBillingAnchorDate(  subscriptionId: string,
  body: ChangeBillingAnchorDateRequest,
requestOptions?: RequestOptions): Promise<ApiResponse<ChangeBillingAnchorDateResponse>>

Parameters

Parameter Type Tags Description
subscriptionId string Template, Required The ID of the subscription to update the billing anchor date.
body ChangeBillingAnchorDateRequest Body, Required An object containing the fields to POST for the request.

See the corresponding object definition for field details.
requestOptions RequestOptions | undefined Optional Pass additional request options.

Response Type

ChangeBillingAnchorDateResponse

Example Usage

const subscriptionId = 'subscription_id0';

const body: ChangeBillingAnchorDateRequest = {
  monthlyBillingAnchorDate: 1,
};

try {
  const { result, ...httpResponse } = await subscriptionsApi.changeBillingAnchorDate(
  subscriptionId,
  body
);
  // Get more response info...
  // const { statusCode, headers } = httpResponse;
} catch (error) {
  if (error instanceof ApiError) {
    const errors = error.result;
    // const { statusCode, headers } = error;
  }
}

Cancel Subscription

Schedules a CANCEL action to cancel an active subscription. This sets the canceled_date field to the end of the active billing period. After this date, the subscription status changes from ACTIVE to CANCELED.

async cancelSubscription(  subscriptionId: string,
requestOptions?: RequestOptions): Promise<ApiResponse<CancelSubscriptionResponse>>

Parameters

Parameter Type Tags Description
subscriptionId string Template, Required The ID of the subscription to cancel.
requestOptions RequestOptions | undefined Optional Pass additional request options.

Response Type

CancelSubscriptionResponse

Example Usage

const subscriptionId = 'subscription_id0';

try {
  const { result, ...httpResponse } = await subscriptionsApi.cancelSubscription(subscriptionId);
  // Get more response info...
  // const { statusCode, headers } = httpResponse;
} catch (error) {
  if (error instanceof ApiError) {
    const errors = error.result;
    // const { statusCode, headers } = error;
  }
}

List Subscription Events

Lists all events for a specific subscription.

async listSubscriptionEvents(  subscriptionId: string,
  cursor?: string,
  limit?: number,
requestOptions?: RequestOptions): Promise<ApiResponse<ListSubscriptionEventsResponse>>

Parameters

Parameter Type Tags Description
subscriptionId string Template, Required The ID of the subscription to retrieve the events for.
cursor string | undefined Query, Optional When the total number of resulting subscription events exceeds the limit of a paged response,
specify the cursor returned from a preceding response here to fetch the next set of results.
If the cursor is unset, the response contains the last page of the results.

For more information, see Pagination.
limit number | undefined Query, Optional The upper limit on the number of subscription events to return
in a paged response.
requestOptions RequestOptions | undefined Optional Pass additional request options.

Response Type

ListSubscriptionEventsResponse

Example Usage

const subscriptionId = 'subscription_id0';

try {
  const { result, ...httpResponse } = await subscriptionsApi.listSubscriptionEvents(subscriptionId);
  // Get more response info...
  // const { statusCode, headers } = httpResponse;
} catch (error) {
  if (error instanceof ApiError) {
    const errors = error.result;
    // const { statusCode, headers } = error;
  }
}

Pause Subscription

Schedules a PAUSE action to pause an active subscription.

async pauseSubscription(  subscriptionId: string,
  body: PauseSubscriptionRequest,
requestOptions?: RequestOptions): Promise<ApiResponse<PauseSubscriptionResponse>>

Parameters

Parameter Type Tags Description
subscriptionId string Template, Required The ID of the subscription to pause.
body PauseSubscriptionRequest Body, Required An object containing the fields to POST for the request.

See the corresponding object definition for field details.
requestOptions RequestOptions | undefined Optional Pass additional request options.

Response Type

PauseSubscriptionResponse

Example Usage

const subscriptionId = 'subscription_id0';

const body: PauseSubscriptionRequest = {};

try {
  const { result, ...httpResponse } = await subscriptionsApi.pauseSubscription(
  subscriptionId,
  body
);
  // Get more response info...
  // const { statusCode, headers } = httpResponse;
} catch (error) {
  if (error instanceof ApiError) {
    const errors = error.result;
    // const { statusCode, headers } = error;
  }
}

Resume Subscription

Schedules a RESUME action to resume a paused or a deactivated subscription.

async resumeSubscription(  subscriptionId: string,
  body: ResumeSubscriptionRequest,
requestOptions?: RequestOptions): Promise<ApiResponse<ResumeSubscriptionResponse>>

Parameters

Parameter Type Tags Description
subscriptionId string Template, Required The ID of the subscription to resume.
body ResumeSubscriptionRequest Body, Required An object containing the fields to POST for the request.

See the corresponding object definition for field details.
requestOptions RequestOptions | undefined Optional Pass additional request options.

Response Type

ResumeSubscriptionResponse

Example Usage

const subscriptionId = 'subscription_id0';

const body: ResumeSubscriptionRequest = {};

try {
  const { result, ...httpResponse } = await subscriptionsApi.resumeSubscription(
  subscriptionId,
  body
);
  // Get more response info...
  // const { statusCode, headers } = httpResponse;
} catch (error) {
  if (error instanceof ApiError) {
    const errors = error.result;
    // const { statusCode, headers } = error;
  }
}

Swap Plan

Schedules a SWAP_PLAN action to swap a subscription plan variation in an existing subscription. For more information, see Swap Subscription Plan Variations.

async swapPlan(  subscriptionId: string,
  body: SwapPlanRequest,
requestOptions?: RequestOptions): Promise<ApiResponse<SwapPlanResponse>>

Parameters

Parameter Type Tags Description
subscriptionId string Template, Required The ID of the subscription to swap the subscription plan for.
body SwapPlanRequest Body, Required An object containing the fields to POST for the request.

See the corresponding object definition for field details.
requestOptions RequestOptions | undefined Optional Pass additional request options.

Response Type

SwapPlanResponse

Example Usage

const subscriptionId = 'subscription_id0';

const body: SwapPlanRequest = {
  newPlanVariationId: 'FQ7CDXXWSLUJRPM3GFJSJGZ7',
  phases: [
    {
      ordinal: BigInt(0),
      orderTemplateId: 'uhhnjH9osVv3shUADwaC0b3hNxQZY',
    }
  ],
};

try {
  const { result, ...httpResponse } = await subscriptionsApi.swapPlan(
  subscriptionId,
  body
);
  // Get more response info...
  // const { statusCode, headers } = httpResponse;
} catch (error) {
  if (error instanceof ApiError) {
    const errors = error.result;
    // const { statusCode, headers } = error;
  }
}