Integrations and automation

Set up Uber Direct delivery

Connect Uber Direct to Farin, add the signed webhook endpoint, and choose how delivery fees and free delivery work.

5 min read Updated Aug 9, 2026 Owners and managers adding courier delivery to a retail catalog

Use this guide with Catalog settings open in Farin and the Uber Direct developer dashboard open in another tab.

Use test or sandbox credentials while you verify a quote and checkout. Switch to production only after the test order completes and the tracking link appears.

Quick facts

Start here

  • Use the dedicated Uber webhook signing key in Farin. It is different from the Uber client secret.
  • Webhook URL: https://farin.app/api/v1/customers/retail-delivery/uber/webhook.
  • The selected Square location supplies the pickup details and is sent to Uber as the external store location.
  • Customer pays delivery fees unless the post-discount subtotal, city, and ZIP match the catalog’s free-delivery rule.
  • Production credentials create real deliveries. Keep sandbox credentials selected while testing.

Step 1: Open the catalog delivery settings

Enable Uber Direct

Open Catalog settings, select the catalog customers will use, and stay on Overview.

Turn on Local Delivery & Courier Network, then turn on Uber Direct. Choose Test / sandbox until your smoke test is complete.

Keep the courier connection and fee policy in the same catalog that customers use for online ordering.

Step 2: Add the Uber credentials

Why the signing key matters

Farin uses this key to verify Uber status and courier updates before changing an order’s delivery status or tracking link. Create or copy it from Uber Direct’s Webhooks area and keep it secret.

Save the connection details

In the Uber Direct card, choose the environment and enter the Uber Customer ID, Client ID, and Client secret. Save the credentials, then use the connection test if it is shown.

After the credentials connect, open Replace API Credentials again and paste Uber’s dedicated Webhook signing key into the separate field. Do not paste the client secret there.

Step 3: Register the webhook in Uber Direct

Create the endpoint

Open Developer → Webhooks in Uber Direct and create an endpoint with this exact URL: https://farin.app/api/v1/customers/retail-delivery/uber/webhook.

Subscribe to Courier update and Delivery status, then save the endpoint. Keep the signing key from this webhook configuration for the Farin setting above.

Uber should show the Farin endpoint with courier and delivery status events enabled.

Step 4: Set fees and pickup locations

  • Set Fee Payment Policy to Customer pays delivery fee when the buyer should cover the quoted courier fee.
  • For advertised free delivery, enter the post-discount minimum and the qualifying cities or ZIP codes. Customers outside those rules still see the delivery fee.
  • Under Pickup details by location, save the business name, address, phone, and pickup instructions for every Square location that can fulfill this catalog.
  • At checkout, the customer’s selected Square location determines the pickup address sent to Uber. Farin also sends that Square location ID as the external store ID, so orders route to the location the customer chose.

Step 5: Run a smoke test before production

Ready for live orders

Before going live, confirm production credentials, the production webhook endpoint, the signing key, each pickup location, and the advertised free-delivery rules.

Quote, pay, and follow the delivery

Place a small test order from the public catalog, select delivery and a specific location, and confirm the quote matches the expected fee policy.

Complete checkout, then review the order in Retail orders. Confirm the delivery is created, the selected pickup location is correct, and the customer-facing tracking link is present.

Use Uber’s delivery setup guide and webhook guide if Uber shows an authorization or webhook error. Switch the connection to Production only after the sandbox flow is clean.

Related guides

Keep going