Skip to content

Latest commit

 

History

History
571 lines (497 loc) · 23.6 KB

_order-refunds.md

File metadata and controls

571 lines (497 loc) · 23.6 KB

Order refunds

The order refunds API allows you to create, view, and delete individual refunds, based on an existing order.

Order 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
date_created_gmt date-time The date the order refund was created, as GMT. read-only
amount string Total refund amount. Optional. If this parameter is provided, it will take precedence over line item totals, even when total of line items does not matches with this amount.
reason string Reason for refund.
refunded_by integer User ID of user who created the refund.
refunded_payment boolean If the payment was refunded via the API. See api_refund. read-only
meta_data array Meta data. See Order refund - Meta data properties
line_items array Line items data. See Order refund - Line items properties
tax_lines array Tax lines data. See Order refund - Tax lines properties read-only
shipping_lines array Shipping lines data. See Order refund - Shipping lines properties
fee_lines array Fee lines data. See Order refund - Fee lines properties
api_refund boolean When true, the payment gateway API is used to generate the refund. Default is true. write-only
api_restock boolean When true, the selected line items are restocked Default is true. write-only

Order refund - Meta data properties

Attribute Type Description
id integer Meta ID. read-only
key string Meta key.
value string Meta value.

Order refund - Line items properties

Attribute Type Description
id integer Item ID. read-only
name string Product name.
product_id integer Product ID.
variation_id integer Variation ID, if applicable.
quantity integer Quantity ordered.
tax_class string Tax class of product.
subtotal string Line subtotal (before discounts).
subtotal_tax string Line subtotal tax (before discounts). read-only
total string Line total (after discounts).
total_tax string Line total tax (after discounts). read-only
taxes array Line taxes. See Order refund line item - Taxes properties read-only
meta_data array Meta data. See Order refund - Meta data properties
sku string Product SKU. read-only
price string Product price. read-only

Order refund line item - Taxes properties

Attribute Type Description
id integer Tax rate ID. read-only
total string Tax total. read-only
subtotal string Tax subtotal. read-only

Order refund - Tax lines properties

Attribute Type Description
id integer Item ID. read-only
rate_code string Tax rate code. read-only
rate_id integer Tax rate ID. read-only
label string Tax rate label. read-only
compound boolean Whether or not this is a compound tax rate. read-only
tax_total string Tax total (not including shipping taxes). read-only
shipping_tax_total string Shipping tax total. read-only
meta_data array Meta data. See Order refund - Meta data properties

Order refund - Shipping lines properties

Attribute Type Description
id integer Item ID. read-only
method_title string Shipping method name.
method_id string Shipping method ID.
total string Line total (after discounts).
total_tax string Line total tax (after discounts). read-only
taxes array Line taxes. See Order refund - Tax lines properties read-only
meta_data array Meta data. See Order refund - Meta data properties

Order refund - Fee lines properties

Attribute Type Description
id integer Item ID. read-only
name string Fee name.
tax_class string Tax class of fee.
tax_status string Tax status of fee. Options: taxable and none.
total string Line total (after discounts).
total_tax string Line total tax (after discounts). read-only
taxes array Line taxes. See Order refund - Tax lines properties read-only
meta_data array Meta data. See Order refund - Meta data properties

Create a refund

This API helps you to create a new refund for an order.

HTTP request

POST
/wp-json/wc/v3/orders/<id>/refunds
curl -X POST https://example.com/wp-json/wc/v3/orders/723/refunds \
	-u consumer_key:consumer_secret \
	-H "Content-Type: application/json" \
	-d '{
  "amount": "30",  
  "line_items": [
    {
      "id": "111",
      "refund_total": 10,
      "refund_tax": [
        {
          "id" "222",
          "refund_total": 20
        }
      ]
    }
}'
const data = {
    amount: "30",
    line_items: [
      {
         id: "111",
         refund_total: 10,
         refund_tax: [
           {
             id: "222",
             refund_total: 20
           }
         ]
      }
   ]
};

