Yes, if you try to buy an asset with BTC, it takes about an hour to complete
I'm still not quite get why it should take one hour to complete. Let's say a block takes 10 mins. Matching takes 1 block, Btcpay 1 block, so 20 mins, what do I miss.
The reason is blockchain reorganizations, which basically rewrite the recent history of transactions, and Bitcoin payments are irreversible. So a blockchain reorganization can invalidate a BTCpay, because it can remove a previously valid order match from the ledger.