The pay route accepts an optional smaller amount. It is clamped to the outstanding balance so an overpayment is impossible, and tagged in the checkout metadata as 'partial' versus 'balance' so the recorded payment can be understood later.
Also called: partial payment online · pay a deposit · pay some of the invoice
- 1amountCents defaults to the full balance when omitted or invalid.
- 2Math.min against the balance prevents overpayment.
- 3payment_kind metadata records whether this was a partial or a full settlement.
- 4The recorded payment recomputes paid_amount, leaving the invoice at 'partial' with the remainder still owing.
Construction is billed in instalments, and a customer who can only send a deposit today should not have to choose between paying everything and paying nothing. The payment page defaults to the full balance but accepts a smaller amount, and it will not let a customer pay past what is actually owed.
- All-or-nothing online payment blocking a deposit.
- Overpayments creating a refund to process.
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →