In a Card SDK, OTP (One-Time Password) verification is used to securely display card data — adding an extra layer of security on top of the standard authentication flow.
When a user requests access to sensitive information (PAN, CVV, expiry), an OTP is generated between the partner's host and the SDK. The user supplies the OTP back to the SDK; once it is verified, the SDK grants access to the card details for the duration of that session.
The endpoint below requests a one-time password from Paynetics for a given card / session.
Generate a one-time password for the requested card / session. The OTP is delivered through the configured channel and must be returned to the SDK to unlock access to card details.
Create display session
POST/v2/cards/{card}/display-sessions
Operationcard_display_session_create
HMAC Operation - card_display_session_create. Creates a display session for the card and returns the URL to mount the secure iframe. Optional header Idempotency-Key (UUID): the same key with the same body replays the original session; when omitted the gateway generates one per request.
Path parameters
Name
Example
Description
card
stringrequired
e61bac10-5be2-49e6-99e1-82ccfd4cb644
Token from card creation
Headers
Name
Example
Description
Idempotency-Key
string
7c1f0b5e-4d3a-4f9e-9a1c-2b6d8e0f1a23
Request body
Field
Type
Description
user
objectrequired
5 nested fields▾
Field
Type
Description
user_id
string(0,128)required
Your identifier for the customer. Used for per-customer rate limits and the audit trail.
session_id
string(0,128)
Your web session identifier, for the audit trail.
ip
string(0,any)
Customer IP address (IPv4 or IPv6).
user_agent
string(0,1024)
device_id
string(0,128)
origin
string(0,512)required
Exact web origin of the page that will embed the iframe: scheme://host[:port], no path.
requested_fields
array(0,any)required
panexpirycvv
purpose
string(0,128)required
Free text for the audit trail, stable per screen.
ui
object
2 nested fields▾
Field
Type
Description
locale
string(0,any)
Language tag: xx or xx-YY.
theme
string(0,any)
lightdark
constraints
object
2 nested fields▾
Field
Type
Description
ttl_seconds
integer(0,any)
Session lifetime in seconds. Default 120.
max_reveals_per_field
integer(0,any)
How many times each field may be revealed. Default 1.