Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.shoppex.io/llms.txt

Use this file to discover all available pages before exploring further.

Refund any completed order from the order detail page in Orders. Full or partial — you set the amount. The refund is initiated on the original gateway:
  • Stripe refunds go back to the buyer’s card via Stripe.
  • PayPal refunds go back to the buyer’s PayPal balance or original funding source.
  • Crypto refunds via direct wallets are not automatic — you have to 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 100inBTCandBTChasdoubled,refundingthat100 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

Refunding doesn’t automatically revoke what was delivered:
  • File downloads stay accessible from the buyer’s order page. You can revoke manually if you need to.
  • Serials stay assigned to the buyer. Mark them as revoked from the order to release them back into your pool (or burn them).
  • Discord roles — refunding a subscription invoice does not auto-revoke. Revoke the role from your Discord server or wait for the subscription to expire.

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.