Aller au contenu principal

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ètreTypeDescription
amountentierMontant du remboursement en centimes. Si ce paramètre est omis, Stripe rembourse la totalité du montant facturé.
chargechaîne(Obligatoire) Identifiant du prélèvement à rembourser.
currencychaîneCode 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înesIdentifie les objets de réponse imbriqués à enrichir et à renvoyer en ligne.
customerchaîneIdentifiant du client auquel le prélèvement se rapporte.
reasonchaîneMotif 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_intentchaîneIdentifiant du PaymentIntent à rembourser.
refund_application_feebooléenDé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.
originchaîneOrigine du remboursement.
reverse_transferbooléenDé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_emailchaîneEnvoie 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.