# Adds data share only as a 3D Secure authentication result

## What’s new

Adds `data_share_only` as a possible 3DS result in the [payment_method_details](https://docs.stripe.com/api/charges/object.md?api-version=2026-07-29.dahlia#charge_object-payment_method_details) hash of [Charge](https://docs.stripe.com/api/charges/object.md?api-version=2026-07-29.dahlia), [SetupAttempt](https://docs.stripe.com/api/setup_attempts/object.md?api-version=2026-07-29.dahlia), [PaymentRecord](https://docs.stripe.com/api/payment-record/object.md?api-version=2026-07-29.dahlia), and [PaymentAttemptRecord](https://docs.stripe.com/api/payment-attempt-record/object.md?api-version=2026-07-29.dahlia) objects. This value indicates that 3D Secure authentication was performed using [Data Share Only](https://docs.stripe.com/payments/3d-secure/data-only.md) mode, which is a frictionless flow where cardholder data is shared with the issuer to allow them to make better authorization decisions.

Charge webhook events (such as `charge.succeeded` and `charge.captured`) now include the `three_d_secure` object for Data Share Only transactions.

## Impact

Previously, Data Share Only 3DS authentications were indistinguishable from charges with no 3DS because the `three_d_secure` field was `null` in both cases. With this change, you can identify which transactions used Data Share Only.

If your integration checks the [three_d_secure.result](https://docs.stripe.com/api/charges/object.md?api-version=2026-07-29.dahlia#charge_object-payment_method_details-card-three_d_secure-result) field, you can update it to handle the new `data_share_only` value, if needed.

## Changes

#### REST API

| Value | Change | Enums |
| --- | --- | --- |
| `data_share_only` | Added | [Charge.payment_method_details.card.three_d_secure.result](/api/charges/object?api-version=2026-07-29.dahlia#charge_object-payment_method_details-card-three_d_secure-result), [PaymentAttemptRecord.payment_method_details.card.three_d_secure.result](/api/payment-attempt-record/object?api-version=2026-07-29.dahlia#payment_attempt_record_object-payment_method_details-card-three_d_secure-result), [PaymentRecord.payment_method_details.card.three_d_secure.result](/api/payment-record/object?api-version=2026-07-29.dahlia#payment_record_object-payment_method_details-card-three_d_secure-result), [SetupAttempt.payment_method_details.card.three_d_secure.result](/api/setup_attempts/object?api-version=2026-07-29.dahlia#setup_attempt_object-payment_method_details-card-three_d_secure-result) |

#### Ruby

This change does not affect the Ruby SDK.

#### Python

| Value | Change | Enums |
| --- | --- | --- |
| `data_share_only` | Added | [Charge.PaymentMethodDetail.Card.ThreeDSecure.result](/api/charges/object?api-version=2026-07-29.dahlia#charge_object-payment_method_details-card-three_d_secure-result), [PaymentAttemptRecord.PaymentMethodDetail.Card.ThreeDSecure.result](/api/payment-attempt-record/object?api-version=2026-07-29.dahlia#payment_attempt_record_object-payment_method_details-card-three_d_secure-result), [PaymentRecord.PaymentMethodDetail.Card.ThreeDSecure.result](/api/payment-record/object?api-version=2026-07-29.dahlia#payment_record_object-payment_method_details-card-three_d_secure-result), [SetupAttempt.PaymentMethodDetail.Card.ThreeDSecure.result](/api/setup_attempts/object?api-version=2026-07-29.dahlia#setup_attempt_object-payment_method_details-card-three_d_secure-result) |

#### PHP

| Value | Change | Enums |
| --- | --- | --- |
| `data_share_only` | Added | [Charge.payment_method_details.card.three_d_secure.result](/api/charges/object?api-version=2026-07-29.dahlia#charge_object-payment_method_details-card-three_d_secure-result), [PaymentAttemptRecord.payment_method_details.card.three_d_secure.result](/api/payment-attempt-record/object?api-version=2026-07-29.dahlia#payment_attempt_record_object-payment_method_details-card-three_d_secure-result), [PaymentRecord.payment_method_details.card.three_d_secure.result](/api/payment-record/object?api-version=2026-07-29.dahlia#payment_record_object-payment_method_details-card-three_d_secure-result), [SetupAttempt.payment_method_details.card.three_d_secure.result](/api/setup_attempts/object?api-version=2026-07-29.dahlia#setup_attempt_object-payment_method_details-card-three_d_secure-result) |

#### Java

This change does not affect the Java SDK.

#### Node.js

| Value | Change | Enums |
| --- | --- | --- |
| `data_share_only` | Added | [Charge.payment_method_details.card.three_d_secure.result](/api/charges/object?api-version=2026-07-29.dahlia#charge_object-payment_method_details-card-three_d_secure-result), [PaymentAttemptRecord.payment_method_details.card.three_d_secure.result](/api/payment-attempt-record/object?api-version=2026-07-29.dahlia#payment_attempt_record_object-payment_method_details-card-three_d_secure-result), [PaymentRecord.payment_method_details.card.three_d_secure.result](/api/payment-record/object?api-version=2026-07-29.dahlia#payment_record_object-payment_method_details-card-three_d_secure-result), [SetupAttempt.payment_method_details.card.three_d_secure.result](/api/setup_attempts/object?api-version=2026-07-29.dahlia#setup_attempt_object-payment_method_details-card-three_d_secure-result) |

#### Go

| Value | Change | Enums |
| --- | --- | --- |
| `data_share_only` | Added | [ChargePaymentMethodDetailsCardThreeDSecure.Result](/api/charges/object?api-version=2026-07-29.dahlia#charge_object-payment_method_details-card-three_d_secure-Result), [PaymentAttemptRecordPaymentMethodDetailsCardThreeDSecure.Result](/api/payment-attempt-record/object?api-version=2026-07-29.dahlia#payment_attempt_record_object-payment_method_details-card-three_d_secure-Result), [PaymentRecordPaymentMethodDetailsCardThreeDSecure.Result](/api/payment-record/object?api-version=2026-07-29.dahlia#payment_record_object-payment_method_details-card-three_d_secure-Result), [SetupAttemptPaymentMethodDetailsCardThreeDSecure.Result](/api/setup_attempts/object?api-version=2026-07-29.dahlia#setup_attempt_object-payment_method_details-card-three_d_secure-Result) |

#### .NET

This change does not affect the .NET SDK.

## Upgrade

#### REST API

1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench.
2. If you use an SDK, upgrade to the corresponding SDK version for this API version.
   - If you don’t use an SDK, update your [API requests](https://docs.stripe.com/api/versioning.md) to include `Stripe-Version: 2026-07-29.dahlia`
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours.

Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md).

#### Ruby

1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench.
2. Upgrade your Ruby SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours.

Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md).

#### Python

1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench.
2. Upgrade your Python SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours.

Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md).

#### PHP

1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench.
2. Upgrade your PHP SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours.

Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md).

#### Java

1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench.
2. Upgrade your Java SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours.

Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md).

#### Node.js

1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench.
2. Upgrade your Node SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours.

Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md).

#### Go

1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench.
2. Upgrade your Go SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours.

Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md).

#### .NET

1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench.
2. Upgrade your .NET SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours.

Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md).

