Orders

How to refund an order

How to refund an order

To refund an order in your TeleportHQ store, open Growth → E-Commerce → Orders, click the order, click Refund, choose how much to give back and confirm. If the customer paid through Stripe, PayPal, Mollie, Razorpay, Square or Paddle, TeleportHQ sends the refund to that provider and the money goes back to the customer's card or account. For every other order (cash on delivery, store pickup, CoinGate), TeleportHQ only records the refund: no money moves, and you return the money yourself. Stores that sell gift cards can also refund as store credit on a gift card.

Before you start

  • The order must be paid. The Refund button only shows when the payment status is Paid or Partially Refunded and some money is still refundable.
  • Cash orders: a cash-on-delivery order that is still unpaid has no Refund button. If the customer did pay, first mark the order as paid.
  • Provider keys: for refunds through a provider, its keys must still be saved in the E-Commerce panel's payment providers. See How to accept payments with Stripe or PayPal.
  • Role: refunds that go back through a payment provider need the Owner, Admin or Designer role. See What can each role do?.
  • Refunds have no plan limit.

Which refunds move money

How the customer paidWhat Refund does
Stripe, PayPal, Mollie, Razorpay, Square or PaddleSends the refund to the provider. The money goes back to the customer's original payment method.
Cash on delivery or store pickupRecords the refund only: "This order was paid in cash, so the money has to be returned by hand."
CoinGateRecords the refund only. You refund the money from CoinGate's own dashboard.
No provider or no payment reference on the orderRecords the refund only. You return the money yourself.
A gift card (stores that sell gift cards)Credits a gift card as store credit.

The Refund Order window tells you which case applies before you confirm. A record-only refund says no money is moved.

Steps

  1. In the left sidebar, click Growth.
  2. In the Growth panel, under E-Commerce, click Orders. The Orders page opens on its Analytics tab.
  3. In the orders table, click the order you want to refund. You can search by order number, for example ORD-42. Its details open on the right.
  4. Under the order summary, click Refund. The Refund Order window opens, titled with the order number.
  5. If your store sells gift cards, choose where the money goes: back to the payment provider (or Record a manual refund), Credit gift card (the card the customer paid with), or Issue a new gift card to the customer's email. Each option says how much it can carry.
  6. In Amount to refund, keep the full amount or type a smaller one. For example, type 10 to refund $10 of a $50 order for one damaged item.
  7. Optional: in Reason (optional), type why, for example Damaged in transit.
  8. Optional: for a full refund, switch on Put the items back in stock to add the ordered quantities back to your products. It's off by default. For a partial refund it stays off: "A partial refund keeps the order open and its items sold. Cancel the order, or refund it in full, to put them back."
  9. Click Refund $10.00 (or Credit $10.00 for store credit). The button shows the amount you chose.

If you type less than the full amount, the window shows: "This is a partial refund — the order stays open and the rest can be refunded later." To refund the rest later, click Refund again. The amount is filled in with what is still refundable.

Check that it worked

  • A message appears, for example Refunded $10.00. For a record-only refund: Refund of $10.00 recorded. Return the money to the customer yourself. For store credit: Credited $10.00 to gift card followed by the card's last digits, or Issued a new gift card worth $10.00.
  • The payment badge changes to Refunded or Partially Refunded. A full refund also sets the order status to Refunded.
  • The order's History shows Refunded · $10.00 or Partially refunded · $10.00 (with "by hand" or "as store credit" when that applies), with your reason.
  • The order's invoice is updated with the refunded amount.
  • The customer gets the refund email, if your project has an email provider. A new gift card goes out in its own email, with its code.

Troubleshooting

There is no Refund button The order isn't paid yet, it is already fully refunded, or its history is still loading. For a cash order that was paid, click Mark as Paid first.

"Only $10.00 is still refundable on this order." You typed more than what is left after earlier refunds. Lower the amount.

"This order has already been fully refunded ($40.00)." All the money has already gone back. There is nothing left to refund.

"No saved stripe credentials were found for this project." The provider's keys were removed or never saved. Add them again in the E-Commerce panel's payment providers, then try again.

"PayPal authentication failed: the credentials are not valid for either sandbox or live." Your PayPal Client ID or Secret is wrong. Update them, then try again.

