Standalone Authentication

Request a session #

Create a payment session to authenticate a cardholder before requesting a payment. Payment sessions can be linked to one or more payments (in the case of recurring and other merchant-initiated payments). The next_actions object in the response tells you which actions can be performed next.

Authorizations:

bearer

#
HTTP: bearer #

HTTP Authorization Scheme: bearer

Bearer format: JWT

header Parameters #
AuthorizationrequiredstringBearer token (OAuth2 Access Token).
Request Body schema: application/json #

Request body for creating a standalone authentication session.

source required object (The source of the authentication.)
numberrequiredstring [ 13 .. 19 ] characters The card number.
expiry_monthrequirednumber [ 1 .. 12 ] The expiry month of the card.
expiry_yearrequirednumberThe expiry year of the card (4 digits).
schemestringIndicates the cardholder scheme choice.
billing_addressobjectThe customer’s billing address.
home_phoneobjectThe cardholder’s home phone number.
mobile_phoneobjectThe cardholder’s mobile phone number.
work_phoneobjectThe cardholder’s work phone number.
emailstring <= 254 characters The email of the cardholder.
namestring [ 2 .. 45 ] characters The name of the cardholder.
storedboolean Default: falseThis must be set to true for authentications that use stored card details.
currencyrequiredstring = 3 characters The three-letter ISO currency code.

