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:
- A customer selects the deposit amount and payment method.
- Uber initiates the deposit with the payment partner.
- The partner handles the deposit request with the API and sends a response to Uber.
- 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:
- The user wants to add $100 USD to their Uber Cash. When they do so, they trigger the
funding_method
. - The Uber app takes this request and passes it into
buildDepositURL($100, funding_method, return_url)
, wherereturn_url
is a callback method so the response can be asynchronous. - Uber’s back-end systems create an init-deposit
($100, funding_method, destination, source)
to initiate the deposit with a payment partner. Uber passes thefunding_method
chosen by the customer. The partner then handles the deposit initiation. - The partner returns a
partner deposit URL
to Uber which directs the customer. - 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.
- After the partner has collected the funds from the customer, confirm the deposit order by invoking the confirm deposit API.