Créer un remboursement
Permet d'effectuer un remboursement pour un prélèvement capturé. Vous pouvez spécifier un montant de remboursement personnalisé ou ne pas en indiquer afin de rembourser la totalité du solde. Stripe effectue les remboursements dans la devise d'origine et les verse directement sur le moyen de paiement initial du client.
Vous ne pouvez pas rembourser un prélèvement au-delà de son montant initial. Si vous tentez de rembourser un prélèvement déjà réglé ou de dépasser le montant total initial, Stripe renvoie une erreur.
POST https://api.stripe.com/v1/refunds
Exemples
Exemple cURL :
cURL
curl -X POST https://api.stripe.com/v1/refunds \
-u <YOUR_SECRET_KEY>: \
-d "charge=ch_1NirD82eZvKYlo2CIvbtLWuY"
Réponses
Les réponses renvoient des codes standard.
200: OK
Response
{
"id": "re_1Nispe2eZvKYlo2Cd31jOCgZ",
"object": "refund",
"amount": 212,
"balance_transaction": "txn_1Nispe2eZvKYlo2CYezqFhEx",
"charge": "ch_1NirD82eZvKYlo2CIvbtLWuY",
"created": 1692942318,
"currency": "usd",
"destination_details": {
"card": {
"reference": "123456789012",
"reference_status": "available",
"reference_type": "acquirer_reference_number",
"type": "refund"
},
"type": "card"
},
"metadata": {},
"payment_intent": "pi_1GszsK2eZvKYlo2CfhZyoZLp",
"reason": null,
"receipt_number": null,
"source_transfer_reversal": null,
"status": "succeeded",
"transfer_reversal": null
}
Réponses d'erreur
400: Bad Request
Response
{
"error": {
"code": "parameter_invalid_integer",
"doc_url": "https://stripe.com/docs/error-codes/parameter-invalid-integer",
"message": "Invalid integer: <integer>",
"param": "amount",
"request_log_url": "https://dashboard.stripe.com/test/logs/req_UQf6XBwBl9yk66?t=1734829676",
"type": "invalid_request_error"
}
}
401: Unauthorized
Response
{
"error": {
"type": "invalid_request_error",
"message": "Invalid API Key provided: sk_test_********************1234"
}
}
Paramètres
Paramètres du corps
| Paramètre | Type | Description |
|---|---|---|
amount | entier | Montant du remboursement en centimes. Si ce paramètre est omis, Stripe rembourse la totalité du montant facturé. |
charge | chaîne | (Obligatoire) Identifiant du prélèvement à rembourser. |
currency | chaîne | Code ISO de la devise à trois lettres, en minuscules. Doit correspondre à une devise prise en charge. Si ce paramètre est omis, Stripe utilise la devise de la transaction d'origine. |
expand[] | tableau de chaînes | Identifie les objets de réponse imbriqués à enrichir et à renvoyer en ligne. |
customer | chaîne | Identifiant du client auquel le prélèvement se rapporte. |
reason | chaîne | Motif du remboursement. S'il est défini, les valeurs possibles sont duplicate, fraudulent ou requested_by_customer. S'il est défini sur fraudulent, Stripe ajoute la carte et l'adresse e-mail associées à vos listes de blocage. Cela contribue à améliorer la détection des fraudes. |
payment_intent | chaîne | Identifiant du PaymentIntent à rembourser. |
refund_application_fee | booléen | Détermine si Stripe recrédite les frais de plateforme sur le compte. En cas de remboursement intégral, Stripe recrédite l’intégralité des frais. En cas de remboursement partiel, Stripe recalcule et recrédite un montant proportionnel. Les frais de plateforme s’appliquent uniquement à la plateforme à l’origine de la transaction. |
origin | chaîne | Origine du remboursement. |
reverse_transfer | booléen | Détermine si Stripe récupère les fonds transférés depuis le compte connecté. Stripe annule les virements effectués depuis le compte connecté proportionnellement au montant remboursé (remboursement total ou partiel). |
instructions_email | chaîne | Envoie des instructions de paiement manuel à cette adresse e-mail si le mode de paiement du client ne prend pas en charge les remboursements de manière native. |