Payment Service (v0.0.1)

Service that handles payments

The Payment Service is a crucial component of our system that handles all payment-related operations. It processes payments, manages transactions, and communicates with other services through events. Using an event-driven architecture, it ensures that all actions are asynchronous, decoupled, and scalable.

Core features

FeatureDescription
Payment ProcessingProcesses payments and manages transactions
Event-Driven ArchitectureEnsures asynchronous, decoupled, and scalable operations
Integration with Payment GatewaysInterfaces with external payment providers

Messages for this service

Sends messages (2)

Quickly find the message you need by searching for the name, type, or summary.
NameVersionTypeSummary
Payment Processed
v0.0.1eventEvent is triggered after the payment has been successfully processed
Get order details
v0.0.1queryGET request that will return detailed information about a specific order, identified by its orderId.

Receives messages (4)

Quickly find the message you need by searching for the name, type, or summary.
NameVersionTypeSummary
Payment Initiated
v0.0.1eventEvent is triggered when a user initiates a payment through the Payment Service
User subscription started
v0.0.1eventAn event that is triggered when a new user subscription has started
Inventory adjusted
v1.0.1eventIndicates a change in inventory level
Get payment status
v0.0.1queryGET request that will return the payment status for a specific order, identified by its orderId.

Infrastructure

The Payment Service is hosted on AWS.

The diagram below shows the infrastructure of the Payment Service. The service is hosted on AWS and uses AWS Lambda to handle the payment requests. The payment is stored in an AWS Aurora database and the payment metadata is stored in an AWS S3 bucket.

Loading graph...

You can find more information about the Payment Service infrastructure in the Payment Service documentation.

Key Components

  • Payment API: Exposes endpoints for initiating payments and querying payment status.
  • Payment Processor: Handles the core payment processing logic.
  • Event Bus: Manages the communication between services using events.
  • Payment Gateway: Interfaces with external payment providers.
  • Transaction Service: Manages transaction records and states.
  • Notification Service: Sends notifications related to payment status changes.
  • Database: Stores transaction data and payment status.