WooCommerce.post("orders/723/refunds", data)
  .then((response) => {
    console.log(response.data);
  })
  .catch((error) => {
    console.log(error.response.data);
  });
<?php
$data = [
     'amount' => '30',
     'line_items' => [
       [
           'id' => '111',
           'refund_total' => 10,
           'refund_tax' => [
              [
                 'id' => '222',
                 'amount' => 20
              ]
           ]
       ]
     ]
];

print_r($woocommerce->post('orders/723/refunds', $data));
?>
data = {
    "amount": "30",
    "line_items": [
      {
         "id": "111",
         "refund_total": 10,
         "refund_tax": [
           {
             "id" "222",
             "refund_total": 20
           }
         ]
      }
   ]
}

print(wcapi.post("orders/723/refunds", data).json())
data = {
  amount: "30",
  line_items: [
    {
       id: "111",
       refund_total: 10,
       refund_tax: [
         {
           id "222",
           refund_total: 20
         }
       ]
    }
 ]
}

woocommerce.post("orders/723/refunds", data).parsed_response

JSON response example:

{
  "id": 726,
  "date_created": "2017-03-21T17:07:11",
  "date_created_gmt": "2017-03-21T20:07:11",
  "amount": "10.00",
  "reason": "",
  "refunded_by": 1,
  "refunded_payment": false,
  "meta_data": [],
  "line_items": [],
  "_links": {
    "self": [
      {
        "href": "https://example.com/wp-json/wc/v3/orders/723/refunds/726"
      }
    ],
    "collection": [
      {
        "href": "https://example.com/wp-json/wc/v3/orders/723/refunds"
      }
    ],
    "up": [
      {
        "href": "https://example.com/wp-json/wc/v3/orders/723"
      }
    ]
  }
}

Line item parameters

Parameter Type Description
id integer The ID of the line item in the order.
refund_total number The amount to refund for this line item, excluding taxes.
refund_tax array Refunds for tax rates. See Refund tax parameters

Refund tax parameters

Parameter Type Description
id integer The ID of the tax rate.
refund_total number The amount of tax to refund for this line item.

Retrieve a refund

This API lets you retrieve and view a specific refund from an order.

HTTP request

GET
/wp-json/wc/v3/orders/<id>/refunds/<refund_id>
curl https://example.com/wp-json/wc/v3/orders/723/refunds/726 \
	-u consumer_key:consumer_secret
WooCommerce.get("orders/723/refunds/726")
  .then((response) => {
    console.log(response.data);
  })
  .catch((error) => {
    console.log(error.response.data);
  });
<?php print_r($woocommerce->get('orders/723/refunds/726')); ?>
print(wcapi.get("orders/723/refunds/726").json())
woocommerce.get("orders/723/refunds/726").parsed_response

JSON response example:

{
  "id": 726,
  "date_created": "2017-03-21T17:07:11",
  "date_created_gmt": "2017-03-21T20:07:11",
  "amount": "10.00",
  "reason": "",
  "refunded_by": 1,
  "refunded_payment": false,
  "meta_data": [],
  "line_items": [],
  "_links": {
    "self": [
      {
        "href": "https://example.com/wp-json/wc/v3/orders/723/refunds/726"
      }
    ],
    "collection": [
      {
        "href": "https://example.com/wp-json/wc/v3/orders/723/refunds"
      }
    ],
    "up": [
      {
        "href": "https://example.com/wp-json/wc/v3/orders/723"
      }
    ]
  }
}

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.

Note: To view a list of refunds from your store, regardless of order, check out the refunds endpoint.

HTTP request

GET
/wp-json/wc/v3/orders/<id>/refunds
curl https://example.com/wp-json/wc/v3/orders/723/refunds \
	-u consumer_key:consumer_secret
WooCommerce.get("orders/723/refunds")
  .then((response) => {
    console.log(response.data);
  })
  .catch((error) => {
    console.log(error.response.data);
  });
<?php print_r($woocommerce->get('orders/723/refunds')); ?>
print(wcapi.get("orders/723/refunds").json())
woocommerce.get("orders/723/refunds").parsed_response

