Payment Service and Fraud Detection in Uber Design

Discover how to design Uber’s payment service using double-entry bookkeeping and asynchronous Kafka processing. Understand the necessity of real-time fraud detection and explore how the human-assisted RADAR system mitigates financial risk across transactions.

This lesson focuses on securing the system against abuse and fraudulent activity. It analyzes the payment workflow and outlines mechanisms to mitigate payment fraud. The payment service handles financial transactions, including charging riders and disbursing earnings to drivers. After a trip is completed, the service aggregates trip data, computes the fare, and initiates the payment transaction.

Major functionality

The Uber payments platform includes the following functionality:

  • New payment options: Integrates new payment methods for users.

  • Authorization: AuthorizesIn a payment service, authorization is a process to verify the payment method—for example, whether a certain credit card is valid or not. payments to verify transaction validity.

  • Refund: Returns previously authorized payments.

  • Charging: Transfers funds from a user account to Uber.

What to prevent

To ensure the success of the payment system, we must prevent the following scenarios:

  • Lack of payment

  • Duplicate payments

  • Incorrect payment amounts

  • Incorrect currency conversion

  • Dangling authorizations

The platform utilizes the double-entry bookkeepingDouble-entry bookkeeping, also known as, double-entry accounting, is a method of bookkeeping that relies on a two-sided accounting entry to maintain financial information. Every entry to an account requires a corresponding and opposite entry to a different account. Source: Wikipedia method to maintain financial accuracy.

Design

Let’s examine the design of the payment platform and how its components collaborate to complete transactions: