How it works
Your backend requests a reveal URL
Call
POST /cards/:id/reveal from your server. Reap API returns a short-lived, single-use revealUrl.Your frontend loads the URL in an iframe
Pass the
revealUrl to your client application and load it in an <iframe> (web) or WebView (mobile).Security
| Property | Detail |
|---|---|
| Single-use | Each revealUrl can only be loaded once. Subsequent requests return an error page. |
| Short-lived | URLs expire after 5 minutes. Generate a new one each time the user needs to view card details. |
| No raw card data | Card details are rendered inside the iframe. Your application never handles PAN, CVV, or expiry values. |
Integration
1. Request a reveal URL
Call the reveal endpoint from your backend. See the API reference for the full request and response schema.2. Display in an iframe
Pass therevealUrl from your backend to your client application and load it as the src of an iframe or WebView.
- Web (HTML)
- React
- React Native
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
revealUrlitself does not require authentication, 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.