Skip to main content
Refund any completed order, in full or in part, from the order detail page in Orders, and set the exact amount yourself. The refund starts on the original gateway:
  • Stripe refunds go back to the buyer’s card through Stripe.
  • PayPal refunds go back to the buyer’s PayPal balance or original funding source.
  • Crypto refunds through direct wallets are not automatic. You must send the funds back manually from your own wallet. Mark the order refunded in Shoppex and send the transaction separately.
  • Cryptomus / Oxapay refunds work through their own dashboards.

Crypto refund amounts

For crypto, the refund is calculated at the current exchange rate, not the rate at purchase. If a buyer paid $100 in BTC and BTC has doubled, refunding that $100 worth means sending roughly half the original satoshis.

Refunds and store credit

Instead of refunding to the original payment method, you can credit the buyer’s Shoppex wallet on your store. The buyer then uses that balance on a future order. Configure shop-wide behavior under Settings → Payments → Store Credit:
  • Allow refunds to be issued as wallet credit.
  • Set a default expiry on credits (days, or never).
  • Cap the per-customer balance.

Refunds and fulfillment

A refund takes back only what you set up to end. The rest of what the order delivered stays with the buyer:
  • File downloads end on a refund only when End Access on Refund or Chargeback is on in Settings › Checkout › File Downloads. Then a full refund, a chargeback, or a lost dispute closes the order’s downloads, and the buyer reads “Downloads ended because this order was refunded.” A partial refund never ends downloads. The switch is on for new shops and off for shops that existed before it. With the switch off, the downloads follow the order’s limit and end date as before, and you can still use Revoke on the order page (see Orders).
  • Serials stay assigned to the buyer. There is no way to release a delivered key back into your pool, and no way to invalidate it inside Shoppex. If the key controls access somewhere you run, cancel it there.
  • Licenses are the exception, because a license is its own object: set it to REVOKED or SUSPENDED on the license page and it stops validating. See Serials and licenses.
  • Discord roles are not removed by a refund. Remove the role in your Discord server, or wait for the subscription to be canceled.

Subscriptions

Refunding a subscription’s most recent invoice does not cancel the subscription. To stop the recurring billing, cancel the subscription separately from Subscriptions in your dashboard.

Disputes

Disputes are filed against the gateway that processed the payment, not against Shoppex. Stripe disputes land in Stripe, and PayPal disputes land in PayPal. Shoppex surfaces both in your dashboard, so you do not have to monitor three separate places.
For the automated side, including winning disputes and protecting your account from a processor shutting it down, see Chargeback Shield. This section covers the underlying model: where disputes live, how evidence works, and how to block abusive buyers.

How you find out

When a gateway notifies us of a new dispute, the order moves to a disputed state. You get an event on the order:disputed webhook, plus a dashboard notification. The Orders page shows the dispute alongside the original order.

Responding

Each gateway has its own evidence flow. Stripe gives you a deadline (typically 7-14 days depending on the card network). PayPal disputes go through their resolution center with a similar window. You respond inside that gateway’s interface — Stripe Dashboard or PayPal Resolution Center. Shoppex does not proxy evidence submission, because the gateway is the one judging the case. What Shoppex contributes: the order detail page shows everything captured at checkout — buyer IP, country, device fingerprint, order timestamp, fulfillment proof (download log, serial delivered, role granted). Copy what is relevant into your gateway’s evidence form.

Prevention

Most disputes for digital goods come from buyers who do not recognize the charge on their statement. Two things help:
  • Set a clear shop name in Settings → Shop. This is what flows into the gateway’s descriptor field.
  • Send fulfillment quickly. Buyers who have not received what they paid for after a few hours are more likely to dispute than wait for support.

Blacklisting bad buyers

If a specific buyer disputes after fulfillment (also called “friendly fraud”), add them to Security → Blocked (/security/blocked) to block future purchases. Shoppex supports blocking by:
  • Email
  • IP address or IP range
  • Country
  • Domain
  • ASN or ISP
  • City
  • Crypto wallet address
Use the most specific entry that matches the abuse. Country-level blocks are broad and can affect many legitimate buyers. ASN or IP-range blocks target a repeat abuser more precisely, and they are usually the better choice.