Waits and payment

How a chain waits for a person, reminds without nagging, and what happens after "Pay"

flowspaymentsautomation

Updated October 22, 2026

The two strongest parts of flows — and the two where mistakes happen most.

Wait

The node pauses the chain for a specific person. It can wait for three things: any message from them, a form submitted on the site, or simply time — "in three days".

A wait has three exits, and they differ:

ExitWhenWhat happens to the wait
ResolvedThe person replied, the form arrived, the time passedCloses
ReminderOur timer: "remind in 2 hours"Keeps waiting
ExpiredOur hard limit: "don't wait longer than a day"Closes

The key: reminders don't close the wait. You can remind after an hour, a day and three days — and the chain keeps waiting for the reply all along. Only the event or the deadline closes it.

Message series. "Welcome — the second after three days — the third after seven" is time waits between messages. Each waits its own, and a /start from the person resets the series: they started over.

Welcome and what we roast
Three days
How to pick a roast for your taste
Four more days
A discount on the first order

Background check. "Request approved — in 15 minutes check whether an order was placed, remind if not". Such a wait lives in the background, apart from the dialogue: the person can write anything to the bot meanwhile, and the reminder still arrives.

Offer lifecycle

What happens after "Pay" is known not to the button and not to the dialogue but to a separate node. It has no input: it isn't placed "after" anything, it subscribes to offer events and starts its own branch for each.

EventWhen
Order createdThe person pressed "Pay" — an invoice was issued
PaidThe money arrived
Order completedAfter payment, everything delivered
Payment failedCard, bank, glitch — there was an attempt and it broke
Invoice expiredThe person didn't pay — there was no attempt
Order cancelledYou or the person cancelled
Order expiredThe order's lifetime ran out
RefundThe money was returned
Events of the "Membership" offer
order createdRemind with the link in 5 minutes
paidLink into the private channel
paidSet the "client" tag
failedMessage the person and the owner
invoice expiredNudge with a button to the site
refundRemove the tag and the access

What goes on the events.

  • On "order created" — a reminder a few minutes later with the payment link. The link is live: the invoice is re-issued on click.
  • On "paid" — delivery: a channel link, a "what's next" message, a "client" tag.
  • On "payment failed" — a message to the person and, separately, to the owner: the provider's reason is available in the text.
  • On "invoice expired" — a gentle nudge with a button to the site. The phrase "failed" is wrong here: there was no attempt.
  • On "refund" — remove the tag and the access.

How it stops itself. Payment arrived — all pending reminders for that order are cancelled. Three open orders for one person — three independent reminder chains.

One node for all offers. A single node can listen to "any offer" — for housekeeping: report every sale to your group, set a common "buyer" tag. Delivery logic stays on the nodes of specific offers.

after the course is paid, send the channel link and say where to start; if unpaid after 5 minutes — remind

for every sale of any offer, write to my group: the amount and what was bought