Refund & Returns SOP¶
Owner: Solo Operator Last Updated: 2026-02-26 Review Cadence: Monthly Systems: Medusa Admin, BTCPay Server, ACH Processor (Paycron), Mercury
1. Refund Request Received¶
Refund and return requests arrive through one of these channels:
| Channel | How to Identify |
|---|---|
| Email (support@research-relay.com) | Subject line contains "refund", "return", "damaged", "wrong item" |
| Medusa Admin | Customer submits return request via storefront (if self-service returns are enabled) |
| Contact form on website | Routed to support email |
Response time target: Acknowledge within 24 hours. Resolution within 3 business days.
First step for all requests: 1. Open Medusa Admin > Customers. Look up the customer. 2. Open their order history. Identify the order in question. 3. Verify the order exists, was fulfilled, and payment was captured. 4. Record the request in the order notes in Medusa Admin.
2. Eligibility Check¶
2a. Refund Categories¶
| Category | Eligible? | Evidence Required | Notes |
|---|---|---|---|
| Damaged in transit | Yes | Photo of damage + packaging | Full refund or replacement |
| Defective product | Yes | Photo or description of defect | Full refund or replacement |
| Wrong item shipped | Yes | Photo of received item vs order | Full refund or replacement + prepaid return label |
| Order never arrived | Yes | Tracking shows no delivery after carrier's delivery window | Full refund or reship |
| Buyer's remorse / changed mind | Case-by-case | None | See Section 2b |
| Product did not perform as expected in research | No | N/A | RUO products carry no performance guarantee. Direct to COA. |
2b. Buyer's Remorse Policy¶
Research chemicals are specialty items. Default policy:
- Unopened, sealed products: Accept return within 14 days of delivery. Customer pays return shipping. Restocking fee of 15% may apply.
- Opened products: No returns accepted. Research chemicals cannot be resold once the seal is broken due to integrity and chain-of-custody concerns.
- Temperature-sensitive products: No returns accepted regardless of seal status. Cold chain cannot be verified on return.
2c. Time Limits¶
| Scenario | Window |
|---|---|
| Damaged / defective / wrong item | 7 days from delivery |
| Order never arrived | 14 days past estimated delivery date |
| Buyer's remorse (unopened) | 14 days from delivery |
| Chargeback response deadline | Per processor notification (typically 7-14 days) |
3. Approval Process¶
3a. Decision Authority¶
As a solo operator, you are the sole decision maker. Document every decision in the order notes.
3b. Decision Steps¶
- Categorize the request using Section 2a.
- Verify eligibility against the time limits in Section 2c.
- Request evidence if needed:
- For damaged items: Ask customer to email photos of the product and packaging.
- For defective items: Ask for a description of the defect and photos if applicable.
- For wrong item: Ask for a photo of the item received.
- Decide: Approve full refund, partial refund, replacement, or deny.
- Communicate the decision to the customer via email within 1 business day of receiving all evidence.
- Record the decision and reasoning in the order notes in Medusa Admin.
3c. When to Deny¶
- Request is outside the time window with no extenuating circumstances.
- Product was opened and is not damaged/defective/wrong.
- Customer is requesting a refund based on product performance expectations (RUO products carry no efficacy guarantee).
- Suspected abuse (repeated refund requests from the same customer, pattern of "damaged" claims).
4. Processing by Payment Method¶
4a. BTC Refund (BTCPay Server)¶
BTC refunds are complex due to price volatility. Policy: Refund the original USD order amount via ACH to the customer's bank account.
Rationale: Refunding in BTC at the current rate creates a windfall or shortfall depending on price movement. USD-equivalent refund is predictable for both parties.
Process: 1. Confirm the refund amount in USD. 2. Ask the customer for their bank account details (routing + account number) or offer to mail a check. 3. Initiate the refund via Mercury (business bank account): - Log in to Mercury. - Go to Send Money > ACH Transfer. - Enter the customer's bank details and the refund amount. - In the memo field, include the order ID. 4. In Medusa Admin, manually update the order: - Add a note: "Refund of $XX.XX processed via Mercury ACH to customer bank account. Original payment was BTC." - If Medusa supports manual refund records, create one for tracking. 5. Email the customer confirming the refund and expected settlement time (1-3 business days for ACH).
Alternative (if customer insists on BTC refund): 1. Calculate the USD refund amount. 2. Convert to BTC at the current exchange rate (use BTCPay Server's rate or a neutral source like CoinGecko). 3. Send BTC from your BTCPay Server wallet to the customer's provided BTC address. 4. Record the BTC amount, USD equivalent, exchange rate used, and transaction ID in the order notes.
4b. ACH Refund (via Paycron / ACH Processor)¶
- Open Medusa Admin > Orders > select the order.
- In the Payment section, click Refund.
- Enter the refund amount (full or partial).
- Medusa calls the ACH processor's refund API. The refund is returned to the original bank account.
- Confirm the refund appears in your ACH processor dashboard.
- ACH refunds typically take 5-10 business days to appear in the customer's account.
- Email the customer with the refund confirmation and expected timeline.
Note: If ACH refund cannot be processed through the processor (e.g., outside processing window), process manually via Mercury ACH transfer.
4c. Card Refund (Future — After Card Processing Enabled)¶
Card processing is not available at launch. When enabled via high-risk ISO (Easy Pay Direct / Durango with Authorize.net gateway):
- Open Medusa Admin > Orders > select the order.
- In the Payment section, click Refund.
- Enter the refund amount.
- Medusa calls the payment gateway's refund API. The refund is returned to the original card.
- Card refunds typically take 5-10 business days to appear on the customer's statement.
- Email the customer with the refund confirmation.
4d. Partial Refunds¶
For partial refunds (e.g., one item in a multi-item order): 1. Calculate the refund amount based on the specific item(s) being refunded. 2. Follow the appropriate payment method process above, entering the partial amount. 3. If the customer is returning the item, create a return for only those items in Medusa Admin.
5. Medusa Admin Workflow¶
5a. Create a Return¶
- Open the order in Medusa Admin.
- Navigate to the Returns section.
- Click Request Return.
- Select the item(s) being returned and the quantity.
- Select a return shipping method (if applicable):
- Customer pays return shipping: Provide return address; customer arranges their own label.
- Prepaid return label: Generate a return label via ShipStation and email it to the customer.
- Add a return reason (damaged, defective, wrong item, buyer's remorse).
- Submit the return request.
5b. Receive the Return¶
- When the returned item arrives, inspect it:
- Is it the correct item?
- Is it in the expected condition (sealed vs opened, damaged vs undamaged)?
- Does the condition match what the customer described?
- In Medusa Admin, open the return and click Receive Return.
- Mark items as received.
- If the item is undamaged and unopened, it goes back into inventory (Medusa auto-adjusts stocked quantity on receive).
- If the item is damaged or opened, do NOT return to inventory. Dispose of per your waste procedures.
5c. Process the Refund in Medusa¶
- After receiving the return (or immediately for non-return refunds like "never arrived"):
- Open the order in Medusa Admin.
- Click Refund in the Payment section.
- Enter the refund amount.
- Medusa processes the refund through the original payment provider (ACH processor or card gateway) or you process manually (BTC/Mercury).
- The order status updates to reflect the refund.
5d. Inventory Adjustment¶
- Returned items in sellable condition: Medusa adds them back to stocked quantity on return receive.
- Returned items NOT in sellable condition: After receiving the return, manually adjust inventory in Medusa Admin > Inventory to ensure the damaged item is not counted as available.
6. Chargeback Response¶
A chargeback (or dispute) occurs when a customer contacts their bank/card issuer to reverse a charge instead of requesting a refund through you.
6a. Notification¶
- ACH processor: Sends email and/or webhook notification. Check your processor dashboard for dispute details.
- ACH disputes: Processor notifies within 1-2 business days of the bank's dispute filing.
6b. Response Timeline¶
- Card disputes: You typically have 7-21 days to respond (varies by card network). Check your processor dashboard for the deadline.
- ACH disputes: Response window is shorter, often 3-5 business days.
- BTC: No chargeback mechanism exists for on-chain or Lightning payments.
6c. Response Process¶
- Do NOT panic. A dispute is a process, not an automatic loss.
- Open the dispute in your ACH processor dashboard (or card processor dashboard if applicable).
- Gather evidence:
- Order confirmation email (showing customer placed the order)
- Checkout RUO acknowledgment record
- Shipping tracking number showing delivery
- Delivery confirmation (carrier scan)
- Customer communication history
- Signed delivery receipt if available
- Packing photos if available
- Submit evidence through the processor's dispute response form before the deadline.
- In Medusa Admin, add a note to the order: "Chargeback filed [date]. Evidence submitted [date]. Dispute ID: [processor dispute ID]."
6d. Chargeback Prevention¶
- Always ship with tracking.
- Use signature confirmation for orders over $100.
- Keep email communication records.
- Ensure the billing descriptor is recognizable (e.g., "RESEARCH RELAY" not a random string). Configure this in your payment processor settings.
- Process refunds promptly when legitimate -- a refund is cheaper than a chargeback (chargebacks carry processor fees plus potential rate increases).
7. Record Keeping¶
7a. What to Record¶
For every refund or return, maintain the following in Medusa Admin order notes:
- Date of refund request
- Reason for refund (category from Section 2a)
- Evidence received (photos, description)
- Decision (approved/denied) and reasoning
- Refund amount and payment method
- Refund transaction ID (processor refund ID, Mercury transfer ID, or BTC transaction ID)
- Return tracking number (if item was returned)
- Inventory disposition (returned to stock, disposed)
7b. Where to Record¶
| Data | Location |
|---|---|
| Primary refund record | Medusa Admin order notes + refund record |
| Payment-level refund | ACH processor dashboard (automatic) or card processor dashboard |
| BTC refund details | Medusa Admin order notes + BTCPay/Mercury records |
| Customer communication | Email thread (support@research-relay.com) |
| Chargeback evidence | Processor dashboard dispute section |
7c. Retention Period¶
- All refund and return records: Minimum 3 years (IRS requirement for business records).
- Chargeback records: Minimum 5 years (payment processor may request historical data).
- Customer communication: Retain as long as the customer account exists, minimum 3 years.
8. Refund Metrics to Monitor¶
Track these monthly to identify trends:
| Metric | Target | Action if Exceeded |
|---|---|---|
| Refund rate (refunds / total orders) | < 3% | Review product quality, packaging, shipping |
| Chargeback rate | < 0.5% | Review billing descriptor, add fraud checks |
| Average refund processing time | < 3 business days | Streamline approval process |
| Reason distribution | No single reason > 40% | Address root cause of top reason |
Review these in your end-of-month reconciliation. If chargeback rate approaches 1%, take immediate action -- processors may freeze or terminate accounts above this threshold.