Utilisation des SetupIntents, PaymentMethods et BankAccounts
Configurer des mouvements de fonds dans Treasury.
Vous pouvez utiliser des objets PaymentMethod afin d’enregistrer les identifiants d’un compte bancaire états-unien pour une réutilisation ultérieure. Une fois que vous avez créé le PaymentMethod
, vous pouvez utiliser le même objet plusieurs fois pour transférer des fonds vers et depuis un compte financier. Vous pouvez associer le PaymentMethod
à un objet Customer ou au compte Stripe, en fonction de votre cas d’usage.
- Si vous prévoyez d’utiliser le moyen de paiement dans le cadre d’un paiement sortant à un tiers, associez l’objet
PaymentMethod
à un objetCustomer
. - Si vous prévoyez d’utiliser le moyen de paiement dans le cadre d’un paiement vers ou depuis un compte externe appartenant à la même entreprise que le compte Stripe, associez l’objet
PaymentMethod
à un compte connecté ou un compte de la plateforme.
Remarque
L’objet Customer
définit une entité tierce qui représente le propriétaire d’un compte bancaire externe.
Si vous avez déjà collecté les informations de paiement du client sur Stripe à l’aide de l’objet BankAccounts, vous pouvez remplacer BankAccount
par PaymentMethod
dans ces requêtes. Pour InboundTransfers
, la valeur status
de BankAccount
doit être définie sur verified
. Nous vous recommandons, dans la mesure du possible, d’utiliser PaymentMethods
pour tirer pleinement parti de ces fonctionnalités.
Dans certains cas, les banques qui reçoivent des transferts ACH notifient Stripe que les informations de compte (telles que le numéro de compte ou de routage) ont été modifiées. Si nous recevons une telle notification pour un compte associé à un objet PaymentMethod
ou BankAccount
, nous mettons automatiquement à jour cet objet. Pour en savoir plus, consultez notre guide Gestion des notifications de modification ACH.
Créer un SetupIntent pour enregistrer les informations du us_bank_account
Les SetupIntents vous permettent de configurer un moyen de paiement que vous pouvez utiliser avec les endpoints de transferts de fonds de l’API Stripe. Utilisez des SetupIntents
pour enregistrer les identifiants du client ou du compte comme moyen de paiement et les optimiser pour les objets avec lesquels vous comptez les utiliser. Par exemple, lors de la configuration d’un compte bancaire américain, il convient de vérifier le compte externe avant de le débiter en vue d’un transfert entrant. Stripe met à jour l’objet SetupIntent
tout au long du processus de configuration.
L’exemple suivant illustre l’utilisation d’un SetupIntent
avec un compte bancaire acceptant les transferts de fonds bidirectionnels. Pour en savoir plus sur la configuration d’un moyen de paiement afin de créer des paiements et instaurer un processus de vérification du compte bancaire, consultez le guide relatif à l’enregistrement des informations pour les futurs paiements par prélèvement automatique ACH. Lorsque vous configurez des moyens de paiement pour gérer les fonds d’un compte financier avec des SetupIntents
, voici les champs les plus pertinents :
- flow_directions : ce tableau définit la directionnalité des flux d’un moyen de paiement. Les valeurs possibles,
inbound
etoutbound
, déterminent la capacité du moyen de paiement à transférer des fonds vers et/ou depuis un compte financier. Vous pouvez également configurer un moyen de paiement existant pour le rendre bidirectionnel. - attach_to_self : flag booléen qui indique si le moyen de paiement doit être associé à l’objet
Account
en contexte. Définissez cette valeur sur true pour créer un moyen de paiement associé au compte dédié à la gestion des flux de transfert de fonds propres à ce compte, tels que des transferts entrants et sortants. - customer : ID de l’objet
Customer
auquel le moyen de paiement doit être associé à l’issue de la configuration. Vous pouvez utiliser les moyens de paiement associés à l’objetCustomer
avec des paiements sortants afin de transférer des fonds à des tiers et des clients. Vous pouvez également les utiliser avec lesPaymentIntents
de Stripe Payments afin de recevoir des fonds. Vous devez définir l’attributattach_
sur false ou le laisser vide lorsque vous créez un moyen de paiement associé au client.to_ self
Autorisations
Pour utiliser un moyen de paiement pour les redirections de flux entrants (comme les InboundTransfers
), vous devez obtenir l’autorisation du titulaire du compte. Le fait d’obtenir cet accord (représenté par l’objet Mandate
) au départ et de l’associer au moyen de paiement vous permettra par la suite de débiter le moyen de paiement enregistré.
Sur votre application ou votre site, précisez les conditions dans lesquelles vous prélèverez des fonds de comptes externes et inviterez vos comptes connectés à adhérer à ces dispositions. Vos conditions doivent au minimum comporter les éléments suivants :
- Vous devez demander à votre compte connecté l’autorisation de déclencher un prélèvement ou une série de prélèvements en son nom
- D’informer sur la fréquence prévue des prélèvements (paiement ponctuel ou paiements récurrents)
- D’expliciter la façon dont vous déterminez le montant du prélèvement
Si vous devez obtenir un mandat pour débiter un compte bancaire externe aux États-Unis avec des transferts entrants, vous n’en avez pas besoin pour virer des fonds sur un compte bancaire via des transferts ou des paiements sortants.
Créer un SetupIntent
Pour créer un SetupIntent
, vous devez soit utiliser un moyen de paiement existant avec le paramètre payment_
, soit fournir de nouveaux identifiants à l’aide du paramètre de type inline payment_
.
Utilisez POST /v1/setup_
pour créer un SetupIntent
.
Sauf échec de l’opération, la réponse renvoie le nouvel objet SetupIntent
.
Le SetupIntent
présente l’un des états suivants :
ÉTAT | DESCRIPTION | ÉTAPES SUIVANTES |
---|---|---|
succeeded | Le compte bancaire a été vérifié instantanément ou la vérification n’était pas nécessaire. | Aucune action requise. |
requires_ | Une action supplémentaire est requise pour mener à bien la vérification du compte bancaire. | Voir next_ pour les étapes de configuration supplémentaires. |
Une fois le SetupIntent
confirmé, Stripe envoie par e-mail une confirmation du mandat ainsi que les informations collectées sur le compte bancaire à votre compte connecté. L’e-mail par défaut renvoie à Stripe Payments ; si vous utilisez Stripe Treasury sans Stripe Payments, vous pouvez désactiver les e-mails de Stripe et envoyer des messages personnalisés à la place.