# Rapprochement des virements Identifier les transactions incluses dans un virement. Lorsque vous envoyez des fonds de votre solde Stripe disponible vers votre compte bancaire, cela génère un objet Payout. Les virements automatiques se produisent régulièrement et suivent votre [fréquence de virements](https://docs.stripe.com/payouts.md#payout-schedule). Ils peuvent inclure des fonds correspondant à différentes transactions. Stripe propose les moyens suivants pour consulter les transactions incluses dans un virement automatique : - Ouvrir un virement dans le [Dashboard Stripe](https://dashboard.stripe.com/test/payouts). - Visualiser ou télécharger le [rapport de rapprochement des virements](https://docs.stripe.com/reports/payout-reconciliation.md). - Récupérer les détails d’un virement via l’API Stripe, comme indiqué dans ce guide. > #### Rapprochement des virements manuels > > Puisque vous contrôlez la fréquence et le montant des virements manuels, Stripe ne peut pas identifier les transactions incluses dans chaque virement. Vous êtes responsable de la réconciliation de vos virements avec votre historique de transactions. ## Rechercher l'identifiant d'un virement Pour obtenir des informations sur les transactions incluses dans un virement, vous avez besoin de son `id` (`po_xxx`). Pour l’obtenir : - Écoutez l’événement de webhook `payout.reconciliation_completed`. - Appelez l’API [List Payouts](https://docs.stripe.com/api/payouts/list.md) pour consulter la liste des virements. - Récupérez-le dans votre propre base de données. Vous pouvez [récupérer un virement](https://docs.stripe.com/api/payouts/retrieve.md) pour accéder à ses propriétés, mais cela ne vous permettra pas de savoir quelles transactions sont incluses dans le montant total. ```json { "id": "po_001", "amount": 8000, "currency": "usd", "status": "paid", ... } ``` ## Liste des objets BalanceTransaction Chaque mouvement de fonds entrant ou sortant de votre compte Stripe crée un objet [BalanceTransaction](https://docs.stripe.com/api/balance_transactions.md). Transmettez l’identifiant du paiement dans votre requête de [liste des BalanceTransactions](https://docs.stripe.com/api/balance_transactions/list.md) afin d’afficher uniquement les transactions associées à ce paiement. ```curl curl -G https://api.stripe.com/v1/balance_transactions \ -u "<>:" \ -d payout=po_xxx ``` Par défaut, 10 résultats maximum seront affichés. Si vous avez besoin d’en afficher davantage, définissez le paramètre [`limit`](https://docs.stripe.com/api/balance_transactions/list.md#balance_transaction_list-limit) de la requête ou utilisez la [pagination automatique de Stripe](https://docs.stripe.com/api/pagination/auto.md). La réponse renvoie un tableau des objets BalanceTransaction corresondant au virement spécifié : ```json { "object": "list", "data": [ { "id": "txn_001", "amount": 10000, "type": "charge", "source": "ch_001", ... }, { "id": "txn_002", "amount": -2000, "type": "refund", "source": "re_001", ... }, ... ``` La propriété `type` identifie l’activité sous-jacente qui a généré la transaction. par exemple : - `charge` : paiement reçu de votre client. - `refund` : fonds que vous avez restitués à votre client. - `stripe_fee` : frais que vous avez payé à Stripe. - `payout` : le virement lui-même, qui est également une transaction qui a déplacé des fonds de votre compte Stripe vers votre compte bancaire. Consultez les [types d’opérations sur solde](https://docs.stripe.com/reports/balance-transaction-types.md#types) pour découvrir la liste complète. ## Développer les ressources de l'opération sur solde La propriété `source` de chaque BalanceTransaction identifie l’objet sous-jacent représentant le type de transaction, par exemple `ch_xxx` pour un débit ou `re_xxx` pour un remboursement. Pour récupérer ces objets sans faire d’appels supplémentaires à l’API, mettez à jour le code précédent en utilisant la fonction [Expand](https://docs.stripe.com/expand.md). ```curl curl -G https://api.stripe.com/v1/balance_transactions \ -u "<>:" \ -d payout=po_xxx \ -d "expand[]=data.source" ``` La réponse contient l’objet `source` développé pour chaque BalanceTransaction du virement : ```json { "object": "list", "data": [ { "id": "txn_001", "amount": 10000, "type": "charge", "source": { "id": "ch_001", "amount": 10000, "metadata": { ... }, ... }, ... }, { "id": "txn_002", "amount": -2000, "type": "refund", "source": { "id": "re_001", "amount": 2000, "reason": "requested_by_customer", ... }, ... ``` Utilisez le code suivant pour accéder aux propriétés de l’objet `source` notamment ses attributs `id` et `amount`. #### Ruby ```ruby balance_transactions['data'].each do |txn| obj = txn['source'] puts "#{obj['id']} #{obj['amount']}" end ```