shawnreid / laravel-quickbooks
Laravel Quickbooks 是 Laravel 的 QuickBooks 封装器
Requires
- php: ^8.1
- illuminate/database: ^9.0
- illuminate/http: ^9.0
- illuminate/routing: ^9.0
- illuminate/support: ^9.0
- nesbot/carbon: ^2.0
- quickbooks/v3-php-sdk: ^6.1.0
Requires (Dev)
- laravel/pint: ^1.4
- nunomaduro/larastan: ^2.4
- orchestra/testbench: ^7.1
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-16 06:15:01 UTC
README
Laravel Quickbooks 是一个用于管理 QuickBooks PHP SDK 的令牌管理器和封装器。有关如何与 API 交互的详细信息,请参阅 Quickbooks API 参考文档。
要求
安装
您可以通过 composer 安装此包
composer require shawnreid/laravel-quickbooks
发布资源
php artisan vendor:publish --provider="Shawnreid\LaravelQuickbooks\Providers\QuickbooksProvider"
创建数据库表 quickbooks_tokens
php artisan migrate
配置
-
在开始之前,您需要一个 QuickBooks 开发者账户来 设置沙盒环境。您还需要一个工具,如 ngrok 来公开您的本地开发环境。
-
Quickbooks 需要提供一个用于 OAuth2 认证的重定向 URI。您必须将其设置为:
https://<your_url>/quickbooks/token
-
将适当的值添加到您的
.env
QUICKBOOKS_CLIENT_ID=<Client ID> QUICKBOOKS_CLIENT_SECRET=<Client Secret> QUICKBOOKS_API_URL=<Development|Production> QUICKBOOKS_DEBUG=<true|false>
-
默认情况下,此包将附加到
User
模型。如果您想使用其他模型,可以在configs/laravel-quickbooks.php
中进行配置。需要在您想使用的模型中包含一个 trait。示例
use Shawnreid\LaravelQuickbooks\Quickbooks; class User extends Authenticatable { use Quickbooks;
-
默认情况下,令牌管理器中间件设置为
auth
。根据您的需求,您可能需要更改此设置。这可以在configs/laravel-quickbooks.php
中进行配置
连接到 Quickbooks
此包提供了一个用于管理 Quickbooks OAuth2 连接的简单接口。
- 导航到
https://<your_url>/quickbooks
- 选择您想要附加连接的模型,然后点击
创建连接
。如果配置正确,您将被重定向到 QuickBooks 认证页面。
您还可以从此界面撤销令牌或刷新令牌。请注意,每次调用 QuickBooks API 时,此包都会自动刷新令牌。
用法
此包提供了包装 QuickBooks PHP SDK 的语法糖。请参阅 QuickBooks 示例 CRUD 应用程序 获取更多示例。
示例
$user = User::find(1); $user // resolve data service ->quickbooks() // resolve invoice entity ->invoice() // create invoice ->create( body: [...] ) $user // resolve data service ->quickbooks() // resolve customer entity ->customer() // update customer ->update( id: 'id' body: [...] ) $user // resolve data service ->quickbooks() // resolve bill entity ->bill() // delete bill ->delete( id: 'id' ) $user // resolve data service ->quickbooks() // resolve vendor entity ->vendor() // find vendor ->find( id: 'id' ) $user // resolve data service ->quickbooks() // Custom SQL query // https://developer.intuit.com/app/developer/qbo/docs/learn/explore-the-quickbooks-online-api/data-queries ->query('SELECT * FROM Invoice')
支持的实体
$user->quickbooks()->account(); $user->quickbooks()->bill(); $user->quickbooks()->billPayment(); $user->quickbooks()->customer(); $user->quickbooks()->estimate(); $user->quickbooks()->invoice(); $user->quickbooks()->item(); $user->quickbooks()->journalEntry(); $user->quickbooks()->payment(); $user->quickbooks()->timeActivity(); $user->quickbooks()->vendor(); $user->quickbooks()->vendorCredit(); $user->quickbooks()->companyCurrency(); $user->quickbooks()->creditMemo(); $user->quickbooks()->department(); $user->quickbooks()->deposit(); $user->quickbooks()->employee(); $user->quickbooks()->purchase(); $user->quickbooks()->purchaseOrder(); $user->quickbooks()->refundReceipt(); $user->quickbooks()->salesReceipt(); $user->quickbooks()->taxAgency(); $user->quickbooks()->taxRate(); $user->quickbooks()->taxService(); $user->quickbooks()->transfer();
支持的 CRUD 操作
$user->quickbooks()->invoice()->create([...]); $user->quickbooks()->invoice()->update('id', [...]); $user->quickbooks()->invoice()->delete('id'); $user->quickbooks()->invoice()->find('id');
测试
composer test
更新日志
请参阅 更新日志 了解最近更改的详细信息。
贡献
请参阅 贡献指南 了解详细信息。
鸣谢
许可
MIT 许可证 (MIT)。请参阅 许可文件 了解更多信息。