Checkout/createCnpThreeDsSession
Create 3DS Session
Create durable browser authentication state when risk requires 3DS.
POST
/api/v1/cnp/public/checkout-sessions/{id}/three-ds-sessionBrowser-safeCall from the customer’s browser with a publishable key — never your secret key.
kepa.js calls this automatically during confirmCheckoutSession unless threeDS is disabled. A successful authentication result must be recorded before confirmation can proceed when risk requires 3DS.
Path parameters
idstringRequiredCheckout session ID.
Request body
application/json
clientSecretstringRequiredCheckout session client secret.
browserIpHashstringSHA-256 hash of browser IP where available.
userAgentHashstringSHA-256 hash of user-agent.
billingCountrystringBilling country placeholder.
Example "US"
mitCitIndicatorenumCustomer-initiated or merchant-initiated transaction.
CITMITResponse
application/json
idstring3DS session ID.
statusenum3DS session status.
CHALLENGE_PENDINGFRICTIONLESSAUTHENTICATEDFAILEDdsTransactionIdstringDirectory server transaction ID placeholder/provider value.
creqstringChallenge request placeholder/provider value.
Good to know
- Current implementation has durable orchestration and a mock challenge shell; production needs a real 3DS server/provider adapter.
- The companion result endpoint is /api/v1/cnp/public/checkout-sessions/{id}/three-ds-result.
createCnpThreeDsSession