popphp/pop-shipping
Composer 安装命令:
composer require popphp/pop-shipping
包简介
Pop Shipping Component for Pop PHP Framework
README 文档
README
Overview
Pop Shipping is a helpful component to manage different shipping APIs from common shipping providers. With it, you can get shipping rates as well as track packages. Currently, the supported shipping providers are:
- FedEx
- UPS
Also, it provides address validation through the Google Maps API.
Install
Install pop-shipping using Composer.
composer require popphp/pop-shipping
Or, require it in your composer.json file
"require": {
"popphp/pop-shipping" : "^3.0.0"
}
Create Auth Client
FedEx
$authClient = Pop\Shipping\Auth\Fedex::createAuthClient( 'CLIENT_ID', 'SECRET', 'ACCOUNT_ID' );
UPS
$authClient = Pop\Shipping\Auth\Fedex::createAuthClient( 'CLIENT_ID', 'SECRET', 'ACCOUNT_ID' );
Authenticate and store token
if ($authClient->hasTokenDataFile(__DIR__ . '/../data/access.json')) { $authClient->fetchAuthToken(__DIR__ . '/../data/access.json'); } else { $authClient->authenticate(__DIR__ . '/../data/access.json'); }
Create Shipping Adapter
FedEx
$adapter = Pop\Shipping\Adapter\Fedex::createAdapter($authClient);
UPS
$adapter = Pop\Shipping\Adapter\Ups::createAdapter($authClient);
Get Rates
$shipping = new Pop\Shipping\Shipping($adapter); $shipping->setShipTo([ 'first_name' => 'John', 'last_name' => 'Doe', 'address1' => '123 Main St', 'city' => 'Some Town', 'state' => 'FL', 'zip' => '12345', 'residential' => true, ]); $shipping->setShipFrom([ 'first_name' => 'Jane', 'last_name' => 'Doe', 'address1' => '456 Main St', 'city' => 'Main Town', 'state' => 'GA', 'zip' => '54321' ]); $shipping->addPackage(new Pop\Shipping\Package(34, 24, 12, 65, 1000)); print_r($shipping->getRates());
Get Tracking
$shipping->addTrackingNumbers([ '11111111111111', '11111111111112', '11111111111113' ]); print_r($shipping->getTracking());
Validate Address
$google = new Pop\Shipping\Adapter\Google('GOOGLE_API_KEY'); $google->setOriginalAddress([ 'address1' => '123 Bad St.', 'city' => 'Wrong Town', 'state' => 'FL', 'postal_code' => '12345' ]); if ($google->validate()) { echo 'Address has been confirmed.' } else { print_r($google->getSuggestedAddress()); }
popphp/pop-shipping 适用场景与选型建议
popphp/pop-shipping 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 904 次下载、GitHub Stars 达 3, 最近一次更新时间为 2014 年 12 月 08 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「shipping rates」 「shipping api」 「track packages」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 popphp/pop-shipping 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 popphp/pop-shipping 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 popphp/pop-shipping 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
PHP SDK for the Parcel Monkey UK API
Delivers current exchange rates for EUR provided by the ECB as PHP objects.
A PSR-7 compatible library for making CRUD API endpoints
PHP wrapper for DPD Germany SOAP API
Metamel Addresses is a polymorphic Laravel package, for address book management. You can add addresses to any eloquent model with ease.
统计信息
- 总下载量: 904
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 19
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: BSD-3-Clause
- 更新时间: 2014-12-08