Plan: The receipt route is on every valid portal link. It only lists non-reversed payment rows for invoices that link covers. Optional feedback needs Customer Feedback Pulse installed, payment-scoped, and ready.
The customer opens the receipt from Checkout success, from See what was received on a settled home, or by returning to the receipt URL. These rows are customer-pays-you money. Your PayBlah bill never appears here.
Before you start
- Portal Pay part of it does not create a receipt row.
- There is no PDF download and no “a receipt has been emailed” claim. The page is printable.
If no payment is confirmed yet
- The customer lands on the receipt URL.
- Subhead is Payment status. Heading: Payment not confirmed yet. Copy: “No confirmed payment has reached this link.”
- If they just finished Stripe Checkout, the note says confirmation can take a moment. They should check Stripe or the bank before trying again.
- They press Refresh payment status or Back to your invoices. The app does not redirect them away to fake a settlement.
If payments exist
- Subhead is Payment receipt.
- Heading is Paid — thank you when the link is fully settled, or Thank you when money was received and a balance remains.
- The page shows total received (one figure per currency), each payment’s invoice reference and date, optional provider reference, and Paid by.
- Settled copy: Reminders have stopped. Nothing outstanding on this link.
- Still outstanding: the remaining total and See what's left.
Optional feedback
When Feedback Pulse is ready, a card asks Would you like to share feedback? with button Share feedback. That is optional and is not required to see the receipt. See Leave feedback after paying on the portal.
If something goes wrong
- They paid by bank but the receipt is still pending — expected until you Record payment or a later import/sync writes the row.
- They completed Checkout and still see pending — wait and refresh. Do not charge again until they have checked Stripe and the bank.
- Attribution: the receipt lists what was recorded. It does not say PayBlah caused the payment.