Skip to main content

ACH (Pay by Bank)

This page covers what's specific to the Pay by Bank (ACH) tab of <swirepay-checkout> — linking a bank account via Plaid and charging it via one of several ACH transfer types. For the shared integration flow, props reference, error/success payloads, theming, and testing, see SDK setup & flow; for minting the checkout session, see Checkout session.

paymentType — ACH transfer types

One or more of the following ACH transfer-type strings — the "Pay by Bank" tab only appears if at least one is present:

ValueDisplayed as
ACH_LEGACYStandard ACH
X_ACHX ACH
ZIP_ACHZIP ACH
RAPID_ACHRapid ACH
SWIFT_ACHSwift ACH
INSTANT_ACHInstant ACH

The default-selected chip follows a fixed priority regardless of the order you list them in: INSTANT_ACH > SWIFT_ACH > RAPID_ACH > ZIP_ACH > X_ACH > ACH_LEGACY.

Behavior

  • The shopper links a bank account via Plaid before charging it.
  • Supports both one-time payment and inventory-order scope, same as Card — see Checkout session. ACH is one of only two methods (with Card) that supports inventory-order checkouts.
  • save-payment-method/pay-through-saved-method are fully supported for ACH — same props, same fatal semantics as Card (see Prop interactions); this is a shared Card+ACH capability, not a Card-only feature.

Pitfalls

  • paymentType has no ACH entries — the "Pay by Bank" tab simply won't render; there's no separate flag to force it on.
  • save-payment-method without customer-gid — hard error, same as Card.
  • Treating pay-through-saved-method parse failures, or a declined saved-method charge, as recoverable — they are not; same as Card.

See SDK setup & flow → Common pitfalls for pitfalls that apply across all payment methods.