Factory
Options
All keys are optional.
Both bank modes are implicitly required.
fieldLayout
fieldLayout is an ordered array, not a string enum. Reorder manual-mode fields and group them into rows:
fields (manual mode)
accountType
When hidden, the validator skips the account-type check.
placeholder renders as a non-selectable prompt option at the top of the <select>; when a placeholder is set, defaultValue is ignored and the prompt is shown instead. Without a placeholder, defaultValue pre-selects 'checking' (or 'savings' if you override it).
routingNumber, accountNumber, confirmAccountNumber
Each accepts:
hidden is not supported on these three fields: they are interdependent and cannot be individually collapsed.
Value
The bank element emits a discriminated union ononSubmit keyed by mode. Manual-mode payloads carry encrypted account credentials; fast-signin (Plaid) payloads carry a linked-account token.
value.mode, then read the nested manual or plaid payload. Forward the full envelope to your server verbatim; do not attempt to unpack the encrypted* fields on the manual branch, they are decrypted server-side by Overflow.
FieldError.field values
'accountType', 'routingNumber', 'accountNumber', 'confirmAccountNumber', 'bank' (synthetic error when the shopper selects bank inside Checkout but never completes fast-signin).
Events
Every element event is supported. See Events overview.Methods
bank.mount(selector)bank.update(partialOptions)bank.submit(): void— validates and emitsonSubmit/onError. Control mode withmode.default/mode.lockTo(andupdate({ mode })).bank.unmount()bank.destroy()bank.on(event, handler)— subscribe to events.
Encryption cache helper
Calloverflow.invalidateBankFieldEncryptionCache() to force the next bank submit to re-encrypt with fresh keys (for example, after a long idle session). This is a top-level helper on the Overflow instance.