搜 索

VAM IBAN Migration - System Changes by Feature

  • 46阅读
  • 2026年03月17日
  • 0评论
首页 / Default / 正文

Overview

This document details all system changes required for the ZAND IBAN migration, organized by functional modules for development planning and task assignment.

flowchart LR subgraph Features["Feature Modules"] F1[Auto Open ZAND] F2[Upload Migrate Files] F3[Customer Migration] F4[Notification & ToDo] F5[Merchant Enrollment] F6[Mini-program API] F7[Retry Scheduler] F8[Counter Retry Page] F9[Metrics & Monitors] end F1 --> F3 F2 --> F3 F2 --> F5 F3 --> F4 F5 --> F4 F3 --> F7 F5 --> F7 F7 --> F8 F3 --> F6 F5 --> F6 F3 --> F9 F5 --> F9 style F1 fill:#E6F3FF,stroke:#4A90D9 style F2 fill:#E6FFE6,stroke:#4A9D4A style F3 fill:#FFF3E6,stroke:#D99A4A style F4 fill:#FFE6E6,stroke:#D94A4A style F5 fill:#F0E6FF,stroke:#9A4AD9 style F6 fill:#E6FFFF,stroke:#4A9D9D style F7 fill:#FFFDE6,stroke:#9D9A4A style F8 fill:#F5F5F5,stroke:#666666 style F9 fill:#FFE6F3,stroke:#D94A9D


Feature 1: After KYC finished Auto Open ZAND Iban

Purpose: KYC完成后自动开户

MQ notification Changes(Visii)

ExchangeRoute KeyDescriptionChange
exchange.kyc.finishkyc.eid.finishKYC finish
exchange.kyc.finishkyc.eid.finish.vipVIP KYC finish

logic: recieved the notification and open ZAND Iban immediately.

have a switch to control the percent of new kyc users will be enrolled. (10% 30% 50% 100%)

Configuration

Config KeyTypeDefaultDescription
visii.zand.customer.autoOpenVarcharYMaster switch for auto IBAN opening
visii.zand.customer.openPercentInteger10Percentage of new KYC users to enroll (10/30/50/100)

Reconciliation

SourceTargeDescription
member.tm_membervisii.t_vaif not exists, then call openAccount api

Implemented CSC compensation api.

Reconciliation SQL:

SELECT m.user_id, m.mobile, m.email
FROM member.tm_member m
LEFT JOIN visii.t_va v ON m.user_id = v.user_id
WHERE m.kyc_status = 'PASSED'
  AND m.created_at >= DATE_SUB(NOW(), INTERVAL 7 DAY)
  AND (v.zand_iban IS NULL OR v.zand_status = 'FAILED');

Feature 2: Upload Migrate Files to import

Purpose: Upload Migrate File

Counter

Upload Migrate Files for both Customer and Merchant

Vis

Save the file info
Save file content to vis.t_migrate_record table
Idempotent process

Service Changes (VIS)

ServiceComponentChangeDescription
VISMigrateFileServiceNEWHandle file upload and storage
VISMigrateRecordServiceNEWSave and manage migration records

Feature 3: Customer Migration Engine

Purpose: Handle individual user migration from FAB VAM to PayBy VAM

Migration Flow

sequenceDiagram participant Engine as Migration Engine participant DB as Database participant ZAND as ZAND API participant FAB as FAB API participant MQ as Message Queue Engine->>DB: Fetch PENDING records loop For each record Engine->>DB: Update status = IN_PROGRESS Engine->>Engine: Validate user eligibility alt Valid User Engine->>ZAND: Call Open Account API alt ZAND Success ZAND-->>Engine: Return new IBAN Engine->>FAB: Update IBAN mapping Engine->>DB: Update status = COMPLETED Engine->>MQ: Publish MigrationCompletedEvent else ZAND Failure Engine->>DB: Update status = FAILED Engine->>MQ: Publish MigrationFailedEvent end else Invalid User Engine->>DB: Update status = SKIPPED end end

Configuration

Config KeyTypeDefaultDescription
migration.customer.enabledBooleantrueMaster switch for customer migration
migration.customer.batch_sizeInteger100Records per batch
migration.customer.parallel_threadsInteger5Parallel processing threads
migration.customer.retry.enabledBooleantrueEnable auto-retry for failed records

Feature 4: Send in-app notification + ToDo section

Purpose: Route AANI transactions based on user's VAM provider and migration status

Service Changes

ServiceComponentChangeDescription
Notification ServiceMigrationNotificationListenerNEWListen to migration events
Notification ServiceNotificationTemplateServiceMODIFYAdd migration notification templates
Notification ServiceInAppPushServiceMODIFYSupport migration push notifications
Notification ServiceToDoServiceNEWCreate and manage ToDo items
Notification ServiceToDoReminderSchedulerNEWSend reminders for pending ToDos

