创建退款
对已锁定的交易进行退款。您可以指定自定义退款金额,或省略该参数以退还全部余额。Stripe 将以原始货币进行退款,并直接退还至客户的初始支付方式。
退款金额不得超过原始余额。 如果您尝试对已结算的交易进行退款,或者退款金额超过原始总额,Stripe 将返回错误。
POST https://api.stripe.com/v1/refunds
示例
cURL 示例:
cURL
curl -X POST https://api.stripe.com/v1/refunds \
-u <YOUR_SECRET_KEY>: \
-d "charge=ch_1NirD82eZvKYlo2CIvbtLWuY"
响应
响应返回标准代码。
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
}
错误响应
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"
}
}
参数
正文参数
| 参数 | 类型 | 说明 |
|---|---|---|
amount | 整数 | 退款金额以美分为单位。若未指定,Stripe 将退还全额费用。 |
charge | 字符串 | (必填) 要退款的交易 ID。 |
currency | 字符串 | 三个字母的 ISO 货币代码,小写。必须是受支持的货币。如果省略,Stripe 将采用原始扣款的货币。 |
expand[] | 字符串数组 | 用于标识需要进行数据增强并内联返回的嵌套响应对象。 |
customer | 字符串 | 该笔收费所对应的客户 ID。 |
reason | 字符串 | 退款原因。若设置此字段,可能的取值为 duplicate、fraudulent 或 requested_by_customer。若设置为 fraudulent,Stripe 会将相关信用卡和邮箱地址添加到您的屏蔽列表中。这有助于提高欺诈检测的准确性。 |
payment_intent | 字符串 | 要退款的 PaymentIntent 的 ID。 |
refund_application_fee | 布尔值 | 用于确定 Stripe 是否将平台费退还至账户。对于全额退款,Stripe 将退还全部费用;对于部分退款,Stripe 将重新计算并退还相应比例的金额。平台费仅适用于创建该交易的平台。 |
origin | 字符串 | 退款的来源。 |
reverse_transfer | 布尔值 | 用于指定 Stripe 是否从关联账户中收回已转出的资金。Stripe 将按退款金额的比例(全额或部分退款)撤销关联转账。 |
instructions_email | 字符串 | 如果客户的支付方式不支持原生退款功能,系统会将手动退款说明发送至此电子邮件地址。 |