The Restart feature allows an end-user/CSR to restart a stopped subscription that will be processed in the Matrix Circulation system. The restarting can be done through either Self-Service (SubCon Site) or SubCon Admin (One CSR Portal). A stopped subscription can be restarted only if the subscription meets a set of eligibility criteria.
To avail of the Restarts feature depicted below, the client should have
Subscribe 3.17.0 or above
Matrix 38.00.034.ITSP9 or above
A stopped subscription (that will be processed in the Matrix circulation system) can be restarted only if the subscription
is already Stopped
is stopped within a certain number of days (the number of days can be configured using the MG2 Control key Restart.MaxStoppedDays)
is not a Trial subscription
is not a Complimentary subscription
does not have any Payment events in the last 24 hours
does not have an already pending Restart event (with a DateEffective of today or future)
This information is returned by the CheckRestartAvailability endpoint of Subscribe.
The Mail Order Telephone Order (MOTO) transaction flow is enabled in both SA and SP which is specific to the Stripe payment vendor. This feature allows users to make payments without 3DS confirmation. Consequently, users can complete payments using both 3D and non-3D Stripe cards without encountering the 3DS pop-up window for authentication. As a result, even cards that typically require 3DS confirmation can now function without it.
When an eligible user opts for restarting a stopped subscription, Subscribe MicroAPI defaults the restarting date to the current date in the client’s time zone. However, the restarting happens only after the sync job and the restarting request is processed at the Matrix end.
It is possible for a user to opt for a future date for restarting a stopped subscription from 3.17.0. However, the user will not be permitted to select a restart date earlier than the current date in this flow.
When a Matrix user completes the payment for a stopped subscription that is intended to be restarted on a future date, the status of the subscription changes from ‘Stopped’ to ‘Active’ immediately in Subscribe. Even if the subscription status changes to 'Active' immediately, as per the Matrix settings, the subscription will ideally start for the user only on the selected date.
Please note that, even when the user is opting ‘Restart immediately’ option, the restarting will be in effect only after the sync process at Matrix end.
Note: MatrixAPI will receive a parameter named RestartDate as part of the "Suborderrestartid" request. This endpoint is called during the processing of the RESTARTSUBSCRIPTION (1149) event when restarting a subscription.
Starting from version 3.17.0, the Credit balance of a subscription is configurable for both SubCon Site (Self-Service) and SubCon Admin. This is achieved through the introduction of a new MG2 Control API setting key called 'Restart.ApplyCreditBalance', which has a default value of 0.
When this setting key is turned on (value 1) and the subscription has a credit balance (meaning the user owes money to the publisher), that balance will be displayed in the UI and will be deducted from the total restart subscription amount to be paid. However, if the setting is turned off (key value 0) and the subscription has a credit balance, then the balance will NOT be displayed in the UI, and the restart subscription amount remains the same without any deduction.
On the other hand, if the subscription has a negative balance (meaning the customer owes money to the publisher), the balance amount will always be added to the restart subscription amount irrespective of the value of the setting key. In this case, the total amount (negative balance + restart subscription amount) should be paid in the Restart payment transaction.
The Restart workflow in SS starts when the end-user clicks on the ‘Restart’ hyperlink on the Dashboard page.
The visibility of the ‘Restart’ hyperlink is determined solely by the CMS link restrictions.
When the user clicks the ‘Restart’ hyperlink,
Subscribe calls the CheckRestartAvailability endpoint. The endpoint verifies whether the subscription is eligible for a restart by checking each of the eligibility criteria.
If the value returned by the endpoint is ‘true’, it means that the subscription is eligible for a restart.
If the value returned by the endpoint is ‘false’, it means that one or more eligibility conditions are not met, and the subscription is not eligible for a restart. The user will be displayed an error message stating the reason (ex: “Subscription has been stopped for too long.”) for not opening the restart page. The user will be redirected to the Dashboard page.
When the Restart page is loading, the getOptions
call is made to populate the Rate grid with all available Rate options. Each Rate option includes a ‘Term’ (the validity period for the subscription in weeks, days, or months) and an ‘Amount’ (the rate amount that needs to be paid for the corresponding term length).
If the getOptions
call fails, the end-user will be redirected to the Subscription Panel where the currently existing offers will be displayed.
Note: The getOptions
call might just fail due to a bad configuration in the Circ system. In some instances, there may be no available rates to be displayed on the page leading to the failure of the getOptions
call.
If the getOptions
call succeeds, the Rate Grid will be displayed on the Restart page.
When the getOptions
call succeeds, the getAvailableDates
API is called to fetch the available dates for the restart.
If all the API calls are successful, the Restart page will be completely loaded for the user.
Subscription is not stopped.
the sub_status is not “S” (subscription is not stopped)
The subscription is trial.
the subscription kind is Trial.
The subscription is COMP. Payment is not allowed.
the isComp field of the subscription table is true. (Subscription is complimentary) Note: This is not yet updated to check the subscription kind = ‘comp’
Subscription has been stopped for too long. A new subscription is required.
the number of days passed after stopping the subscription is greater than the value in Restart.MaxStoppedDays MG2 Control App setting
The subscriber already made a payment over the last 24 hours.
any of these events 'PAYMENTCC', 'PAYMENTACH', 'RESRTPAYMENTACH', 'RESRTPAYMENTCC', 'PAYMENTNEWSTART' have been created for the subscription in the last 24 hours
The subscription has pending restart transactions
there is a "RESTART" event for the subscription with a DateEffective in the future
Note: All of these error messages can be customized in CMS.
Step 1: Click the Restart hyperlink on the Dashboard page.
Step 2: Select the desired Rate option on the Restart page.
Note: The credit balance feature is configurable from 3.17.0 with the setting key Restart.ApplyCreditBalance. If a subscription account has a credit balance, it will be displayed in the field CREDIT, only if the MG2 control setting Restart.ApplyCreditBalance is turned on with the value '1'. On the other hand, if the account has a Debit balance, irrespective of the value of the setting key, the negative balance will be displayed on the UI and will be added to the restart subscription amount.
Step 3: By default, the option ‘RESTART IMMEDIATELY’ is selected. If the restart is immediate, the first AvailableDate returned by the getAvailableDates
API will be used as the restart date.
Step 4: Select the payment method Credit card. Click the Next button. (Refer to the Rate Grid image above).
Step 5: On the next page, the Payment Information will be displayed. Enter the credit card details in the following Payment Details section.
Step 6: Click the SAVE button. A success message will be displayed.
The Restart workflow is completed.
Restarting a subscription through the One CSR portal is possible only if the ‘Restart’ button is visible on the Account Information tab of a stopped subscription account. The Restart button will be visible only if the API api/CheckRestartAvailability/subscriptionId returns true after verifying the eligibility criteria.
From Subscribe version 3.17.0, new Payments API endpoints are used for the payment transactions while restarting a stopped subscription.
Clicking on ‘Restart’ button initiates a series of API calls as listed below:
To get the restart offer rates from the Matrix system, Subscribe calls the API GetBillingInformation/options{SubscriptionId}
, and the Restart offer rate options will be displayed on the Rate grid. Term, Rate, Other costs (if any), Tax, etc. are the details available in the rate grid for each offer.
The api/paymentProvider/getSettings
call gets the details of the Payment provider, in this case, it is Stripe.
The api/GetBillingInformation/{SubscriptionId
call gets the details of the current payment balance and displays the total amount to be paid.
After selecting the offer rate from the rate grid, selecting a restart date (immediate or a future date), and entering the credit card details, clicking on ‘Save’ button initiates a series of calls as stated below:
In the API call api/common/Billing/PaymentSession/StartPaymentSession
Subscription Id, Account number, Subscriber Id, PaymentMethod, etc. are sent to Stripe. This call returns the paymentIntentId
. paymentIntentId
refers to the unique identifier assigned to a Payment Intent object. A Payment Intent represents the payment attempt and its current status, including any errors or actions required to complete the payment. This can also be used to track the state of the payment.
api/common/Billing/PaymentSession/EndPaymentSession
- Along with the Subscription Id, Account number, and Subscriber Id, the paymentIntentId
is also sent to Stripe and as a response, all the authenticated card details of the customer along with the status of the transaction are returned.
The API call api/PaymentMethod
is used to create a payment method that will return the "PaymentMethodId” as a response. This “PaymentMethodId” will be then used in the api/RestartPayment
call that finally completes the payment transaction.
Step 1: Select a stopped subscription account from the Subscription search result grid and click Start call button. If the selected account has a negative balance, it will be displayed to the user.
Step 2: Click OK. The Account information tab details are available to the user. If the selected account is eligible for a restart, then the Restart button will be visible at the bottom right corner of the Account information tab.
Note: Regardless of whether the account has a negative or positive balance, if the conditions specified in the eligibility criteria for restarting a stopped subscription are not met, the Restart button will not be available for the user to initiate the Restart flow.
Step 3: Click the Restart button. The user is directed to the Payment/Billing tab. The current Payment information is displayed. The current offer rates from Matrix are populated in the Rate grid. Select any offer.
If the selected account has a Debit balance (negative), it will be added to the selected restart offer rate. If the account has a credit balance (positive balance), then the publisher owes the user money. Deduction of credit balance from the offer rate is configurable using the MG2 control key Restart.ApplyCreditBalance. If the setting key is configured for the Matrix client, then the positive balance of the user will be deducted from the offer amount.
Step 4: Click the Pay with credit card button. The credit card fields will be displayed. Fill in the details.
Step 5: Click the Save button. The payment with the credit card will be processed by the payment gateway and vendor. If the payment is a success, the final success message will be displayed. The financial transaction will be displayed in the below table as well.
If the restarting has to occur at a future date, uncheck the box.
Click the calendar icon to display all the possible restart dates. Select a desired date.
If the restart has to happen on a future date, uncheck the checkbox. Click the calendar icon and select the date of your choice from the pool of available dates.
Note: By default, ‘Restart immediately’ option is selected.