Merchants are requesting the ability to save customer credit cards on file and charge them for manually created orders in Shopify, particularly for B2B transactions with variable order amounts. This functionality exists in competing platforms like Square and QuickBooks but is not natively available in Shopify.
Current Limitations:
Shopify only supports card-on-file through subscriptions or installment payment options
Draft orders require customers to complete checkout themselves via invoice
Shop Pay stores customer payment info, but customers must authorize each new charge
The “Charge vaulted card” staff permission only applies to pre-orders or try-before-you-buy products
Workarounds Mentioned:
Processing payments through external systems (Square, QuickBooks, Authorize.net) alongside Shopify for inventory/sales tracking
Using Shopify Plus with New Customer Accounts to save cards on the front end for B2B company locations
Third-party solution: Easy Pie Checkout (Stripe-powered) with future payment features
Status:
Multiple feature requests have been submitted since 2022, but Shopify staff cannot provide updates on implementation. The lack of this feature is causing frustration among merchants, with some reconsidering their platform choice. Several businesses note this is a dealbreaker for B2B operations where customers expect to authorize charges over phone without re-entering card details.
Summarized with AI on October 29.
AI used: claude-sonnet-4-5-20250929.
We deal with quite a several B2B clients, and orders can drastically vary from week to week (so a subscription app isn’t an option). But when an order is placed (usually by sending us an email), we’d like to be able to create an order manually and charge their “card on file”. Today we’re doing this through Quickbooks (so not a safety concern there since that exists), but we’d like to skip a step and do this directly through Shopify.
It could be something as simple as adding the “Charge card on file” option to the “Collect payment” button.
For your B2B clients, you can create a draft order and send them an invoice, which allows them to go through the checkout process with the cart that you’ve created for them. Would that work for you?
This sounds like a great solution but not the one we’re looking for. Some of our clients make their orders by email and would like to be charged automatically when we add them to our system. The issue is that their orders vary weekly in quantity for each item depending on consumption.
Ideally, we need to be able to save their card on file so we can charge them when we create the order directly from Shopify. As of right now, we are going to have to do it through QB (starting this Monday) unless we find a solution through Shopify which is our preferred method.
The weirdest thing is that I see some of our customers’ payment methods in their profiles (see screenshot). Not sure how these got there, but ideally we could add this payment info manually, and charge them when the order is placed.
I understand, and I appreciate you sharing these details. At this time, there isn’t a way to charge a customer via draft order—they’ll need to go through the checkout process once they receive their invoice. I’ve submitted a feature request on your behalf to our developers.
To clarify, the payment methods listed on customer profiles should be from Shop Pay, which gives customers the option to securely store credit card details, shipping, and billing addresses for future purchases. In the case of Shop Pay, it will always be the customer authorizing a new charge when they checkout—the system just stores their information to make their checkout process quicker and easier.
In store permissions, you have the ability to give users the ability to “Charge vaulted cards.” However, I need help finding a way to charge a vaulted card.
The staff permission “Charge vaulted card” applies to products that were purchased through an option like pre-orders or try before you buy. With these purchase options, there will be a scheduled date to automatically collect the payment. If payment needs to be collected early, that is handled through a button on the order details page.
This may depend on which one of the try-before-you-buy apps you’re using, but it is definitely possible with some apps to control who accesses the feature.
I’m jumping in on this thread because I’m trying to find a solution to this issue as well. I rent medical equipment by the month, and my customers want a solution to be able to book online and only have to be able to provide their card that first time. Sending an invoice is not an option - they are in possession of my very expensive equipment and I need to keep a card on file. We are currently needing to add the extra step of adding their credit card to our merchant service account, which is not how we want to do this and is not how our customers want to either.
I’m curious how Shopify itself is able to save MY credit card on file to charge my subscription fee each month, but is unable to find a way for me to do the same with my customers?
Thank you for taking the time to offer some information about your business—I really appreciate that context.
Have you looked into subscriptions? This might work for you since you rent by the month, and subscriptions allow your customers to make scheduled payments in a repeating frequency.
Hi Sophia, the problem with using a subscription is that it will automatically bill a month after the day the first payment was made, but that might not be the actual due date. For example, someone books a hospital bed on the 10th, but its delivered on the 15th. The next rental payment isn’t due until the next 15th of the month, but a subscription service bills them on the 10th. Do you know a solution to this?
At the moment, subscription plans allow you to charge on a recurring term (like monthly), but not on a specific date. I’ll be sure to share this detail with our developers.
Jumping on here because we also need this feature. We work with several clients whom we bill a la carte for items of varying dollar amounts throughout the month. Subscriptions are not a viable solution for our business model either. @Sophia I know you can’t provide updates; however, wanted to throw another request in the ring!
Cards on file for non subscription transactions and orders are a key service element for our business. We often have a customers card details stored and when they call us, we create a new order and charge it to their account. This happens with a phone conversation and authorization and permission to do so. These are usually high value, loyal customers. The inability to have their card on file means that every time they call in to our high service business model, they need to re give their card details to us. This they do not like at all.
Are there any apps or functionality in shopify that allow for this?
If not, please add me to the list of people wanting this request.