completion required object (The completion (redirect) information.)
typerequiredstring <= 10 characters Whether the session should be hosted by Checkout.com.
success_urlstring <= 256 characters Overrides the default success redirect URL.
failure_urlstring <= 256 characters Overrides the default failure redirect URL.
callback_urlstringCallback URL for non-hosted sessions.
amountnumber >= 0 The payment amount in the minor currency unit.
processing_channel_idstringThe processing channel to be used for the session.
marketplaceobjectInformation related to authentication for payfac payments.
authentication_typestringIndicates the type of payment this session is for.
authentication_categorystringIndicates the category of the authentication request.
account_infoobjectAdditional information about the Cardholder’s account.
challenge_indicatorstringIndicates whether a challenge is requested for this session.
billing_descriptorobjectAn optional dynamic billing descriptor.
referencestringA reference you can later use to identify this payment.
merchant_risk_infoobjectAdditional information about the cardholder’s purchase.
transaction_typestringThe type of transaction being authenticated.
shipping_addressobjectThe shipping address.
shipping_address_matches_billingbooleanIndicates whether the cardholder shipping address and billing address are the same.
channel_dataobjectThe information gathered from the environment used to initiate the session.
recurringobjectDetails of a recurring authentication.
installmentobjectDetails of an installment authentication.
optimizationobjectOptionally opt into request optimization.
initial_transactionobjectDetails of a previous transaction.
google_spaobjectThis object contains the Google SPA properties (non-hosted only).
preferred_experiencesArray of stringsIndicates the chosen experience(s) for this session.
Responses #
201 Session processed successfully
Cko-Request-IdstringThe unique identifier of the request
Cko-VersionstringThe version of the API
Response Schema: application/json #
session_secretrequiredstringA base64 encoded value prefixed with sek_ that gives access to client-side operations for a single authentication within the Sessions API.
idrequiredstringSession unique identifier.
transaction_idrequiredstringThe transaction identifier that needs to be provided when communicating directly with the Access Control Server (ACS).
schemerequiredstringIndicates the scheme this authentication is carried out against.
amountrequirednumberThe amount in the minor currency.
currencyrequiredstringThe three-letter ISO currency code.
completedrequiredbooleanIndicates whether this session has been completed.
challengedrequiredbooleanIndicates whether this session involved a challenge.
authentication_typerequiredstringIndicates the type of payment this session is for.
authentication_categoryrequiredstringIndicates the category of the authentication request.
certificatesobjectPublic certificates specific to a Directory Server (DS) for encrypting device data and verifying ACS signed content.
statusrequiredstringIndicates the status of the session.
status_reasonstringWhen the Session is unavailable this will point to the reason it is so.
approvedbooleanWhether the authentication was successful. This will only be set if the Session is in a final state.
protocol_versionrequiredstringThe protocol version number of the specification used by the API for authentication.
account_infoobjectAdditional information about the Cardholder’s account.
merchant_risk_infoobjectAdditional information about the cardholder’s purchase.
referencestringA reference you can later use to identify this payment, such as an order number.
transaction_typestringIdentifies the type of transaction being authenticated.
next_actionsArray of stringsSpecifies which action to take in order to complete the session.
dsobjectThe directory server (DS) information.
acsobjectThe access control server (ACS) information.
response_codestringThe response from the DS or ACS which indicates whether a transaction qualifies as an authenticated transaction or account verification.
response_status_reasonstringThe response from the DS or ACS which provides information on why the response_code field has the specified value.
cryptogramstringPayment system-specific value provided as part of the ACS registration for each supported DS.
ecistringElectronic Commerce Indicator.
xidstringThe xid value to use for authorization.
cardholder_infostringMay provide cardholder information from the DS to be presented to the cardholder.
cardobjectDetails related to the Session source.
recurringobjectDetails of a recurring authentication.
installmentobjectDetails of an installment authentication.
initial_transactionobjectDetails of a previous transaction.
customer_ipstringThe card holder’s IP address.
_linksrequiredobjectThe links related to the session.
authentication_datestring <date-time> Authentication date and time
exemptionobjectDetails related to exemption present in 3DS flow
flow_typestringIndicates whether the 3D Secure 2 authentication was challenged or frictionless
challenge_indicatorrequiredstringIndicates the preference for whether or not a 3DS challenge should be performed.
optimizationobjectThe information about the optimization options selected.
scheme_infoobjectIndicates scheme-specific information
3dsobject3DS experience.
preferred_experiencesobjectPreferred Experiences
experiencestringThe authentication experience that was used for processing
google_spaobjectGoogle SPA experience.
202 Session accepted and further action required
Cko-Request-IdstringThe unique identifier of the request
Cko-VersionstringThe version of the API
Response Schema: application/json #
session_secretrequiredstringA base64 encoded value prefixed with sek_ that gives access to client-side operations for a single authentication within the Sessions API.
idrequiredstringSession unique identifier.
transaction_idrequiredstringThe transaction identifier that needs to be provided when communicating directly with the Access Control Server (ACS).
schemerequiredstringIndicates the scheme this authentication is carried out against.
amountrequirednumberThe amount in the minor currency.
currencyrequiredstringThe three-letter ISO currency code.
completedrequiredbooleanIndicates whether this session has been completed.
challengedrequiredbooleanIndicates whether this session involved a challenge.
authentication_typerequiredstringIndicates the type of payment this session is for.
authentication_categoryrequiredstringIndicates the category of the authentication request.
certificatesobjectPublic certificates specific to a Directory Server (DS) for encrypting device data and verifying ACS signed content.
statusrequiredstringIndicates the status of the session.
status_reasonstringWhen the Session is unavailable this will point to the reason it is so.
approvedbooleanWhether the authentication was successful. This will only be set if the Session is in a final state.
protocol_versionrequiredstringThe protocol version number of the specification used by the API for authentication.
account_infoobjectAdditional information about the Cardholder’s account.
merchant_risk_infoobjectAdditional information about the cardholder’s purchase.
referencestringA reference you can later use to identify this payment, such as an order number.
transaction_typestringIdentifies the type of transaction being authenticated.
next_actionsArray of stringsSpecifies which action to take in order to complete the session.
dsobjectThe directory server (DS) information.
acsobjectThe access control server (ACS) information.
response_codestringThe response from the DS or ACS which indicates whether a transaction qualifies as an authenticated transaction or account verification.
response_status_reasonstringThe response from the DS or ACS which provides information on why the response_code field has the specified value.
cryptogramstringPayment system-specific value provided as part of the ACS registration for each supported DS.
ecistringElectronic Commerce Indicator.
xidstringThe xid value to use for authorization.
cardholder_infostringMay provide cardholder information from the DS to be presented to the cardholder.
cardobjectDetails related to the Session source.
recurringobjectDetails of a recurring authentication.
installmentobjectDetails of an installment authentication.
initial_transactionobjectDetails of a previous transaction.
customer_ipstringThe card holder’s IP address.
_linksrequiredobjectThe links related to the session.
authentication_datestring <date-time> Authentication date and time
exemptionobjectDetails related to exemption present in 3DS flow
flow_typestringIndicates whether the 3D Secure 2 authentication was challenged or frictionless
challenge_indicatorrequiredstringIndicates the preference for whether or not a 3DS challenge should be performed.
optimizationobjectThe information about the optimization options selected.
scheme_infoobjectIndicates scheme-specific information
3dsobject3DS experience.
preferred_experiencesobjectPreferred Experiences
experiencestringThe authentication experience that was used for processing
google_spaobjectGoogle SPA experience.
401 Unauthorized
Response Schema: application/json #
request_idrequiredstringThe unique request identifier.
error_typerequiredstringThe type of error.
error_codesrequiredArray of stringsError response code(s).
errorsobjectAdditional error details.
403 Forbidden
Response Schema: application/json #
request_idrequiredstringThe unique request identifier.
error_typerequiredstringThe type of error.
error_codesrequiredArray of stringsError response code(s).
errorsobjectAdditional error details.
422 Invalid data was sent
Response Schema: application/json #
request_idrequiredstringThe unique request identifier.
error_typerequiredstringThe type of error.
error_codesrequiredArray of stringsError response code(s).
errorsobjectAdditional error details.
503 Service not available. A temporary server error.
Response Schema: application/json #
request_idrequiredstringThe unique request identifier.
error_typerequiredstringThe type of error.
error_codesrequiredArray of stringsError response code(s).
errorsobjectAdditional error details.

