Skip to content

This is a demo store. Orders will not be fulfilled.

Shopping Bag

Loading…

Marketplace Documentation

Understanding the two-sided pharmacy marketplace: how buyers, sellers, and the platform interact.

Platform Overview

This is a two-sided marketplace connecting verified Australian pharmacy sellers with pharmacy professionals and consumers. The platform acts as the merchant of record: buyers purchase from the platform (not directly from sellers), sellers receive transparent payouts, and disputes are managed by our admin team.

Key Features

  • Verified sellers only — AHPRA registration & ABN documentation required
  • Anonymous to buyers — sellers hidden, all invoices show platform name
  • 5% platform take-rate — deducted at escrow release
  • 72-hour escrow hold — auto-release after buyer confirmation or 72h elapsed
  • TGA-compliant — S2/S3/S4 schedules enforced, S8 blocked
  • Cold-chain ready — special carrier workflow for temperature-controlled items

Buyer Experience

Login-Gated Portal

Buyers must create an account and verify their email to access pricing and product listings. This protects the marketplace and ensures only legitimate customers can purchase.

Anonymous Seller Identity

Product pages show "Sold by: Verified Pharmacy Seller" — no business names, ABNs, or contact details. All invoices are issued by the platform trading name, not the seller. This maintains buyer privacy and ensures the platform controls all customer relationships.

TGA Schedule Restrictions

  • S2 (OTC) — No restrictions. Standard checkout.
  • S3 (Pharmacist-Only) — Buyers must flag "pharmacy professional" at registration.
  • S4 (Prescription) — Requires verified prescription upload per order.
  • S8 (Controlled) — Completely blocked from marketplace.

Order Confirmation & Escrow Release

After payment, an escrow account holds funds for 72 hours. Buyer receives a "Confirm Receipt" button once order is delivered. Clicking it immediately releases funds to the seller. If buyer doesn't confirm, funds auto-release after 72 hours.

Invoice & Proof of Purchase

Buyers can download a tax invoice showing the platform's trading name (not seller details). Useful for GST claims and accounting.

Seller Onboarding & Verification

Registration Flow

  1. Create account: Email, password, first/last name
  2. Business details: Legal business name, ABN (11-digit), AHPRA number, pharmacy name & address
  3. Upload documents: AHPRA certificate, pharmacy license, ABN documentation (PDF/JPG, max 5MB each)
  4. Pending review: Application queued for admin approval

Admin Verification Queue

Admins review documents in Filament dashboard under Marketplace → Sellers. They can:

  • • View uploaded documents inline (PDF/image preview)
  • • Approve seller (instant email notification, access to seller portal)
  • • Reject with notes (seller receives rejection reason, can re-apply)
  • • Suspend seller (all listings withdrawn, account locked)

Note: AHPRA verification is manual — no public API exists. Admin cross-references documents against ahpra.gov.au register.

Payout Setup (Stripe Connect)

After approval, seller sees "Set Up Payouts" link in portal. This redirects to Stripe's hosted onboarding where the seller:

  • • Verifies bank account details
  • • Provides GST/tax ID
  • • Confirms identity

Once complete, seller is ready to receive payouts.

Listing Management & TGA Compliance

Creating a Listing

Seller navigates to Seller Portal → Listings → Create and fills in:

  • • Product (search existing catalog or create new)
  • • Seller price & stock quantity
  • • TGA schedule (S2/S3/S4)
  • • Expiry date & batch number (for medicines)
  • • Cold-chain required? (checkbox for temperature-controlled items)
  • • Photos (mobile-optimised upload with AI enhancement option)

Listing Status Workflow

Draft → Seller creates listing (hidden from buyers)

Pending Review → Seller submits for moderation

Approved → Admin approves, listing visible to buyers

Rejected → Admin rejects with notes, seller can edit and resubmit

Near Expiry → Auto-flagged at 90 days before expiry date

Withdrawn → Seller manually delists

Listing Moderation Queue (Admin)

Admins review listings under Marketplace → Listing Moderation:

  • • View product details, TGA schedule, expiry date, seller name
  • • Approve listing (goes live)
  • • Reject with notes (sent to seller)
  • • Flag near-expiry (manual)
  • • Bulk approve for trusted sellers

Cron jobs run daily:

  • 6:00 AM: Flag listings expiring within 90 days
  • 6:30 AM: Auto-delist expired listings

TGA Schedule Enforcement

S8 (Controlled Drugs): Hard-blocked — sellers cannot create listings.

S4 (Prescription): Requires buyer to upload valid prescription at checkout. Seller confirms prescription legitimacy before dispatch.

S3 (Pharmacist-Only): Buyer must self-attest as pharmacy professional at registration.

S2 (OTC): No restrictions.

Orders & Fulfillment

Seller Portal Orders

Seller navigates to Seller Portal → Orders to see all orders containing their listings. Each order shows:

  • • Order ID, buyer location (state only, no full address)
  • • Items, quantities, seller price
  • • Payment status (paid = escrow held)
  • • Shipping status

Shipping Label Generation

Once payment is confirmed, seller sees "Print Label" button. Clicking it generates a pre-paid shipping label (platform covers postage). Label shows:

  • • Platform name & return address (NOT seller address)
  • • Buyer delivery address (state-level, no seller details)
  • • Barcode for tracking

Seller prints label, packs item, and drops off at courier. Platform tracks delivery.

Cold-Chain Workflow

