Card Issuance APIs

Overview

FinFusion's Card Issuance APIs provide a comprehensive suite of services for issuing and managing both virtual and physical cards. Integrate with multiple card issuers, processors, and networks through a single unified API.

Card Issuance Providers

Marqeta

Features

  • Virtual & Physical Cards
  • Just-in-Time Funding
  • Dynamic Spend Controls
  • Tokenization

Card Types

Credit Debit Prepaid

Regions

Global

Galileo

Features

  • Card Processing
  • Program Management
  • Fraud Prevention
  • Digital Banking

Card Types

Debit Credit Commercial

Regions

US Latin America

Stripe Issuing

Features

  • Programmatic Cards
  • Real-time Authorization
  • Spend Controls
  • Virtual Cards

Card Types

Commercial Virtual

Regions

US Europe

Integration Examples

Virtual Card Issuance


// Create a virtual card
const virtualCard = await finfusion.cards.create({
  type: 'VIRTUAL',
  customer_id: 'cust_123',
  funding_source: {
    type: 'WALLET',
    id: 'wallet_456'
  },
  controls: {
    spend_limit: 5000,
    merchant_categories: ['5811', '5812'], // Restaurants only
    geographic_restrictions: ['US', 'CA'],
    channel_restrictions: ['ONLINE']
  },
  metadata: {
    purpose: 'Business Expenses',
    department: 'Sales'
  }
});
    

Physical Card Issuance


// Issue a physical card
const physicalCard = await finfusion.cards.create({
  type: 'PHYSICAL',
  customer_id: 'cust_123',
  shipping: {
    recipient_name: 'John Doe',
    address: {
      line1: '123 Main St',
      city: 'San Francisco',
      state: 'CA',
      postal_code: '94105',
      country: 'US'
    },
    method: 'PRIORITY'
  },
  design: {
    template: 'PREMIUM_METAL',
    color: 'BLACK'
  }
});
    

Card Controls Management


// Update card controls
const updatedControls = await finfusion.cards.updateControls('card_123', {
  status: 'ACTIVE',
  spend_limit: {
    amount: 10000,
    interval: 'MONTHLY'
  },
  allowed_categories: ['TRAVEL', 'DINING'],
  blocked_categories: ['GAMBLING', 'ADULT'],
  geographic_controls: {
    allowed_countries: ['US', 'CA', 'GB'],
    block_international: true
  },
  channel_controls: {
    enable_online: true,
    enable_contactless: true,
    enable_atm: false
  }
});
    

Webhook Events

card.created

Triggered when a new card is created

{
  "card_id": "card_123",
  "status": "ISSUED",
  "timestamp": "2024-01-20T10:00:00Z"
}

card.activated

Triggered when a card is activated

{
  "card_id": "card_123",
  "activation_method": "APP",
  "timestamp": "2024-01-20T10:05:00Z"
}

transaction.authorized

Triggered when a transaction is authorized

{
  "card_id": "card_123",
  "transaction_id": "txn_456",
  "amount": 100,
  "merchant": {
    "name": "Merchant Name",
    "category": "5812"
  }
}