Create Sale with 3D Secure

Combines both the create authorization and capture authorization API calls into one.


This API is available for Finix Flex and Finix Core customers.

A Transfer representing a customer payment where funds are obtained from a payment card. These specific Transfers are distinguished by their type which return DEBIT.

3D Secure 2.0 allows end-users to authenticate a transaction by having the cardholder authenticate with their issuing bank. By enabling 3D Secure on a transaction, you are shifting the liability of a chargeback from the merchant to the issuing bank. The integration requires a 3D Secure vendor to generate the values needed for 3d_secure_authentication.

Learn how to prevent duplicate transfers by passing an idempotency ID in the payload.

curl \
    -H "Content-Type: application/vnd.json+api" \
    -u  USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e \
    -d '
	    "merchant": "MUeDVrf2ahuKc9Eg5TeZugvs",
	    "3d_secure_authentication": {
	        "electronic_commerce_indicator": "AUTHENTICATED",
	        "cardholder_authentication": "BwABBJQ1AgAAAAAgJDUCAAAAAAA=",
	        "transaction_id": "EaOMucALHQqLAEGAgk"
	    "source": "PIe2YvpcjvoVJ6PzoRPBK137",
	    "tags": {
	        "test": "sale"
	    "currency": "USD",
	    "amount": 92169

Example Response:

  "id" : "AUgMXXghimoJyWBWhkEBuYgH",
  "application" : "APgPDQrLD52TYvqazjHJJchM",
  "amount" : 92169,
  "tags" : {
    "test" : "sale"
  "state" : "SUCCEEDED",
  "currency" : "USD",
  "transfer" : null,
  "messages" : [ ],
  "raw" : null,
  "created_at" : "2022-01-27T07:37:10.74Z",
  "updated_at" : "2022-01-27T07:37:10.93Z",
  "trace_id" : "3590ead9-f41d-4e79-a574-598544893871",
  "source" : "PIe2YvpcjvoVJ6PzoRPBK137",
  "merchant_identity" : "IDuqZpDw28f2KK6YuDk4jNLg",
  "3ds_redirect_url" : null,
  "is_void" : false,
  "void_state" : "UNATTEMPTED",
  "expires_at" : "2022-02-03T07:37:10.74Z",
  "idempotency_id" : null,
  "_links" : {
    "self" : {
      "href" : ""
    "application" : {
      "href" : ""
    "merchant_identity" : {
      "href" : ""

HTTP Request


Request Arguments

Field Type Description
amount integer, required The total amount that will be debited in cents (e.g. 100 cents to debit $1.00)
currency string, required 3-letter ISO code designating the currency of the Transfers (e.g. USD)processor
fee integer, optional The amount of the Transfer you would like to collect as your fee in cents. Defaults to zero (Must be less than or equal to the amount)
idempotency_id string, optional A randomly generated value that you want associated with the request
merchant string, optional Merchant ID of the merchant whom you're charging on behalf of
source string, required ID of the Payment Instrument that will be debited
tags object, optional Key value pair for annotating custom metadata (e.g. order numbers)

3d_secure_authentication-object Request Arguments

Field Type Description
cardholder_authentication string, required Provides evidence that the cardholder authentication occurred or that the merchant attempted authentication. This is unique for each authentication transaction.
cardholder_ip_address integer, optional Only required for American Express cards. Format is nnn.nnn.nnn.nnn
electronic_commerce_indicator string, required AUTHENTICATED: Approved by 3D Secure Vendor; ATTEMPTED: Issuer or cardholder does not support 3D Secure
transaction_id string, optional Only valid for Visa transactions