#

Get session details #

Returns the details of the session with the specified identifier string.

Authorizations

bearer

#
HTTP: bearer #

HTTP Authorization Scheme: bearer

Bearer format: JWT

path Parameters #
idrequiredstring = 30 characters ^(sid)_(\w{26})$Session ID
query Parameters #
channelstring Enum:”browser””app”Optionally provide the type of channel so you only get the relevant actions
header Parameters #
Authorizationrequiredstring
Responses #
200 Session retrieved successfully
Cko-Request-IdstringThe unique identifier of the request
Cko-VersionstringThe version of the API
Response Schema: application/json #
idrequiredstringSession unique identifier.
transaction_idrequiredstringThe transaction identifier that needs to be provided when communicating directly with the Access Control Server (ACS).
schemerequiredstringIndicates the scheme this authentication is carried out against.
amountrequirednumberThe amount in the minor currency.
currencyrequiredstringThe three-letter ISO currency code.
authentication_typerequiredstringIndicates the type of payment this session is for.
authentication_categoryrequiredstringIndicates the category of the authentication request.
statusrequiredstringIndicates the status of the session.
protocol_versionrequiredstringThe protocol version number of the specification used by the API for authentication.
_linksrequiredobjectThe links related to the session.
challenge_indicatorrequiredstringIndicates the preference for whether or not a 3DS challenge should be performed.
session_secretrequiredstringA base64 encoded value prefixed with sek_ that gives access to client-side operations for a single authentication within the Sessions API.
completedrequiredbooleanIndicates whether this session has been completed.
challengedrequiredbooleanIndicates whether this session involved a challenge.
certificatesobjectPublic certificates specific to a Directory Server (DS) for encrypting device data and verifying ACS signed content. Required when channel is app.
status_reasonstringWhen the Session is unavailable this will point to the reason it is so.
approvedbooleanWhether the authentication was successful. This will only be set if the Session is in a final state.

401 Unauthorized

403 Forbidden. This can happen when the OAuth token scope is sessions:app, but the session was initiated with the scope sessions:browser.
Response Schema: application/json #
request_idrequiredstringThe unique request identifier.
error_typerequiredstringThe error type.
error_codesrequiredArray of stringsThe error codes.
404 Session not found
Response Schema: application/json #
request_idrequiredstringThe unique request identifier.
error_typerequiredstringThe error type.
error_codesrequiredArray of stringsThe error codes.
502 Bad gateway
Response Schema: application/json #
request_idrequiredstringThe unique request identifier.
error_typerequiredstringThe error type.
error_codesrequiredArray of stringsThe error codes.

