Payouts
Understanding when and how you get paid is the most important thing to know as a ScentSell seller. This page explains the full mechanism — money movement, order status transitions, the release function, and what happens in every edge case.
1. The critical distinction — money movement vs status movement
Read this section twice. It is the single biggest source of confusion for sellers.
Money moves ONCE: instantly at checkout.
When a buyer completes payment, Stripe immediately splits the transaction via destination charges:
- 85% of the sale price goes into your Stripe Connect account
- 15% is retained by ScentSell as the platform fee
This happens in real time. Before the buyer's confirmation email arrives, your Stripe balance is already credited.
Order status moves many times: across multiple stages.
The order then progresses through these statuses: paid_pending_ship → shipped → delivered → buyer_confirmed → payout_released → completed. Each transition triggers notifications and updates your ScentSell dashboard — but none of these transitions move money.
Emails saying "Sale complete," "Order completed," or "Payout released" describe order status changes, not money transfers. Your funds were already in your Stripe account when the buyer paid.
2. Why this distinction exists
ScentSell uses destination charges (money at checkout) for good reasons:
- Sellers get paid fast. You have the funds in your Stripe account before you even ship. No waiting for delivery confirmation.
- Buyers are protected by the status gates. The post-purchase stages (shipped, delivered, confirmed) create windows for buyers to raise disputes if something goes wrong. If a dispute is opened, Stripe's own chargeback mechanism handles the reversal — the status stages are notification checkpoints, not payment gates.
- Chargebacks work cleanly. If a buyer initiates a chargeback through their bank, Stripe automatically reverses the destination charge from your Stripe balance. The status gates ensure both parties are notified through each stage and have opportunities to communicate.
3. The full order lifecycle
Here is every state the order passes through and what triggers each transition:
| Status | What it means | What triggers it |
|---|---|---|
pending_payment | Stripe checkout started, buyer hasn't paid yet | Buyer clicks "Checkout" |
paid_pending_ship | Payment confirmed. Money is in your Stripe balance now. | Stripe webhook or reconciliation confirms payment |
shipped | Seller entered a tracking number. 17track registered the parcel. | You enter tracking in your Dashboard |
delivered | 17track detected delivery at the destination address | check-delivery-status edge function (runs every 6 hours) |
buyer_confirmed | Buyer clicked "Confirm Receipt" in their Dashboard | Buyer action — triggers immediate release |
payout_released | Release function ran. Status flipped. Notifications sent. | Automatic (see section 4) |
completed | Final state. Archived in both dashboards. | Follows payout_released immediately |
If you see paid_pending_ship on your order, that is the moment to check your Stripe Express dashboard — your balance will show the credit.
4. What the release-payouts function actually does
The release-payouts edge function runs daily at 06:00 AEST via a pg_cron scheduled job. Here is exactly what it does — and what it does not do:
What it processes:
- Orders in
deliveredstatus that are older thanauto_payout_dayssince delivery (default: 3 days) - Orders in
buyer_confirmedstatus (processed immediately regardless of timing) - Orders in
shippedstatus older than 14 days (the timeout fallback — see section 5)
For each eligible order:
- Updates the order status to
payout_released - Sends a "Sale complete" email and push notification to the seller
- Sends a notification to the buyer
- Skips orders with an open dispute
What it does NOT do:
- Move money (that already happened at checkout)
- Initiate any Stripe transfer
- Change your Stripe balance
Think of it as a bookkeeping and notification job, not a payment job.
5. The 14-day timeout
If a buyer never confirms receipt AND 17track never detects delivery AND no dispute is raised, the 14-day timeout protects you.
Exactly 14 days after an order moves to shipped, the release-payouts function marks it payout_released regardless of delivery confirmation. This means:
- You are never held hostage by an inactive buyer
- The funds in your Stripe balance are never at risk from buyer inactivity alone
- The timeout gives 17track and the buyer a generous window before triggering automatically
The 14-day threshold is configured in admin_settings.auto_payout_days and can be adjusted by the ScentSell admin team if needed.
6. How to check your payouts
In Stripe Express (the authoritative source for money):
- Go to connect.stripe.com or click Dashboard → Seller settings → Manage Stripe account
- Your home screen shows: current balance, upcoming payout date, payout history, and individual transaction details including the ScentSell split
In your ScentSell Dashboard:
- Go to Dashboard → Orders
- Each order shows its current status, the sale amount, and your share
- Use this for tracking which orders have shipped, been delivered, and completed
If there is ever a discrepancy between what ScentSell shows and what Stripe shows, Stripe is the source of truth for financial data.
7. What happens in a dispute or chargeback
Buyer-initiated dispute (through ScentSell):
- Buyer opens a dispute from their order page within 7 days of delivery
- Order status moves to
disputed release-payoutsskips this order until admin resolves it- Admin mediates: outcome is refund, replacement, or seller upheld
- If refunded: Stripe reverses the destination charge from your Stripe balance
Bank-initiated chargeback (buyer goes to their bank directly):
- Stripe's Radar system flags and processes the chargeback automatically
- Funds are reversed from your Stripe balance by Stripe
- ScentSell is notified and the order is flagged for admin review
- You can submit evidence through Stripe Express to contest the chargeback
In both cases, you have the opportunity to provide evidence. The best evidence is: proof of postage, tracking confirmation, and any communication with the buyer.
8. What happens in a refund
If a refund is initiated (by ScentSell admin or via Stripe dashboard):
- Stripe reverses the destination charge in full
- The buyer receives their full purchase price back
- Your Stripe balance is debited for your 85% share
- ScentSell's 15% commission is also returned
- The order status moves to
refunded
If your Stripe balance doesn't have sufficient funds to cover the reversal (e.g. you've already withdrawn to your bank), Stripe will attempt to debit your linked bank account directly.
This is why Stripe holds your first payout for 7 days on new accounts — it provides a buffer in case of early refund requests.
9. Example timelines
Best case — happy path
| Time | Event | Order status |
|---|---|---|
| Day 0, 10:00 | Buyer completes checkout | paid_pending_ship — money in your Stripe balance |
| Day 0, 14:00 | You dispatch via AusPost, enter tracking | shipped |
| Day 3, 09:00 | AusPost delivers. 17track detects it within 6h. | delivered |
| Day 3, 09:15 | Buyer clicks "Confirm Receipt" | buyer_confirmed → payout_released |
| Day 3, 14:00 | Stripe's payout schedule moves balance to your bank | Money in bank |
Buyer inactive (no confirmation, delivery detected)
| Time | Event | Order status |
|---|---|---|
| Day 0 | Checkout | paid_pending_ship — money in your Stripe balance |
| Day 0 | Shipped + tracking entered | shipped |
| Day 3 | Delivered (17track detects) | delivered |
| Day 6 | auto_payout_days (3 days after delivery) elapsed. Release runs. | payout_released |
| Day 8 | Stripe 2-day payout schedule pays out to your bank | Money in bank |
Worst case — 17track doesn't detect delivery, buyer ghosts
| Time | Event | Order status |
|---|---|---|
| Day 0 | Checkout | paid_pending_ship — money in your Stripe balance |
| Day 0 | Shipped | shipped |
| Day 14 | 14-day timeout triggers. Release runs. | payout_released |
| Day 16 | Stripe payout to bank | Money in bank |
In the worst case, you wait 16 days from shipping to bank receipt. Your funds were always safe in your Stripe balance from Day 0.
Related pages: