Cards
NFC cards are physical payment cards that link to subscriber wallets. SmartPay supports parent cards (full access) and child cards (limited/delegated access).
Card Types
Primary card linked to subscriber
- Full wallet access
- Can create child cards
- Required for most operations
Delegated access card
- Daily spending limit
- For dependents/employees
- Separate PIN from parent
Endpoints
POST /api/v1/cards/link
Link parent card to subscriber
POST /api/v1/cards/child
Create child card with limits
GET /api/v1/cards/{serial}
Get card details by serial
GET /api/v1/cards
List all cards with filters
POST /api/v1/cards/{serial}/block
Block card from transactions
POST /api/v1/cards/{serial}/unblock
Restore blocked card
POST /api/v1/cards/upload-csv
Bulk upload cards from CSV
Card Object
{
"serial": "OLIV0001",
"mac_address": "AA:BB:CC:DD:EE:01",
"type": "PARENT",
"status": "ACTIVE",
"subscriber_id": "sub_abc123",
"subscriber_name": "John Doe",
"parent_serial": null,
"daily_limit": null,
"linked_at": "2025-01-15T10:30:00Z",
"created_at": "2025-01-01T00:00:00Z"
}
Card Status
Available for linking
Ready for transactions
Temporarily disabled
Permanently disabled
Card Lifecycle
Admin uploads cards via CSV with serial and MAC address
Card linked to subscriber as parent or child
Card ready for POS payments and transactions
Card can be temporarily blocked if needed
Common Workflows
Link New Card
- Ensure card exists in system (uploaded via CSV)
- Call
POST /api/v1/cards/linkwith subscriber ID and card serial - Subscriber's PIN is set on the card
- Card status changes to ACTIVE
Create Child Card
- Parent must have a linked parent card
- Call
POST /api/v1/cards/childwith limits and child info - Child PIN is set (different from parent)
- Child can spend up to daily limit
Report Lost Card
- Customer reports lost card
- Call
POST /api/v1/cards/{serial}/blockwith reason "lost" - Card is permanently blocked
- Issue new card and link to subscriber
Bulk Card Import
- Prepare CSV with columns: Serial No., MAC Address
- MAC supports 6-octet (AA:BB:CC:DD:EE:FF) or 7-octet formats
- Upload via
POST /api/v1/cards/upload-csv - Cards created with status "Unassigned"