JSON response example:

[
  {
    "id": 726,
    "date_created": "2017-03-21T17:07:11",
    "date_created_gmt": "2017-03-21T20:07:11",
    "amount": "10.00",
    "reason": "",
    "refunded_by": 1,
    "refunded_payment": false,
    "meta_data": [],
    "line_items": [],
    "_links": {
      "self": [
        {
          "href": "https://example.com/wp-json/wc/v3/orders/723/refunds/726"
        }
      ],
      "collection": [
        {
          "href": "https://example.com/wp-json/wc/v3/orders/723/refunds"
        }
      ],
      "up": [
        {
          "href": "https://example.com/wp-json/wc/v3/orders/723"
        }
      ]
    }
  },
  {
    "id": 724,
    "date_created": "2017-03-21T16:55:37",
    "date_created_gmt": "2017-03-21T19:55:37",
    "amount": "9.00",
    "reason": "",
    "refunded_by": 1,
    "refunded_payment": false,
    "meta_data": [],
    "line_items": [
      {
        "id": 314,
        "name": "Woo Album #2",
        "product_id": 87,
        "variation_id": 0,
        "quantity": -1,
        "tax_class": "",
        "subtotal": "-9.00",
        "subtotal_tax": "0.00",
        "total": "-9.00",
        "total_tax": "0.00",
        "taxes": [],
        "meta_data": [
          {
            "id": 2076,
            "key": "_refunded_item_id",
            "value": "311"
          }
        ],
        "sku": "",
        "price": -9
      }
    ],
    "_links": {
      "self": [
        {
          "href": "https://example.com/wp-json/wc/v3/orders/723/refunds/724"
        }
      ],
      "collection": [
        {
          "href": "https://example.com/wp-json/wc/v3/orders/723/refunds"
        }
      ],
      "up": [
        {
          "href": "https://example.com/wp-json/wc/v3/orders/723"
        }
      ]
    }
  }
]

Available parameters

Parameter Type Description
context string Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view.
page integer Current page of the collection. Default is 1.
per_page integer Maximum number of items to be returned in result set. Default is 10.
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.
exclude array Ensure result set excludes specific IDs.
include array 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. Options: asc and desc. Default is desc.
orderby string Sort collection by object attribute. Options: date, modified, id, include, title and slug. Default is date.
parent array Limit result set to those of particular parent IDs.
parent_exclude array Limit result set to all items except those of a particular parent ID.
dp integer Number of decimal points to use in each resource. Default is 2.

Delete a refund

This API helps you delete an order refund.

HTTP request

DELETE
/wp-json/wc/v3/orders/<id>/refunds/<refund_id>
curl -X DELETE https://example.com/wp-json/wc/v3/orders/723/refunds/726?force=true \
	-u consumer_key:consumer_secret
WooCommerce.delete("orders/723/refunds/726", {
  force: true
})
  .then((response) => {
    console.log(response.data);
  })
  .catch((error) => {
    console.log(error.response.data);
  });
<?php print_r($woocommerce->delete('orders/723/refunds/726', ['force' => true])); ?>
print(wcapi.delete("orders/723/refunds/726", params={"force": True}).json())
woocommerce.delete("orders/723/refunds/726", force: true).parsed_response

JSON response example:

{
  "id": 726,
  "date_created": "2017-03-21T17:07:11",
  "date_created_gmt": "2017-03-21T20:07:11",
  "amount": "10.00",
  "reason": "",
  "refunded_by": 1,
  "refunded_payment": false,
  "meta_data": [],
  "line_items": [],
  "_links": {
    "self": [
      {
        "href": "https://example.com/wp-json/wc/v3/orders/723/refunds/726"
      }
    ],
    "collection": [
      {
        "href": "https://example.com/wp-json/wc/v3/orders/723/refunds"
      }
    ],
    "up": [
      {
        "href": "https://example.com/wp-json/wc/v3/orders/723"
      }
    ]
  }
}

Available parameters

Parameter Type Description
force string Required to be true, as resource does not support trashing.