Three lines



Deposit flow

Depositing more funds

When someone wants to deposit more funds to their Uber wallet, they can do this in prebuilt user flows. The overview describes these flows along with further technical details:

  1. A customer selects the deposit amount and payment method.
  2. Uber initiates the deposit with the payment partner.
  3. The partner handles the deposit request with the API and sends a response to Uber.
  4. We direct the user to the partner for funds collection and confirmation.

At a more technical level, the sequence of calls handled in API, look like this:

Sequence Diagram

  1. The user wants to add $100 USD to their Uber Cash. When they do so, they trigger the funding_method.
  2. The Uber app takes this request and passes it into buildDepositURL($100, funding_method, return_url), where return_url is a callback method so the response can be asynchronous.
  3. Uber’s back-end systems create an init-deposit($100, funding_method, destination, source) to initiate the deposit with a payment partner. Uber passes the funding_method chosen by the customer. The partner then handles the deposit initiation.
  4. The partner returns a partner deposit URL to Uber which directs the customer.
  5. The partner then triggers a funds collection flow which appears to the user. The initial checkout page in the interface automatically displays the funding method. After collecting all the data for the deposit, the partner updates the merchant_reference and additional information of a PENDING deposit.
  6. After the partner has collected the funds from the customer, confirm the deposit order by invoking the confirm deposit API.


© 2023 Uber Technologies Inc.