FedEx Botble eCommerce / Marketplace. Routes: US -> US domestic and US -> Canada cross-border. warehouse pickup and custom pricing rules. OAuth2 + Rates + Ship + Track + public tracking page. email notifications.
FedEx Shipping Plugin for Botble / Martfury
Plugin ID: maryam/fedex · Namespace: Maryam\FedEx\ · Install path: platform/plugins/Fedex/
FedEx REST API integration for Botble eCommerce with Martfury Marketplace support. One admin-managed FedEx account serves every vendor; each vendor configures their own warehouse pickup address and custom pricing rules. This plugin is completely independent of the DPD plugin — install one or the other or both; they share no code and no tables.
Supported Routes
OriginDestinationType
US
US
Domestic
US
CA
International
Any other pair is hidden at checkout and blocked server-side with a clear error message.
FeaturesBackend / API
Admin
Vendor
Customer
Sandbox vs Live — what to expect
FeatureSandboxLive
OAuth + Rates + Ship + Cancel + Track APIs
✅ works
✅ works
Real scan events (after parcel ships)
❌ blank page
✅ updates live
FEDEX_GROUND service
⚠️ many test accounts get GROUND.SHIPPING.NOTAUTHORIZED
✅ requires Ground service contracted on the account
FEDEX_HOME_DELIVERY (residential)
⚠️ usually disabled
✅ enabled on most US accounts
INTERNATIONAL_PRIORITY US → CA
✅ works
✅ works
Schedule Pickup
❌ FedEx returns FORBIDDEN
✅ works
Production label barcodes
n/a
✅ scannable by real FedEx drivers
Important — Sandbox does NOT simulate real shipments
The FedEx sandbox environment is an API simulator, not a logistics simulator. When the plugin calls /ship/v1/shipments in sandbox, FedEx really does:
But FedEx does NOT:
This is why the customer-facing tracking page and wwwtest.fedex.com/fedextrackshow a blank "no scans yet" state for sandbox tracking numbers — there are no scans because no real parcel was ever moved. This is normal sandbox behaviour and is not a plugin defect. Every FedEx integrator (Shopify, WooCommerce, Magento, custom) sees exactly the same blank tracking page in sandbox.
On live mode the entire flow works end-to-end: real labels, real pickups, real driver scans, real "Out for Delivery" / "Delivered" status updates pulled automatically into the customer dashboard, and real branded tracking pages on fedex.com.
Going live — exact checklist
No code changes are required to go live — every environment-specific value lives in settings.
InstallationOption A — Zero CLI (shared hosting)
Option B — CLI
cp -R Fedex <martfury-root>/platform/plugins/Fedex cd <martfury-root> php artisan plugin:activate Fedex php artisan cache:clear
If the vendor dashboard ever shows a "FedEx warehouse storage is not ready" notice, the controllers will retry php artisan migrate --path=platform/plugins/Fedex/database/migrationsautomatically on the next page view.
Database tables
maryam_fedex_shipments ← one row per FedEx shipment maryam_fedex_tracking_events ← scan events from the Track API maryam_fedex_notifications_log ← audit log of every email sent maryam_fedex_vendor_warehouses ← per-vendor pickup addresses maryam_fedex_shipping ← (placeholder for vendor rule groups) maryam_fedex_shipping_rules ← custom per-vendor rate bands maryam_fedex_shipping_rule_items ← city/state/postcode adjustments
Troubleshooting
SymptomLikely causeFix
AUTH.CREDENTIALS.INVALID
Wrong Client ID or Secret
Verify at https://developer.fedex.com → My Projects
FedEx hidden at checkout
Route not supported
Only US → US and US → CA are allowed
INVALID.INPUT.EXCEPTION on shipment
Missing state/province for US or CA
Fill state_province in the vendor warehouse form
Customs error on UK → US
Missing customsClearanceDetail
Ensure products have weight, price and description
Rate call returns empty services
Wrong serviceType or address
Enable API logging and check the raw response
Label URL returns 404
URL expired
Refresh tracking and download again
Dashboard shows 0 shipments after order
Auto-create failed
Grep storage/logs/laravel.log for [FEDEX] Auto-create
License & Support
Premium plugin by Maryam International LLC · codeupp.xyz
Purchase includes lifetime updates, 6 months of priority support, installation help on WhatsApp, and compatibility across Martfury, Shofy, Nest and future Botble releases.
Have doubt? Contact us on WhatsApp
Our product is high quality. Contact us for any kind of custom work.