Why a customer sees a $0.00 charge (and when the card is really charged)
At checkout, the card is saved, not charged. Your store stores the card securely (through Stripe) so it can be charged later, once you know the real packed total. To save and confirm a card, Stripe and the customer’s bank run a $0.00 authorization – a quick “is this card real and usable?” check. It is not a sale: no money moves and nothing settles.
So a $0.00 line is just that card check – one per order placed. If someone places two orders, they may see two $0.00 checks. It is completely normal, and it is common for a bank’s fraud system to notice a brand-new store saving a card (especially a few in a row) and reach out to confirm – there is nothing wrong.
It usually will not appear on the statement. A $0.00 authorization never settles, so there is no charge to post. Some banks show it briefly as a “pending $0.00,” most drop it within a few days, and it does not land on the final statement. The bank’s fraud tool can still see the authorization attempt in the moment, even though no money is involved.
The $0.00 is not the application fee. A membership/application fee is a real charge (for example $10), so if it applied you would see that amount, not $0.00. Depending on your settings, the fee either rides on the first order (charged with it) or is charged on its own a couple of minutes after the order is confirmed. If a customer only sees $0.00, the fee simply was not due on that order (already a member, exempt, or no fee set).
The real money happens on packing day. When you pack and finish the order, the saved card is charged the exact packed total – weighed items and all. That is the only charge for the food, and it never happens before packing. So the full path of an order is: a $0.00 card-check at checkout → (a real fee only if one applies) → the real packed total charged when you pack.
