Developing Payment Systems with Hexagonal Architecture