To process a refund you will need to make a request to the <a href="/reference/create-refunds" class="codeLabel codeLabel-link" target="_blank" rel="nofollow noopener noreferrer">/refunds</a> endpoint. This request is made using the charge <b>Id</b> returned by Zip in your /charges API call.
This API call will contain:
<span class="codeLabel codeLabel-attribute">Charge_id</span>
<span class="codeLabel codeLabel-attribute">Reason</span>
<span class="codeLabel codeLabel-attribute">Amount</span>
The Zip API response will contain:
<span class="codeLabel codeLabel-attribute">Id</span> - a unique reference for your refund
<span class="codeLabel codeLabel-attribute">Charge_Id</span> - The original charge id of the refunded order
<span class="codeLabel codeLabel-attribute">Reason</span>
<span class="codeLabel codeLabel-attribute">Amount</span>
<span class="codeLabel codeLabel-attribute">Created date time</span>
This <span class="codeLabel codeLabel-nolink">/refunds</span> API call should be made from your server and not directly from the client front end. Generally this is triggered from your order management system. <br>

## Charge Id
Zip require the original order charge Is to process a a refund. This will have been obtained from the initial charges API call to Zip
Here is an example of how this information can be passed:
## Reason and amount
Full or partial refunds can be processed against the original order. If a customer is to return a single item from a purchase that included multiple items, only the value of the item to be refunded should be passed to Zip.
The refund reason is passed for your reference purposes if recalling the refund data from Zip at a later time.
Here is an example of how this information can be passed:
## The full request
An example payload can be found below: