I actually had something similar to that happen to me a few months back.
I was helping a friend do a few repairs on her house. She had bought some items that she couldn't use and asked me to take them back, get the money back and buy the correct items. While I was in the customer service line, the cashier was counting out the money for the returned items. At the same time, a manager came over to give her some money she needed for her drawer. I didn't see it immediately but the cashier gave me the $100 that she was supposed to put in her drawer.
It was about an hour and a half later, at home, that I realized that I had $100 that I shouldn't have. I called the store, told them who I was and gave them my phone number. I told them to check that drawer and see if it was short any money and if it was, call me back and let me know how much.
They called back and said it was short $100 so I took the money back. In the long run I made out OK. I felt better because if that drawer had been short at the end of the day, the girl would have lost that money out of her pay. Also, the store gave me a $50 gift card for a future purchase for bringing the money back.
I may have only gotten $50 instead of $100 but it was $50 more than I had and I had a clear conscience.