"This PayPal order was never captured, so there is nothing to refund." PayPal never took the money for this order, so there is nothing to give back.

"The refund was declined." (or another message from your payment provider) The provider refused the refund. Check the payment in the provider's dashboard.

"The refund went through but could not be written to the order history." The money was returned, but TeleportHQ couldn't record it. Don't refund again. Check the payment in your provider's dashboard.

The message ends with "The customer was not emailed: …" The refund worked, but no email went out. See Why didn't my customer get an email?.

A customer paid twice

When a customer pays a second time for an order that was already paid, the TeleportHQ order says: "This order was paid twice: Stripe collected a second payment of $40.00 after the order was already paid. The order keeps its first payment; give the second one back to the buyer." Click Refund second payment, then Refund second payment again in the window. The whole second payment goes back, and the order stays as it is. For a provider the store can't refund through, refund it from the provider's dashboard instead.

Good to know

  • Refunds made in your payment provider's dashboard reach TeleportHQ too. Your published store's payment webhook reports them: the order's badges, History and invoice follow, and the customer gets the refund email. Refund each order in one place only.
  • Stripe doesn't receive your reason text. As the window says: "Recorded on the order's history. Stripe keeps only its own three reasons; PayPal shows the text to the buyer."
  • Subscriptions. Refunding a subscription's order doesn't stop its future charges. The window says "cancel the subscription from the Subscriptions panel": that's Growth → E-Commerce → Subscriptions. See How to sell subscriptions.
  • Orders that pay for a booking. A full refund of such an order also frees the booking's time, whether you refund in TeleportHQ or in your payment provider's dashboard. If freeing the time fails, the message reads "The order is refunded, but its booking still holds its time: … Cancel it from the Bookings page of your admin panel."
  • Digital products. A full refund takes away the customer's downloads and license keys while Revoke Downloads on Refund is on (the default).
  • Stock already returned. If the order's stock already went back, the switch is off and greyed out: "Stock was already returned to the products."
  • Refund or cancel? A refund returns money and keeps the order open if it is partial. To stop the order as well, use Cancel Order, which can refund and restock in one step.
  • The admin panel can't refund. On your live site's admin panel, refunds are refused: "Refunds are made from the editor's Orders panel, which returns the money and records it." That's Growth → E-Commerce → Orders in the editor. Marking a return request Refunded there moves no money either. See How to handle return requests.
  • The Total Revenue figure above the orders table doesn't subtract refunds; Refunded and Net Revenue show what went back and what you kept.
Share

Related Articles

How to cancel an order

In TeleportHQ, open the order in Growth → E-Commerce → Orders, click Cancel Order, choose whether to refund the customer and put the items back in stock, then confirm; the customer gets one cancellation email, and a cancelled order can't be reopened.

What do the order, payment and shipping statuses mean?

Every TeleportHQ store order has two separate badges, an order status (Pending, Confirmed, Shipped, Delivered, Completed, Cancelled, Refunded) for what you still owe the customer and a payment status (Unpaid, Pending, Awaiting Confirmation, Paid, Partially Refunded, Refunded, Failed) for the money; each parcel also has a shipment status (Shipped, Delivered, Voided).

How to find and manage orders

In TeleportHQ, open Growth → E-Commerce → Orders in the editor's left sidebar to see your store's sales figures, search and sort every order, and click one to ship, refund, cancel, mark as paid or change its status; your live site's admin panel lists them too.

How to handle return (withdrawal) requests

TeleportHQ stores get a public Right of withdrawal page where customers ask to return products; you get an email, review each request in your live site's admin panel under Withdrawal Requests, and refund the order separately from Growth → E-Commerce → Orders in the editor.

How to mark an order as paid (cash on delivery)

In TeleportHQ, open the order in Growth → E-Commerce → Orders, click Mark as Paid and confirm to record money you received outside online checkout, such as cash on delivery or a bank transfer; it doesn't charge the customer, email them or create an invoice.

How to set up the payment webhook (so orders are marked paid)

In a TeleportHQ store, publishing to Production connects the Stripe or PayPal payment webhook for you; for Square and Paddle you click Connect automatically in the provider's Webhook section and publish again, for Razorpay you add the webhook URL by hand, and Mollie and CoinGate need nothing.