walter silva cruz / laravel-quickbooks-payments
PHP 客户端封装 QuickBooks Payments SDK。
1.0.1
2021-08-13 21:23 UTC
Requires
- php: >=7.2
- quickbooks/payments-sdk: ^1.0
README
基于 SPINEN 的 Laravel QuickBooks 客户端
PHP 客户端封装 QuickBooks Payment SDK。
此包设计用于与 Laravel 一起工作,因此此包是用 Laravel 编写的。
安装
- 安装 Laravel QuickBooks Payments
$ composer require waltersilvacruz/laravel-quickbooks-payments
- 运行我们的迁移以安装
quickbooks_tokens
表
$ php artisan migrate --package=waltersilvacruz/laravel-quickbooks-payments
此包使用 Laravel 的 自动注册功能。
配置
-
将适当的值添加到您的
.env
最小密钥
QUICKBOOKS_CLIENT_ID=<Production Client ID given by QuickBooks> QUICKBOOKS_CLIENT_SECRET=<Production Client Secret> QUICKBOOKS_SANDBOX_CLIENT_ID=<Sandbox Client ID given by QuickBooks> QUICKBOOKS_SANDBOX_CLIENT_SECRET=<Sandbox Client Secret>
可选密钥
QUICKBOOKS_API_URL=<Development|Production> # Defaults to App's env value QUICKBOOKS_DEBUG=<true|false> # Defaults to App's debug value QUICKBOOKS_REDIRECT_ROUTE=<string> # A named route to force redirect after disconnecting
-
[可选] 发布配置和视图
配置
可以通过以下命令将名为
quickbooks_payments.php
的配置文件发布到config/
目录...php artisan vendor:publish --tag=quickbooks-payments-config
视图
可以通过以下命令发布视图文件...
php artisan vendor:publish --tag=quickbooks-payments-views
用法
以下是从 QuickBooks 获取公司信息的示例
$quickbooks = app('QuickBooksPayments'); $array = [ "amount" => "10.55", "currency" => "USD", "card" => [ "name" => "emulate=0", "number" => "4111111111111111", "address" => [ "streetAddress" => "1130 Kifer Rd", "city" => "Sunnyvale", "region" => "CA", "country" => "US", "postalCode" => "94086" ], "expMonth" => "02", "expYear" => "2024", "cvc" => "123" ], "context" => [ "mobile" => "false", "isEcommerce" => "true" ] ]; $response = $quickbooks->getService()->Charge()->create($array); dd($response);
中间件
如果您有将依赖于用户账户拥有可用的 QuickBooks OAuth 令牌的路由,有一个名为 WebDEV\QuickBooks\Payments\Http\Middleware\Filter
的中间件已包含在内,它将注册为 quickbooks_payments
,确保账户已链接,并在需要时将它们重定向到 connect
路由。
以下是一个示例路由定义
Route::view('some/route/needing/quickbooks/token/before/using', 'some.view') ->middleware('quickbooks_payments');