# OR28 - Perform refunds on order lines Call FrequencyRecommended usage: At each refund requestMaximum usage: At each refund request Endpoint: PUT /api/orders/refund ## Query parameters: - `shop_id` (integer) Use this parameter when your user has access to several shops. If not specified, the shop_id from your default shop will be used. ## Request fields (application/json): - `order_tax_mode` (string) Please note: If the taxes are not specified, the prices with mode TAX_EXCLUDED and with mode TAX_INCLUDED will return the same amounts.Possible values:TAX_EXCLUDED: the price fields (price, unit price, shipping price and order total prices) do not include taxes.TAX_INCLUDED: the price fields include the tax amounts. If not specified, the default order tax mode of the platform is used. Enum: "TAX_INCLUDED", "TAX_EXCLUDED" - `refunds` (array, required) List of representations of refunds to be created - `refunds.amount` (number, required) The offer part amount to be refunded. - `refunds.currency_iso_code` (string) The currency (iso format) used by the shop (the field is required if the shop is not using the default Operator platform currency) Enum: "AED", "ARS", "AUD", "BAM", "BGN", "BHD", "BRL", "CAD", "CHF", "CLP", "CNY", "COP", "CZK", "DKK", "EGP", "EUR", "GBP", "GEL", "GTQ", "HKD", "HRK", "HUF", "IDR", "ILS", "INR", "IQD", "JOD", "JPY", "KES", "KRW", "KWD", "LKR", "MAD", "MGA", "MXN", "MYR", "NGN", "NOK", "NZD", "OMR", "PEN", "PHP", "PKR", "PLN", "QAR", "RON", "RSD", "RUB", "SAR", "SEK", "SGD", "TND", "TRY", "THB", "TWD", "UAH", "USD", "UYU", "UZS", "VND", "ZAR" - `refunds.excluded_from_shipment` (boolean) Exclude the refunded quantity from shipments - `refunds.fees` (array) The fee part amount to be refunded - `refunds.fees.amount` (number) Order Fee amount - `refunds.fees.code` (string) Order Fee code - `refunds.order_line_id` (string, required) The identifier of the order line that must be refunded - `refunds.quantity` (integer) The quantity of products to refund. This quantity is informative only. - `refunds.reason_code` (string, required) Refund's reason code - `refunds.shipping_amount` (number, required) The shipping charges part amount to be refunded - `refunds.shipping_taxes` (array) The taxes to be refunded on the shipping price This field is required if the order has shipping taxes. - `refunds.shipping_taxes.amount` (number) Tax amount - `refunds.shipping_taxes.code` (string) Tax code - `refunds.taxes` (array) The taxes to be refunded on the product price This field is required if the order has taxes. ## Response 200 fields (application/json): - `order_tax_mode` (string, required) Please note: In case there is no tax, the prices will show the same amount in TAX_EXCLUDED and TAX_INCLUDED mode. The tax mode is only useful if taxes are specified in the refund.Possible values: TAX_EXCLUDED: the price fields (amount, shipping amount) are expressed without tax (taxes should be added to these prices in order to get the full amount including taxes).TAX_INCLUDED: the price fields include the tax amount. Enum: "TAX_INCLUDED", "TAX_EXCLUDED" - `refunds` (array, required) List of representations of created refunds - `refunds.amount` (number, required) The offer part amount of the refund - `refunds.amount_breakdown` (object) The breakdown of the offer part amount to be refunded, only available when advanced features are enabled - `refunds.amount_breakdown.parts` (array, required) The parts which constitute the total amount. Each part can have different invoicing rules. The sum of the amount of each part is equal to the total amount. Multiple parts can be returned in tax mode TAX_INCLUDED. - `refunds.amount_breakdown.parts.amount` (number, required) Part's amount. The sum of each part's amount is equal to the total amount. - `refunds.amount_breakdown.parts.commissionable` (boolean) Should this amount be applied to the sellers commissions calculation. - `refunds.amount_breakdown.parts.debitable_from_customer` (boolean) Should this amount be debited to the customer. If true, the amount is taken into account when generating the debit file.If false, the amount is not taken into account when generating the debit file. - `refunds.amount_breakdown.parts.payable_to_shop` (boolean) Should this amount be paid to the shop. If true, the amount is taken into account when generating the shop payment voucher.If false, the amount is not taken into account when generating the shop payment voucher. - `refunds.currency_iso_code` (string) The currency (iso format) used by the shop (the field is required if the shop is not using the default Operator platform currency) Enum: "AED", "ARS", "AUD", "BAM", "BGN", "BHD", "BRL", "CAD", "CHF", "CLP", "CNY", "COP", "CZK", "DKK", "EGP", "EUR", "GBP", "GEL", "GTQ", "HKD", "HRK", "HUF", "IDR", "ILS", "INR", "IQD", "JOD", "JPY", "KES", "KRW", "KWD", "LKR", "MAD", "MGA", "MXN", "MYR", "NGN", "NOK", "NZD", "OMR", "PEN", "PHP", "PKR", "PLN", "QAR", "RON", "RSD", "RUB", "SAR", "SEK", "SGD", "TND", "TRY", "THB", "TWD", "UAH", "USD", "UYU", "UZS", "VND", "ZAR" - `refunds.eco_contributions` (array) List of eco-contribution amounts and corresponding producer identifiers, if applicable Only available if the operator activates the circular economy information collection. - `refunds.eco_contributions.epr_category_code` (string, required) Extended Producer Responsibility category - `refunds.eco_contributions.producer_id` (string, required) Producer identifier of the eco-contribution.Not present if the producer identifier belongs to the operator. - `refunds.eco_contributions.producer_id_owner` (string, required) Owner of the producerId - `refunds.eco_contributions.total_amount` (number) Total amount of the eco-contribution - `refunds.eco_contributions.unit_amount` (number) Unit amount of the eco-contribution - `refunds.excluded_from_shipment` (boolean) Exclude the refunded quantity from shipments - `refunds.fees` (array) List of fees refunded on the order line - `refunds.fees.amount` (number) Order Fee amount - `refunds.fees.code` (string) Order Fee code - `refunds.order_line_id` (string, required) The identifier of the order line on which the refund has been created - `refunds.order_refund_id` (string, required) The group identifier of the refunds created at the same time on the order - `refunds.purchase_information` (object) Refund’s purchase information - `refunds.purchase_information.purchase_commission_on_fees` (object) Refund’s purchase commission amount on fees - `refunds.purchase_information.purchase_commission_on_fees.total_amount` (number, required) Refund’s purchase commission total amount on fees - `refunds.purchase_information.purchase_commission_on_price` (number, required) Refund’s purchase commission amount - `refunds.purchase_information.purchase_commission_on_shipping` (number, required) Refund’s purchase commission amount on shipping - `refunds.purchase_information.purchase_fee_amount` (object) Refund’s purchase fees - `refunds.purchase_information.purchase_fee_amount.total_amount` (number, required) Refund’s purchase fee total amount - `refunds.purchase_information.purchase_price` (number, required) Refund’s purchase price excluding shipping charges and fees - `refunds.purchase_information.purchase_shipping_price` (number, required) Refund’s purchase shipping charges - `refunds.quantity` (integer, required) The quantity of goods to refund - `refunds.reason_code` (string, required) Refund's reason code - `refunds.refund_id` (string, required) The identifier of the created refund - `refunds.shipping_amount` (number, required) The shipping charges part amount of the refund - `refunds.shipping_amount_breakdown` (object) The breakdown of the shipping charges to be refunded, only available when advanced features are enabled - `refunds.shipping_taxes` (array) List of taxes refunded on shipping charges - `refunds.shipping_taxes.amount` (number, required) Tax amount - `refunds.shipping_taxes.amount_breakdown` (object) The breakdown of the tax amount, only available when advanced features are enabled - `refunds.shipping_taxes.code` (string, required) Tax code - `refunds.shipping_taxes.purchase_tax` (object) Purchase tax information - `refunds.shipping_taxes.purchase_tax.purchase_amount` (number, required) Purchase tax amount - `refunds.shipping_taxes.purchase_tax.purchase_rate` (number) Purchase tax rate - `refunds.shipping_taxes.rate` (number) Tax rate - `refunds.taxes` (array) List of taxes refunded on product price