Machine to Machine (M2M) communications or the Internet of Thing (IoT) is emerging as a new form of communications in our society. With such proliferation of the IoT/M2M, we have started to experience various smart services such as smart home, connected car, e-health, smart grid, etc. These IoT/M2M services are set to improve our life significantly. However, in IoT/M2M many things only exchange a small amount of data while generate a large amount of requests such as network connectivity requests, notification requests and storage requests. The traditional charging models such as those based on amount of data transfer are no longer adequate for M2M communications. As new charging factors and charging models are identified for M2M communications, a new charging architecture needs to be designed for M2M communications. This paper proposes such an M2M charging architecture that is designed to collect charging information for M2M communications based on the notions of charging factors and charging models.