ExpirationDate. Outseta doesn’t
bill it past that date, and when the date arrives it ends the subscription and sets
its EndDate to the ExpirationDate.
Send
ExpirationDate, not EndDate. Outseta sets EndDate itself when a
subscription ends, and calculates RenewalDate itself. A subscription request
that includes EndDate is rejected with “The renewal date has to be null if the
end date is set.”New subscription
Add the subscription with Add a subscription to an account for the first time and includeExpirationDate. Leave out EndDate and RenewalDate.
ExpirationDate as sent. The subscription renews every billing
term until then, and its first RenewalDate is never later than the
ExpirationDate. On a free plan with BillingRenewalTerm 1 (monthly), that means
a monthly renewal at no charge until the end date.
Without an ExpirationDate, the plan decides:
- if the plan has an
ExpirationDate, the subscription gets that date; - otherwise
Plan.ExpiresAfterMonthsapplies:0means the plan never expires subscriptions, and a valueNabove0gives anExpirationDateof the start date plus the plan’s trial days plusNmonths.
Existing subscription
Use Set the renewal date or expiration date of the current subscription on the account and send the newExpirationDate.
- It acts on the account’s current subscription. The account must be in the Subscribing, Cancelling, Trialing, CancellingTrial or PastDue stage, and it can’t have a plan change scheduled to start later.
- If the new
ExpirationDateis before the current renewal date, the renewal date moves to theExpirationDate. - Every request sets the expiration date. Without
ExpirationDate, the existing expiration date is removed, except whenToDateis later than it: then the expiration date moves toToDate. To remove the expiration date, send an empty body ({}). To change the renewal date (ToDate) and keep an expiration date, send both. ToDateis checked with the time of day you send, whileExpirationDateis first set to the time of day of the subscription’s start. SendToDatewith the time of day of the currentRenewalDate, or aToDateon the same day as theExpirationDatemay be rejected as later than it.
Changing the subscription doesn’t set its end date. Change a subscription
on an account with
the same plan,
BillingRenewalTerm and quantity only changes add-ons. A change to
another plan creates a new subscription record. An upgrade, or any change while
the account is in a trial, starts immediately. Any other change is scheduled for
the current renewal date; pass startImmediately=true to start it now. A free
subscription added with firsttimesubscription puts the account in the Trialing
stage, so a change from it starts immediately.