Two-Step Card Storage:
User submits phone number (GET/POST /stored-cards/phone-number/)
/stored-cards/phone-number/
System sends OTP code via SMS
Phone number cached in session
User submits OTP code (POST /stored-cards/otp/)
/stored-cards/otp/
System validates OTP
Card data retrieved from cache
Token created via payment gateway
SavedCard record created with token and masked number
Security Measures:
Card numbers never stored in database
Only tokens and masked numbers persisted
OTP verification required for card storage
Cache timeout prevents replay attacks
POS-specific token isolation
Last updated 3 months ago
Was this helpful?