How it works
Your backend requests a reveal URL
Call Create reveal session from your server. Reap returns a short-lived, single-use
revealUrl.Your frontend loads the URL in an iframe
Pass the
revealUrl to your client and render it as the src of an <iframe> (web) or WebView (mobile).Security
| Property | Detail |
|---|---|
| Single-use | Each revealUrl can only be loaded once. A second load returns an error page. |
| Short-lived | URLs expire after 5 minutes. Generate a fresh URL each time the user wants to view card details. |
| No raw card data | Card details are rendered inside the iframe. Your application never handles the PAN, CVV, or expiry values. |
Integration
1. Request a reveal URL
Call Create reveal session from your backend. The response includes arevealUrl and an expiresAt timestamp.
2. Display in an iframe
PassrevealUrl from your backend to your client and load it as the src of an iframe or WebView.
- Web (HTML)
- React
- React Native
Customization
The reveal endpoint accepts two optional parameters:| Parameter | Type | Default | Description |
|---|---|---|---|
stylesheetUrl | string (URL) | null | URL to a custom stylesheet for the card details iframe. Must be served over HTTPS. |
showCopyPanButton | boolean | false | Display a copy button that lets the cardholder copy the PAN to clipboard. |
Best practices
- Generate on demand. Request a new
revealUrleach time the user taps “Show card details”. Do not cache or store URLs. - Authenticate the cardholder first. Only request a reveal URL after your application has verified the user’s identity. The
revealUrldoes not require authentication to load, so treat it as sensitive. - Handle expiration. If the iframe shows an error page, the URL has expired or was already used. Prompt the user to try again and request a fresh URL.
- Use HTTPS for stylesheets. If you provide a custom
stylesheetUrl, serve it over HTTPS.