跳到主要内容

Create Refund

Introduction

If amount, currency is not passed, a full refund will be made, otherwise, a partial refund will be made according to the passed value.

Interface

POST /v1/refunds

Request Params

FieldNameTypeRangeExampleDefaultOptionalRemarkRule
referenceReferencestring[1, 64]2022123optionalRefer to merchant side's customer ID, see Unique Reference Mode
payment_idPayment IDstring[1,64]required
currencyCurrencystring[1,64]optional
amountAmountstring[1,64]optional
descriptionDescriptionstringoptional
metadataMetadatahashoptional
extraExtrahashoptional

extra

For boleto_br:

Extra FieldRemark
countryrequired
currencyrequired
bank_namerequired
bank_coderequired
bank_branch_nameoptional
bank_branch_coderequired
account_typerequired
account_holder_namerequired
account_numberrequired
referenceoptional

For paycash_mx:

ValueRemark
countryrequired
currencyrequired
bank_nameoptional
bank_coderequired
bank_branch_nameoptional
bank_branch_coderequired
account_typerequired
account_holder_namerequired
account_numberrequired
referenceoptional

Response Example

200 success:

{
"id": "rfd_SKCW50iHOG4C9i54uPrTqTa",
"object": "refund",
"livemode": true,
"payment_id": "pm_KG4Sq1zDCer5uTq1GGXjLKGO",
"payment_method": "alipay_cn",
"time_created": "2023-01-09T13:50:17+08:00",
"time_refunded": "2023-01-09T13:50:20+08:00",
"reference": null,
"payment_reference": null,
"currency": "CNY",
"currency_local": "CNY",
"amount": "0.05",
"amount_local": "0.05",
"failure_message": null,
"failure_code": null,
"gateway_transaction_id": null,
"succeeded": true,
"status": "refunded",
"description": null,
"metadata": {
"custom_field": "custom_value"
},
"extra": {}
}

400 error:

{
"error": {
"type": "invalid_request_error",
"message": "Cannot refund as it has been fully refunded. Payment id: pm_eD0SGKHGqvP0Gyj1q1L0KmPK."
}
}