Product: Credit card or prepaid card

I have a Costco anywhere visa card thru Citibank. I have been a great paying customer for about 4 years now, I am an XXXX XXXX and I use my Costco credit card to make daily purchases every single day, and I had a perfect transaction history on this card. I made daily purchases and I would make multiple large payments every month. Last year I spent {$30000.00} shopping at Costco. Thats what my end of the year summary said that I got from them. I also earned {$600.00} in rewards. Late last year I made 2 payments, one on XX/XX/XXXX and the other one on XX/XX/XXXX each payment was in the amount of {$1500.00}, and for some reason, XXXX XXXX blocked those 2 payments from going through. I was never notified by Citibank that those payments never went through, so I made smaller payments and those did go through. On XX/XX/XXXX last year, I made another {$1500.00} payment, and I was so irritated with both banks that I had to do a 3 way call with both banks on the phone, just to make sure that my payment would go through. That payment went through with no problem. One week later I went to Costco to get gas as I always do and I tried to use my Costco visa card at the pump, and it was declined. I called the number on the back of my Costco anywhere visa card and the representative told me that they closed my account because of those two large payments that I made last year that didnt go through. I argued with them and demanded to know why they closed my account without even telling me. I found out about it, after the fact. This is really shady and unethical of them. I explained to them that I had plenty of money in my checking account when I made those payments, and I should not be punished over a bank mistake that I had no control over. I lost addition income because I kept having to take time off of work to try and call them and resolve this issue. I kept getting bounced around to different depatments, and then I would get disconnected and I kept having to call them back. This frustration went on and on for months because each time I would call, the representative wouldnt even try and help me resolve this, they would just lie and argue with me. after about 4 months I was finally able to talk to a high supervisor in the execututive response unit, and I had to tell her the whole frustrating story all over again. Her name was XXXX and she told me that if I can get a letter from XXXXXXXX XXXX admitting that this was a bank mistake and not my mistake that those two payments never went through, Citibank would go ahead and reopen my account with no problem. Well it took me almost 3 weeks to track down the correct person aXXXX XXXX XXXX who was willing to write me that letter. I emailed that letter to the Executive response team over at Citibank and after they received that letter, they lied to me and refused to reopen my account. I explained to them that this account never should have been closed to begin with. I should not be held responsible for some XXXX bank mistake. I have called that excecutive response department many times over the last 4 months, and each time I talked to them, they would argue and lie to me. last week when I called them, I asked them about my {$600.00} rewards that I earned, and they told me that because they closed my account, Im not going to get my rewards dollars that I earned. That is stealing money from me, not only did they close my account for no reason, but now they lied to me over and over again about reopening my account, plus they refuse to give me the {$600.00} reward dollars that I earned. does this sound like a good way to treat a very good customer who spent {$30000.00} on my card last yer? I want my {$600.00} reward dollars that I earned and I want my accpunt reoped as promised. Citibank should not be alowed to deliberately lie and cheat customers. 
I can get another copy of that letter from XXXX XXXX but it might take me a few days