Canceling a Subscription

Third Party Billing - canceling a subscription

Introduction

Lightspeed Retail (X-Series) merchants can cancel their third party subscription in-app.

Example Flow

You can cancel the subscription from the App Subscriptions tab or directly going to https://<<domain_prefix>>.retail.lightspeed.app/billing/partner-apps URL.
When you land on the page you can see your existing third party subscriptions, and you can choose to remove subscription by clicking on the trash icon in-front of it.

Partner Subscription Cancel Marsello
Partner Subscription Confirm Cancel Marsello

This will cancel your subscription and will trigger a webhook to be sent out to the integrator.

Webhook Payload

When the merchant cancels a third party subscription a cancellation webhook will be triggered from the system and will be sent out to the relevant integrator. This integrator will be the one the subscription was originally activated from.
Here is an example webhook payload that the integrator receives upon cancellation of a third party subscription.

{
    "domain_prefix": "testmerchant", 
    "payload": {
      "cancelled_at": {"seconds":1647552206},
      "subscription_id":"1504300454752022528"
    },
    "retailer_id": "0242ac00-0011-11ec-f245-a57f2abe2645",
    "type": "partner.cancellation"
}
  1. retailer_id is the merchant ID used in-app to uniquely identify a merchant.
  2. domain_prefix is the subdomain of the merchant (e.g https://testmerchant.retail.lightspeed.app)
  3. payload consists of two pieces of information, the timestamp when the cancellation has happened, and the subscription ID.
  4. type is the type of the webhook event .

subscription_id is the ID being used to uniquely identify a subscription.

Caching

The system enforces a caching mechanism on retrieving webhook configurations for a duration of 30 minutes.
So any cancellations in the first 30 minutes of subscription may not send a webhook.

Webhook Configuration

When the subscription is created, we create a configuration for where to send the cancellation event for this subscription.
This configuration applies the currently configured cancellation_webhook_url.
This means that changes to your cancellation_webhook_url will not result in changes to previously webhook configurations.