# Introduction de nouveaux types de transactions sur solde du client

## Nouveautés

Nous introduisons deux nouveaux types de transactions sur solde client&nbsp;: `checkout_session_subscription_payment` et `checkout_session_subscription_payment_canceled`, ainsi qu’un nouveau champ `checkout_session` pour la transaction sur solde client.

## Impact

Cette modification concerne les utilisateurs qui utilisent Checkout&nbsp;:

- Lors d’un paiement, les transactions effectuées sur le solde client sont marquées comme étant de type `checkout_session_subscription_payment` et `checkout_session` est renseigné avec l’ID de session correspondant.
- Si la session expire, l’opération sur le solde du client est annulée et marquée comme `checkout_session_subscription_payment_canceled` et l’ID de la session correspondante est indiquée dans le champ `checkout_session`.

## Modifications

#### API REST

| Parameter          | Change | Resources or endpoints       |
| ------------------ | ------ | ---------------------------- |
| `checkout_session` | Added  | `CustomerBalanceTransaction` |

| Values                                                                                    | Change | Enum                         |
| ----------------------------------------------------------------------------------------- | ------ | ---------------------------- |
| `checkout_session_subscription_payment_canceled`, `checkout_session_subscription_payment` | Added  | `CustomerBalanceTransaction` |

#### Ruby

Cette modification n’affecte pas le SDK&nbsp;Ruby.

#### Python

| Parameter          | Change | Resources or methods         |
| ------------------ | ------ | ---------------------------- |
| `checkout_session` | Added  | `CustomerBalanceTransaction` |

| Values                                                                                    | Change | Enum                         |
| ----------------------------------------------------------------------------------------- | ------ | ---------------------------- |
| `checkout_session_subscription_payment_canceled`, `checkout_session_subscription_payment` | Added  | `CustomerBalanceTransaction` |

#### PHP

| Parameter          | Change | Resources or methods         |
| ------------------ | ------ | ---------------------------- |
| `checkout_session` | Added  | `CustomerBalanceTransaction` |

| Values                                                                                    | Change | Enum                         |
| ----------------------------------------------------------------------------------------- | ------ | ---------------------------- |
| `checkout_session_subscription_payment_canceled`, `checkout_session_subscription_payment` | Added  | `CustomerBalanceTransaction` |

#### Java

| Parameter         | Change | Resources or methods         |
| ----------------- | ------ | ---------------------------- |
| `checkoutSession` | Added  | `CustomerBalanceTransaction` |

#### Node.js

| Parameter          | Change | Resources or methods         |
| ------------------ | ------ | ---------------------------- |
| `checkout_session` | Added  | `CustomerBalanceTransaction` |

| Values                                                                                    | Change | Enum                         |
| ----------------------------------------------------------------------------------------- | ------ | ---------------------------- |
| `checkout_session_subscription_payment_canceled`, `checkout_session_subscription_payment` | Added  | `CustomerBalanceTransaction` |

#### Go

| Parameter         | Change | Resources or methods         |
| ----------------- | ------ | ---------------------------- |
| `CheckoutSession` | Added  | `CustomerBalanceTransaction` |

| Values                                                                                    | Change | Enum                         |
| ----------------------------------------------------------------------------------------- | ------ | ---------------------------- |
| `checkout_session_subscription_payment_canceled`, `checkout_session_subscription_payment` | Added  | `CustomerBalanceTransaction` |

#### .NET

| Parameter         | Change | Resources or methods         |
| ----------------- | ------ | ---------------------------- |
| `CheckoutSession` | Added  | `CustomerBalanceTransaction` |

## Mise à niveau

#### API REST

