When exactly does the receiving party receives their payment. When the transaction is validated or when the transaction is added to a block?
When exactly does the receiving party receives their payment.
This is considered to have happened as soon as the transaction is included in a newly mined block and that block starts to propagate through the Bitcoin network.
The recipient may not find out that they have received the money until their particular node (e.g. wallet) receives a copy of that block to add to its copy of the blockchain. If the recipient's node is turned off and cannot receive blocks, that does not mean they have not received the money. They have as far as everyone else is concerned.
The recipient may not consider that receipt safe until their node (or one they trust, like a blockchain explorer) sees that six confirmations have been received - that is 6 new blocks mined on top of the block that contains the transaction.
Remember that Bitcoins are not really things that move around, they are not really sent places and do not really arrive anywhere. All that happens is that everybody builds identical copies of the journal of transactions - a list of transactions called the blockchain. By inspecting that list of transactions everyone can see that a specific Bitcoin-address or script now has control over a specific amount of money that they didn't have control over before. Nothing else matters.
Since data takes time to bubble and percolate from node to node to node to node through the network, different nodes will have slightly different dates or times on which they became aware of a specific transaction. No one of these is any more correct than any other.
Blocks that fail validation might as well be considered to have never existed. The network does not keep or propagate unvalidated transactions. By design, no-one trusts anyone else, therefore every node does its own validations. Even though it knows the sending node will have already validated the block.
The receiver must wait for at least a few blocks to be mined after the transaction is confirmed in a block.
When you relay your transaction to the Bitcoin network, every full node that receives the transaction validates that the transaction meets all the consensus requirements. However, Bitcoin network relays transactions on a best effort basis, which can mean your transaction might have never reached out to a miner for sometime. In that time, you can double spend that transaction by consuming the same UTXO and paying out to a different address (use a higher fee). So, if a receiver runs a full node and if he thinks the payment went through when he sees your transaction he might lose out despite delivering the services.
Also, thinking that the payment is confirmed after one block is mined with the underlying transaction is also incorrect. That is because, there might be two blocks which can be mined at the same time (fork). So now, the network is split which would eventually be converging when the next block is mined. The transaction that you created might not have reached the winning side, and thus is not included in the last two blocks. So although the receiver thought the payment was confirmed (because he was seeing the other version of the block mined) you can now create a double spend transaction. The recommended waiting time is 6 blocks.