Skip to content

Changelog

2026-09-23

New features

  • API: Idempotency is now supported for all payment operations (sale, refund, capture, void, and more). Pass a unique idempotency key per request to guarantee that retries never create duplicate charges, even across network failures or timeouts. See the Idempotency docs.
  • API: Tax can now be configured on Payment Links and hosted Checkout pages, calculated inclusive or exclusive of the base amount and displayed as a clear subtotal/tax/total breakdown on the payer-facing page. See the Payment Links docs.
  • Elements: AVS fraud protection now includes full street address verification in addition to ZIP code. See the Elements docs.
  • Developer Portal: A public status page is now available showing real-time health and 30-day rolling uptime for all core services ISVs integrate with. See the status page.

2026-09-18

Bug fixes

  • Checkout: Fixed a validation gap where a payment session could be created with a referenceId exceeding 50 characters, only to fail with a cryptic error when the customer attempted to pay. The referenceId is now validated at session creation, returning a clear error upfront.

2026-09-14

New features

  • MCP: Launched an open-source MCP server that lets AI coding assistants (Claude, Codex, Cursor) drive the full Flute payments platform through 47 typed tools covering transactions, ACH, customers, POS, terminals, settlements, subscriptions, and API token management. Production writes are disabled by default and credentials are stored in the OS keychain. Available via Homebrew or built from source (MIT license). See GitHub.

2026-09-10

New features

  • API v2: Settlement: The Settlement resource is now available in the v2 API. See the API reference.

Bug fixes

  • iOS SDK: Fixed an issue where Tap to Pay and manual entry transactions could not be performed on sandbox merchant accounts in the iOS app, and the iPhone was not appearing in the Connected Devices list. Developers and QA teams can now fully test Tap to Pay flows in sandbox before going live.
  • Elements: Fixed a bug where an already-spent Cloudflare Turnstile token was being reused across payment sessions, causing legitimate transactions to fail with a bot_challenge_failed error. The token is now refreshed on every payment attempt and auto-retried on challenge failure.

Breaking changes

  • API v2: Settlements (API reference): As part of v2 beta API refinements, the following fields were updated to align with naming conventions and guidelines:
    • status renamed to batchStatus on list and response DTOs
    • orderBy renamed to sortBy on list requests
    • dateFrom renamed to fromDate and dateTo renamed to toDate on list requests
    • netAmount, salesAmount, refundsAmount renamed to totalNetAmount, totalSalesAmount, totalRefundsAmount
    • batchDateTime removed
    • message and processorResponseCode removed from responses

2026-08-31

Bug fixes

  • Elements: Fixed a security gap where transactions were being approved despite a missing billing address when AVS was configured to Moderate or Strict. Both ZIP code and street address are now validated before authorizing a transaction.

2026-08-26

New features

  • API: Payment links can now be created and managed programmatically via the v2 API. Supports fixed amount, open amount, and standard checkout flows, with card and ACH/EFT, tipping, and merchant branding. See the Payment Links docs and API reference.
  • API: The API now returns a clear HTTP 401 error when a sandbox API key is used against a production endpoint (or vice versa), preventing accidental real transactions during development.
  • Terminal SDK: ISV apps can now initiate a payment by calling a single method, handing off to the Flute Terminal app via deeplink for card read and processing, and receiving a typed result callback (approval, decline, or error) that automatically resumes the ISV app. No cloud round-trips or custom middleware required. Supported on certified Sunmi and Verifone device families. See the Terminal SDK docs.
  • iOS SDK: Any compatible iPhone can now be used as a secure payment terminal, accepting contactless cards, digital wallets, and NFC-enabled devices without dedicated POS hardware. Ideal for integrations targeting mobile merchants, pop-ups, and field service providers. See the iOS SDK docs.

Bug fixes

  • API: Fixed a delay where the POS terminal status remained "unavailable" for approximately one minute after a transaction completed. The terminal now updates to "available" as soon as the home screen is shown.

2026-08-14

Bug fixes

  • API: Fixed an issue where batch settlement data was lost during settlement processing due to a shared database context across parallel operations. Settlement records now reflect correctly via the API.

2026-08-12

New features

Bug fixes

  • API: Fixed two AVS issues: transactions were being recorded with the wrong AVS response code, and the Strict AVS profile was incorrectly approving partial-match transactions that should have been declined.

Breaking changes

  • API v2: Webhooks (API reference): As part of v2 beta API refinements, the following fields were updated to align with naming conventions and guidelines:

    • webhookName renamed to endpointName
    • status renamed to endpointStatus
    • createdAt renamed to createdOn
    • deliveryAttemptStatus renamed to deliveryLogStatus
    • success renamed to isDelivered on ping/delivery responses
    • eventType changed from an enum to a string
    • eventTypeId removed from event types responses
    • List and event-types responses moved from a data envelope to items
    • List endpoints are now paginated
  • API v2: Terminals (API reference): As part of v2 beta API refinements, the following fields were updated to align with naming conventions and guidelines:

    • orderBy renamed to sortBy on list requests
    • asc (bool) renamed to sortOrder (string) on list requests
    • terminalPosStatus renamed to terminalStatus on responses
    • lastSeenTimestamp renamed to lastSeenOn
    • terminalVersion renamed to terminalAppVersion
    • availabilityStatus removed
    • deliveryStatus removed
    • deviceSoftwareDetails object removed

2026-08-04

Bug fixes

  • Terminal: Fixed an issue where POS transactions would become stuck in a TransactionProcessing state without activating the terminal, blocking all subsequent payment attempts on that terminal with a "Transaction is already in progress" error and requiring manual cancellation via API as a workaround.