1. [Consultez la version actuelle de votre API](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) dans Workbench.
1. Si vous utilisez un SDK, passez à une version correspondant à celle de l’API.
   - Si vous n’utilisez pas de SDK, mettez à jour vos [requêtes API](https://docs.stripe.com/api/versioning.md) pour inclure la `version Stripe : 2025-03-31.basil`
1. Mettez à niveau la version de l’API utilisée pour les [endpoints de webhook](https://docs.stripe.com/webhooks/versioning.md).
1. [Testez votre intégration](https://docs.stripe.com/testing.md) avec la nouvelle version.
1. Si vous utilisez Connect, [testez votre intégration Connect](https://docs.stripe.com/connect/testing.md).
1. [Effectuez la mise à niveau](https://docs.stripe.com/upgrades.md#perform-the-upgrade) dans Workbench. Vous pourrez [revenir à la version précédente](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) pendant 72 heures.

En savoir plus sur les [mises à niveau de l’API Stripe](https://docs.stripe.com/upgrades.md).

#### Ruby

1. [Consultez la version actuelle de votre API](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) dans Workbench.
1. Mettez à niveau votre SDK Ruby vers [v15.0.0](https://github.com/stripe/stripe-ruby/releases/tag/v15.0.0)
1. Mettez à niveau la version de l’API utilisée pour les [endpoints de webhook](https://docs.stripe.com/webhooks/versioning.md).
1. [Testez votre intégration](https://docs.stripe.com/testing.md) avec la nouvelle version.
1. Si vous utilisez Connect, [testez votre intégration Connect](https://docs.stripe.com/connect/testing.md).
1. [Effectuez la mise à niveau](https://docs.stripe.com/upgrades.md#perform-the-upgrade) dans Workbench. Vous pourrez [revenir à la version précédente](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) pendant 72 heures.

En savoir plus sur les [mises à niveau de l’API Stripe](https://docs.stripe.com/upgrades.md).

#### Python

1. [Consultez la version actuelle de votre API](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) dans Workbench.
1. Mettez à niveau votre SDK Python vers [v12.0.0](https://github.com/stripe/stripe-python/releases/tag/v12.0.0)
1. Mettez à niveau la version de l’API utilisée pour les [endpoints de webhook](https://docs.stripe.com/webhooks/versioning.md).
1. [Testez votre intégration](https://docs.stripe.com/testing.md) avec la nouvelle version.
1. Si vous utilisez Connect, [testez votre intégration Connect](https://docs.stripe.com/connect/testing.md).
1. [Effectuez la mise à niveau](https://docs.stripe.com/upgrades.md#perform-the-upgrade) dans Workbench. Vous pourrez [revenir à la version précédente](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) pendant 72 heures.

En savoir plus sur les [mises à niveau de l’API Stripe](https://docs.stripe.com/upgrades.md).

#### PHP

1. [Consultez la version actuelle de votre API](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) dans Workbench.
1. Mettez à niveau votre SDK PHP vers [v17.0.0](https://github.com/stripe/stripe-php/releases/tag/v17.0.0)
1. Mettez à niveau la version de l’API utilisée pour les [endpoints de webhook](https://docs.stripe.com/webhooks/versioning.md).
1. [Testez votre intégration](https://docs.stripe.com/testing.md) avec la nouvelle version.
1. Si vous utilisez Connect, [testez votre intégration Connect](https://docs.stripe.com/connect/testing.md).
1. [Effectuez la mise à niveau](https://docs.stripe.com/upgrades.md#perform-the-upgrade) dans Workbench. Vous pourrez [revenir à la version précédente](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) pendant 72 heures.

En savoir plus sur les [mises à niveau de l’API Stripe](https://docs.stripe.com/upgrades.md).

#### Java

1. [Consultez la version actuelle de votre API](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) dans Workbench.
1. Mettez à niveau votre SDK Java vers [v29.0.0](https://github.com/stripe/stripe-java/releases/tag/v29.0.0)
1. Mettez à niveau la version de l’API utilisée pour les [endpoints de webhook](https://docs.stripe.com/webhooks/versioning.md).
1. [Testez votre intégration](https://docs.stripe.com/testing.md) avec la nouvelle version.
1. Si vous utilisez Connect, [testez votre intégration Connect](https://docs.stripe.com/connect/testing.md).
1. [Effectuez la mise à niveau](https://docs.stripe.com/upgrades.md#perform-the-upgrade) dans Workbench. Vous pourrez [revenir à la version précédente](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) pendant 72 heures.

En savoir plus sur les [mises à niveau de l’API Stripe](https://docs.stripe.com/upgrades.md).

#### Node.js

1. [Consultez la version actuelle de votre API](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) dans Workbench.
1. Mettez à niveau votre SDK Node vers [v18.0.0](https://github.com/stripe/stripe-node/releases/tag/v18.0.0)
1. Mettez à niveau la version de l’API utilisée pour les [endpoints de webhook](https://docs.stripe.com/webhooks/versioning.md).
1. [Testez votre intégration](https://docs.stripe.com/testing.md) avec la nouvelle version.
1. Si vous utilisez Connect, [testez votre intégration Connect](https://docs.stripe.com/connect/testing.md).
1. [Effectuez la mise à niveau](https://docs.stripe.com/upgrades.md#perform-the-upgrade) dans Workbench. Vous pourrez [revenir à la version précédente](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) pendant 72 heures.

En savoir plus sur les [mises à niveau de l’API Stripe](https://docs.stripe.com/upgrades.md).

#### Go

1. [Consultez la version actuelle de votre API](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) dans Workbench.
1. Mettez à niveau votre SDK Go vers [v82.0.0](https://github.com/stripe/stripe-go/releases/tag/v82.0.0)
1. Mettez à niveau la version de l’API utilisée pour les [endpoints de webhook](https://docs.stripe.com/webhooks/versioning.md).
1. [Testez votre intégration](https://docs.stripe.com/testing.md) avec la nouvelle version.
1. Si vous utilisez Connect, [testez votre intégration Connect](https://docs.stripe.com/connect/testing.md).
1. [Effectuez la mise à niveau](https://docs.stripe.com/upgrades.md#perform-the-upgrade) dans Workbench. Vous pourrez [revenir à la version précédente](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) pendant 72 heures.

En savoir plus sur les [mises à niveau de l’API Stripe](https://docs.stripe.com/upgrades.md).

#### .NET

1. [Consultez la version actuelle de votre API](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) dans Workbench.
1. Mettez à niveau votre SDK .NET vers [v48.0.0](https://github.com/stripe/stripe-dotnet/releases/tag/v48.0.0)
1. Mettez à niveau la version de l’API utilisée pour les [endpoints de webhook](https://docs.stripe.com/webhooks/versioning.md).
1. [Testez votre intégration](https://docs.stripe.com/testing.md) avec la nouvelle version.
1. Si vous utilisez Connect, [testez votre intégration Connect](https://docs.stripe.com/connect/testing.md).
1. [Effectuez la mise à niveau](https://docs.stripe.com/upgrades.md#perform-the-upgrade) dans Workbench. Vous pourrez [revenir à la version précédente](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) pendant 72 heures.

En savoir plus sur les [mises à niveau de l’API Stripe](https://docs.stripe.com/upgrades.md).
