Tokens like USDT and USDC live on several chains. Set network to pick one, for example TRC20, ERC20, or SOL. Show the network clearly to your customer.
Funds sent on the wrong network may be lost. Always display the coin and the network next to the deposit address.
Poll every 10–30 seconds while the customer is on your checkout page, and stop at expires_at. Show confirmations / required_confirmations as a progress bar.