---
title: "3D Secure Pre-Authentication"
method: POST
path: "/v1/charges/3ds"
---

# 3D Secure Pre-Authentication

`POST /v1/charges/3ds`

Create a 3D secure pre-authentication to be used in the client SDK 3DS canvas

## Headers

- `x-user-secret-key` string, required
- `Content-Type` string, required

## Request body

- object
  - `amount` string, required — The amount of the transaction
  - `currency` string, required — The currency of the transaction. Available: 'AUD'
  - `customer` object, required
    - `payment_source` object
      - `gateway_id` string — The gateway ID of the gateway being used for this transaction. I.e. The PowerBoard gatewayID of mastercard service
      - `vault_token` string — The vault token of a customer
      - `vault_token_reference` string
      - `card_name` string — The name of the cardholder
      - `card_number` string — The card number of the card being used in the charge
      - `expire_month` string — The expiry month of the card
      - `expire_year` string — The expiry year of the card
      - `card_ccv` string — The CCV of the card
      - `address_line1` string — Customer's address line1
      - `address_line2` string — Customer's address line2
      - `state` string — Customer's address state
      - `country` string — Customer's address country
      - `city` string — Customer's address city
      - `postcode` string — Customer's address postcode
    - `customer_id` string — The customer ID
    - `first_name` string — The first name of the customer
    - `last_name` string — The last name of the customer
    - `email` string — The customer's email
    - `phone` string — The customer's phone number
    - `reference` string — The customer's reference identifier
  - `_3ds` object, required
    - `browser_details` object
      - `name` string, required — The name of the customer's browser.
      - `java_enabled` string, required — Indicates whether the customer has Java enabled on their browser.
      - `language` string, required — the language in the customers browser, i.e. 'en-us'
      - `screen_height` string, required — The screen height of the customer's browser
      - `screen_width` string, required — The screen width of the customer's browser.
      - `time_zone` string, required — This is the timezone-offset in minutes between UTC and the local time of the customer's browser.
      - `color_depth` string, required — This is the bit depth of the colour palette for displaying images, in bits per pixel. Available values: 1, 4, 8, 15, 16, 24, 32, 48
    - `challenge_preference` 'challenge_mandated' | 'challenge_preferred' | 'no_challenge' — Pass your preference of whether or not 3DS verification will be processed

## Response `200`

200

- object
  - `status` integer
  - `error` unknown
  - `resource` object
    - `type` string
    - `data` object
      - `transfer` object
        - `items` object[]
      - `schedule` object
        - `stopped` boolean
      - `statistics` object
        - `total_refunded_amount` integer
        - `full_refund` boolean
        - `need_sync` boolean
      - `customer` object
        - `payment_source` object
          - `card_number_last4` string
          - `card_number_bin` string
          - `card_scheme` string
          - `expire_month` integer
          - `expire_year` integer
          - `gateway_id` string
          - `gateway_type` string
          - `gateway_name` string
          - `type` string
          - `vault_token` string
          - `card_number_hash_uuid` string
          - `items` object[]
      - `_3ds` object
        - `id` string
        - `token` string
      - `logs_migrated` boolean
      - `status` string
      - `type` string
      - `capture` boolean
      - `authorization` boolean
      - `archived` boolean
      - `one_off` boolean
      - `_source_ip_address` string
      - `_id` string
      - `amount` integer
      - `currency` string
      - `company_id` string
      - `items` object[]
      - `transactions` object[]
        - `_3ds` object
          - `gateway_status` string
          - `challenge` boolean
        - `_id` string
        - `status` string
        - `type` string
        - `amount` integer
        - `currency` string
        - `service_logs` object[]
        - `created_at` string
        - `updated_at` string
        - `amount_fee` unknown
        - `processed_at` string
      - `created_at` string
      - `updated_at` string
      - `amount_surcharge` unknown
      - `amount_original` unknown
      - `__v` integer
      - `external_id` string

## Other responses

- `400` — 400

---

[API](https://skmtc.dev/commbank/apis/powerboard-api.md) · [All operations](https://skmtc.dev/commbank/apis/powerboard-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/commbank/powerboard-api/revisions/2ef3ed32f8c2/schema)