## Related changes

- [Adds the ability to update shipping options, consent collection, and future usage support on Payment Links](https://docs.stripe.com/changelog/dahlia/2026-07-29/payment-links-update-endpoint-new-parameters.md)
- [Adds the ability to indicate that you don’t intend to reuse Samsung Pay and PAYCO payment method types](https://docs.stripe.com/changelog/dahlia/2026-07-29/samsung-pay-and-payco-setup-future-usage-none-only.md)
- [Adds customer and payment method details to the Refunds API](https://docs.stripe.com/changelog/dahlia/2026-07-29/adds-customer-and-payment-method-details-to-the-refunds-api.md)
- [Adds support for new banks to FPX payments](https://docs.stripe.com/changelog/dahlia/2026-07-29/fpx-payments-new-banks.md)
- [Adds CHAPS as a supported network for funding instructions](https://docs.stripe.com/changelog/dahlia/2026-07-29/chaps-as-supported-networks.md)
- [Adds the allowed payment method types parameter to Payment Intents and Setup Intents](https://docs.stripe.com/changelog/dahlia/2026-07-29/allowed-payment-method-types-parameter.md)
- [Adds MB WAY support to the Hosted Invoice Page](https://docs.stripe.com/changelog/dahlia/2026-07-29/hosted-invoice-page-mb-way-support.md)
- [Adds card network details to the Dispute object](https://docs.stripe.com/changelog/dahlia/2026-07-29/dispute-payment-method-details-card-network.md)
- [Adds the ability to list Payment Records](https://docs.stripe.com/changelog/dahlia/2026-07-29/list-payment-records.md)
