POST /credit_notes/{credit-note-id}/refund
Refunds a specified amount from a refundable credit note back to the customer's payment source.
This operation supports only refunds against online payments. The refund amount is returned to the customer through the payment_source associated with the transaction. If multiple transactions are associated with the credit note, call this API once for each transaction.
To record offline refunds, including those for linked_taxes_withheld, use the Record refund for a credit note API.
Prerequisites & Constraints
- The credit note
typeisrefundable. - The credit note
statusisrefund_due. - The credit note has an
amount_availablegreater than 0. - Part or all of the credit note's
amount_availableis from online payments. - The credit note is not standalone; it has an associated invoice.
- You can process partial refunds only if the associated payment gateway supports partial refund operations.
Impacts
Credit note
- The credit note's
amount_availableis reduced by the refunded amount. - The credit note's
statusis updated torefundedif the refunded amount is equal to the credit note'samount_available. - The credit note's
linked_refundsis updated with the details of the refund transaction.
Transaction
Chargebee creates a transaction of type refund and links it to the credit note under credit_note.linked_refunds.
Implementation Notes
Before you call this API, make sure the following conditions are met:
- The credit note
typeisrefundable. - The credit note
statusisrefund_due. - The credit note has an
amount_availablegreater than 0. - The credit note has the
reference_invoice_idset.
Servers
- {protocol}://{site}.{environment}:{port}/api/v2
- {protocol}://{site}-test.{environment}:{port}/api/v2
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
credit-note-id |
String | Yes |
Request headers
| Name | Type | Required | Description |
|---|---|---|---|
chargebee-request-origin-device |
String | No |
The device from which the customer has made the request |
Content-Type |
String | Yes |
The media type of the request body.
Default value: "application/x-www-form-urlencoded" |
chargebee-event-webhook |
String | No |
skip only webhooks Valid values:
|
chargebee-business-entity-id |
String | No |
If the site has multiple business entities, you can use this custom HTTP header to specify the business entity for which Chargebee should perform the operation. |
chargebee-event-actions |
String | No |
skip all actions to be done on the events Valid values:
|
chargebee-request-origin-user |
String | No |
The email address of your customer/user. Use this when the email address has only ASCII characters. |
chargebee-request-origin-ip |
String | No |
The IP address of the customer where the request originated |
chargebee-request-origin-user-encoded |
String | No |
The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored. |
chargebee-event-email |
String | No |
skip only emails Valid values:
|
Request body fields
| Name | Type | Required | Description |
|---|---|---|---|
refund_amount |
Integer | No |
The amount to be refunded. Constraints
Default behavior
|
refund_reason_code |
String | No |
Reason code for the refund. Must be one from a list of reason codes set in the Chargebee app in Settings > Configure Chargebee > Reason Codes > Credit Notes > Refund Credit Note. Must be passed if set as mandatory in the app. The codes are case-sensitive. |
customer_notes |
String | No |
A note to be added for this operation, to the credit note. This note is displayed on customer-facing documents such as the Credit Note PDF . |
How to start integrating
- Add HTTP Task to your workflow definition.
- Search for the API you want to integrate with and click on the name.
- This loads the API reference documentation and prepares the Http request settings.
- Click Test request to test run your request to the API and see the API's response.