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.
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.
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.