responsilicious / laravel-quickbooks-client
SPINEN的Laravel QuickBooks客户端的分支。
4.5.0.5
2023-01-31 11:20 UTC
Requires
- php: >=7.2
- illuminate/database: 5.5.*|5.6.*|5.7.*|5.8.*|^6.0|^7.0
- illuminate/http: 5.5.*|5.6.*|5.7.*|5.8.*|^6.0|^7.0
- illuminate/routing: 5.5.*|5.6.*|5.7.*|5.8.*|^6.0|^7.0
- nesbot/carbon: ^1.26.3 || ^2.0
- quickbooks/v3-php-sdk: dev-master
Requires (Dev)
- mockery/mockery: ^1
- phpunit/phpunit: ~7.0.1|~8.0
- psy/psysh: ^0.5.1
- symfony/thanks: ^1.0
README
PHP客户端,封装了 QuickBooks PHP SDK。
我们仅使用 Laravel 构建我们的应用程序,因此此包是用Laravel编写的。如果社区有请求将此包分成两部分以便在Laravel之外使用,我们将考虑执行这项工作。
构建状态
安装
安装QuickBooks PHP客户端
$ composer require Responsilicious/laravel-quickbooks-client
该包使用Laravel 5的自动注册功能。
配置
-
你需要在你的
User
模型上有一个quickBooksToken
关联。有一个名为Responsilicious\QuickBooks\Laravel\HasQuickBooksToken
的特质,你可以将其包含在你的User
模型中,这将设置这个关系。**注意**:如果你的User
模型不是App/User
,那么你将需要在下面的文档中配置configs/quickbooks.php
路径。 -
将适当的值添加到你的
.env
文件中最小密钥
QUICKBOOKS_CLIENT_ID=<client id given by QuickBooks> QUICKBOOKS_CLIENT_SECRET=<client secret>
可选密钥
QUICKBOOKS_API_URL=<Development|Production> # Defaults to App's env value QUICKBOOKS_DEBUG=<true|false> # Defaults to App's debug value
-
[可选] 发布配置和视图
配置
可以通过运行以下命令将名为
quickbooks.php
的配置文件发布到config/
目录...php artisan vendor:publish --tag=quickbooks-config
视图
可以通过运行以下命令发布视图文件...
php artisan vendor:publish --tag=quickbooks-views
用法
以下是从QuickBooks获取公司信息的示例
php artisan tinker Psy Shell v0.8.17 (PHP 7.1.14 — cli) by Justin Hileman >>> Auth::logInUsingId(1) => App\User {#1668 id: 1, // Other keys removed for example } >>> $quickbooks = app('Responsilicious\QuickBooks\Client') // or app('QuickBooks') => Responsilicious\QuickBooks\Client {#1613} >>> $quickbooks->getDataService()->getCompanyInfo(); => QuickBooksOnline\API\Data\IPPCompanyInfo {#1673 +CompanyName: "Sandbox Company_US_1", +LegalName: "Sandbox Company_US_1", // Other properties removed for example } >>>
你可以像SDK中所述那样调用任何资源。
中间件
如果你有依赖于用户账户拥有可用的QuickBooks OAuth令牌的路由,有一个内置的中间件 Responsilicious\QuickBooks\Laravel\Filter
,它会被注册为 quickbooks
,这将确保账户已链接,并在需要时将它们重定向到 connect
路由。
以下是一个示例路由定义
Route::view('some/route/needing/quickbooks/token/before/using', 'some.view') ->middleware('quickbooks');