arkitecht / fedex-laravel
一个服务提供者,用于将 FedEx 服务集成到您的 Laravel 项目中
1.0.1
2016-10-23 19:17 UTC
Requires
- arkitecht/fedex-php: dev-master
- laravel/framework: ^5.0
- wsdltophp/packagebase: dev-master
This package is auto-updated.
Last update: 2024-09-05 07:17:53 UTC
README
一个服务提供者,用于将 FedEx 服务集成到您的 Laravel 项目中
快速安装
您可以通过 composer 最容易地安装此包
Laravel 5.x
composer require arkitecht/fedex-laravel
在项目中使用它
将服务提供者添加到您的 config/app.php 文件中
<?php ... 'providers' => [ /* * Laravel Framework Service Providers... */ //Illuminate\Foundation\Providers\ArtisanServiceProvider::class, Illuminate\Auth\AuthServiceProvider::class, Illuminate\Broadcasting\BroadcastServiceProvider::class, Illuminate\Bus\BusServiceProvider::class, ... Arkitecht\FedEx\Laravel\Providers\FedExServiceProvider::class, ], ?>
将 Facade 添加到您的 config/app.php 文件中
<?php ... 'aliases' => [ 'FedEx' => Arkitecht\FedEx\Laravel\Facades\FedEx::class ], ?>
发布配置文件
artisan vendor:publish
设置环境
在您的 .env 文件或 config/fedex.php 中添加以下设置键的值
- FEDEX_API_KEY - 您的 FedEx API 密钥
- FEDEX_API_PASSWORD - 您的 FedEx API 密码
- FEDEX_ACCOUNT_NO - 您的 FedEx 账户号码
- FEDEX_METER_NO - 您的 FedEx 米数号码
- FEDEX_USE_BETA - (布尔值) 使用 FedEx 测试系统而不是生产系统
使用示例
获取 FedEx 价格
<?php $rateRequest = FedEx::rateRequest(); $shipment = new \Arkitecht\FedEx\Structs\RequestedShipment(); $shipment->TotalWeight = new \Arkitecht\FedEx\Structs\Weight(\Arkitecht\FedEx\Enums\WeightUnits::VALUE_LB, $weight); $shipment->Shipper = new \Arkitecht\FedEx\Structs\Party(); $shipment->Shipper->Address = new \Arkitecht\FedEx\Structs\Address( $shipper->address, $shipper->city, $shipper->state, $shipper->zip, null, 'US'); $shipment->Recipient = new \Arkitecht\FedEx\Structs\Party(); $shipment->Recipient->Address = new \Arkitecht\FedEx\Structs\Address( $recipient->address, $recipient->city, $recipient->state, $recipient->zip, null, 'US'); $lineItem = new \Arkitecht\FedEx\Structs\RequestedPackageLineItem(); $lineItem->Weight = new \Arkitecht\FedEx\Structs\Weight(\Arkitecht\FedEx\Enums\WeightUnits::VALUE_LB, $weight); $lineItem->GroupPackageCount = 1; $shipment->PackageCount = 1; $shipment->RequestedPackageLineItems = [ $lineItem ]; $rateRequest->Version = FedEx::rateService()->version; $rateRequest->setRequestedShipment($shipment); $rate = FedEx::rateService(); $response = $rate->getRates($rateRequest); $rates = []; if ($response->HighestSeverity == 'SUCCESS') { foreach ($response->RateReplyDetails as $rate) { $rates[$rate->ServiceType] = $rate->RatedShipmentDetails[0]->ShipmentRateDetail->TotalNetCharge->Amount; } }