cclee-shipping Plugin User Guide
cclee-shipping is a WooCommerce multi-carrier shipping plugin that supports real-time shipping rates from FedEx and SF Express International. Customers see actual shipping costs at checkout, no manual rate tables needed.
Quick Start
Prerequisites
- WordPress 6.4+
- WooCommerce 8.0+
- Existing FedEx or SF Express account
Step 1: Install Plugin
- Go to WordPress Admin → Plugins → Add Plugin → Upload Plugin
- Select
cclee-shipping.zip→ Click Install Now - After installation, click Activate
Installation Complete
After activation, FedEx and SF Express shipping methods are automatically registered. No additional activation needed.
Step 2: Create Shipping Zone
WooCommerce uses shipping zones to match customer addresses with shipping rules.
- Go to WooCommerce → Settings → Shipping → Shipping Zones
- Click Add Shipping Zone
- Enter zone name (e.g., "International Shipping")
- Select shipping destinations in Zone Regions (e.g., "All Countries" or specific countries)
- Click Add Shipping Method
Step 3: Add Carrier
Add FedEx or SF Express to your shipping zone:
- In the Select Shipping Method dropdown, choose FedEx (CCLEE Shipping) or SF Express International (CCLEE Shipping)
- Click Add Shipping Method
- Click Manage on the right side of the method to enter settings
Step 4: Configure FedEx Credentials
| Setting | Value | Where to Get |
|---|---|---|
| API Key | FedEx API Key | FedEx Developer Portal |
| Secret Key | FedEx Secret Key | Same as above |
| Account Number | FedEx Account | FedEx account settings |
| Environment | production | Select sandbox for testing |
Getting FedEx Credentials
- Visit FedEx Developer Portal
- Register developer account and create project
- Get API Key and Secret Key from project details page
- Account Number is in your FedEx account settings
Step 5: Test Shipping Rates
- Add product to cart on frontend
- Go to checkout page
- Enter shipping address
- Check if FedEx rates are displayed
Carrier Configuration Details
FedEx Settings
| Setting | Description | Recommended Value |
|---|---|---|
| API Key | FedEx Developer API Key | — |
| Secret Key | FedEx Developer Secret Key | — |
| Account Number | FedEx Account | — |
| Environment | Environment | Select production for live |
| Enabled Services | Enabled service types | INTERNATIONAL_PRIORITY + INTERNATIONAL_ECONOMY for international |
| Rate Modifier Type | Rate markup method | Fixed amount or percentage |
| Rate Modifier Value | Markup value | 0 for original price, set profit margin |
| Package Type | Default package type | Your Packaging |
| Shipping Payment Type | Shipping payer | SENDER (merchant prepaid) |
| Duties Payment Type | Duties payer | SENDER or RECIPIENT |
| Debug Mode | Debug mode | Turn off for normal operation, enable for troubleshooting |
SF Express International Settings
| Setting | Description | Where to Get |
|---|---|---|
| Customer Code | Customer code | SF Express Open Platform |
| Check Word | Check code | SF Express Open Platform |
| Environment | Environment | Select production for live |
| Enabled Services | Enabled services | 36/37/38/44 for international recommended |
SF Express Credentials
SF Express International API requires activation through your SF account manager. Get customer code and check word from SF Express Open Platform.
SF Express International Service Types
| Code | Name | Use Case |
|---|---|---|
| 36 | Cross-border Express | Fast cross-border delivery |
| 37 | International Economy | Economical international shipping |
| 38 | International Standard | Standard international shipping |
| 44 | International eCommerce | Cross-border eCommerce专用 |
FedEx Sandbox Testing Tool
cclee-shipping includes a built-in Label Test admin tool for testing the FedEx Ship API in the sandbox environment to verify your API credentials and account configuration.
When to Use
After completing FedEx API registration, use this tool to verify the Ship API works in the sandbox. For the registration process, see the FedEx Registration Guide.
Open Label Test
- Go to WordPress Admin → WooCommerce → Label Test
- The page displays FedEx connection status at the top:
- Credentials: Whether configured (requires adding a FedEx method in Shipping Zones with credentials)
- Environment: Current environment (Sandbox or Production)
- Account Number: FedEx account in use
Prerequisites
Label Test uses credentials from the FedEx method in your shipping zones. If it shows "Not configured", complete the FedEx configuration in Quick Start first.
Generate Test Label
- Confirm connection status shows Configured and Environment is Sandbox
- Click Generate Test Label
- Wait for the FedEx Ship API response (timeout limit: 30 seconds)
On success, the following is displayed:
- Tracking Number: Test tracking number
- Preview: View raw ZPL text content
- Download: Download
.zpllabel file (for thermal printers) - Print: Disabled — ZPL format requires a thermal printer
Test Passed
A successful Tracking Number confirms the FedEx Ship API is working. You can now apply for production access. See "How to switch to production environment?" in the FAQ below.
Troubleshooting Test Failures
| Error Message | Cause | Solution |
|---|---|---|
| FedEx shipping method not configured | FedEx not added to shipping zones | Add FedEx shipping method and fill in credentials |
| FedEx OAuth authentication failed | API Key or Secret is incorrect | Check Client ID and Secret in Developer Portal |
| FedEx API error (4xx/5xx) | FedEx rejected the request | Check the specific error message, verify API permissions |
| Label data not found | No label data in response | Check WooCommerce → Status → Logs (source: cclee-shipping-label-test) |
Shipping Payment Options
Shipping Payer (Shipping Payment)
| Option | Meaning | Checkout Display |
|---|---|---|
| SENDER (Merchant Prepaid) | Shipping deducted from merchant's FedEx account | Customer pays product + shipping |
| RECIPIENT (Collect) | Shipping paid by recipient | Shipping shows $0, collected at delivery |
Which to Choose?
- Cross-border B2C eCommerce: Choose SENDER, customer pays everything at checkout
- Samples/Large customers: Choose RECIPIENT, let them pay shipping
Duties Payer (Duties & Taxes Payment)
Only applies to international shipments, determines who pays customs duties and taxes.
| Option | Meaning |
|---|---|
| SENDER | Merchant prepays duties, no extra charge for customer |
| RECIPIENT | Customer pays duties at delivery |
Duties Risk
Choosing RECIPIENT may require customer to pay duties upon delivery, which could lead to refusal. Recommended to prepay or inform customer in advance.
Rate Markup Settings
cclee-shipping supports markup on carrier base rates to cover packaging costs or add profit.
Fixed Amount Markup
Add fixed amount per package (e.g., $5).
Example: FedEx quoted $20 → Display $25
Percentage Markup
Add percentage markup on carrier quoted rate (e.g., 10%).
Example: FedEx quoted $20 → Display $22
FAQ
Shipping rates not showing?
Troubleshooting Steps
- Check credentials: Confirm API Key, Secret Key, Account Number are correct
- Check environment: Select production for live environment
- Enable debug: Turn on Debug Mode in settings, check WooCommerce → Status → Logs
- Check address: Ensure shipping zone covers customer shipping address
- Check product weight: Products must have weight set, otherwise shipping cannot be calculated
How to set free shipping threshold?
cclee-shipping only handles shipping rate calculation. For free shipping, use WooCommerce free shipping method:
- Add Free Shipping method to the same shipping zone
- Set minimum order amount (e.g., $100)
- Customers meeting the condition will see free shipping option automatically
Domestic shipping supported?
- FedEx: Supports US domestic FedEx Ground
- SF Express: Currently only supports international (service types 36-38, 44)
For domestic SF Express shipping, please contact SF business to activate domestic API.
Shipping rate differs from actual charge?
Shipping rates are based on:
- Product weight and dimensions (please fill in product settings)
- Package type (default: Your Packaging)
- Origin and destination addresses
If the difference is significant, please check if product weight is set accurately.
How to switch to production environment?
- Apply for Production Key in FedEx Developer Portal
- Replace API Key, Secret Key, Account Number with production credentials
- Change Environment to production in plugin settings
- Save settings
Support
- GitHub: cclee-hub/cclee-shipping
- Issue Reporting: GitHub Issues
Visit GitHub Repository