API Changes

EndpointMethodChangeDescription
/api/v1/notification/migration/listGETNEWList migration notifications for user
/api/v1/notification/migration/{id}/readPOSTNEWMark notification as read
/api/v1/todo/listGETNEWList ToDo items for user
/api/v1/todo/{id}/completePOSTNEWMark ToDo as completed

Message Queue Subscriptions

ExchangeRouting KeyAction
exchange.migrationmigration.customer.completeSend success notification + ToDo
exchange.migrationmigration.customer.failedSend failure notification + Support ToDo
exchange.migrationmigration.merchant.completeSend merchant success notification
exchange.migrationmigration.merchant.failedSend merchant failure notification

Notification Templates

Template IDTriggerTitleContent Summary
migration_startedMigration begins"IBAN Upgrade in Progress""We're upgrading your payment account..."
migration_completeMigration succeeds"New IBAN Ready!""Your new IBAN {new_iban} is now active..."
migration_failedMigration fails"Action Required""We couldn't complete your IBAN upgrade..."
migration_reminder3 days after incomplete"Complete Your Migration""Please complete your account upgrade..."

ToDo Templates

ToDo TypeTitleDescriptionAction
CONFIRM_MIGRATIONConfirm New IBANPlease verify your new IBAN is correctOpen IBAN details page
UPDATE_BENEFICIARYUpdate Payment InfoInform your payers about your new IBANShare IBAN button
VERIFY_IBANVerify AccountComplete verification for your new accountOpen verification flow
CONTACT_SUPPORTNeed Help?Migration encountered an issueOpen support chat

Configuration

Config KeyTypeDefaultDescription
notification.migration.enabledBooleantrueEnable migration notifications
notification.migration.channelsListIN_APP,PUSHEnabled notification channels
todo.migration.reminder.daysInteger3Days before sending reminder
todo.migration.expiry.daysInteger30Days until ToDo expires

Feature 5: Merchant Enrollment

Purpose: Handle merchant IBAN migration from FAB VAM to ZAND VAM for AANI payment acceptance.

New Merchant Enrollment (Vis)

Configuration

Config KeyTypeDefaultDescription
vis.zand.merchant.fullSwitchVarcharYEnable full merchant enrollment

cmsii -> VIS_ZAND_MER_ID_WHITELIST

Merchant Migration Flow (Visii)

Counter Upload

Finish the Migrate

Counter Retry


Feature 6: Query Api provided to Mini-program

Purpose: Provide query APIs for Mini-Program to display user's IBAN migration status and new IBAN information.

Service Changes (VIS)

ServiceComponentChangeDescription
VISMigrateFacade#queryAccountsNEWHandle Mini-Program migration queries, return old/new/duration

Feature 7: Retry scheduler (3-attempt cap with increasing intervals)

Purpose: Automatically retry failed migrations with exponential backoff strategy, capped at 3 attempts.

Retry Strategy

AttemptDelayTotal WaitAction
10 min0 minImmediate first attempt
25 min5 minFirst retry after 5 minutes
330 min35 minFinal retry after 30 more minutes
4+--Mark as FINAL_FAILED, require manual intervention

Service Changes

ServiceComponentChangeDescription
VISMigrationRetrySchedulerNEWScheduled job to scan and retry

Feature 8: Counter Retry Open Account Page

Purpose: Provide Counter staff with a page to manually retry ZAND account opening for failed cases.

Counter App UI Changes

Page/ComponentChangeDescription
Retry Accounts ListNEWRetry Accounts

Feature 9: Metrics and Alerts

Purpose: Metris and Alerts

Metrics

Metric NameTypeDescription
migration_batch_progressGaugeCurrent batch progress (0-100%)
migration_total_progressGaugeOverall migration progress (0-100%)
migration_success_rateGaugeSuccess rate per batch
migration_refund_countCounterNumber of migration refunds
migration_error_rateGaugeError rate per time window
migration_duration_secondsHistogramTime taken per user migration
vam_provider_distributionGaugeUser count by VAM provider
iban_lookup_latencyHistogramIBAN lookup response time

Alerts

Alert NameConditionSeverity
MigrationFailureSpikeError rate > 1% in 5 minCritical
MigrationRefundRateHighRefund rate > 0.5% in batchWarning
MigrationBatchTimeoutBatch exceeds 2x expected durationWarning
MigrationBatchStalledNo progress for 10 minutesCritical
IbanLookupLatencyHighP99 latency > 500msWarning

Dashboard Panels

PanelVisualizationData
Migration ProgressProgress BarTotal migrated / Total users
Batch StatusTableRecent batch statuses
Migration TimelineTime SeriesMigrations per hour
Error DistributionPie ChartErrors by type
Refund TrackingCounter + TrendRefund count and trend

无标签
评论区
暂无评论
avatar