Skip to content

Payments, fees, and refunds

The exact 4.9% + 30¢ fee formula with worked examples, full and partial refunds, how fees are treated on refunds, and the dispute lifecycle.

Payments, fees, and refunds

The fee formula

Every successful card payment is charged 4.9% + 30¢:

fee   = round_half_up(amount × 4.9%) + 30¢
you receive = amount − fee

Minimum charge is $1.00. If the fee would consume the whole amount, the charge is rejected. All amounts are integer cents — no floating-point rounding surprises.

Worked examples

SaleFee calculationFeeYou receive
$1.00$1.00 × 4.9% = $0.49 → $0.49+0.30$0.79$0.21
$25.00$25.00 × 4.9% = $1.225 → $1.23+0.30$1.53$23.47
$50.00$50.00 × 4.9% = $2.45 → $2.45+0.30$2.75$47.25
$100.00$100.00 × 4.9% = $4.90 → $4.90+0.30$5.20$94.80

The 4.9¢ estimate for Stripe's processing cost (2.9% + 30¢) is shown on each payment as an estimate unless the real balance-transaction data is available. Every payment record shows the Biz Invoice Pay fee and your net separately — nothing is hidden inside a lump sum.

Fees may change; we'll tell you before they do. The numbers above read from the shared fee function, so the docs, the pricing calculator, and your dashboard always agree.

Refunds

Open a payment and click Refund. You can refund the full amount or a partial amount (for example $20 back on a $100 payment). Partial refunds can be issued more than once until the payment is fully refunded.

  • Full refund: the payment status becomes refunded.
  • Partial refund: the status becomes partially_refunded, and refunded_cents tracks the running total.
  • Refunds go back to the customer's original card; allow up to 10 business days for their bank to post it.

Fee-on-refund policy

The current platform policy is refund proportionally:

  • A full refund returns the full Biz Invoice Pay fee (on a $50 payment, you get the $2.75 back).
  • A partial refund returns a proportional share of the fee, rounded half-up: refunding $20 of a $100 payment returns round($5.20 × 20/100) = $1.04.

If the policy is ever set to keep_fee by the platform, refunds return no fee. The policy in effect at the time of each refund is recorded on the refund itself.

Who can refund

Owners can refund any amount. Managers are capped by a configurable per-refund limit (set in Settings → Team). Staff cannot refund.

Disputes (chargebacks)

When a customer disputes a charge with their bank, the payment is flagged and the disputed amount may be debited from your pending balance while Stripe investigates.

StatusMeaning
needs_responseStripe is waiting for your evidence. Act now.
under_reviewYou submitted evidence; Stripe/bank is deciding.
wonYou won — the funds are returned to you.
lostThe customer won — the debit is final.

How to respond

  1. Open Disputes in the dashboard and read the reason (e.g. "product not received", "fraudulent").
  2. Attach evidence: the invoice and its pay link, signed receipts or contracts, delivery/shipping proof, and any messages with the customer. More specifics beat more pages.
  3. Submit before the deadline shown — missed deadlines are lost automatically.

Disputes are rare for in-person businesses, but a clear invoice description and a written receipt (even a one-line service agreement) are the two things that win them.

Simulating disputes in dev

Use test card 4000 0000 0000 0259 — the payment succeeds, then a dispute is created after a short delay so you can walk the whole lifecycle. See Testing.

Last updated: October 14, 2026

Was this page helpful?