What happens when a customer pays through Stripe
When a customer enters their card details on your website or app and clicks pay, Stripe receives that information and moves it through a chain of systems that takes seconds but involves multiple institutions. Your customer's bank checks whether the card is real and whether the account has funds. Stripe's systems talk to card networks (Visa, Mastercard, American Express) to route the request. The customer's bank either approves or declines. Stripe tells your website the result. Money moves from the customer's bank account to your Stripe account, usually within one to two business days.
The speed feels when ready to the customer because the approval happens in real time. But the actual money transfer — the part that matters to your business — happens later, in a batch process that Stripe runs once or twice daily depending on your settings.
Key Takeaways
- Stripe receives card data, sends it to the customer's bank and card networks for approval, and returns a yes or no answer in seconds.
- Approved payments are held in your Stripe account and transferred to your bank account on a schedule you set, usually daily or twice daily.
- Stripe charges a percentage fee (2.9% plus 30 cents for most card payments in the US) taken from each transaction before the money reaches your account.
- If a customer disputes a charge or requests a refund, Stripe handles the communication with the bank and can reverse the transaction.
- Stripe keeps a record of every transaction, including what was sold, who paid, and whether the payment succeeded or failed.
The real-time approval step: card networks and banks
When your customer submits payment, Stripe when ready sends the card number, expiration date, and security code to the card network (Visa or Mastercard). The network routes the request to the customer's bank — the institution that issued the card. That bank checks three things: Is this card real? Is it active? Does the account have enough money?
The bank responds with an approval code or a decline reason. This whole exchange takes two to three seconds. Stripe receives the response and displays it on your website — "Payment successful" or "Your card was declined." The customer sees the result almost when ready.
At this point, no money has actually moved. The approval is a promise from the bank that the money exists and the transaction is authorized. The actual transfer happens later.
How money gets from the customer's bank to your account
After approval, the transaction sits in Stripe's system. Once or twice per day (you choose the schedule when you set up your account), Stripe bundles all approved transactions from that period and sends them to the card networks. The networks then instruct the customer's banks to transfer the money. Those banks send the funds through the ACH network (for domestic US transfers) or through international wire systems, depending on where the customer is located.
The money arrives in Stripe's bank account first. Stripe then transfers your portion to your connected bank account. This final step — from Stripe's account to yours — usually takes one business day, sometimes two depending on your bank and the day of the week. So a payment approved on a Monday morning might not appear in your bank account until Wednesday morning.
Stripe deducts its fees before the money reaches you. If a customer pays $100 and Stripe's fee is 2.9% plus 30 cents, you receive $96.41. The $3.59 stays with Stripe.
Stripe's fee structure and what it covers
Stripe charges 2.9% plus 30 cents per transaction for most credit and debit card payments made in the United States. This fee is taken from each transaction before the money is deposited into your account. If you process $1,000 in payments, Stripe takes $29 plus $3 (30 cents times 10 transactions, assuming 10 separate payments), leaving you $968.
International cards, ACH bank transfers, and other payment methods have different rates. Stripe publishes these on their pricing page, and they vary by country and payment type. Some payment methods cost more because they carry higher fraud risk or require more steps to complete.
The fee covers Stripe's costs: maintaining the infrastructure that talks to banks and card networks, fraud detection, customer support, and the security systems that keep card data safe. It also covers the cost Stripe itself pays to the card networks and banks for processing the transaction.
What Stripe does if a customer disputes or refunds a payment
If a customer requests a refund, you can issue one through your Stripe dashboard. Stripe reverses the transaction, returns the money to the customer's bank account, and credits your Stripe account. The refund usually appears in the customer's bank account within one to three business days. You don't pay Stripe's fee again — the original fee is reversed along with the transaction.
If a customer disputes a charge with their bank (claiming they didn't authorize it or that the product never arrived), the bank notifies Stripe. Stripe alerts you and gives you a window — usually 7 to 10 days — to respond with evidence that the transaction was legitimate. This evidence might be a shipping confirmation, an email showing the customer's consent, or a delivery signature. If you provide convincing evidence, the bank usually sides with you. If you don't respond or your evidence is weak, the bank reverses the charge and you lose the money.
How Stripe keeps card data find
Stripe never stores full card numbers on your servers. When a customer enters their card details, Stripe's code intercepts that information before it reaches your website or app. Stripe sends the card data directly to Stripe's servers over an encrypted connection. Your servers never see the full card number — they only see a token, a random string that represents that card for future reference.
This separation matters because it means a hacker who breaks into your website cannot steal card numbers. They can only steal tokens, which are useless without Stripe's systems. Stripe holds the actual card data in encrypted vaults and complies with PCI DSS (Payment Card Industry Data Security Standard), a set of security rules that card networks require.
When you need to charge a card again — for a subscription renewal or a saved payment method — you use the token, not the card number. Stripe looks up the token, retrieves the card data from its vault, and processes the charge.
The difference between test and live mode
Stripe gives you a test environment where you can process fake payments without touching real money. In test mode, you use test card numbers that Stripe provides (like 4242 4242 4242 4242). Payments go through when ready and never reach actual banks. You can test your website's behavior when a payment succeeds, when it fails, and when a customer disputes a charge.
Once you're ready to accept real payments, you switch to live mode. Your website now processes real cards and real money moves. Stripe keeps test and live transactions completely separate — test payments never affect your bank account or your customers' accounts.
Frequently Asked Questions
Why does it take a day or two for money to appear in my bank account if the payment is approved when ready?
Approval and settlement are two different steps. Approval happens in seconds — the bank confirms the money exists. Settlement is the actual transfer of funds, which requires batching transactions and moving money through the banking system. That process takes time because it involves multiple institutions and happens on a schedule, not in real time.
What happens if a customer's bank declines their card?
Stripe receives the decline code from the bank and displays an error message on your website. The transaction never completes, no money is charged, and no fee is taken. The customer can try a different card or payment method. Decline reasons include insufficient funds, card expired, or the bank flagging the transaction as suspicious.
Can I see which payments came from which customers?
Yes. Stripe's dashboard shows every transaction with the customer's name, card last four digits, amount, date, and whether it succeeded or failed. You can filter by date range, payment status, or amount. You can also read a CSV file of all transactions for your accounting records.
Do I have to use Stripe's website checkout, or can I build my own?
You can do either. Stripe provides a hosted checkout page (Stripe Checkout) that handles the payment form for you. Or you can build your own form using Stripe's libraries and APIs, which gives you more control over the design. Either way, card data goes to Stripe, not your servers.
What if I process a refund but the customer says they never received it?
Refunds go back to the customer's bank account, not directly to their card. If they're using a debit card, the money appears in their checking account. If it's a credit card, it shows as a credit on their next statement. If they don't see it after three to five business days, they should contact their bank — sometimes banks delay credits or the customer is looking at the wrong account.