How Crypto Payment Processors Handle Wallet Balance Privacy? If an online store accepts crypto payments directly into its wallet there is a problem:

"Anyone can make a small transfer to any BTC address derived from the MPK so they can watch the store's and its client's funds as soon as the owner transfers funds from her wallet. I suppose possibly that the person who did this wanted to know if cracking the store worth the effort."

In a previous question a user replied that a solution to this is to use a crypto payment processor like BitPay but:


How they handle wallet privacy? Isn't it the same? The BTC only gets
to make a higher number of transactions between different addresses
but still, they can be traced to the store owner's wallet and her
client's afaik.
Or if the transaction is too small to match the price of the
purchase, BitPay returns the transaction to the originating address
and the BitPay address that accepted the transaction gets dumped so
it can't be used to trace BitPay's customer real address?
Another way I think this could be avoided as well is if BitPay
converts the payment to fiat, then to BTC again and then transfer the
funds to the customer wallet.
Wouldn't it be easier just to avoid payment processors and convert
the BTC to a privacy coin like Monero? For example using a
transitional wallet in the store to accept payments, making smaller
transactions to an exchange, converting to Monero and back to BTC and
then transfer to the owner's real wallet?
Could this method conceal the store owner and her client's wallet
balance to any potential hacker who makes a small transaction to any
store wallet MPK derived address?
Or the only way is to use a payment processor? If so, then how they
conceal their customer's wallet balance?


Thanks for your attention, it's a confusing subject for me and I hope to have written my questions as succinctly &amp; understandably as possible.
First of all the initial assumption is incorrect. Just because you sent coins to one of my addresses doesn't mean you will see my whole wallet. My wallet software may incorporate those coins in a transaction but it may or may not include all the other unspent coins in my wallet. It'll select unspent coins according the amount I wish to send and incorporate only the ones needed to meet that amount.

The second thing is that it's hard to tell from the blockchain which addresses are part of my wallet and which ones aren't. So for example you may not be able to tell which outputs are change and which are intended for the recipient.

As for bitpay they generate their own addresses and don't ask you for your MPK. To get paid you have to initiate a withdrawal. They pay you in fiat if that's what you request or they send bitcoin to your wallet. They don't pay you after every transaction. Only the total amount when you ask for it.

Bitpay is totally regulated so you will have to comply with anti money laundering and know your customer laws. 

There are no originating addresses in bitcoin. You certainly can't safely assume that sending money to the address where the transaction's inputs were previously sent is the same as refunding the sender. To refund the sender you ask them for their address.