Product: Checking or savings account

Hello I purchased a new Mattress from a company locally owned here in XXXX XXXX called XXXX XXXX XXXX. They gave me what seemed like a wonderful deal and the mattress is made locally within the state of Iowa. I handed the man my debit card and he charged the transaction no problem what so ever. The mattress is now delivered to my residence incased in plastic brand new. I go to open the mattress and notice several stains all over the mattress. 
I in turn call XXXX XXXX XXXX and speak with the manager XXXX and he said they can give me {$50.00} off to keep it or get me a new one. So I decided to except the new one and he told me to go ahead keep this one until the new one arrives and its okay to sleep on it. He said the new mattress will be here next week and we will call and get it swapped out. Seemed to be easy enough until 1 week turned into 2 weeks and no calls. I reached out to the store and they said they forgot to order it. Give them a week and they will have it to me. Well that week came and no mattress just more excuses. I spoke to the owner and he told me he didn't know anything about this and that I needed to reach out to the factory. 
I got ahold of XXXX XXXX and spoke with the owner XXXX he said he would send out a new mattress on their next order. I get ahold of them and no mattress once again excuses about the XXXX of XXXX. I began dealing with this run around XX/XX/XXXX and finally by XX/XX/XXXX and no mattress I was very upset. I had all the emails where I have spoken to the vendor along with all slips and receipts. I went to my bank Wells Fargo to discuss it with them and we decided to dispute the transaction. I turned over the photos and emails and slips to my bank. They put the provisional credit on my account for {$520.00} while they investigated the case. The lady I spoke to on the phone told me this is an open and shut case the merchant doesn't have a leg to stand on. 
Well I heard absolutely nothing and finally had to go to my bank and ask whats going on with the case. I filled it XX/XX/XXXX and it was XX/XX/XXXX with no letter or email or phone calls. The bank tells me oh they are still looking into it they have until XX/XX/XXXX. So the bank calls me on XX/XX/XXXX and tells me they will get the provisional credit turned over to the credit for me. I get a call at XXXX stating I lose the dispute and they will be taking their money back on XX/XX/XXXX. I asked why did I lose the dispute??? They said well the merchant said you have the mattress and visa sided with them. I said if they wanted the mattress I would gladly give it to them. They told me to keep it until they exchanged it and I am doing as I was told. I called the bank and said I want answers and spoke to a woman who told me a totally different story. She said your pictures were the problem couldn't see stains. I said thats totally different then what the bank said. I asked to speak to a supervisor and in turn hear yet another story. She did agree to contact the merchant on a 3 way call. Where he flat out lied to her and they ate that up. They basically said I need to work with the merchant in any way to get this fixed or take it to small claims court. The merchant isn't trust worthy as they lie over and over again. Yet Wells Fargo tells me if you ever have any debit card issues let us know. I said really????? you won't do anything about it if I do so the only lesson I have learned is use your credit card. Because at least I will have the legal rights to get this issue fixed. So basically I have my dirty mattress with lies from the merchant and a bank I have had sense XX/XX/XXXX that was no help at all. Other then dragging the process out as long as possible and making no contact with me about it.