The Eden Tokenization Service is a Spring Boot microservice that manages instrument tokens for payment cards. These tokens are digital representations of payment cards used in mobile wallets (Apple Pay, Google Pay) and other digital payment scenarios. The service acts as a central repository and management layer for tokenized payment instruments.
The service exposes three main REST API groups:
Instrument Token APIs (InstrumentTokenAPI)
System-level APIs for managing tokens at the instrument level:
POST /api/v1/tenants/{tenantId}/instruments/{instrumentId}/tokens - Create instrument token
GET /api/v1/tenants/{tenantId}/instruments/{instrumentId}/tokens/{tokenId} - Get specific token
GET /api/v1/tenants/{tenantId}/instruments/{instrumentId}/tokens - Get all tokens (paginated)
PATCH /api/v1/tenants/{tenantId}/instruments/{instrumentId}/tokens/{tokenId} - Update specific token
PATCH /api/v1/tenants/{tenantId}/instruments/{instrumentId}/tokens - Update all tokens for instrument
GET /api/v1/tenants/{tenantId}/instruments/{instrumentId}/tokens/sync - Sync tokens with Tachyon
DELETE /api/v1/tenants/{tenantId}/instruments/{instrumentId}/tokens/{tokenId} - Delete specific token
DELETE /api/v1/tenants/{tenantId}/instruments/{instrumentId}/tokens - Delete all tokens for instrument
User Instrument Token APIs (InstrumentTokenUserAPI)
User-facing APIs for end-users to manage their tokens:
GET /api/v1/tenants/{tenantId}/users/{userId}/instruments/{instrumentId}/tokens/{tokenId} - Get user token
GET /api/v1/tenants/{tenantId}/users/{userId}/instruments/{instrumentId}/tokens - Get user tokens (paginated)
PATCH /api/v1/tenants/{tenantId}/users/{userId}/instruments/{instrumentId}/tokens/{tokenId} - Update user token
DELETE /api/v1/tenants/{tenantId}/users/{userId}/instruments/{instrumentId}/tokens/{tokenId} - Delete user token
POST /api/v1/tenants/{tenantId}/users/{userId}/instruments/{instrumentId}/tokens/google-pay/provision - Provision Google Pay token
POST /api/v1/tenants/{tenantId}/users/{userId}/instruments/{instrumentId}/tokens/apple-pay/provision - Provision Apple Pay token
Tachyon Webhook APIs (TachyonWebhookAPI)
Webhook endpoint for receiving events from Tachyon (token service provider):
POST /api/v1/tenants/{tenantId}/webhooks/tachyon/instrument-tokens - Process instrument token events from Tachyon
Events Consumed
Event Type: USER_ACTIVITY_CREATED
Purpose: Enriches instrument token data with missing information when user activity is detected
What it does:
Listens to user activity events from Kafka
When tokens have missing data (instrumentTokenIdsWithMissingData), fetches complete token information from Supercard
Updates tokens with missing source, sourceDetails, and device information
TOKEN_UPDATED - When a token is updated in Tachyon
Purpose: Keeps local token database in sync with Tachyon (Token Service Provider)
What it does:
Receives webhook callbacks from Tachyon
Creates or updates instrument tokens based on events
Feature-flagged per user via INSTRUMENT_TOKEN_EVENT_PROCESSING_ENABLED_USER_IDS
Validates token state and handles error scenarios gracefully
Feature control services
INSTRUMENT_TOKEN_EVENT_PROCESSING_ENABLED_USER_IDS