A vending machine comprising: a Vending Machine Controller, VMC, and a vending machine MDB data processing system comprising: a main processing unit, a database unit, a first MDB connector configured to interface with the VMC for data communication with the vending machine, a second MDB connector configured to communicate with an MDB slave component to connect them with the vending machine, and an external interface; wherein the vending machine is configured to support a first card reader and a second card reader, wherein the first card reader is for a Point Of Sale, POS, unit and the second card reader is for a virtual POS for Internet data communication and to facilitate Internet payment as POS payment back to the VMC; wherein the system is configured to receive data from either the first MDB connector or the second MDB connector; the data is first processed by the main processing unit before being sent to its destination; wherein after the data is received from the first MDB connector, store this data into database unit; first segment of the data is processed to obtain destination type; wherein the data received from the first MDB connector is processed in a way that determination of whether the data should be modified is made, and if it needs to be modified, then that data is replaced according to a predetermined set of process procedure, before that data is forwarded to the second MDB connector; wherein after the data received from the first MDB connector has been processed, the system is configured to determine whether the data is intended for the system's own consumption, if yes, then process this data in accordance with Internet payment aggregation processing instructions; if not, then translate the data into external package and send for the external interface; wherein determining whether the data is intended for the system's own consumption is to determine whether the data is intended for the second card reader, namely the virtual POS. a main processing unit, a database unit, a first MDB connector configured to interface with the VMC for data communication with the vending machine, a second MDB connector configured to communicate with an MDB slave component to connect them with the vending machine, and an external interface; wherein the vending machine is configured to support a first card reader and a second card reader, wherein the first card reader is for a Point Of Sale, POS, unit and the second card reader is for a virtual POS for Internet data communication and to facilitate Internet payment as POS payment back to the VMC; wherein the system is configured to receive data from either the first MDB connector or the second MDB connector; the data is first processed by the main processing unit before being sent to its destination; wherein after the data is received from the first MDB connector, store this data into database unit; first segment of the data is processed to obtain destination type; after the data is received from the first MDB connector, store this data into database unit; first segment of the data is processed to obtain destination type; wherein the data received from the first MDB connector is processed in a way that determination of whether the data should be modified is made, and if it needs to be modified, then that data is replaced according to a predetermined set of process procedure, before that data is forwarded to the second MDB connector; wherein after the data received from the first MDB connector has been processed, the system is configured to determine whether the data is intended for the system's own consumption, if yes, then process this data in accordance with Internet payment aggregation processing instructions; if not, then translate the data into external package and send for the external interface; wherein determining whether the data is intended for the system's own consumption is to determine whether the data is intended for the second card reader, namely the virtual POS. after the data received from the first MDB connector has been processed, the system is configured to determine whether the data is intended for the system's own consumption, if yes, then process this data in accordance with Internet payment aggregation processing instructions; if not, then translate the data into external package and send for the external interface; wherein determining whether the data is intended for the system's own consumption is to determine whether the data is intended for the second card reader, namely the virtual POS.