Transfert de fonds avec Treasury à l'aide d'objets DebitReversal
Comment et dans quels scénarios récupérer des fonds prélevés d'un compte financier Treasury par un titulaire de compte externe.
La restitution des fonds d’un ReceivedDebit entraîne la création d’un DebitReversal. Vous ne pouvez récupérer les fonds des ReceivedDebit
que sous certaines conditions (détaillées dans le tableau suivant). Pour savoir si vous pouvez restituer les fonds d’un ReceivedDebit
, vous devez tenir compte du réseau utilisé et du flux source.
Le sous-hachage reversal_
de la ressource ReceivedDebit
peut présenter la combinaison de valeurs suivante, qui détermine si vous pouvez restituer ou non le ReceivedDebit
.
MOTIF DE LA RESTRICTION | DATE LIMITE (HORODATAGE EPOCH) | EXEMPLE DE SCÉNARIO |
---|---|---|
null | 7940828047 | Un ReceivedDebit dont vous pouvez restituer les fonds, mais uniquement jusqu’à l’horodatage indiqué dans deadline . Les ReceivedDebits ACH ne peuvent être restitués que pendant un certain délai. |
deadline_ | 1629480538 | Un ReceivedDebit dont les fonds pouvaient être restitués jusqu’à l’horodatage spécifié dans deadline , mais qui ne peut plus être restitué via l’API car la deadline est échue. Après leur création, les ReceivedDebits ACH ne peuvent être restitués que pendant une durée limitée. |
already_ | aucun | Un ReceivedDebit qui a déjà été restitué. Dans certains cas, sa valeur deadline peut être non nulle. |
source_ | aucun | Un ReceivedDebit qui ne peut pas être restitué car son source_ n’est pas annulable. |
Délai de restitution
Vous disposez d’environ 1 jour ouvrable pour restituer des prélèvements ACH via l’API après leur réception. Passé ce délai, les fonds du prélèvement ACH pourront peut-être encore être restitués, mais sans aucune garantie. Si le délai est écoulé et que vous souhaitez demander une restitution des fonds, contactez le service d’assistance.
Pour restituer des fonds ReceivedDebit
générés par des cartes Issuing
, consultez le guide Litiges Issuing.
Créer un DebitReversal
Utilisez POST /v1/treasury/debit_
pour créer un DebitReversal
. Spécifiez l’ID du ReceivedDebit
à annuler avec le paramètre received_
dans le corps de la requête.
Note
Vous ne pouvez pas mettre à jour des objets DebitReversals
; vous devez donc définir les métadonnées facultatives lors de leur création.
La requête suivante permet de créer un DebitReversal
à partir de la valeur de l’ID du ReceivedDebit
du paramètre obligatoire received_
. Elle définit également la valeur des métadonnées (facultatif).
Sauf échec de l’opération, la réponse renvoie le nouvel objet DebitReversal
.
{ "id": "{{DEBIT_REVERSAL_ID}}", "object": "debit_reversal", "amount": 1000, "currency": "usd", "financial_account": "{{FINANCIAL_ACCOUNT_ID}}", "hosted_regulatory_receipt_url": "https://payments.stripe.com/regulatory-receipt/{{URL_ID}}", "linked_flows": null, "livemode": false, "metadata": {}, "network": "ach", "received_debit": "{{RECEIVED_DEBIT_ID}}", "resolution": null, "status": "processing", "status_transitions": { "completed_at": null }, "transaction": "{{TRANSACTION_ID}}" }
Récupérer un DebitReversal
Utilisez GET /v1/treasury/debit_
pour récupérer le DebitReversal
avec l’ID associé.
Sauf échec de l’opération, la réponse renvoie l’objet DebitReversal
identifié.
Lister des DebitReversals
Utilisez GET /v1/treasury/debit_
pour récupérer la liste des DebitReversals
du compte financier avec l’ID fourni dans le paramètre obligatoire financial_
. Vous pouvez filtrer la liste en utilisant les paramètres de liste standard, par status
ou par ID ReceivedDebit
à l’aide du paramètre received_
.
{ // Standard list parameters "limit", "starting_after", "ending_before", // Filter by financial account (Required) "financial_account": "{{FINANCIAL_ACCOUNT_ID}}", // Filter by `status` "status": "processing" | "canceled" | "completed" // Filter by ReceivedDebit "received_debit": "{{RECEIVED_DEBIT_ID}}", }
La requête suivante permet de récupérer les trois derniers objets DebitReversal du compte financier identifié.
Tester des DebitReversals
Pour tester des DebitReversals
, vous devez d’abord créer un ReceivedDebit en mode test. Ensuite, utilisez POST /v1/treasury/debit_
et spécifiez l’ID du ReceivedDebit
dans le paramètre received_
pour créer un DebitReversal
en mode test.
Webhooks relatifs aux DebitReversals
Stripe émet les événements DebitReversal
suivants à votre endpoint de webhook :
treasury.
à la création d’undebit_ reversal. created DebitReversal
.treasury.
lorsque ledebit_ reversal. completed DebitReversal
a été effectué.