walter silva cruz/laravel-quickbooks-payments

PHP 客户端封装 QuickBooks Payments SDK。

1.0.1 2021-08-13 21:23 UTC

This package is auto-updated.

Last update: 2024-09-14 03:49:16 UTC


README

基于 SPINEN 的 Laravel QuickBooks 客户端

PHP 客户端封装 QuickBooks Payment SDK

此包设计用于与 Laravel 一起工作,因此此包是用 Laravel 编写的。

安装

  1. 安装 Laravel QuickBooks Payments
$ composer require waltersilvacruz/laravel-quickbooks-payments
  1. 运行我们的迁移以安装 quickbooks_tokens
$ php artisan migrate --package=waltersilvacruz/laravel-quickbooks-payments

此包使用 Laravel 的 自动注册功能

配置

  1. 将适当的值添加到您的 .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
  2. [可选] 发布配置和视图

    配置

    可以通过以下命令将名为 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');