# Improve authentication performance Issuers use the information you provide in your authentication requests to perform risk analysis and determine the authentication outcome. To improve your authentication acceptance rates, you can include additional optional fields in your requests, which gives issuers more information to base their decision on. Checkout.com supports the inclusion of the optional fields shown in the following tables. For more information on the fields, see our [API documentation](https://api-reference.checkout.com/tag/Standalone/#operation/createSession). --- ## Address and contact information Although these fields within the `source` object are optional, Checkout.com strongly recommends that you include as many of them as possible in your authentication request. These fields provide information about the address and contact information that the customer holds with the merchant. | Field | Example | | --- | --- | | `shipping_address.address_line1`

`string` | `Checkout.com` | | `shipping_address.address_line2`

`string` | `Third Floor` | | `shipping_address.address_line3`

`string` | `Shepherdess Walk` | | `shipping_address.city`

`string` | `London` | | `shipping_address.state`

`string` | `LON` | | `shipping_address.zip`

`string` | `W1T 4TJ` | | `shipping_address.country`

`string` | `GB` | | `shipping_address_matches_billing`

`boolean` | `true` | | `source.billing_address.address_line1`

`string` | `Checkout.com` | | `source.billing_address.address_line2`

`string` | `Third Floor` | | `source.billing_address.address_line3`

`string` | `Shepherdess Walk` | | `source.billing_address.city`

`string` | `London` | | `source.billing_address.state`

`string` | `LON` | | `source.billing_address.zip`

`string` | `W1T 4TJ` | | `source.billing_address.country`

`string` | `GB` | | `source.home_phone.country_code`

`string` | `44` | | `source.home_phone.number`

`string` | `123456789` | | `source.mobile_phone.country_code`

`string` | `44` | | `source.mobile_phone.number`

`string` | `123456789` | | `source.work_phone.country_code`

`string` | `44` | | `source.work_phone.number`

`string` | `123456789` | ### Example ```json { "source": { "email": "john.smith@email.com", "name": "John Smith", "billing_address": { "address_line1": "123 Anywhere St.", "address_line2": "Apt. 456", "address_line3": "A", "city": "Anytown", "state": "AL", "zip": "123456", "country": "US" }, "home_phone": { "country_code": "1", "number": "555 123 4567" }, "mobile_phone": { "country_code": "1", "number": "555 765 4321" }, "work_phone": { "country_code": "1", "number": "555 111 2222" } }, "shipping_address": { "address_line1": "123 Anywhere St.", "address_line2": "Apt. 456", "address_line3": "A", "city": "Anytown", "state": "AL", "zip": "123456", "country": "US" }, "shipping_address_matches_billing": true } ``` > **Information** > > The example contents are not valid calls to the endpoint. They only show the optional fields, not everything you would need to include in a call. --- ## Cardholder merchant account information Although these fields within the `account_info` object are optional, Checkout.com strongly recommends that you include most of them in your authentication request. These fields provide information about the account that the customer holds with the merchant. You can also include the `account_id` field and the `three_ds_requestor_authentication_info` object, although these are lower priority. | Field | Example | | --- | --- | | `account_age`

`string` | `created_during_transaction` | | `account_change`

`string` | `2024-08-24T14:15:22Z` | | `account_change_indicator`

`string` | `less_than_thirty_days` | | `account_date`

`string` | `2024-08-24T14:15:22Z` | | `account_id`

`string` | `CKO123456` | | `account_name_matches_shipping_name`

`boolean` | `true` | | `account_password_change`

`string` | `2024-08-24T14:15:22Z` | | `account_password_change_indicator`

`string` | `no_change` | | `account_type`

`string` | `credit` | | `add_card_attempts`

`string` | `2` | | `authentication_method`

`string` | `own_credentials` | | `cardholder_account_age_indicator`

`string` | `thirty_to_sixty_days` | | `payment_account_age`

`string` | `2024-08-24T14:15:22Z` | | `purchase_count`

`string` | `1` | | `shipping_address_age`

`string` | `less_than_thirty_days` | | `shipping_address_usage`

`string` | `2024-08-24T14:15:22Z` | | `suspicious_account_activity`

`boolean` | `false` | | `transactions_per_year`

`string` | `2` | | `transactions_today`

