Feature request: Embeddable / inline card entry for Flutter (In-App Payments) and Web — multi-POS restaurant apps

Hello Square team,

We are building a multi-POS restaurant ordering platform (web + Flutter mobile) that supports Square along with other payment processors (including Clover and Swirepay). Our goal is one consistent, in-app checkout experience across providers.

Current behavior with Square

  • Web: We use the Web Payments SDK payments.card() form. Styling via CardClassSelectors helps with colors/fonts/borders, but layout/structure is limited (no individually mountable card number / expiry / CVV fields). This has been confirmed in prior threads such as Custom UI Requirement for Payment Form and Web Payments SDK styling.
  • Mobile (Flutter): We use the official Flutter plugin for the In-App Payments SDK (square_in_app_payments). Calling InAppPayments.startCardEntryFlow() opens a full-screen native card entry screen/sheet. We can apply theme customization (iOS setIOSCardEntryTheme / Android sqip.Theme.CardEntry), but we cannot render Square card fields inline inside our checkout UI.

Why this is a problem for us

For our other processors, card number, expiry, and CVV are shown inline on the same checkout screen (same labels, spacing, and flow as the rest of the app). With Square on mobile, customers leave our checkout UI and enter a separate Square card-entry window/screen. That feels inconsistent and less user-friendly, especially when the same restaurant brand uses Square on one domain and another POS elsewhere.

We are not requesting the ability to send raw PAN data to CreatePayment. We understand Square’s PCI model and that tokenization must stay in Square-hosted components.

Feature request

Please consider supporting PCI-compliant, embeddable/inline hosted card fields for:

  1. In-App Payments SDK + Flutter plugin — mount card fields inside our Flutter checkout screen (instead of only startCardEntryFlow full-screen UI), with optional split fields (number / expiry / CVV / postal).
  2. Web Payments SDK — individually mountable hosted fields (or equivalent layout control) so web can match the same inline checkout pattern.

Theme-only customization is helpful, but it does not solve the core UX gap: inline checkout vs separate Square card-entry screen.

Impact

This would make Square much easier to adopt in multi-processor restaurant SaaS products where merchants expect the same payment UX across web and mobile, regardless of POS backend.

Attached are screenshots of our current web and Mobile checkout UIs with inline card fields (other POS providers). Please use these as a reference for the consistent in-app payment experience we need to achieve with Square as well.

Thank you for considering this request.
S. Gobeeshan
Mammilway
Software Engineer

Thank you for the feedback! This has been passed along to our product team for review and consideration.

1 Like