Most developers think about crypto payments as a checkout problem.

Generate an invoice.
Show a payment page.
Wait for a webhook.
Mark the order as paid.

That is the clean version.

Real merchants do not live in the clean version.

They live in support tickets.

A customer says they paid, but the...