PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/HubSpot

Schedule and execute future payments

Last updated: Mar 29, 2026

Quick Overview

This question evaluates understanding of reliable scheduled job execution, transactional integrity, concurrency control, idempotency, and failure handling in balance-transfer and payment systems within the system design domain.

  • medium
  • HubSpot
  • System Design
  • Software Engineer

Schedule and execute future payments

Company: HubSpot

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Take-home Project

##### Question Design a feature to schedule payments at future timestamps. The system must execute the payment exactly at the scheduled time, update the involved account balances, and skip execution if the source balance is insufficient.

Quick Answer: This question evaluates understanding of reliable scheduled job execution, transactional integrity, concurrency control, idempotency, and failure handling in balance-transfer and payment systems within the system design domain.

Related Interview Questions

  • Design a video streaming platform like Netflix/YouTube - HubSpot (medium)
  • Design an hourly weather crawling service - HubSpot (easy)
  • Design a Netflix-like video platform - HubSpot (easy)
  • Design a near-real-time weather API - HubSpot (hard)
  • Design a streaming video platform MVP (Netflix-like) - HubSpot (hard)
HubSpot logo
HubSpot
Aug 4, 2025, 10:55 AM
Software Engineer
Take-home Project
System Design
13
0

System Design: Scheduled Payments Execution

Context

You are building a balance-transfer service (e.g., an internal wallet). Users can schedule a payment to move funds from a source account to a destination account at a future timestamp.

Requirements

Design a feature that supports the following:

  1. A user can schedule a payment at a future UTC timestamp.
  2. The system executes the payment at the scheduled time.
  3. On execution, the system updates the involved account balances atomically.
  4. If the source balance is insufficient at execution time, the payment is skipped (no balance changes).

Assumptions (minimal to make the problem well-scoped)

  • Single region deployment; relational database available.
  • Timestamps are stored and compared in UTC with second-level precision.
  • Payments are in a single currency (multi-currency handling is out of scope).
  • “Execute at the scheduled time” means trigger at or immediately after the timestamp (sub-second jitter is acceptable in distributed systems).

What to Deliver

Provide a design that covers:

  • High-level architecture and components.
  • Data model and key constraints.
  • Execution flow (scheduling and run-time) and concurrency control.
  • Handling of insufficient funds, idempotency, and failure/retry.
  • Brief API sketch and operational considerations (monitoring, background jobs).

Solution

Show

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More HubSpot•More Software Engineer•HubSpot Software Engineer•HubSpot System Design•Software Engineer System Design
PracHub

Master your tech interviews with 8,000+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.