Terminal API auto card surcharge (Beta) never applies — enrollment path for Connected Terminal?

Hi,

We build a point-of-sale app for service businesses that drives Square Terminals via the Terminal API.

Our sellers have completed credit card surcharge onboarding in the Square Dashboard (Beta, 3%). The Terminal displays the surcharge during checkout. We create checkouts with POST /v2/terminals/checkouts on Square-Version 2026-01-22, and every request sets device_options.allow_auto_card_surcharge: true — retrieving the stored checkouts confirms the flag is persisted. The Terminal runs OS 5.65 / app 7.13 (above the documented 5.57.0000 / 6.79 floor, and “Check for updates” reports up to date). Checkouts are order-backed (order_id set, amount_money pinned to the order total).

Yet completed payments — including credit cards (Visa/Mastercard/Amex, card_details.card.card_type = “CREDIT”, CARD_PRESENT) — have no card_details.applied_card_surcharge_details at all (not even proposed_card_surcharge_money). We verified this across 100+ recent production payments; not one was surcharged.

We understand the seller-facing docs say surcharges are “not supported for … Connected Terminal”, but the 2026-01-22 developer changelog says “Terminal API now supports adding a surcharge to credit card payments in the US”, and allow_auto_card_surcharge exists on DeviceCheckoutOptions for exactly this. Our questions:

  1. Is Terminal-API auto card surcharging a separately gated beta? If so, how do we enroll (per application, per seller, or both)?
  2. If it is not yet live, what is the expected GA timeline?
  3. Are there request-shape constraints we should know about (e.g. order-backed vs. amount-only checkouts, show_itemized_cart, tip settings)?
  4. If the exclusion is permanent, what is the recommended compliant pattern for fee pass-through on Terminal-API checkouts?

Happy to share our application ID and example payment IDs via DM. Thanks!

Thank you for the detailed post. Sending you a DM now!

replied to the message. thanks