Skip to content

The difference between inline and checkout form layouts

WP Full Pay supports two types of payment form layouts:

  1. Inline
  2. Checkout

These layouts come with different visuals, and there are functional differences as well.

You can download WP Full Pay plugin for free, create the forms and test Stripe transactions on your WordPress site.

In this article

Inline forms

Inline forms are best when you have enough space on the page to display the entire form at once.

  • Ideal for scenarios where there is ample screen space to display the entire form on a single page.
  • All fields are displayed simultaneously, and when the payment button is pressed, the form is submitted.
  • Suited for situations where users can complete the payment process without leaving the current page.

Inline payment forms show all fields together, and when the payment button is clicked, the form is submitted.

WP Full Pay - Inline form example

Important: Inline forms no longer create an unnecessary PaymentIntent just because the page loads or refreshes. A PaymentIntent can still appear in Stripe when a visitor or bot starts submitting the form but does not complete confirmation.

If minimizing incomplete Stripe transactions is important to you, use reCAPTCHA, monitor suspicious traffic, and consider a Checkout form for high-risk pages because Checkout keeps more of the payment flow on Stripe's hosted page.

⚠️ Known issue: Inline-form payments may appear as Guest in your Stripe dashboard instead of being associated with a Stripe Customer. If your workflow depends on Stripe Customer records — for example, for the customer portal, subscription management, or receipts linked to a customer — use a Checkout form as a workaround until a fix is released.

Checkout forms

Checkout forms are best when space is limited or when you want to embed payment forms in a pricing table. These forms are hosted by Stripe. The plugin sends visitors to the checkout form for payment and ensures they're redirected back to the starting page after payment.

  • Suitable when screen space is limited or when embedding payment forms in a pricing table.
  • Hosted by Stripe, meaning the actual payment form is on Stripe's platform.
  • The plugin redirects visitors to the checkout form for payment and ensures they are redirected back to the starting page after completing the payment.
  • Useful when a more compact or embedded form is preferred, and the payment process involves redirection to a dedicated checkout page.

Checkout forms display a button on the page which opens the form on Stripe’s website:

WP Full Pay - Checkout form example

Checkout forms might display additional fields on the page:

WP Full Pay - Check form example with extra fields

Pressing the button sends the visitor to the checkout form where one can enter name, credit card data, billing address, and submit the form:

WP Full Pay - Popup form example with extra fields

Submitting the form redirects back to your website, and the customer gets feedback on the page the checkout form was opened from:

WP Full Pay - Checkout form payment success

Functional differences of inline and checkout forms

  • Inline forms allow users to complete the entire payment process on the current page, while Checkout forms involve redirection to a dedicated Stripe-hosted page.
  • Checkout forms are advantageous when space is a constraint or when the desire is to embed payment forms within a specific context, such as a pricing table.

PaymentIntent creation

Inline forms and Checkout forms behave differently with respect to when Stripe payment records are created:

  • Inline forms no longer create a Stripe PaymentIntent on page load. A PaymentIntent is created later in the flow when the form is being submitted, so abandoned or failed attempts may still appear as incomplete Stripe records.
  • Checkout forms do not create a PaymentIntent (or Checkout Session) until the visitor clicks the payment button and is redirected to Stripe's hosted page. This means entries in Stripe are only created near the time of an actual transaction.

If minimizing the number of incomplete PaymentIntent entries in your Stripe dashboard is important, protect inline forms with reCAPTCHA and consider Checkout layout for high-risk pages.

The choice between Inline and Checkout forms depends on the design preferences, available screen space, and the desired user experience for handling payments on your WordPress site.

The following table compares the two layouts in detail:

InlineCheckout
VisualsThe entire form is visible on the pageOnly the (optional) product selector, and the button to open a form are on the page
Payment locationOn your websiteOn stripe.com’s hosted page
Stripe customer behaviorExisting customer used on repeat purchase — see the known issue note in the Inline forms sectionNew customer created on every purchase
PaymentIntent creationCreated during form submission, not on page loadCreated when the visitor initiates checkout
SCA / 3DS compliantYesYes
PCI compliantYesYes
Display languagesDanish, English, French, German, Italian, Japanese, Spanish34 languages
Currency formatConfigurableAuto-detected
Translate/change labelsYesNo
Product images shownNoYes
DiscountsCoupons and promotional codesPromotional codes
Billing addressSupportedSupported
Shipping addressSupportedSupported
Custom fieldsSupportedSupported (Displayed on the website, not on Stripe’s hosted page)
Simple button layoutNot applicableYes
Billing anchor dayYesNo
Email receiptsPlugin and StripePlugin and Stripe
Google reCAPTCHASupportedSupported
Customer portalSupportedSupport with side effects, due to Stripe customer behavior (see above)
Tax behaviorNo tax, fixed, and dynamic via Stripe tax ratesNo tax, fixed, and dynamic via Stripe tax rates
Thank you pageSupportedSupported
Stripe dashboard impactIncomplete PaymentIntents can appear for abandoned or failed submission attempts, but not for simple page loadsNo Stripe record created until the visitor actively starts checkout
Was this helpful?