Design an Online Payment Service — Medium System Design Problem