Refunds
The refunds API allows you to create, view, and delete individual refunds.
Refund properties
| Attribute | Type | Description |
|---|---|---|
id | integer | Unique identifier for the resource. READ-ONLY |
date_created | date-time | The date the order refund was created, in the site's timezone. READ-ONLY |
amount | string | Refund amount. REQUIRED |
reason | string | Reason for refund. |
line_items | array | Line items data. See Refunds Line Items properties. |
Refund line item properties
| Attribute | Type | Description |
|---|---|---|
id | integer | Item ID. READ-ONLY |
name | string | Product name. READ-ONLY |
sku | string | Product SKU. READ-ONLY |
product_id | integer | Product ID. |
variation_id | integer | Variation ID, if applicable. |
quantity | integer | Quantity ordered. |
tax_class | string | Tax class of product. READ-ONLY |
price | string | Product price. READ-ONLY |
subtotal | string | Line subtotal (before discounts). |
subtotal_tax | string | Line subtotal tax (before discounts). |
total | string | Line total (after discounts). |
total_tax | string | Line total tax (after discounts). |
taxes | array | Line total tax with id, total and subtotal. READ-ONLY |
meta | array | Line item meta data with key, label and value. READ-ONLY |
Create a refund
This API helps you to create a new refund for an order.
POST /wp-json/wc/v1/orders/<id>/refunds
- cURL
- JavaScript
- PHP
- Python
- Ruby
- JSON Response
curl -X POST https://example.com/wp-json/wc/v1/orders/116/refunds \
-u consumer_key:consumer_secret \
-H "Content-Type: application/json" \
-d '{
"amount": "10"
}'
const data = {
amount: "10"
};
WooCommerce.post("orders/116/refunds", data)
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.log(error.response.data);
});
<?php
$data = [
'amount' => '10'
];
print_r($woocommerce->post('orders/116/refunds', $data));
?>
data = {
"amount": "10"
}
print(wcapi.post("orders/116/refunds", data).json())
data = {
amount: "10"
}
woocommerce.post("orders/116/refunds", data).parsed_response
{
"id": 150,
"date_created": "2016-05-30T17:28:05",
"amount": "10.00",
"reason": "",
"line_items": [],
"_links": {
"self": [
{
"href": "https://example.com/wp-json/wc/v1/orders/116/refunds/150"
}
],
"collection": [
{
"href": "https://example.com/wp-json/wc/v1/orders/116/refunds"
}
],
"up": [
{
"href": "https://example.com/wp-json/wc/v1/orders/116"
}
]
}
}
Retrieve a refund
This API lets you retrieve and view a specific refund from an order.
GET /wp-json/wc/v1/orders/<id>/refunds/<refund_id>
- cURL
- JavaScript
- PHP
- Python
- Ruby
- JSON Response
curl https://example.com/wp-json/wc/v1/orders/116/refunds/150 \
-u consumer_key:consumer_secret
WooCommerce.get("orders/116/refunds/150")
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.log(error.response.data);
});
<?php print_r($woocommerce->get('orders/116/refunds/150')); ?>
print(wcapi.get("orders/116/refunds/150").json())
woocommerce.get("orders/116/refunds/150").parsed_response
{
"id": 150,
"date_created": "2016-05-30T17:28:05",
"amount": "10.00",
"reason": "",
"line_items": [],
"_links": {
"self": [
{
"href": "https://example.com/wp-json/wc/v1/orders/116/refunds/150"
}
],
"collection": [
{
"href": "https://example.com/wp-json/wc/v1/orders/116/refunds"
}
],
"up": [
{
"href": "https://example.com/wp-json/wc/v1/orders/116"
}
]
}
}
Available parameters
| Parameter | Type | Description |
|---|---|---|
dp | string | Number of decimal points to use in each resource. |
List all refunds
This API helps you to view all the refunds from an order.
GET /wp-json/wc/v1/orders/<id>/refunds
- cURL
- JavaScript
- PHP
- Python
- Ruby
- JSON Response
curl https://example.com/wp-json/wc/v1/orders/116/refunds \
-u consumer_key:consumer_secret
WooCommerce.get("orders/116/refunds")
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.log(error.response.data);
});
<?php print_r($woocommerce->get('orders/116/refunds')); ?>
print(wcapi.get("orders/116/refunds").json())
woocommerce.get("orders/116/refunds").parsed_response
[
{
"id": 151,
"date_created": "2016-05-30T17:31:48",
"amount": "2.00",
"reason": "",
"line_items": [
{
"id": 11,
"name": "Woo Single #2",
"sku": "12345",
"product_id": 99,
"variation_id": 0,
"quantity": -1,
"tax_class": "",
"price": "-2.00",
"subtotal": "-2.00",
"subtotal_tax": "0.00",
"total": "-2.00",
"total_tax": "0.00",
"taxes": [],
"meta": []
}
],
"_links": {
"self": [
{
"href": "https://example.com/wp-json/wc/v1/orders/116/refunds/151"
}
],
"collection": [
{
"href": "https://example.com/wp-json/wc/v1/orders/116/refunds"
}
],
"up": [
{
"href": "https://example.com/wp-json/wc/v1/orders/116"
}
]
}
},
{
"id": 150,
"date_created": "2016-05-30T17:28:05",
"amount": "10.00",
"reason": "",
"line_items": [],
"_links": {
"self": [
{
"href": "https://example.com/wp-json/wc/v1/orders/116/refunds/150"
}
],
"collection": [
{
"href": "https://example.com/wp-json/wc/v1/orders/116/refunds"
}
],
"up": [
{
"href": "https://example.com/wp-json/wc/v1/orders/116"
}
]
}
}
]
Available parameters
| Parameter | Type | Description |
|---|---|---|
context | string | Scope under which the request is made; determines fields present in response. Options: view and edit. |
page | integer | Current page of the collection. |
per_page | integer | Maximum number of items to be returned in result set. |
search | string | Limit results to those matching a string. |
after | string | Limit response to resources published after a given ISO8601 compliant date. |
before | string | Limit response to resources published before a given ISO8601 compliant date. |
dates_are_gmt | boolean | Interpret after and before as UTC dates when true. |
exclude | string | Ensure result set excludes specific ids. |
include | string | Limit result set to specific ids. |
offset | integer | Offset the result set by a specific number of items. |
order | string | Order sort attribute ascending or descending. Default is asc. Options: asc and desc. |
orderby | string | Sort collection by object attribute. Default is date, Options: date, id, include, title and slug. |
dp | string | Number of decimal points to use in each resource. |
Delete a refund
This API helps you delete an order refund.
DELETE /wp-json/wc/v1/orders/<id>/refunds/<refund_id>
- cURL
- JavaScript
- PHP
- Python
- Ruby
- JSON Response
curl -X DELETE https://example.com/wp-json/wc/v1/orders/116/refunds/150?force=true \
-u consumer_key:consumer_secret
WooCommerce.delete("orders/116/refunds/150", {
force: true
})
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.log(error.response.data);
});
<?php print_r($woocommerce->delete('orders/116/refunds/150', ['force' => true])); ?>
print(wcapi.delete("orders/116/refunds/150", params={"force": True}).json())
woocommerce.delete("orders/116/refunds/150", force: true).parsed_response
{
"id": 150,
"date_created": "2016-05-30T17:28:05",
"amount": "10.00",
"reason": "",
"line_items": [],
"_links": {
"self": [
{
"href": "https://example.com/wp-json/wc/v1/orders/116/refunds/150"
}
],
"collection": [
{
"href": "https://example.com/wp-json/wc/v1/orders/116/refunds"
}
],
"up": [
{
"href": "https://example.com/wp-json/wc/v1/orders/116"
}
]
}
}
Available parameters
| Parameter | Type | Description |
|---|---|---|
force | string | Required to be true, as resource does not support trashing. |