Cards Overview
FYATU’s Card Issuing API enables you to issue branded payment cards to your verified cardholders. Cards can be used for online payments, subscriptions, in-store purchases, and ATM withdrawals (physical cards).
Card Concept
A card represents a set of identifiers used for purchases: the PAN (16-digit “long number”), expiry date, CVV (3-digit verification code), and for physical cards, cryptographic data stored on the chip.
When a card is deactivated (lost, expired, or terminated) and a replacement is issued, it creates a completely new card with a new ID, different CVV, and potentially different expiry date. Over time, multiple cards may accumulate under a cardholder account, some of which are no longer active.
Cards are bound to a monthly (rolling 30-day) spending limit, typically 5 , 000 o r 5,000 or 5 , 000 or 10,000.
Card Types
Virtual Cards
Digital cards for online transactions. Issued instantly and active by default .
Feature Description Issuance Instant Initial Status Active (ready to use) Use Cases Online shopping, subscriptions, digital services Card Networks Mastercard, Visa (coming soon) Can be tokenized Yes
Physical Cards (Coming Soon)
Plastic or metal cards shipped to the cardholder’s address. Physical cards are inactive by default and require activation.
Feature Plastic Metal Material PVC plastic Stainless steel Delivery 7-14 business days 7-14 business days Initial Status Inactive (requires activation) Use Cases In-store, ATM, online Premium experience Contactless Yes Yes Can be tokenized Yes Yes
Digital Cards / Tokenized (Coming Soon)
Cards provisioned directly to Apple Pay, Google Pay, and Samsung Pay. Digital cards are created from an existing active virtual or physical card and are active by default .
Feature Description Requirements Existing active virtual or physical card Issuance Instant (push to wallet) Initial Status Active Has visible card number No (tokenized) Can be suspended No
Crypto Cards (Coming Soon)
Cards funded directly from cryptocurrency balances with automatic conversion.
Card Lifecycle
Card Statuses
Status Description Can Transact Can Fund Can Unfreeze INACTIVECard issued but not yet activated. Applies to physical cards only. No No N/A ACTIVECard is currently usable for all transactions. Yes Yes N/A FROZENTemporarily frozen by cardholder or business. Transactions rejected but card can be unfrozen. No Yes Yes SUSPENDEDSuspended by system due to fraud detection, compliance issues, or excessive declined transactions. No Yes* Contact support TERMINATEDPermanently closed. Covers: Cancelled, Lost, Stolen, Expired, or Deleted cards. Cannot be reactivated. No No No
SUSPENDED vs FROZEN : A FROZEN card is temporarily disabled by the cardholder/business and can be unfrozen via API. A SUSPENDED card is disabled by the system (fraud, compliance, or 15+ insufficient funds declines) and requires support intervention or funding (for decline suspensions) to resolve.
Status Transitions
User Action Previous Status New Status Create physical card — INACTIVECreate virtual card — ACTIVECreate digital (tokenized) card — ACTIVEActivate with code INACTIVEACTIVEFreeze ACTIVEFROZENUnfreeze FROZENACTIVESystem detects fraud ACTIVE/FROZENSUSPENDED15 insufficient funds declines ACTIVESUSPENDEDFund card (resets decline count) SUSPENDED (decline)ACTIVESupport resolves issue SUSPENDEDACTIVERevoke / Delete ACTIVE/FROZEN/SUSPENDEDTERMINATEDReport lost ACTIVE/FROZENTERMINATEDReport stolen ACTIVE/FROZENTERMINATEDCard expires Any non-terminated TERMINATED
Decline Count & Auto-Suspension
Cards track the number of declined transactions due to insufficient funds:
Decline limit : 15 consecutive insufficient funds declines
Auto-suspension : Card is automatically suspended after reaching the limit
Reset : Funding the card resets the decline count and reactivates the card (if not at limit)
Prevention : Monitor declineCount in card details to warn users before suspension
Fee Structure
Fees are configured per business and can be customized. Use the Get Pricing endpoint to retrieve your current fee structure.
Fee Types
Fee Code Description Type When Applied CARD_ISSUANCE_FEECard creation fee Fixed When card is issued CARD_FUNDING_FEEFee for loading funds Percentage When funding card CARD_UNLOADING_FEEFee for withdrawing funds Percentage When unloading card CARD_MONTHLY_FEEMonthly maintenance Fixed Monthly CARD_REPLACEMENT_FEEReplacement card fee Fixed When replacing card CARD_PLASTIC_FEEPhysical plastic card Fixed For physical cards CARD_METAL_FEEPhysical metal card Fixed For metal cards DECLINE_FEEDeclined transaction fee Fixed Per declined transaction
Verified businesses (KYB approved) may receive reduced fees. Use the Get Pricing endpoint to retrieve your current rates.
Holding Balance
When creating a card, a holding balance is reserved for future monthly fees:
Spending Limit Holding Balance $5,000/month $1.00 $10,000/month $3.00
Spending Limits
Available Limits
Limit Monthly Cap Best For $5,000 Standard usage Most use cases $10,000 High-volume users Power users, businesses
Limit Behavior
Limits reset on the 1st of each month
Declined transactions when limit is reached
Limits apply to purchase transactions only (not funding/unloading)
Integration Flow
Creating a Card
Business KYB Required : Your business must have completed KYB verification (with a primary director and ID document) before creating cards. Individual cardholder KYC is not required for card creation - the business owner’s verified identity is used for card provisioning.
Example Request
const response = await fetch ( 'https://api.fyatu.com/api/v3/cards' , {
method: 'POST' ,
headers: {
'Authorization' : `Bearer ${ accessToken } ` ,
'Content-Type' : 'application/json'
},
body: JSON . stringify ({
cardholderId: 'ch_xyz789ghi012' ,
amount: 100.00 ,
name: 'JOHN DOE' , // Optional, defaults to cardholder name
spendingLimit: 5000 // Optional, default 5000
})
});
Card Operations
Funding
Add funds to a card from your business wallet:
POST / cards / { cardId } / fund
{ "amount" : 50.00 }
Funding fee is calculated as a percentage with a minimum
Full amount is added to card balance
Fee is deducted from business wallet separately
Unloading
Withdraw funds from card back to your wallet:
POST / cards / { cardId } / unload
{ "amount" : 25.00 }
Unloading fee may apply based on your pricing
Cannot unload more than available balance
Freeze / Unfreeze
Temporarily disable a card:
POST / cards / { cardId } / freeze // Disable transactions
POST / cards / { cardId } / unfreeze // Re-enable transactions
Frozen cards cannot make purchases
Balance is preserved while frozen
Can still fund/unload while frozen
Terminate
Permanently close a card:
DELETE / cards / { cardId }
{
"reason" : "Customer requested closure" , // Optional, defaults to "Terminated by the user"
"reference" : "REF123456" // Optional, defaults to cardId
}
Balance Refund : When a card is terminated, any remaining balance on the card is automatically refunded to your business wallet. For example, if the card has $25.00 remaining, that amount is credited back to your wallet balance.
No termination fee - balance is refunded in full
Card cannot be reactivated
Cardholder can still have other active cards
Provide a custom reason for record-keeping (visible in webhooks and logs)
Terminate Response
{
"status" : true ,
"message" : "Card terminated successfully" ,
"data" : {
"id" : "CRD678E4F2A1B3C9" ,
"status" : "TERMINATED" ,
"reason" : "Customer requested closure" ,
"refundedBalance" : 25.00 ,
"terminatedAt" : "2026-01-15T10:30:00+00:00" ,
"reference" : "REF123456"
}
}
Transactions
Transaction Types
Type Description debitPurchase or payment (money out) creditRefund or cashback (money in) fundingCard funding operation unloadCard unloading operation
Transaction Statuses
Status Description PENDINGAuthorization hold COMPLETEDSuccessfully settled DECLINEDTransaction rejected REVERSEDRefunded or reversed
Retrieving Transactions
GET / cards / { cardId } / transactions ? page = 1
Webhooks
Card Events
Event Trigger card.createdNew card issued card.activatedPhysical card activated with code card.fundedFunds added to card card.unloadedFunds withdrawn from card card.frozenCard frozen by owner card.unfrozenCard unfrozen by owner card.suspendedCard suspended by system (fraud, compliance, decline limit) card.reactivatedSuspended card reactivated (after funding or support resolution) card.terminatedCard permanently closed (cancelled, lost, stolen, expired)
Transaction Events
Event Trigger card.transaction.authorizedTransaction approved card.transaction.declinedTransaction declined card.transaction.settledTransaction completed card.transaction.reversedTransaction reversed
Webhook Payload Examples
card.funded
{
"event" : "card.funded" ,
"data" : {
"cardId" : "CRD17368945521234" ,
"cardholderId" : "ch_xyz789ghi012" ,
"amount" : 50.00 ,
"fee" : 0 ,
"currency" : "USD" ,
"reference" : "FND17368945527890" ,
"status" : "SUCCESS"
},
"timestamp" : "2026-01-15T10:30:00+00:00"
}
card.terminated
{
"event" : "card.terminated" ,
"data" : {
"cardId" : "CRD678E4F2A1B3C9" ,
"cardholderId" : "ch_xyz789ghi012" ,
"refundedBalance" : 25.00 ,
"reference" : "REF123456" ,
"reason" : "Customer requested closure" ,
"status" : "TERMINATED"
},
"timestamp" : "2026-01-15T10:30:00+00:00"
}
Best Practices
Security
Secure Card Data Handling
Never log or store full card numbers
Use masked numbers in UI displays
Implement proper access controls
Audit all card data access
Monitor transaction patterns
Implement velocity checks
Enable freeze functionality for users
Set appropriate spending limits
Operational
Balance Monitoring : Keep sufficient wallet balance for card operations
Webhook Integration : Handle all card events for real-time updates
Error Handling : Implement retry logic for transient failures
Limit Management : Start with lower limits, increase based on usage
Error Handling
Error Code Cause Resolution INSUFFICIENT_BALANCEWallet balance too low Top up business wallet INSUFFICIENT_CARD_BALANCECard balance too low Fund the card CARD_NOT_ACTIVECard is frozen/suspended/terminated Check status, unfreeze if frozen, or use different card CARD_INACTIVEPhysical card not yet activated Activate the card with activation code CARD_SUSPENDEDCard suspended by system Fund the card (if decline-suspended) or contact support CARD_TERMINATEDCard permanently closed Issue a new card CARDHOLDER_INACTIVECardholder not active Activate cardholder first BUSINESS_KYB_REQUIREDBusiness verification incomplete Complete KYB verification before creating cards ALREADY_FROZENCard already frozen No action needed ALREADY_ACTIVECard already active No action needed ALREADY_TERMINATEDCard already terminated No action needed DECLINE_LIMIT_REACHED15 insufficient funds declines Fund the card to reset and reactivate
Integration Checklist
API Reference
Card Management
Card Operations