Guide · August 2026
How to take a 50% deposit on Shopify — half now, half later
Charging half the price at checkout and the rest when the work is done. What Shopify does natively, what needs an app, how to choose the split, and — the part that decides whether this works in practice — exactly what happens when the second charge declines.
Half now, not half off
Search engines confuse these two, so to be explicit: a 50% deposit means the customer pays half the price today and half later, and you receive the full amount. A 50% discount means they pay half in total and you receive half. This page is about the deposit.
There is a real reason not to muddle them, beyond the money. Shopify states that subscriptions, pre-orders and try-before-you-buy don’t support “Buy X get Y” discounts — and a deposit at checkout is built on the same purchase-options mechanism. A deposit item can’t take that discount type even if you wanted it to.
The short version
- A 50% deposit at Shopify checkout is a selling plan whose checkout charge is 50% of the price. Shopify stores the card, and the balance is charged to it later.
- It does not require Shopify Plus. It does require a gateway that can store a card: Shopify Payments, PayPal Express, Adyen on Shopify, or Stripe.
- A deposit at checkout can be a percentage or a fixed amount. Shopify’s own native draft-order deposit is percentage-only, and Plus-only.
- Shopify does not retry a failed balance charge. Retries, customer emails and escalation are the app’s responsibility, in Shopify’s own words.
- A 3DS challenge can stall a balance charge with no webhook at all. Absence of a failure notice is not success.
“Charge a 50% deposit on all custom orders before to start the project, and charge the rest upon completion and delivery”
— a merchant in the Shopify Community, in their own words
That is the whole requirement, and it is worth noting that Shopify can do all of it except one part: nothing in Shopify decides that your project is complete, so “upon completion” has to become a date, a number of days, or the moment you mark the order fulfilled.
There are three ways to get there, and I have written them up properly — with the free option, the Plus-only options and the honest downsides of each — on taking a deposit on a Shopify custom order. In brief:
- Free, today, on any plan and any gateway: raise a draft order for the 50% deposit and email the invoice, then raise a second draft order for the balance when the work is done. Two orders, and you chase the second payment. At a handful of custom orders a month this is genuinely the right answer.
- Native, if you have Shopify Plus: partial payments in the admin, or the draft-order deposits Shopify shipped on 1 July 2026 — Plus only, and percentage only, so 50% is fine and “$500 to start” is not.
- At checkout, on a standard plan, with an app: the customer picks the deposit option on your product page, Shopify charges 50% and stores the card, and the balance is charged automatically later. This is the only version where the customer serves themselves.
The rest of this page is about the third one, because it is the one with decisions in it.
Setting up a 50% deposit, in five steps
This is the shape of the job with any app built on Shopify’s deferred purchase options. The wording differs; the five decisions do not.
- 1
Check that your gateway can store a card
Shopify's documentation for deferred purchase options names four: Shopify Payments, PayPal Express, Adyen on Shopify, and Stripe, which it says is only available to some merchants. If yours isn't one of them, stop here — no app can charge a balance later, and you want invoices instead.
- 2
Create the deposit plan: 50% now
A deposit at checkout is a Shopify selling plan whose checkout charge is part of the price. It can be a percentage or a fixed amount, so 50% and “$500 to start” are both possible. Shopify's own native draft-order deposit is percentage-only, which is one reason merchants end up with an app.
- 3
Set when the balance is due
A set number of days after checkout, or a specific calendar date. Some apps also offer on fulfillment. Whichever you pick is recorded on the plan and shown to the customer at checkout, so choose a date you can actually deliver against.
- 4
Put the option on your product page
Shopify themes don't render selling plans on their own, so the deposit option comes from a theme app block you add in the theme editor. That needs an Online Store 2.0 theme — if you can add sections in the editor, you can add the block.
- 5
Decide what happens when the balance declines
This is the step people skip. Shopify does not retry a failed balance charge and sends no reminder for orders with purchase options, so the retry schedule, the customer emails and the escalation to you are all the app's job. Ask how they work before you install anything.
Worth knowing before you start: a custom app created in the Shopify admin cannot use purchase options, because the scopes involved are protected and need an app registered in the Partner Dashboard. Whatever else this is, it is not a do-it-yourself afternoon.
50/50, 30/70 or 25/75?
Merchants ask which split is correct. There is no correct one, and anybody quoting you a conversion figure for 30/70 against 50/50 is inventing it. What actually decides it is your lead time and what a cancellation would cost you once you have started.
| Split | Lead time it suits | What it protects | What it costs you | When it backfires |
|---|---|---|---|---|
| 50 / 50 | Two weeks to about two months | Materials and most of your labour are funded before you start, and the customer has enough at stake that they rarely walk. | It is the largest number a first-time customer will see. On a $3,000 commission that is $1,500 before anything exists. | On near-stock items with a short wait, where half up front reads as distrust rather than as normal practice. |
| 30 / 70 | One to three months | Enough to buy materials and hold the slot without asking for half of a large number. | Most of the money now rides on one charge months later, so your decline handling has to be good rather than adequate. | On long builds, where 30% does not cover your time if the customer cancels halfway through. |
| 25 / 75 | Three months and up, or a market used to a booking fee | It is the easiest yes, and it fits categories where a deposit is understood as holding a place in a queue. | Three quarters of the value is exposed to a card that has to still be good months from now. | When the deposit is meant to compensate you for cancelled bespoke work. A quarter rarely does. |
One structural point that pushes in favour of a larger deposit, and that no comparison page mentions: the longer the gap, the more likely the saved card has expired, been replaced or been revoked by the time the balance is due. A 25% deposit on a nine-month build is not just less cash today — it is more money exposed to a card that has to survive nine months.
And a hard limit worth knowing before you design a payment plan around this: you get one deposit and one later balance, not three instalments. Shopify’s API terms prohibit using purchase options for instalments, layaways and crowdfunding, so that ceiling applies to every app in the category rather than being a feature any of them can add.
When the balance charge declines
This is the section to read before you choose an app, because it is where deposits actually fail. Shopify’s developer documentation is unambiguous about whose problem it is: “It’s your app’s responsibility to schedule the charge at the right time and automate any process around payment failures.”
Shopify does not retry. Automatic dunning — retries, reminder emails, escalation — is a subscriptions feature, and it does not extend to pre-orders, try-before-you-buy or deposits. Shopify also states that “payment reminders aren’t sent for orders with purchase options such as subscriptions, preorders, or try before you buy”. If the app you install has no retry ladder and sends no customer email, nothing happens at all: the order simply sits there unpaid.
The failures you will actually see
| Code | What it means | What to do about it |
|---|---|---|
| EXPIRED_CARD | The saved card expired between checkout and the balance date. On a long lead time this is the most likely failure of all. | Retrying the same card cannot work. The customer has to update it. Shopify Payments has a card auto-updater that can fix this silently — widely supported in the United States, with international support varying — so on other gateways expect to ask. |
| INSUFFICIENT_FUNDS | The money was not there on the day. | The one case where retrying genuinely works. A few days later, with a warning email in between, is usually enough. |
| AUTHENTICATION_REQUIRED | The bank wants the customer to authenticate. This is a challenge, not a refusal. | Needs the customer, not a retry. See the silent-stall warning below — this is the failure that can look like nothing at all. |
| OFF_SESSION_REJECTED | The bank refused a charge made without the customer present, which is what every balance charge is. | Retries rarely change a bank's mind here. Treat it as needing a fresh, customer-present payment. |
| EXPIRED_BUYER_ACTION | Something the customer had to do was not done in time. Payment-method update links expire 48 hours after they are sent. | Send a fresh request rather than waiting. Any process built on a link the customer might read on Monday is broken by Friday. |
| RETRY_DECLINED | The retry itself was declined. | Stop automating and get a person involved. Escalate to yourself. |
| INVALID_CUSTOMER_BILLING_AGREEMENT | The stored mandate is no longer valid — a revoked PayPal billing agreement, for example. | There is nothing left to charge. This needs a new payment method, not a retry. |
| TRANSIENT_ERROR | A temporary failure somewhere in the chain. | Retry. This is what a retry ladder is for. |
The silent one: a 3DS challenge with no webhook
Strong customer authentication is not reliably waived on a charge made without the customer present. Shopify built a 3DS challenge flow for recurring billing, which would be pointless if the merchant-initiated exemption always held. And the dangerous part is what happens next, in Shopify’s words:
“The subscription_billing_attempts/success and failure webhooks aren’t triggered until the challenge is completed. If the customer doesn’t complete the challenge, then your app won’t be notified.”
Absence of a failure webhook is not success. A charge can sit unresolved indefinitely with no event either way, which is why any app doing this properly has to poll the charge’s status rather than wait to be told.
Two operational traps
- Payment-method update links expire after 48 hours. Send one on a Friday afternoon and it is dead before Monday. Any recovery process built on “we emailed them a link” needs to be able to send another one.
- You cannot retry forever. Shopify ’s guidance is to avoid re-billing a failed payment with the same customer payment method more than 30 times in 35 days, or the payment method is revoked — which turns a recoverable decline into an unrecoverable one.
What a sane decline process looks like
Three or four attempts spread over a week or two, not thirty. An email to the customer on the first failure that says what happened and that you will try again, so a card problem gets fixed before your last attempt rather than after it. A hard stop that escalates to you by email, because the last few percent of these need a phone call. And a status you can look at, since Shopify’s admin does not surface the deposit-versus-balance split on the order — that split is recorded by the app, not by Shopify.
For completeness, since this is my page: DepositDesk retries a declined balance after 1, 3 and 7 days, emails the customer each time a charge fails, and flags the order for you when the ladder runs out. It is $29 a month flat with a 14-day free trial, no per-transaction fee, no revenue share and no cap on order value. Its limits, stated plainly: Online Store channel only — not POS, not B2B, not draft orders; it needs an Online Store 2.0 theme and one of the four vaulting-capable gateways; and it is one deposit plus one later balance, not an instalment plan.
“Ends up creating multiple orders… an accounting nightmare”
— the loudest complaint about doing this the manual way
Which method you choose decides this. A deposit taken at checkout through a selling plan is one order with two payments — the 50% now and the 50% later, against the same order, with Shopify tracking what is still outstanding on it. Draft orders and two invoices produce two orders: two numbers, two confirmations, two rows in every report, and a $3,000 job that appears nowhere as a $3,000 job.
On fees, I would rather tell you what is not documented than guess. Shopify says “the transaction fees apply to each capture”, but it says that about multiple captures on one authorization, not about a deferred balance charge. Shopify doesn’t document whether a deposit balance charge re-incurs a transaction fee — ask your gateway rather than trusting a comparison table on it. What is documented is that third-party transaction fees apply on all third-party and alternate gateways even when Shopify Payments is activated: 2% on Basic, 1% on Grow, 0.6% on Advanced, 0.2% on Plus.
Two more things Shopify simply does not answer, and that matter more at 50/50 than at any other split, because half the money is on each side of the line: how tax is treated on the deposit versus the balance — the documentation is silent on the time of supply and on what happens if a rate changes in between — and how far in the future a balance can be scheduled, for which there is no published maximum. Both are questions for your accountant and your own test store, not for a vendor.
If you want the full comparison of methods, including the free one and the Plus-only ones, that is on taking a deposit on a Shopify custom order. And if you are wondering how many stores in this position already offer a deposit, we scanned 120 made-to-order storefronts and found 52 of the 54 measurable Shopify stores offered none.
Questions merchants actually ask
Is a 50% deposit the same as a 50% discount on Shopify?
No. A 50% deposit means the customer pays half the price now and half later, and you receive the full amount. A 50% discount means they pay half the price in total and you receive half. This page is about the deposit. Discounts are a different Shopify feature entirely.
How do I charge 50% now and 50% on completion in Shopify?
Create a deposit selling plan whose checkout charge is 50% of the price, set the balance to be charged on a date or a number of days after checkout, attach it to the products it applies to, and add the deposit option to your product page as a theme app block. Shopify stores the card at checkout; an app fires the balance charge when it comes due.
Can I take a 50% deposit on Shopify without Shopify Plus?
Yes. A deposit taken at storefront checkout uses deferred purchase options, which work on standard Shopify plans. What requires Plus is Shopify's own partial payments in the admin, and the native draft-order deposits Shopify shipped on 1 July 2026.
Does Shopify retry a failed balance charge?
No. Shopify's developer documentation says it is your app's responsibility to schedule the charge at the right time and automate any process around payment failures. Automatic dunning is a subscriptions feature and does not apply to deposits, so retries, customer emails and escalation all come from the app you choose.
What happens if the customer's card expires before the balance is due?
The balance charge fails with an expired-card error and cannot succeed on a retry. Shopify Payments has a card auto-updater that can pick up a replacement card automatically, described as widely supported in the United States with international support varying. On other gateways, plan on asking the customer to update their card.
Is 50/50 better than 30/70?
It depends on your lead time and on what a cancellation would cost you. 50/50 funds materials and most of your labour up front and suits waits of a few weeks to a couple of months. 30/70 is an easier yes but leaves more money riding on one charge months later. Neither is a Shopify setting or a benchmark — it is a judgement call.
Can I refund only the 50% deposit?
No. The clearest published statement comes from a deposit app's own documentation rather than from Shopify — Shopify cannot refund just a deposit or just a future payment — and cancelling the order removes the saved card so the balance can no longer be charged. Write your deposit policy around that rather than around a partial refund you cannot make.
Can a customer pay a 50% deposit with Apple Pay or Shop Pay?
No. Express wallets are not offered on the deposit option, and Shop Pay Instalments and local payment methods such as Klarna, iDEAL and Bancontact are excluded from deferred purchase options entirely. Ordinary card checkout works normally, and the express buttons come back for pay-in-full purchases.
Sources for this page: Shopify’s developer documentation on deferred purchase options and on subscription billing failures and 3DS challenges, its help-centre pages on partial payments, subscription considerations, discounts and transaction fees, its 2026-07 Admin API reference for draft-order deposits, and open threads in the Shopify Community. Where Shopify publishes nothing, this page says so rather than estimating. Corrections are welcome: support@depositdesk.app.