`string` | `10` | | `three_ds_requestor_authentication_info.three_ds_req_auth_data`

`string` | `dsTransactionId:cfa2beeb-74f4-47ba-89ac-4b0332cc47c2` | | `three_ds_requestor_authentication_info.three_ds_req_auth_method`

`string` | `third_party_authentication` | | `three_ds_requestor_authentication_info.three_ds_req_auth_timestamp`

`string` | `2024-08-24T14:15:22Z` | ### Example ```json { "account_info": { "account_age": "created_during_transaction", "account_change": "2024-08-24T14:15:22Z", "account_change_indicator": "less_than_thirty_days", "account_date": "2024-08-24T14:15:22Z", "account_id": "CKO123456", "account_name_matches_shipping_name": true, "account_password_change": "2024-08-24T14:15:22Z", "account_password_change_indicator": "no_change", "account_type": "credit", "add_card_attempts": 2, "authentication_method": "own_credentials", "cardholder_account_age_indicator": "thirty_to_sixty_days", "payment_account_age": "2024-08-24T14:15:22Z", "purchase_count": 1, "shipping_address_age": "less_than_thirty_days", "shipping_address_usage": "2024-08-24T14:15:22Z", "suspicious_account_activity": false, "transactions_per_year": 10, "transactions_today": 2, "three_ds_requestor_authentication_info": { "three_ds_req_auth_data": "dsTransactionId:cfa2beeb-74f4-47ba-89ac-4b0332cc47c2", "three_ds_req_auth_method": "third_party_authentication", "three_ds_req_auth_timestamp": "2024-08-24T14:15:22Z" } } } ``` > **Information** > > The example contents are not valid calls to the endpoint. They only show the optional fields, not everything you would need to include in a call. --- ## Merchant risk information Although these fields within the `merchant_risk_info` object are optional, Checkout.com recommends that you consider including them in your authentication request. These fields provide additional information about the cardholder's purchase. | Field | Example | | --- | --- | | `delivery_email`

`string` | `example@test.com` | | `delivery_timeframe`

`string` | `two_days_or_more` | | `gift_card_amount`

`string` | `135` | | `gift_card_count`

`string` | `1` | | `gift_card_currency`

`string` | `USD` | | `is_preorder`

`boolean` | `false` | | `is_reorder`

`boolean` | `true` | | `pre_order_date`

`string` | `2024-01-01T00:00:00Z` | | `pre_order_purchase_indicator`

`string` | `merchandise_available` | | `reorder_items_indicator`

`string` | `first_time_ordered` | | `shipping_indicator`

`string` | `billing_address` | ### Example ```json { "merchant_risk_info": { "delivery_email": "example@test.com", "delivery_timeframe": "two_days_or_more", "gift_card_amount": "135", "gift_card_count": 1, "gift_card_currency": "USD", "is_preorder": false, "is_reorder": true, "pre_order_date": "2024-08-24T14:15:22Z", "pre_order_purchase_indicator": "merchandise_available", "reorder_items_indicator": "first_time_ordered", "shipping_indicator": "billing_address" } } ``` > **Information** > > The example contents are not valid calls to the endpoint. They only show the optional fields, not everything you would need to include in a call. --- ## Initial/Previous authentication information Although these fields within the `initial_transaction` or `previous_transaction` object are optional, Checkout.com recommends that you consider including them in your authentication request. These fields provide information about previous transactions. | Field | Example | | --- | --- | | `acs_transaction_id`

`string` | `ef35a82d-66bc-4b0e-b59c-39ed3129d868` | | `authentication_data`

`string` | `dsTransactionId:cfa2beeb-74f4-47ba-89ac-4b0332cc47c2` | | `authentication_method`

`string` | `challenge_occurred` | | `authentication_timestamp`

`string` | `2023-06-24T14:15:22Z` | ### Example ```json { "initial_transaction": { "acs_transaction_id": "ef35a82d-66bc-4b0e-b59c-39ed3129d868", "authentication_data": "dsTransactionId:cfa2beeb-74f4-47ba-89ac-4b0332cc47c2", "authentication_method": "challenge_occurred", "authentication_timestamp": "2023-02-06T15:00:00.000Z" } } ``` > **Information** > > The example contents are not valid calls to the endpoint. They only show the optional fields, not everything you would need to include in a call.