#

Update a session #

Update a session by providing information about the environment.

Authorizations

bearer

#
HTTP: bearer #

HTTP Authorization Scheme: bearer

Bearer format: JWT

path Parameters #
idrequiredstring = 30 characters ^(sid)_(\w{26})$Session ID
header Parameters #
Authorizationrequiredstring
Request Body schema: application/json #
channelrequiredstring Default: “browser” Value:”browser”Indicates the type of channel interface being used to initiate the transaction.
accept_headerrequiredstring <= 2048 characters Exact content of the HTTP accept headers as sent to the 3DS Requestor from the cardholder’s browser
java_enabledrequiredbooleanBoolean that represents the ability of the cardholder’s browser to execute Java.
javascript_enabledrequiredbooleanBoolean that represents the ability of the cardholder’s browser to execute Javascript.
languagerequiredstring [ 1 .. 12 ] characters Value representing the browser language as defined in IETF BCP47.
color_depthrequiredstring [ 1 .. 2 ] characters Value representing the bit depth of the color palette for displaying images, in bits per pixel.
screen_heightrequiredstring [ 1 .. 6 ] characters Total height of the cardholder’s screen in pixels.
screen_widthrequiredstring [ 1 .. 6 ] characters Total width of the cardholder’s screen in pixels.
timezonerequiredstring [ 1 .. 5 ] characters Time difference between UTC time and the local time of the cardholder’s browser, in minutes.
user_agentrequiredstring <= 2048 characters Exact content of the HTTP user-agent header
ip_addressrequiredstring <= 45 characters IP address of the browser as returned by the HTTP headers to the 3DS Requestor
three_ds_method_completionstring Default: “U” Enum:”Y””N””U”Indicates whether the 3DS Method successfully completed
iframe_payment_allowedbooleanWhether the Payment API is enabled for all parent frames. This is required for Google SPA support in hosted sessions.
user_agent_client_hintstringThe raw Sec-CH-UA header value. This can improve Google SPA support.
Responses #
200 Session updated successfully
Response Schema: application/json #
idrequiredstringSession unique identifier.
transaction_idrequiredstringThe transaction identifier that needs to be provided when communicating directly with the Access Control Server (ACS).
schemerequiredstringIndicates the scheme this authentication is carried out against.
amountrequirednumberThe amount in the minor currency.
currencyrequiredstringThe three-letter ISO currency code.
authentication_typerequiredstringIndicates the type of payment this session is for.
authentication_categoryrequiredstringIndicates the category of the authentication request.
statusrequiredstringIndicates the status of the session.
protocol_versionrequiredstringThe protocol version number of the specification used by the API for authentication.
_linksrequiredobjectThe links related to the session.
challenge_indicatorrequiredstringIndicates the preference for whether or not a 3DS challenge should be performed.
session_secretrequiredstringA base64 encoded value prefixed with sek_ that gives access to client-side operations for a single authentication within the Sessions API.
completedrequiredbooleanIndicates whether this session has been completed.
challengedrequiredbooleanIndicates whether this session involved a challenge.
certificatesobjectPublic certificates specific to a Directory Server (DS) for encrypting device data and verifying ACS signed content. Required when channel is app.
status_reasonstringWhen the Session is unavailable this will point to the reason it is so.
approvedbooleanWhether the authentication was successful. This will only be set if the Session is in a final state.

401 Unauthorized

404 Session not found
Response Schema: application/json #
request_idrequiredstringThe unique request identifier.
error_typerequiredstringThe error type.
error_codesrequiredArray of stringsThe error codes.
502 Bad gateway
Response Schema: application/json #
request_idrequiredstringThe unique request identifier.
error_typerequiredstringThe error type.
error_codesrequiredArray of stringsThe error codes.

#

Complete a session #

Completes a session by posting the request to the callback URL. This step is optional and only applies to non-hosted sessions.

