I’m trying to solve some use cases that don’t fall into the standard “bill me every month” pattern, but not finding an obvious way to do so. Here are a couple of things I’d like to be able to do:
Sell a product for $0, store a payment method, then charge the card in the future when the product is available
Sell a monthly membership, but let customers get a 7-day trial (not currently possible with selling plans)
Sell a subscription that has a usage-based fee every month
Have a subscription that expires after 2 orders
There’s no problem in getting the customer to make the first order, then to update the contract to reflect what the customer wants, but the issue I keep running into is the automatic “Recurring total” text that appears at checkout. For all of the scenarios above, we must show the customer that they will be billed X every X time period. Because we’re not charging them a fixed amount over a fixed period of time, all of these scenarios would lead to misleading and confusing descriptions.
Are there any plans to add flexibility, or to allow apps to decide what text goes here? Same with this text, it reduces the number of use cases that we can solve for:
Thanks for having a read. I’m hoping this is something that will be possible soon.
I can provide some answers for you now, and others I can get back to you on.
Sell a product for $0, store a payment method, then charge the card in the future when the product is available
I will look into this one and get back to you
Sell a monthly membership, but let customers get a 7-day trial (not currently possible with selling plans)
There is no direct support for this, but if you look at our docs on payment authorization and capture, you could perform a manual capture 7 days later and thus simulate a 7 day trial.
Sell a subscription that has a usage-based fee every month
Can you be more specific what you mean here? How is a “usage-based” fee different from a normal subscription cost?
Have a subscription that expires after 2 orders
You can set the maxCycles trait on the subscription to signify after how many cycles the billing would stop.
However, it’s good to note the difference in responsibility between Shopify and an app developer/merchants. We will store that maxCycles field, and calculate the nextBillingDate for that first charge, but after that, the merchant/app is responsible for updating this date.
For storing a payment method for future billing - I look forward to seeing what you find
For the free trial - I don’t think delayed capture will work here. That’s a store-wide setting that would impact all orders from what I can see. We need to be able to tell Shopify selling plans that the billing cycle will be different after the first order. We can change the price after the first order, but not the billing / shipping cycles
For usage based - essentially a monthly fee that will change every month. There’s no way to communicate to customers that the recurring fee will be calculated, or flexible
For expiring after 2 orders - yes, we use the maxCycles trait, but the text at checkout doesn’t reflect that. If it said “$35.00 every month for 2 months” that would be so much better
Most of these can be solved by apps, my concern is that there’s no way to adequately tell the customer what’s going to happen. If there was a way to override the text at checkout, I think app developers would be able to use selling plans in more unique ways.
Hi @simplee_chris sorry about the delay. Was out sick for a bit and then honestly was waiting for a product launch to share some answers with you.
Storing payment method for future billing:
We just updated our selling plans API to support pre-orders! That would allow you sell something for $0 at checkout (or whatever) and ship and charge the remaining balance later.
Free Trial:
Again you could use the new selling plans API with a fixed billing policy for a week from now. However, this would not be tied to the subscription.
Usage Based:
You can update a line on a subscription contract which would allow you to change the “quantity” of a subscription, but that is a permanent change to the contract. Failure to undo/update it again could result in overcharging customers.
For expiring after 2 orders
I will pass the suggestion along for the text change.
Hello, does it exist a way to edit the text of “Recurring total” yet ?
I’m still thinking this can lead to misinterpretation from customers after applying a discount code.
This “recurring total” isn’t updating and still show old amount before the discount code.
Any way to :
There is a way to edit the text, but it will edit the text for all checkouts, not just subscriptions, nor can be it specific to a single checkout.
You can edit the wording in the theme in the “Checkout and system” section. This provides simple interpolation for those values (it is not full liquid with conditionals). This may work for some of your use cases. There are a variety of values there based on recurring totals.
Otherwise, that feature is not currently supported.
I will make sure to create a ticket based on your comments.