全栈 / quickbooks
Laravel QuickBooks 客户端。
1.1
2023-08-03 16:16 UTC
Requires
- php: ^8.1
- illuminate/database: ^10
- illuminate/http: ^10
- illuminate/routing: ^10
- illuminate/support: ^10
- nesbot/carbon: ^2.62.1
- quickbooks/v3-php-sdk: ^6.1
Requires (Dev)
- laravel/pint: ^1.2
- mockery/mockery: ^1.5.1
- phpunit/phpunit: ^9.5.8
- psy/psysh: ^0.11
- scrutinizer/ocular: ^1.9
README
PHP 客户端封装了 QuickBooks PHP SDK。
安装
- 安装 QuickBooks PHP 客户端
$ composer require FullStack/quickbooks
- 运行我们的迁移来安装
quickbooks_tokens
表
$ php artisan migrate
此包使用 Laravel 的 自动注册功能。
配置
- 您需要在您的
User
模型上创建一个quickBooksToken
关联。有一个名为FullStack\QuickBooks\HasQuickBooksToken
的特质,您可以将它包含在您的User
模型中,这将设置关系。为此,请实现以下操作
将 use FullStack\QuickBooks\HasQuickBooksToken;
添加到 User.php 文件的顶部服务容器中,并在类中添加特质。例如
class User extends Authenticatable { use Notifiable, HasQuickBooksToken;
注意:如果您的 User
模型不是 App\Models\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 获取公司信息的示例
注意:在执行这些命令之前,请访问您的连接路由(默认:/quickbooks/connect)以获取用户的 QuickBooks 令牌
php artisan tinker Psy Shell v0.8.17 (PHP 7.1.14 — cli) by Justin Hileman >>> Auth::logInUsingId(1) => App\Models\User {#1668 id: 1, // Other keys removed for example } >>> $quickbooks = app('FullStack\QuickBooks\Client') // or app('QuickBooks') => FullStack\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 中的文档调用任何资源(SDK 中)。
中间件
如果您有依赖于用户账户具有可用的 QuickBooks OAuth 令牌的路由,有一个名为 FullStack\QuickBooks\Laravel\Filter
的中间件,它已注册为 quickbooks
,将确保账户已链接,并在必要时将它们重定向到 connect
路由。
以下是一个示例路由定义
Route::view('some/route/needing/quickbooks/token/before/using', 'some.view') ->middleware('quickbooks');