3-D Secure (3DS) — authentication management, decisioning, and challenge flows.
3DS Decisioning webhook
Lithic calls your endpoint for each 3DS authentication. Use the HMAC secret to verify requests, then respond with an approve/decline decision.
secret = Lithic.ThreeDS.get_decisioning_secret()
Lithic.Webhook.verify(body, sig, ts, secret: secret["secret"])
Summary
Functions
Retrieve the HMAC secret for 3DS Decisioning webhook verification.
Respond to a 3DS challenge request.
Rotate the 3DS Decisioning HMAC secret.
Simulate a 3DS authentication (sandbox only).
Simulate entering OTP into the 3DS Challenge UI (sandbox only).
Functions
@spec get( String.t(), keyword() ) :: {:ok, map()} | {:error, Lithic.Error.t()}
@spec get_decisioning_secret(keyword()) :: {:ok, map()} | {:error, Lithic.Error.t()}
Retrieve the HMAC secret for 3DS Decisioning webhook verification.
@spec list(keyword()) :: {:ok, Lithic.Page.t(map())} | {:error, Lithic.Error.t()}
@spec respond_to_challenge(String.t(), map(), keyword()) :: {:ok, map()} | {:error, Lithic.Error.t()}
Respond to a 3DS challenge request.
@spec rotate_decisioning_secret(keyword()) :: {:ok, map()} | {:error, Lithic.Error.t()}
Rotate the 3DS Decisioning HMAC secret.
@spec simulate( map(), keyword() ) :: {:ok, map()} | {:error, Lithic.Error.t()}
Simulate a 3DS authentication (sandbox only).
@spec simulate_otp_entry(String.t(), map(), keyword()) :: {:ok, map()} | {:error, Lithic.Error.t()}
Simulate entering OTP into the 3DS Challenge UI (sandbox only).