Can You Design a Payment System?

10 Advanced Questions on Payment Systems Architecture

1 / 10

You are designing the payment architecture and the team proposes: “We’ll make the API synchronous, write the payment to our database, call the processor, and return success only if everything completes in one request.” What should you challenge first?

2 / 10

A payment system must prevent a customer from accidentally paying the same invoice twice when two identical requests arrive concurrently. Which design is strongest?

3 / 10

At the end of the day, your internal payment records show $12,450,000 of captured payments while the processor’s settlement report shows $12,449,200. What should the system do?

4 / 10

A merchant’s customer is charged successfully, but the merchant’s order service does not receive the payment confirmation because of a temporary messaging failure. What architecture best handles this situation?

5 / 10

A payment provider sends AUTHORIZED, then your system receives CAPTURED, but the AUTHORIZED webhook arrives again later because of delayed delivery. How should the system handle the late event?

6 / 10

Your payment service stores the payment status as a mutable field:
status = "COMPLETED"
What is the most important architectural concern with treating this field as the complete payment history?

7 / 10

A payment request succeeds at the processor, but your service crashes before recording the successful response locally. After recovery, what is the strongest approach?

8 / 10

Your payment service receives the same processor webhook three times because the provider retries delivery. What must the system guarantee?

9 / 10

A payment has been authorized successfully, but the capture operation fails because of a temporary downstream outage. What should the payment state represent?

10 / 10

A customer submits a payment request, but the API times out before returning a response. The payment processor may already have accepted the transaction. What should the payment system do when the customer retries?

Your score is

The average score is 0%

0%