Browse the docs

Sell and send offers

Customers buy what you sell on your website, or accept an offer you send them, and pay by card or in person.

Every product has its own page on your website: your site's address, then /buy/ and the product. Share it and customers buy there, in your look. Or ask the assistant: "Send Maya an offer for the wedding cake at $450, deposit now." Nothing is charged until a customer agrees.

What customers see

  • Each item's price, the total plus applicable tax, and what's due now.
  • Your terms, with a box to agree. For a membership or anything that repeats, a second box that says exactly what they'll be charged and how often.
  • A card form from Stripe, on your own Stripe account. You're the seller and the money goes to you.
  • Afterwards, an email with what they agreed to and a link to see it or cancel. Cancelling a membership asks once and names the day it stops, the end of the period they paid for.

Without payments connected, customers still buy and pay you in person. Something you ship needs payments connected to sell online; until then its page asks them to get in touch with you.

Gift cards and store credit

Sell a gift card like any product. Customers buy it for themselves or as a gift, and the person it's for gets the code by email once it's paid. At checkout they enter a code, or tick their store credit when signed in: it pays first and a card pays the rest. Neither expires. Refunds go back onto the gift card or credit they were paid with, and a cancellation policy can refund as store credit instead of to the card.

Offers to one customer

Pick how they pay: card now or a deposit, a hold on their card charged on the day (within 7 days), their card saved and charged when you approve, an invoice, or in person. Sending an offer emails the customer, so it always asks for your OK first. It stays open up to 30 days.

Things priced by quote show customers a form to ask for one. Answer requests on Sell, Products, under Quote requests.

Keeping track

Money, under Sales, lists every open sale and what it needs from you: an offer to send, an order to approve, a balance to charge at pickup, or money you took in person to mark paid. Charges and refunds always show you the amount first. You can't close the business while a sale is still open.

For agents

Load the commerce.firstOffer skill. The short version:

  1. commerce.previewSale shows exactly what the customer will see; a hold further out than 7 days is refused with save_then_charge as the way instead. With installments it shows a payment plan (the first payment now, the rest on their dates) and the plan’s own words in words.renewal. With tender ([{ code }] or [{ grantId }]) it shows what a gift card or store credit pays; commerce.checkout takes the same tender.
  2. commerce.draftOffer with customerId, lines (quotedMinor for a price by quote), collect (card, authorize with eventAt, save_then_charge with approveWithinDays, invoice with netDays, or in_person) and requestId when it answers commerce.quoteRequests.
  3. commerce.sendOffer emails it. It waits for the owner's confirmation.
  4. commerce.agreements lists sales with what each needs; commerce.agreement shows one. Don't say a sale is paid until it says so.