If you want to distinguish separate incoming payments, the advised way is creating a separate receive address for each.
Bitcoin transactions do not really have 'from' addresses. All transactions do is consume coins, merge and split them, and produce new coins, potentially assigned to new address(es). It is indeed possible to retrieve where the input coins for your transaction were previously sent to, but in the general case this is not very useful information, as it only tells you which address previously controlled the coin, which is not necessarily the one who sent it. In the case of e-wallets with shared wallets, for example, it only tells you an address that belongs to the provider's wallet, and sending something to it will not necessary mean it ends up on the account of the one who sent it. If you want to do return payments, ask for a return address.
Bitcoin transactions do not really have 'from' addresses. All transactions do is consume coins, merge and split them, and produce new coins, potentially assigned to new address(es). It is indeed possible to retrieve where the input coins for your transaction were previously sent to, but in the general case this is not very useful information, as it only tells you which address previously controlled the coin, which is not necessarily the one who sent it. In the case of e-wallets with shared wallets, for example, it only tells you an address that belongs to the provider's wallet, and sending something to it will not necessary mean it ends up on the account of the one who sent it. If you want to do return payments, ask for a return address.
This is what I do at the moment, how can I check from which address was the payment sent to mine?