Skip to main content

Virtual card integration for Sardis payment platform

Project description

sardis-cards

Virtual card integration for Sardis payment platform.

Overview

This package provides virtual card issuance and management capabilities for AI agent wallets. It supports multiple card providers with Lithic as the primary integration.

Supported Providers

  • Lithic (recommended) - Developer-friendly API, used by Mercury, Brex, Ramp
  • Mock - For testing and development

Features

  • Issue virtual cards linked to agent wallets
  • Pre-load cards from stablecoin balances or bank transfers
  • Per-transaction, daily, and monthly spending limits
  • Merchant category controls
  • Real-time transaction webhooks
  • Card freeze/unfreeze operations

Installation

pip install sardis-cards

# With Lithic provider
pip install sardis-cards[lithic]

Quick Start

from sardis_cards import CardService
from sardis_cards.providers.lithic import LithicProvider

# Initialize provider
provider = LithicProvider(api_key="your_lithic_api_key")
service = CardService(provider=provider)

# Issue a virtual card
card = await service.issue_card(
    wallet_id="wallet_123",
    card_type="virtual",
    limit_per_tx=500.00,
    limit_daily=2000.00,
)

# Fund the card
await service.fund_card(
    card_id=card.card_id,
    amount=100.00,
    source="stablecoin",
)

# Get card details
card = await service.get_card(card_id=card.card_id)

Webhooks

Handle card transaction webhooks:

from sardis_cards.webhooks import CardWebhookHandler

handler = CardWebhookHandler(secret="your_webhook_secret")

@app.post("/webhooks/cards")
async def handle_card_webhook(request: Request):
    event = handler.verify_and_parse(
        payload=await request.body(),
        signature=request.headers.get("X-Lithic-Signature"),
    )
    
    if event.type == "transaction.created":
        # Handle new transaction
        pass

Configuration

Set environment variables:

LITHIC_API_KEY=your_api_key
LITHIC_ENVIRONMENT=sandbox  # or production
LITHIC_WEBHOOK_SECRET=your_webhook_secret

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sardis_cards-1.0.0.tar.gz (57.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sardis_cards-1.0.0-py3-none-any.whl (67.6 kB view details)

Uploaded Python 3

File details

Details for the file sardis_cards-1.0.0.tar.gz.

File metadata

  • Download URL: sardis_cards-1.0.0.tar.gz
  • Upload date:
  • Size: 57.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for sardis_cards-1.0.0.tar.gz
Algorithm Hash digest
SHA256 7ac9a57038c99fa2a1c377304132d8d81cffc9d3226725b6f263c5293c6da48b
MD5 128d023f53c8e27b335060da46808ff7
BLAKE2b-256 c5d567e73a93ee72cb8ccf7de6c5b1643bc1f07ce0506765ad0796fb63b195bc

See more details on using hashes here.

File details

Details for the file sardis_cards-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: sardis_cards-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 67.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for sardis_cards-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f6ecf7d58e00a3172c5e45d03d10fcc8e840f899c522b2c2ea061d8015d63956
MD5 715846662548e8e21e13b5afb8bd6177
BLAKE2b-256 df75712b15a16fa6b30e66c1ae8bbf199be88d9ea7691043a7dccf7b8d589ce6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page