用途:在 Bagisto 电商系统中开发自定义配送方式,适用于创建新配送方法、对接 Federal Express(FedEx)、UPS、DHL、USPS 等承运商、向结账流程添加配送选项、修改现有配送配置、创建后台配置以及实现运费计算逻辑。
主要能力:采用基于承运商的可扩展架构,将配置与业务逻辑分离;支持按订单固定费率(per_order)和按件计费(per_unit),并可自行扩展为按重量或自定义价格;支持多销售渠道差异化费率、多语言本地化,以及通过第三方 API 集成。核心组件包括 Config/carriers.php(配送方法属性)、Carriers/ 下的承运商类(费率计算)、Config/system.php(后台表单)、ServiceProvider(注册)和 Shipping Facade(收集与管理费率)。承运商类需继承 Webkul\Shipping\Carriers\AbstractShipping 并实现 calculate(),返回 CartShippingRate 对象。内置参考实现有 FlatRate 与 Free。
使用方式:建立包目录结构 packages/Webkul/CustomExpressShipping/src/{Carriers,Config,Providers};编写 carriers.php 定义 code、title、description、active、default_rate、type、class;编写承运商类实现 calculate()/getRate();编写 system.php 生成后台配置字段(title、description、default_rate、type、active 等,支持 channel_based 与 locale_based);编写 ServiceProvider 合并配置;在 composer.json 注册 PSR-4 自动加载并执行 composer dump-autoload,在 bootstrap/providers.php 注册服务提供者,最后执行 php artisan optimize:clear 清理缓存。
限制:资料未提供具体版本兼容范围、第三方承运商 API 的调用细节与密钥配置、测试命令、定价或许可信息,均暂未提供。