Skip to main content

WooCommerce payments

WooCommerce payments covers how Ingrid Returns calculates and processes refunds for WooCommerce orders — including how exchange costs are handled and how refund timing is controlled.

I
Written by Iuliia Prylypko

What is it?

WooCommerce payments covers how Ingrid Returns calculates and processes refunds for WooCommerce orders — including how exchange costs are handled and how refund timing is controlled.

Ingrid Returns acts as the orchestrator: it works out what should be refunded and when, then creates the refund in WooCommerce through the REST API. Refund amounts come from the customer-currency prices on the original order lines, with discounts allocated across the returned items. No manual steps are needed in WooCommerce Admin.

How it works

  1. The customer submits a return in the widget and selects items to return.

  2. Warehouse staff confirm receipt and record a quality decision for each item.

  3. Ingrid Returns calculates the refund from the customer-currency prices on the original order lines, subtracting any return shipping cost or exchange cost difference.

  4. Based on your exchange policy, the refund is triggered at the appropriate point in the return lifecycle.

  5. Ingrid Returns creates the refund against the original WooCommerce order through the REST API.

  6. WooCommerce applies the refund to the customer's original payment method, and the refund is recorded in Returns Back-office.

How the refund amount is calculated

For each returned item, discounts are allocated proportionally, and deductions are applied:

  • Return shipping cost — if your price setup charges the customer for return shipping.

  • Exchange cost difference — if the replacement is priced differently and your policy has the customer cover the difference.

If customer-currency price fields are missing on an order line, no refund is created for that line. The return still processes, but the financial step is skipped — so confirm that order sync populates customer-currency prices on import.

Refund timing

Refund timing follows the exchange policy: refunds can execute on return confirmation, when items are confirmed in transit, when they're received at the warehouse, or only after manual staff approval.

Configuration

  • WooCommerce credentials:Returns Back-office → Settings → Admin → Edit Ecom Integration (store URL, Consumer Key, Consumer Secret).

  • Refund timing (exchange policy), shop default:Returns Back-office → Settings → Shop Settings.

  • Refund timing, per price list:Returns Back-office → Settings → Price Setups — overrides the shop default.

  • Return shipment cost: configured per price setup; deducted from the refund when set.

Examples

Example 1: Automatic refund on warehouse receipt

A fashion retailer offers free returns and wants refunds as soon as items arrive, using an "exchange on return" policy with return shipment cost set to 0. Once warehouse staff confirm receipt, Ingrid Returns issues a full-value refund in WooCommerce with no action in WooCommerce Admin. Customers typically see the credit within the standard bank window of 3–5 business days.

Example 2: Refund with an exchange cost deduction

A customer returns a £45 jacket and exchanges it for a £60 jacket, and the retailer charges the difference (using an "exchange on shipment" policy). When the parcel is confirmed in transit, Ingrid Returns calculates £45 − £15 = £30 and posts a £30 net refund to WooCommerce automatically. The customer pays only the difference.

Example 3: Manual approval before refund

A luxury retailer requires staff review before any refund, using a "manual approval" policy. After warehouse receipt and quality check, the refund waits in a pending state in the Returns Back-office. A staff member approves or denies it, and on approval Ingrid Returns posts the refund to WooCommerce automatically — full control without logging into WooCommerce Admin.

FAQ

A refund wasn't created after the warehouse confirmed receipt.
Check two things. If the exchange policy is "manual approval," the refund is waiting for staff action in the Returns Back-office. Otherwise, verify that customer-currency price fields are populated on the order lines — if they're missing, no refund is created for that line.

The refund amount is lower than the customer expects.
Check the refund breakdown in the return details. Return shipping and exchange cost differences are deducted before the refund is issued. Also confirm the customer-currency prices on the original order match the actual checkout prices.

Can partial refunds be issued for a multi-item return?
Yes. Refunds are calculated per returned item — if a customer returns only some items, only those items (minus deductions) are refunded.

What happens to a refund if the exchange is cancelled afterward?
Refund reversal isn't automatic. If an exchange is cancelled after a refund has been issued, any financial correction must be made manually in WooCommerce Admin.

Is inventory restocked separately from the refund?
Yes. Restock and refund are independent. Restock triggers on the quality check outcome; the refund triggers on the exchange policy. Both can complete at different times within the same return.

Limitations

Limitation

Detail

Workaround

Missing customer-currency prices block the refund

If customer-currency price fields are absent on order lines, no refund is created for them and no error is raised.

Ensure order sync populates customer-currency prices on import.

No automatic refund reversal on exchange cancellation

Cancelling an exchange after a refund has been issued doesn't reverse the refund.

Adjust manually in WooCommerce Admin.

One refund per return processing event

A single refund covers all returned items in one event; staged or split refund calls aren't supported.

N/A

Exchange policy applies globally unless overridden

The shop-level policy applies to all orders unless overridden at price list level.

Override per price list under Settings → Price Setups.

Did this answer your question?