Vérifier des paiements non capturés
Comment utiliser les vérifications si votre intégration Stripe utilise l'autorisation et la capture.
Par défaut, vous créez des paiements Stripe en une étape, qui ne nécessite aucune autre action de votre part pour envoyer les fonds sur votre compte bancaire.
Cependant, Stripe prend également en charge les paiements en deux étapes, souvent appelés autorisation et capture. Si votre intégration utilise cette technique, notez bien que l’approbation d’une vérification et l’autorisation d’un paiement sont des actions distinctes.
Vérification des paiements non capturés dans le Dashboard
Lorsque Stripe place un paiement non capturé en vérification, le Dashboard affiche un bouton Capturer en plus des boutons permettant de clôturer la vérification par une approbation ou un remboursement. Par ailleurs, étant donné que le remboursement de paiements non capturés est souvent considéré comme une « annulation », les paiements non capturés sont accompagnés d’un bouton Annuler au lieu d’un bouton Rembourser.
Note
L’approbation de la vérification ne capture pas automatiquement le paiement. Vous devez ensuite cliquer sur Capturer.
Utilisation de l’API pour capturer automatiquement les paiements approuvés
Via l’API, vous pouvez configurer votre intégration pour :
- Capturer immédiatement les paiements non placés en
review
- Laisser les paiements placés en
review
non capturés - Une fois que la vérification est approuvée, capturer le paiement
Capturer immédiatement les paiements non placés en vérification
Pour créer un paiement non capturé, définissez le comportement de capture en conséquence dans la demande API. En cas de succès, vérifiez l’attribut review de l’intention de paiement. Si l’attribut est vide, capturez le paiement.
Capture d’un paiement après l’approbation d’une vérification
À dessein, l’étape précédente a laissé les paiements en review
non capturés. Dans cette étape, utilisez des webhooks pour automatiser le processus de capture de ces paiements une fois approuvés.
Commencez par configurer vos webhooks pour qu’ils écoutent l’événement review.
. Les données de l’événement comprennent l’objet Review, et l’attribut reason
de l’objet indique si la vérification a été approuvée ou si elle a été clôturée pour une autre raison (par exemple, si le paiement a été remboursé).
// Review object included in review.closed event webhook. { "id": "prv_08voh1589O8KAxCGPcIQpmkz", "object": "review", "payment_intent": "pi_1D0CsEITpIrAk4QYdrWDnbRS", "created": 1474379631, "livemode": false, "open": false, "reason": "approved" }
Si reason
est approved
, capturez le paiement.
# Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key =
post "/my/webhook/url" do event_json = JSON.parse(request.body.read) event = Stripe::Event.retrieve(event_json["id"]) if event.type == 'review.closed' review = event.object if review.reason == 'approved' pi = Stripe::PaymentIntent.retrieve(review.payment_intent) pi.capture end end status 200 end'sk_test_4eC39HqLyjWDarjtT1zdp7dc'
Pour capturer les paiements approuvés, le processus de vérification doit être effectué dans les sept jours. Dans le cas contraire, comme pour tout autre paiement non capturé, l’autorisation expire automatiquement et vous ne pouvez plus capturer le paiement.