---
title: "3D Secure card authentication"
description: "Supply applicable 3DS authentication results with raw card input in public sale requests."
company: "RevCent"
canonical: "https://revcent.com/documentation/markdown/ecosystem/payments/credit-card/ThreeDSecure.md"
---

# 3D Secure card authentication

3D Secure provides cardholder authentication information for a card payment. Authentication and payment approval are separate outcomes: completing authentication does not itself charge the card or guarantee that the payment is approved.

The public sale API accepts applicable authentication results in credit_card.three_ds alongside raw card details. Obtain the results from the authentication integration for the actual card, payment, and destination gateway. This object supplies results; it is not a request to start a browser challenge.

## Request example

`POST /v2/sales` — [CreateSale API schema](https://revcent.com/documentation/files/api/operation/CreateSale.json)

```json
{
  "campaign": "AAAAAAAAAAAAAAAAAAAA",
  "product": [
    {
      "id": "PPPPPPPPPPPPPPPPPPPP",
      "quantity": 1
    }
  ],
  "customer_id": "CCCCCCCCCCCCCCCCCCCC",
  "iso_currency": "USD",
  "ip_address": "192.0.2.10",
  "payment_type": "credit_card",
  "gateway_id": "GGGGGGGGGGGGGGGGGGGG",
  "credit_card": {
    "card_number": "4111111111111111",
    "exp_month": 12,
    "exp_year": 2030,
    "card_code": "123",
    "three_ds": {
      "enabled": true,
      "version": "2.2.0",
      "eci": "05",
      "cavv": "ZXhhbXBsZS1hdXRoZW50aWNhdGlvbg==",
      "gateway_id": "GGGGGGGGGGGGGGGGGGGG"
    }
  }
}
```

This is an illustrative shape. The example authentication values are not valid results and must be replaced. Supply the fields required by your authentication provider and gateway; the example is not a universal set of sufficient authentication fields.

## Field placement and requirements

- Set three_ds.enabled to true whenever supplying authentication data.
- Keep the authentication data inside credit_card, with full raw card input.
- Do not combine it with root payment_method_id or Apple Pay/Google Pay wallet input.
- Follow the operation schema for available fields such as version, eci, cavv, xid, and transaction identifiers.
- When replacing payment or routing, provide fresh applicable authentication for the new attempt rather than assuming earlier results can be reused.

These public inputs are excluded from MCP, AI Assistant, and AI Voice sale schemas. They do not add a separate authentication or challenge-continuation API endpoint.

## Related guides and schemas

- [Credit-card payment workflow](https://revcent.com/documentation/markdown/ecosystem/payments/credit-card/Overview.md)
- [Wallet payment inputs](https://revcent.com/documentation/markdown/ecosystem/payments/credit-card/wallet/Overview.md)
- [All payment types](https://revcent.com/documentation/markdown/ecosystem/payments/Overview.md)
- [CreateSale API schema](https://revcent.com/documentation/files/api/operation/CreateSale.json)
- [CreatePendingSale API schema](https://revcent.com/documentation/files/api/operation/CreatePendingSale.json)
- [UpdatePendingSale API schema](https://revcent.com/documentation/files/api/operation/UpdatePendingSale.json)
- [ProcessPendingSale API schema](https://revcent.com/documentation/files/api/operation/ProcessPendingSale.json)


---
Document Parent Directory
* [Credit Cards](https://revcent.com/documentation/markdown/ecosystem/payments/credit-card/index.md) - Credit-card payment documentation, including saved customer payment methods and wallet payments.