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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sardis_cards-1.1.0.tar.gz.
File metadata
- Download URL: sardis_cards-1.1.0.tar.gz
- Upload date:
- Size: 62.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e7df9e92ccd01a3a4e5afe1c04c8b4d865a03790bd1c28016bc540fa784562a5
|
|
| MD5 |
ef8e9bbe5a792c84d152c53d64155878
|
|
| BLAKE2b-256 |
f0be477ec3da07f02fa648ad7d162449947692b3ef0a7281c067eefece0ddbd6
|
File details
Details for the file sardis_cards-1.1.0-py3-none-any.whl.
File metadata
- Download URL: sardis_cards-1.1.0-py3-none-any.whl
- Upload date:
- Size: 71.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5701144859eb2ceea673c9f45f65a27dcb61036d5e9ba7ab311b28571a920179
|
|
| MD5 |
68b21d1dbf343bb6e075b44c6a186da4
|
|
| BLAKE2b-256 |
1a094c6d921b7c626448079819d220839a55e8876bcdad50c87d739fba947e96
|