Designing a microservices-based system for auto-debiting payments in an asset leasing product involves several considerations to ensure scalability, fault tolerance, and maintainability. Let's outline the architecture and the design choices for this system:

High-Level Architecture

The system can be divided into the following microservices:

  1. Mandate Management Service
  2. Payment Processing Service
  3. Receipt Management Service
  4. Reversal Service

Microservices Overview

  1. Mandate Management Service:
  2. Payment Processing Service:
  3. Receipt Management Service:
  4. Reversal Service:

Design Considerations

Scalability

Fault Tolerance