Developer Documentation
Technical reference for FoodRunz platform
sendPlanPaymentLink
Creates a Stripe checkout session for vendor subscriptions
{
"vendor_email": "vendor@example.com",
"plan_name": "tier_1",
"stripe_product_id": "prod_xxx",
"stripe_price_id": "price_xxx"
}{
"checkout_url": "https://checkout.stripe.com/...",
"session_id": "cs_xxx"
}createStripeConnectAccount
Creates Stripe Connect account for driver payouts
{
"driver_id": "driver_profile_id"
}{
"url": "https://connect.stripe.com/...",
"account_id": "acct_xxx"
}sendWelcomeEmail
Sends welcome email to new vendors or drivers
{
"email": "user@example.com",
"user_type": "vendor" | "driver",
"name": "John Doe"
}STRIPE_SECRET_KEY
Stripe secret key for API calls (starts with sk_live_ or sk_test_)
STRIPE_PUBLISHABLE_KEY
Stripe publishable key for frontend (starts with pk_live_ or pk_test_)
STRIPE_WEBHOOK_SECRET
Webhook signing secret (starts with whsec_)
BASE44_APP_ID
Auto-populated app identifier (no setup required)
VendorBusiness
Vendor business profiles and subscription info. Indexed fields: owner_email, subscription_status
DriverProfile
Driver profiles and performance metrics. Indexed fields: user_email, status
ShiftAssignment
Active shift assignments. Indexed fields: driver_id, business_id, status, shift_date
DriverRequest
Vendor driver requests. Indexed fields: business_id, status, start_date
VendorSubscription
Stripe subscription tracking for vendors
Stripe Checkout Not Working
- • Verify STRIPE_SECRET_KEY is set correctly
- • Check that stripe_price_id matches a valid Stripe price
- • Ensure checkout is not being opened in an iframe
- • Confirm webhook is registered and receiving events
Driver Payouts Not Processing
- • Verify driver completed Stripe Connect onboarding
- • Check stripe_connected_account_id is saved in DriverProfile
- • Ensure sufficient balance in Stripe account
- • Review Stripe dashboard for payout failures
Emails Not Sending
- • Verify email format is valid
- • Check function logs for SendEmail errors
- • Ensure from_name parameter is provided
- • Confirm email content is properly formatted HTML
Authentication Errors
- • Check user is logged in (base44.auth.me() returns user)
- • Verify user role matches required permissions
- • Use base44.asServiceRole for admin operations
- • Ensure proper error handling for 401/403 responses