For cold-chain products (e.g., insulin, vaccines):

  1. Order placed: Platform team alerted
  2. Seller receives email: "Cold-chain order — use insulated packaging + dry ice" with PDF guidelines
  3. Admin books carrier: Manually books TNT Pharmaceutical or Lach's Couriers (enterprise carriers)
  4. Tracking uploaded: Admin enters tracking number in admin panel
  5. Seller ships: Within 24-hour window using special packaging

Future: API integration with cold-chain carriers to automate label generation.

Escrow & Payments

How Escrow Works

Platform uses a three-party escrow:

  1. Buyer pays: Stripe charges buyer's card, funds go to platform Stripe account
  2. Escrow account created: Order total held in escrow (status: "held")
  3. Funds released: Buyer clicks "Confirm Receipt" after delivery OR 72 hours pass (auto-release)
  4. Payout to seller: 5% platform fee deducted, remainder transferred to seller's Stripe Connect account

Platform Take-Rate (5%)

Example: Buyer purchases antibiotics for $100 AUD

  • • Order total: $100.00
  • • Platform fee (5%): $5.00
  • • Seller payout: $95.00

Fee is deducted at escrow release. Per-seller override available in admin panel.

Auto-Release vs Manual

Auto-release (default): 72 hours after payment, escrow releases if no dispute is open. Hourly cron runs the release job.

Manual release: Buyer clicks "Confirm Receipt" button — immediate release.

Admin override: Admins can manually release or hold escrow from Filament (e.g., to chase non-confirmations).

Seller Payout History

Seller views all payouts in Seller Portal → Payouts. Each payout shows:

  • • Order reference
  • • Gross sale amount
  • • Platform fee deduction
  • • Net payout amount
  • • Payout status (pending, processing, paid)
  • • Remittance PDF (tax-compliant breakdown)

Admin Tools & Reporting

Marketplace Dashboard

Admins access /manager → Marketplace Dashboard for real-time metrics:

  • GMV (Gross Merchandise Value): Total orders processed
  • Platform Revenue: Total 5% take-rate collected
  • Orders: Count by status (pending, paid, shipped, delivered)
  • Active Sellers: Approved seller count
  • Active Listings: Approved product listings
  • Escrow Status: Funds held vs. released vs. disputed
  • Verification Funnel: Applications → Documents → Approved conversion rate
  • Pending Moderation: Listings awaiting review count
  • Top Categories: GMV by product category
  • Dispute Rate: Disputes as % of total orders

Dispute Resolution Console

Buyers can raise disputes from Account → Orders → [Order] → Raise Dispute. Admins view disputes under Marketplace → Disputes:

  • • Full email/message thread (buyer ↔ seller ↔ admin)
  • • Add messages (sent to both parties)
  • • Resolution options: Refund buyer, release to seller, split

Escrow held until dispute resolved. Admin decision auto-triggers refund or payout.

Compliance & Legal

PDF Invoices

Buyer invoice: Tax invoice from platform trading name + ABN, itemised products, GST, total. Downloadable from order history.

Seller remittance: Income statement showing order ref, gross sale, platform fee deduction (-5%), GST on fee, net payout. Attached to payout email.

Transactional Emails (8 Flows)

Platform sends automated emails at key milestones:

  1. Seller registration: Confirmation + pending review notice
  2. Seller approval/rejection: Status update with next steps
  3. Purchase confirmation: Buyer gets order receipt + seller gets order notification + cold-chain instructions (if applicable)
  4. Listing status change: Seller notified when listing approved/rejected/near-expiry
  5. Dispute opened: Both parties notified
  6. Dispute resolved: Resolution outcome with refund/payout details
  7. Escrow released: Seller gets payout notification with remittance PDF

T&Cs & Privacy

Marketplace-specific pages at /terms, /privacy, /tga-guidelines, /cold-chain-guidelines.

Buyers accept T&Cs at checkout. Sellers accept at registration.

Payment Security & Fraud

All payments processed via Stripe. Stripe Radar detects fraudulent cards. Platform holds escrow for 72h to allow for dispute investigation.

What's Implemented

✓ Two-sided marketplace architecture (sellers + buyers)

✓ Seller verification with AHPRA & ABN documentation

✓ Listing management & TGA schedule enforcement (S2/S3/S4; S8 blocked)

✓ Login-gated buyer portal (pricing hidden until verified)

✓ Anonymous seller identity (platform controls all customer relationships)

✓ Order management with escrow payment system

✓ 5% platform take-rate auto-deducted at release

✓ PDF invoices (buyer tax invoice + seller remittance)

✓ Shipping label generation (platform name + return address)

✓ Cold-chain workflow with packaging guidelines

✓ 8 transactional email flows (verification, purchase, disputes, etc.)

✓ Admin dashboard with GMV, revenue, seller funnel analytics

✓ Dispute resolution console (admin-mediated)

✓ Filament resources for seller verification, listing moderation, disputes

✓ Full-text search (Meilisearch integration)

✓ Mobile-optimised UI (responsive design, accessible)

Future Enhancements

→ AI-powered listing photo enhancement (background removal, lighting)

→ Automated cold-chain carrier API integration (eliminate manual booking)

→ Klaviyo email campaign flows (segmentation, analytics)

→ Xero accounting sync (real-time payout reconciliation)

→ AI chatbot for pharmacist FAQs (OpenAI Assistants)

→ GA4 + GTM with marketplace-specific event tracking

→ Microsoft Clarity heatmaps for UX optimization

Need Help?

For support inquiries, visit the Support Center or email us at support@stoar.com.au.

We use cookies to improve your experience.