Add 3DS authentication to create a charge endpoint

North America—United States and Canada

To create an additional security layer for CNP transactions, add the 3DS authentication method to the Create a charge endpoint. When you turn on 3D Secure, the cardholder must validate every transaction with a secure personal identification number (PIN) that their card issuer sends to their phone or associated devices.

Prerequisites

  1. Create an ecommerce app integration in the Global Developer Dashboard. See Get started with the Global Developer Dashboard.
  2. Generate a card token. You need to generate a new card token for each payment.

Steps

  1. Send a POST request to the v1/charges endpoint to create a charge.
  2. Enter the required parameters in the request—amount, currency, and source.
  3. Under the threeds object, select CLOVER in source attribute to indicate the source of the 3-D Secure (3DS) authentication.
  4. For Clover 3DS authentication, in the threeds object, enter browser_info as follows:
  5. Under the browser_info object, enter values in the following fields:
    • browser_accept_header—Browser's accepted header.
    • browser_ip—Browser's internet protocol (IP) address.
    • browser_javascript_enabled—Indicates whether the browser is JavaScript-enabled.
    • browser_java_enabled—Indicates whether the browser is Java-enabled.
    • browser_language—Browser's defined language.
    • browser_screen_height—Browser's defined screen height.
    • browser_screen_width—Browser's defined screen width.
    • browser_tz—Timezone of the client browser.
    • browser_user_agent—Browser's defined user agent.
    • browser_http_origin—Origin of the HTTP browser.
      The response provides information related to the charge, authentication source, and the 3DS validation result.

Request and response example—3DS authentication when creating a charge

curl --location 'https://scl-sandbox.dev.clover.com/v1/charges' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 03cd622e-7d65-48ff-a52a-6d554819fdf7' \
--data '{
    "source": "clv_1TSTSX47eEnr6wfPVrDtC3o6",
    "amount": "100",
    "currency": "usd",
    "capture": "false",
    "threeds" : { 
        "source": "CLOVER",
        "browser_info": {
                "browser_accept_header" : "text/html,application/xml",
                "browser_http_origin" : "www.clover.com",
                "browser_ip" : "0.0.0.0",
                "browser_java_enabled" : true,
                "browser_javascript_enabled" : true,
                "browser_language" : "en",
                "browser_color_depth" : "24",
                "browser_screen_height" : "1000",
                "browser_screen_width": "1920",
                "browser_tz" : "300",
                "browser_user_agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_0_0) AppleWebKit/0.0 (KHTML, like Gecko) Chrome/0.0.0.0 Safari/0.0"
         }
    }
}'

{
"id": "2YDSDAVC9G0WM",
    "amount": 100,
    "payment_method_details": "card",
    "amount_refunded": 0,
    "currency": "usd",
    "created": 1724326005580,
    "captured": false,
    "ref_num": "423500505420",
    "auth_code": "OK5893",
    "warning_message": "No stored credentials supplied on multipay token",
    "outcome": {
        "network_status": "approved_by_network",
        "type": "authorized"
    },
    "status": "succeeded",
    "source": {
        "id": "clv_1TSTSX47eEnr6wfPVrDtC3o6",
        "address_city": "sunnyvale",
        "address_line1": "415 N Mathilda",
        "address_line1_check": "pass",
        "address_state": "CA",
        "address_zip": "95120",
        "address_zip_check": "pass",
        "brand": "DISCOVER",
        "cvc_check": "pass",
        "exp_month": "09",
        "exp_year": "2024",
        "first6": "601100",
        "last4": "0009"
    },
    "threeds": {
        "validation_result": "AUTHENTICATION_SUCCESSFUL",
        "liability_protection_status": "PROTECTED"
    }
}

Related topics