Overview
PIN operations use a secure token-based flow that keeps sensitive data completely isolated from your application. Card details and PIN viewing are delivered as secure images, while PIN setting uses hosted pages. You never handle or store sensitive PIN data.Security Architecture
Token-Based Flow
Sensitive operations follow a simple pattern:1
Generate Token
Request a single-use, time-limited token from the API
2
Display Secure Content
For viewing: Display secure image. For setting: Use PCI-compliant hosted page
3
Token Expires
Token is invalidated after use or timeout (~10 minutes)
Benefits
PCI Compliance
No sensitive data touches your infrastructure
Zero Liability
Reduces security audit scope
Built-in Security
Session management and expiration
User Trust
Industry-standard secure pages
Viewing Card Details
Display full card information (PAN, CVV, expiry) as a secure image. The card details are never transmitted to or stored by your application.Step 1: Generate Details Token
Request Parameters
object
Optional styling to match your brand. If omitted, default styling is applied.
Response
string
Single-use token valid for ~10 minutes
string
URL that renders card details as a secure image. Use as
src attribute of an <img> tag.Step 2: Display Card Image
Complete React Implementation
Viewing PIN
Display the card PIN as a secure image. The PIN is never transmitted to or stored by your application.Step 1: Generate PIN Token
Request Parameters
object
Optional styling to match your brand. If omitted, default styling is applied.
Response
string
Single-use token valid for ~10 minutes
string
URL that renders PIN as a secure image. Use as
src attribute of an <img> tag.Step 2: Display PIN Image
Complete React Implementation
Setting/Changing PIN
Allow users to create or change their PIN through a secure hosted page.Step 1: Generate Set PIN Token
Request Parameters
Same as PIN viewing, with identicalcustomCss options.
Response
Set PIN hosted page includes built-in validation for PIN requirements (4 digits, no sequential patterns, etc.)
Step 2: Display Set PIN Page
Complete PIN Management Component
Sequence Diagrams
View Card Details Flow
View PIN Flow
Set PIN Flow
Customization Examples
Dark Theme
Light Theme
Brand Theme
Security Best Practices
Token Handling
Never store tokens in localStorage or sessionStorage
Use tokens immediately after generation
Don’t reuse tokens - generate new ones for each operation
Implement token expiration handling
Image URL Security
iframe Security (Set PIN Only)
For PIN setting operations that use hosted pages:Origin Verification (Set PIN Only)
Only needed for PIN setting hosted pages:Content Security Policy
Troubleshooting
Token expires before user views
Token expires before user views
Cause: Token has ~10 minute lifetimeSolution: Generate token only when user clicks action button
Image fails to load
Image fails to load
Cause: Token expired, already used, or network issueSolution: Implement error handling and retry logic
Image styling doesn't match
Image styling doesn't match
Cause: Color contrast issues or invalid hex codesSolution: Ensure valid hex codes and sufficient contrast
PostMessage events not received (Set PIN)
PostMessage events not received (Set PIN)
Cause: Origin verification failing or listener not attachedSolution: Verify origin and ensure listener is active (only applies to set-PIN hosted page)
Can't set PIN on frozen card
Can't set PIN on frozen card
Cause: PIN changes not allowed on frozen cardsSolution: Check card status and disable PIN change button
Next Steps
Transaction History
View and manage card transactions
Card Management
Freeze, unfreeze, and control cards
Order Cards
Issue new virtual cards
API Reference
Complete API documentation