Authorizations

bearer

#
HTTP: bearer #

HTTP Authorization Scheme: bearer

Bearer format: JWT

path Parameters #
idrequiredstringSession ID
header Parameters #
Authorizationrequiredstring
Request Body schema: application/json #
session_idrequiredstringSession unique identifier.
amountrequirednumberThe payment amount in the minor currency unit.
currencyrequiredstringThe three-letter ISO currency code.
statusrequiredstringThe status of the session.
authentication_typerequiredstringThe authentication type.
authentication_categoryrequiredstringThe authentication category.
referencerequiredstringA reference for the session.
approvedrequiredbooleanWhether the authentication was approved.
protocol_versionrequiredstringThe protocol version.
response_coderequiredstringThe response code.
response_status_reasonrequiredstringThe response status reason.
cryptogramrequiredstringThe cryptogram.
ecirequiredstringThe ECI.
xidrequiredstringThe XID.
cardholder_inforequiredstringCardholder info.
challengedrequiredbooleanWhether the session was challenged.
Responses #

204 Session completed successfully
401 Unauthorized

403 Forbidden
Response Schema: application/json #
request_idrequiredstringThe unique request identifier.
error_typerequiredstringThe error type.
error_codesrequiredArray of stringsThe error codes.
404 session not found
Response Schema: application/json #
request_idrequiredstringThe unique request identifier.
error_typerequiredstringThe error type.
error_codesrequiredArray of stringsThe error codes.

#

Update session 3DS Method completion indicator #

Update the session’s 3DS Method completion indicator based on the result of accessing the 3DS Method URL.

Authorizations

bearer

#
HTTP: bearer #

HTTP Authorization Scheme: bearer

Bearer format: JWT

path Parameters #
idrequiredstring = 30 characters ^(sid)_(\w{26})$Session ID
header Parameters #
Authorizationrequiredstring
Request Body schema: application/json #
three_ds_method_completionrequiredstring = 1 characters Enum:”Y””N””U”The result of the 3DS method URL. Default to U if a response is not received from the 3DS Method URL within 10 seconds.
Responses #
200 Session updated successfully
Response Schema: application/json #
idrequiredstringSession unique identifier.
transaction_idrequiredstringThe transaction identifier that needs to be provided when communicating directly with the Access Control Server (ACS).
schemerequiredstringIndicates the scheme this authentication is carried out against.
amountrequirednumberThe amount in the minor currency.
currencyrequiredstringThe three-letter ISO currency code.
authentication_typerequiredstringIndicates the type of payment this session is for.
authentication_categoryrequiredstringIndicates the category of the authentication request.
statusrequiredstringIndicates the status of the session.
protocol_versionrequiredstringThe protocol version number of the specification used by the API for authentication.
_linksrequiredobjectThe links related to the session.
challenge_indicatorrequiredstringIndicates the preference for whether or not a 3DS challenge should be performed.
session_secretrequiredstringA base64 encoded value prefixed with sek_ that gives access to client-side operations for a single authentication within the Sessions API.
completedrequiredbooleanIndicates whether this session has been completed.
challengedrequiredbooleanIndicates whether this session involved a challenge.
certificatesobjectPublic certificates specific to a Directory Server (DS) for encrypting device data and verifying ACS signed content. Required when channel is app.
status_reasonstringWhen the Session is unavailable this will point to the reason it is so.
approvedbooleanWhether the authentication was successful. This will only be set if the Session is in a final state.

401 Unauthorized

403 Forbidden
Response Schema: application/json #
request_idrequiredstringThe unique request identifier.
error_typerequiredstringThe error type.
error_codesrequiredArray of stringsThe error codes.
404 Session not found
Response Schema: application/json #
request_idrequiredstringThe unique request identifier.
error_typerequiredstringThe error type.
error_codesrequiredArray of stringsThe error codes.
422 Unprocessable channel information
Response Schema: application/json #
request_idrequiredstringThe unique request identifier.
error_typerequiredstringThe error type.
error_codesrequiredArray of stringsThe error codes.

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to Top