Proposals · How it works

Stripe Checkout for invoices: how it works

Stripe Checkout is a payment page hosted by Stripe. When an invoice uses it, the customer clicks a pay link, lands on a Stripe page showing the amount due, pays by card or a supported wallet, and returns to a confirmation page. Stripe processes the card, the seller's records update, and the money settles into the seller's Stripe account.

Stripe offers more than one way to get an invoice paid. Checkout is the hosted page route, which software platforms use so a business can take card payments without building its own payment form.

· Co-founder

4 min read · Published

  1. 1

    Connect a Stripe account

    The business connects its own Stripe account to the invoicing platform and completes Stripe's identity and bank checks.

  2. 2

    Issue the invoice

    The invoice is issued with an amount due and a pay link that belongs only to that invoice.

  3. 3

    Customer opens the pay link

    A pay page shows the amount due and the items, with a button that starts a Stripe Checkout session.

  4. 4

    Customer pays on Stripe

    Stripe's hosted page collects the card or wallet details, runs any extra authentication and confirms the payment.

  5. 5

    Return and reconcile

    The customer returns to a confirmation page, the invoice is marked paid from Stripe's confirmation, and the funds settle to the business.

Checkout, Payment Links and Stripe Invoicing

Stripe has three related products. Stripe Invoicing creates and emails invoices from Stripe itself, with a hosted invoice page. Payment Links are reusable links created in the Stripe dashboard. Checkout is the hosted payment page that both can use, and that developers and platforms call directly. A platform that has its own invoices, such as accounting or proposal software, usually creates a Checkout session for each payment so the invoice stays in its own system while Stripe handles the card.

Connect and destination charges

When a platform lets many businesses take payments, it uses Stripe Connect. Each business has its own connected Stripe account. With a destination charge, the customer pays on the platform's Checkout session, Stripe transfers the funds to the business's connected account, and the platform can keep an application fee. Stripe's documentation describes this as the model where the platform is responsible for the payment experience while funds go to the connected account. For the business, it means the money is theirs, settled by Stripe, not held by the software provider.

What the customer sees

The customer sees the business's invoice details first, then a Stripe page with the amount and a payment form, possibly with Apple Pay or Google Pay depending on device and settings. If their bank requires 3D Secure, Stripe shows the challenge. After paying, they return to a confirmation page. If they cancel or the payment fails, they come back to a page that lets them try again. Card details never pass through the invoicing software.

Common mistakes

Not completing Stripe's verification means payouts are delayed. Forgetting that the account's currency is fixed causes confusion when invoicing in a different currency. Ignoring the combined fees, Stripe's processing plus any platform fee, can make small invoices unprofitable. And marking an invoice paid by hand while a Checkout payment is in progress risks a double payment.

Where it shows up in the product

Pay now on an invoice's pay page opens Stripe Checkout through the owner's connected Stripe account as a destination charge. Connecting Stripe needs a paid plan; the platform fee is 2 percent on Starter, 1 percent on Pro and 0.5 percent on Pro+, and Stripe's own fees come on top. A connected Stripe account pins the currency used in the Pricing panel and invoice editor. After payment, the return page polls the status and shows a thank you card with a receipt link, or a try again option if the payment was cancelled or failed. Card payment goes through Stripe Checkout only.

Questions people ask

Do I need a website to use Stripe Checkout?

Not when your invoicing or proposal software provides it. The software creates the Checkout session and hosts the pay page, so you only need a Stripe account connected to that software. Building Checkout into your own website is a developer task, but using it through a platform needs no code.

Who holds the money when an invoice is paid through Checkout?

With Stripe Connect destination charges, the funds are transferred to the business's own connected Stripe account and paid out to its bank on Stripe's schedule. The platform can take an application fee from each payment, but it does not hold the business's money. Check the platform's documentation to confirm the charge type it uses.

What fees apply to Stripe Checkout payments?

Stripe charges its processing fees, which vary by card type and country and are listed on Stripe's pricing page. A platform using Connect may add its own fee per payment. Add the two together to know what each invoice payment costs, and consider whether to adjust prices or prefer bank transfer for very large invoices.

Can customers pay an invoice partly by card?

That depends on the software. Many invoice pay pages charge the full amount due, and a deposit is handled by issuing a separate deposit invoice so each payment has its own invoice. Check how your software splits payments before promising a client they can pay in instalments by card.

What happens if a Checkout payment fails?

The customer returns to the invoicing software, which should show that the payment was not completed and offer to try again. The invoice stays unpaid. Common causes are insufficient funds, a declined card or a failed authentication. A different card or a bank transfer usually resolves it.

Make one with proposals

The button opens the generator with this use case already described. Change the wording to match your own.

Create a proposal with OneCraft

Related questions

Step by step in the builder: Send a proposal and get paid.

Sources

Written and checked by the OneCraft team. Last checked .