Create Sale with 3D Secure
Combines both the create authorization and capture authorization API calls into one.
attention
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 https://finix.sandbox-payments-api.com/transfers \
-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" : "https://finix.sandbox-payments-api.com/authorizations/AUgMXXghimoJyWBWhkEBuYgH"
},
"application" : {
"href" : "https://finix.sandbox-payments-api.com/applications/APgPDQrLD52TYvqazjHJJchM"
},
"merchant_identity" : {
"href" : "https://finix.sandbox-payments-api.com/identities/IDuqZpDw28f2KK6YuDk4jNLg"
}
}
}
HTTP Request
POST https://finix.sandbox-payments-api.com/transfers
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 |