Skip to main content

Single-Use Cards

A single-use card is a virtual card that automatically terminates the moment its first purchase settles. Once the card is used and the transaction clears, Fyatu marks it TERMINATED and fires a CARD_TERMINATED webhook — no manual action required. Single-use cards are ideal for:
  • Vendor payments — one card per invoice, card is dead after payment settles
  • Employee expense reimbursements — pre-approved amount, automatic cleanup
  • Guest checkout — issue a disposable card to a customer, expire it after purchase
Single-use cards must be backed by a product with isOneTimeUse: true. Contact your account manager to enable this flag on a product. Single-use products must also have JIT enabled (hasJIT: true) — the program ledger, not a pre-loaded balance, authorises each transaction.

How It Works

If the transaction is reversed (merchant cancels before clearing), the card remains ACTIVE so the cardholder can use it again. Termination only fires on a settled, non-reversed clearing.

Issuing a Single-Use Card

The request is identical to any other card — the productId determines the card type. You may optionally set spendingLimit to override the default $100.00 per-transaction cap:
Response — isOneTimeUse: true confirms the card will self-terminate:

Spending Limit

The spendingLimit maps to a TRANSAMOUNT limit type — a single-transaction ceiling enforced by the card network before the authorization even reaches your JIT webhook.

Auto-Termination Lifecycle

After a single-use card settles its first transaction:
  1. Fyatu receives the clearing event from the card network
  2. TRANSACTION_CLEARED fires to your webhook endpoint
  3. Fyatu immediately hard-terminates the card
  4. DB status → TERMINATED, terminatedBy = SYSTEM
  5. CARD_TERMINATED fires with reason: SINGLE_USE_EXHAUSTED
The gap between TRANSACTION_CLEARED and CARD_TERMINATED is typically under one second.

CARD_TERMINATED Webhook

reason: SINGLE_USE_EXHAUSTED distinguishes automatic single-use termination from manual terminations triggered via the API or portal (reason absent or "MANUAL").

JIT Authorization on Single-Use Cards

Single-use cards participate in the full JIT authorization flow. Your CARD_AUTHORIZATION_VERIFY handler receives an extra field: The rest of the flow is identical to standard JIT cards. See JIT Cards for the full webhook reference.

Single-Use vs JIT vs Pre-Funded


Sandbox Testing

In SANDBOX mode, JIT authorizations approve automatically and single-use termination fires normally after the clearing event. You can use the simulation endpoint to test the full lifecycle:

Webhook Events Summary