Cancellations

Subscriptions can be cancelled one of four ways:

  1. On Loop's customer portal
  2. Via Loop's PATCH agreement endpoints
  3. Auto-cancelled when a due invoice is past due (default is 7 days)
  4. Via Stripe

Please note, Stripe does not allow merchants to use it's customer portal for payments that happen on chain.

Cancellation date

When a customer cancels via Loop, either on our customer portal or via our APIs (option 1 & 2 above), the subscription will be set to cancel at the end of period in Stripe. This allows the subscription to complete the duration of time the customer has already paid for.

Open invoices

When a customer cancels on Loop's customer portal, all future scheduled invoices will be cancelled but any currently due invoices will remain open.

When a Merchant cancels a subscription in Stripe, Stripe will cancel all future invoices, including draft invoices, but not invoices that have been finalized and are due or past due. Loop will continue to attempt to collect on any open invoices. Thus, if Merchants don't want these invoices collected, Merchants must cancel these invoices via Stripe as an additional step.

When Loop auto-cancels, we will also mark the open and due invoice as "uncollectible."

Events

Loop will emit ScheduleAgreementCancel event when the cancellation has been scheduled and a AgreementCancelled event when the cancellation occurs at the end of the billing period.

Users will receive an email notification confirming the requested cancelation and then on the cancelation date, confirming cancellation.

Reactivating

Merchants can reactivate subscriptions scheduled for cancellation by updating cancel_at_period_end to false on Stripe's APIs. You can reactivate the subscription at any time up to the end of the period.


Loop's customer portal cancellation

Payers can cancel subscription using Loop's Customer Portal. After cancelation, the subscription will be set to "cancel at the end of period" in Stripe. Following Stripe's logic, all future scheduled invoices will be cancelled but any currently due invoices will remain open.


Embed cancellation button

Companies can use the PATCH agreements endpoint, passing in the subscription's agreementID to cancel a subscription.

The agreementID can be retrieved by calling the GET agreements endpoint, passing in the externalSubscriptionId.


Cancelling subscriptions via Stripe

Stripe provides steps and documentation on how to cancel a customer on their dashboard or via their APIs.

Some tips:

  • When you cancel a subscription in Stripe, Stripe will cancel all future invoices, including draft invoices, but not invoices that have been finalized and are due or past due. Loop will continue to attempt to collect on any open invoices. Thus, if you don't want these collected, you must cancel these invoices via Stripe as an additional step.
  • Upcoming invoices (i.e. "Drafts" in Loop) must be cancelled via Stripe. They cannot be cancelled in Loop.

Auto-cancelled when a due invoice is past due

For all subscriptions, by default Loop will attempt to collect payment for 7 days past the due date. After 7 days of attempting, Loop will cancel the subscription in Loop and in Stripe and set the due invoice to uncollectable.

If Merchants wish, they can override this 7 day default and select the number of days they would like to attempt payment. To do this, please reach out to Loop directly and we will configure it for you.