Products can be configured so payments will be charged on a recurring basis. When a subscription product is purchased at checkout, a Subscription record is created for it which is where any recurring payments are managed from.
Some examples where you may use this type of product are for memberships, donations, replenishment of consumables, etc.
Configuring Subscription Products
If you have Salesforce CPQ installed.
You will need to update the subscription fields that show up twice to only use the CPQ field instead of the StoreConnect field (Known fields that will show up twice are “Subscription Term” and “Subscription Pricing”), make sure you remove the StoreConnect fields from your page layout to avoid duplicate entries.
To know which one is the StoreConnect field, move your mouse over the field item, it will start with
Products have several fields that are used to configure the product to work as a subscription. Each field is listed below with its configuration options.
For a product to be classified as a Subscription Product, these fields must be set on the product record:
- Subscription Pricing
- Subscription Type
This is the pricing mode used, currently only
Fixed Price is supported by StoreConnect.
This is the type of subscription term being used, currently
One-time are supported.
Evergreen subscriptions will run endlessly until the subscription is cancelled by the customer from their order history page in your store or if the payment fails too many times (see Delinquent Payments below) or is manually cancelled on the Subscription record. Each successful payment creates a new order in Salesforce with an Order Product that is related to the Subscription record. The Subscriptions related list will show you all the occurrences where the subscription has been processed.
One-time subscriptions have a fixed number of payments to be paid, which once paid, the subscription ends. This subscription can also end if cancelled due to too many failed attempts (see Delinquent Payments below) or manually ended from the subscription record. The customer doesn’t have the option to log into the store to cancel this type of subscription. Each payment taken is added to the original order in Salesforce.
Subscription Term and Subscription Term Unit
These determine how often payment is taken for the Subscription.
For example, a monthly subscription would be:
Subscription Term: 1 Subscription Term Unit: Month
An annual subscription would be:
Subscription Term: 12 Subscription Term Unit: Month
The default Subscription Term is
There is a Default Subscription Term Unit set in the StoreConnect custom metadata. If a Product’s
Subscription Term Unit is empty, it will automatically be set to that value. You can update the default by going to Custom Metadata Types in Salesforce Setup.
Note: if using CPQ, this metadata setting must match the CPQ Subscription Term setting
Subscription Term Count
When configuring a product with a Subscription Type of One-time, you need to set how many times the customer is to be charged until the subscription is considered “fully paid” and therefore ended. This would include the first payment made when completing checkout.
For example, if a product was $1000 and was to be paid $100 per month, you would set the Term Count as
10 so the customer would be charged $100 a total of
10 times adding up to $1000.
Process Subscription Checkbox
If selling a product where regular payments are made manually as in a bank deposit or to a third party, as in paid to a finance company, you can configure your product as a subscription product but not take any automated payments from the customer. You may set the product up to take a deposit at checkout.
The checkbox is set to
TRUE by default.
Subscription Billing Delay and Subscription Billing Delay Unit
These determine the delay before the next subscription is charged. You would use this feature to give you time to adjust the price of the next subcription payment before it gets charged. This is handy when your subscription product pre-pays for a service where you credit unused service to the following term or the customer used in excess of what the subscription covers so you add the difference on to the following payment.
For example, a 3-day delay would be:
Subscription Billing Delay: 3 Subscription Billing Delay Unit: Day
Where Next Renewal Date is the 1st of the month, Next Billing Date would be the 4th of the month.
A delay of a month would be:
Subscription Billing Delay: 1 Subscription Billing Delay Unit: Month
This could be used on an annual subscription where the payment for the next year is charged a month into the year.
There may be times where you are required to update a subscription or intervene in some way. Each subscription can be managed from its Subscription record which is directly related to the original order it was created from as well as the Contact it belongs to so can be found via the related list of either. You can also access Subscriptions from the Subscriptions tab in the StoreConnect Stock app.
Consider adding Feed Tracking to the Subscription object to keep a history of what changes are made, when and by who for better visibility of a subscription’s history.
To Charge or Not to Charge
The Process Subscription Checkbox is populated based on the products settings when the subscription is created after checkout. This field determines if the subscription is to process the subscription each term and take payments.
If a fixed end date is needed, the
End Date of the subscription can be set manually. Alternatively, the
Cancelled Date can be set to prevent any further payments. Subscriptions can also be paused by setting the Suspended Date. Removing the Suspended Date, End Date and Cancelled Date will let the subscription continue.
For One-time subscriptions, the End Date gets set by the system on creation based on the number of terms for the subscription. If you temporarily suspend the subscription and then un-suspend it, consider if you need to extend the End Date.
A subscription will not charge the client if any of these conditions are met:
- Process Subscription is False
- End Date is in the past
- Cancelled Date is in the past
- Suspended Date is in the past
What to Charge
- Term Price - This is the price for the subscription and is set automatically when a subscription product is purchased at checkout. This is what is charged each time the subscription runs and can be updated if the subscription amount changes period to period.
When a subscription is created at checkout, the Payment Provider and an authorization token are saved on the subscription record. These allow the payments to be charged each term and should not be edited.
When to Charge
There are several fields related to the subcription term which are copied from the Product by the system when the user purchased the subscription.
- Term Length - The number portion of the term (e.g. for quarterly payments this would be 3 with a Term Unit of month)
- Term Unit - The unit of the Term Length (e.g. ‘month’ or ‘day’)
- Next Renewal Date - When the next subscription term begins. This date will update to the next terms renewal date based on the Period Length and Type when the subscription is processed
- Next Billing Date - When a subscription is processed and payment is successful, this date will update to the next terms renewal date plus any delay that is configured
- Billing Delay Length - Determines the delay between the subscription term renewing and the payment being processed
- Billing Delay Unit - The unit of time for Billing Delay Length
If Process Subscription =
TRUE, the subscription is processed on the Next Renewal Date and will charge the customer on the Next Billing Date. The Next Renewal Date and Next Billing dates are then updated to the next term unless payment fails in which case the subscriptions payment is considered ‘delinquent’.
If a subscription payment fails the
Delinquent Date will be set to the date of the failure, and the
Delinquent Reason will be set with any message returned by the payment provider (e.g. “Card Expired”).
StoreConnect will automatically retry the payment 5 times with increasing wait times:
- 1 day after Next Billing Date
- 2 days after Next Billing Date
- 3 days after Next Billing Date
- 5 days after Next Billing Date
- 8 days after Next Billing Date
If the final attempt fails, the
Cancelled Date will be set, and no further payments will be attempted. It may be smart to setup a notification in Salesforce so you get alerted when this happens. You can also configure something sililar in Salesforce to alert the contact when payment has failed and is likely to be attempted again.
Back to Documentation