Skip to content
Enjoy complimentary data migration when switching from your existing bookkeeper or CPA to Institution.

Comparisons

Hosted checkout vs. custom checkout: choosing what your team can maintain

Decide between hosted, embedded, and custom checkout by testing customer needs, fulfillment, accessibility, reporting, and the work after launch.

By Institution5 minute readPublished View sources
In this guide

Choose the least complicated checkout that meets a real requirement

In this comparison, hosted checkout means redirecting the buyer to a provider-managed payment page. An embedded checkout keeps a provider-supplied interface within your site. A custom checkout gives your team more responsibility for composing and maintaining the purchase experience. Start with the simplest supported option that can complete your actual orders, then identify any requirement that justifies more work.

Stripe's current Checkout documentation is a useful example of why this is not a simple hosted-versus-custom split. It describes full-page, embedded-form, and Elements interfaces using the Checkout Sessions API. The choices differ in customization, built-in interface features, and ongoing maintenance. Other providers draw their product boundaries differently.

A distinctive brand does not automatically require a custom payment form. List the buyer information, order changes, payment methods, and confirmation experience you need. Make a separate list of visual preferences. This prevents an aesthetic request from quietly becoming an engineering commitment that nobody has budgeted to maintain.

References: Stripe: Checkout integration choices

Compare the three options against your order flow

Ask the implementation team to show the same order in every feasible option. Include the product summary, discounts, shipping or service details, taxes where applicable, and the customer account created after purchase. A screenshots-only demo will not show which parts require additional development.

Compare the three options against your order flow
ApproachUseful starting pointWork to confirm
Hosted pageA supported purchase flow where a redirect is acceptable.Brand settings, return path, customer recognition, and session expiration.
Embedded interfaceA purchase that should remain within the site's page structure.Container behavior, responsive layout, loading states, and supported features.
Custom interfaceDocumented order requirements the simpler interfaces cannot meet.Accessible interaction, order presentation, validation, release ownership, and maintenance.

Define a difficult order before the first design review

Use a representative order with a discount, a change in quantity, and a customer returning after abandoning the page. For subscriptions, include a trial or renewal only if the business actually offers it. The objective is to uncover behavior the business needs, not to demonstrate every capability a provider sells.

Ask what happens when the customer's cart changes in another tab, a price expires, or the chosen item is no longer available. Agree which system supplies the authoritative price and eligibility. The payment interface must not quietly accept a stale total simply because it was already visible in the browser.

Product and finance should approve the order summary together. A line that looks convenient to a designer can be ambiguous to a customer or difficult to map to an invoice. Capture the product identifier, quantity, discount, currency, and applicable tax treatment in the agreed data contract before implementation begins.

A success page is not the whole fulfillment system

A customer may pay and lose their connection before returning to your site. Stripe's fulfillment guide therefore requires a webhook-based path for automatic fulfillment and warns against depending only on the landing page. It also calls for handling repeated fulfillment requests safely and checking the relevant payment status.

Translate those technical requirements into a buyer test: a paid customer gets the correct product once, an unpaid order does not unlock it, and support can determine what happened if the browser closes. Include a delayed payment method if you intend to accept one. Completing a checkout session and receiving a final successful payment can be different events.

Require the team to demonstrate recovery after an interrupted notification. Someone should be able to locate the payment, see the fulfillment status, and safely complete the outstanding work. A polished payment page is only one part of a reliable purchase.

References: Stripe: Fulfill Checkout orders

Test accessibility and small screens with the entire purchase

Check the page with a keyboard, at a narrow phone width, and with enlarged text. The customer should be able to identify each input, understand an error, move through the form in a sensible order, and return to the order summary. Include the provider's interface and your surrounding page in the same review.

Look at the transition into and out of checkout. A redirect that loses the cart or a custom page that hides the final amount can cause confusion. Test the back button, expired sessions, unsupported payment methods, and a slow connection. Record what the buyer sees and what your support team can observe.

Do not assume that an embedded component automatically makes your complete page accessible. Likewise, do not assume a custom design improves conversion. If conversion is the reason for extra development, define a measurable hypothesis and a fair comparison before launch.

Budget for the next change, not only the first release

Obtain an implementation estimate and an ongoing ownership plan. Name who handles provider updates, monitoring, customer-facing errors, payment-method changes, and regression checks. A custom approach needs a funded owner even when the original developer leaves or the business pauses feature work.

Security responsibilities also depend on the actual integration and data flow. Ask the provider and your qualified security adviser what applies to the chosen implementation. The FTC's business security guidance supports minimizing retained sensitive data and limiting access; avoid designing an unnecessary card-data store simply to gain control over the appearance of a form.

Keep test data separate from real customer records and give each team member only the access needed for their work. Document where payment data is captured, where order data is stored, and how an access change is handled when someone leaves the team.

References: FTC: Start with Security, a guide for business

Make the launch decision from a completed purchase

Before approval, have a reviewer complete a purchase, receive the product, request a refund, and locate the resulting records. Confirm that the correct order and payment identifiers reach customer support and finance. Preserve the test results with the chosen configuration and outstanding limitations.

Select hosted or embedded checkout when it meets the documented needs and your team can operate the surrounding workflow. Select custom checkout when a specific requirement warrants the additional responsibility and there is an owner for that work. Revisit the decision when the business model changes, rather than rebuilding checkout just because another option exists.

Sources

Requirements and product details can change. Check the linked guidance for the facts that apply to your situation.

Related reading

Need help with this work?

General information, not personalized accounting, tax, legal, or investment advice. Have the appropriate qualified professional review decisions that depend on your circumstances.