caashapp / plaid-sdk-laravel
Laravel 实现的 Plaid API SDK。
Requires
- php: ^8.1
- illuminate/http: ^8.79
- illuminate/support: ^8.79
- spatie/data-transfer-object: ^3.7
README
简介
Plaid SDK for Laravel 旨在使将 Plaid 的强大功能集成到 Laravel 应用程序中尽可能简单。该库将 Plaid API 映射到一系列方法中,所有这些方法都捆绑在一个方便的 Facade 中,以便快速开发和轻松测试。每个方法都返回一个结构化对象,因此您无需在文档中寻找,只需让代码自动完成引导您即可。
灵感
Plaid SDK for Laravel 启发于 TomorrowIdeas/plaid-sdk-php,我在一个项目中开始使用它,但发现它没有很好地与 Laravel 集成,我认为我可以做得更好。如果您只需要 Plaid API 的 PHP 实现,请查看它。
安装 & 设置
使用 composer 安装此包。Laravel 使用包自动发现,因此不需要您手动添加 ServiceProvider。
composer require caashapp/plaid-sdk-laravel
配置
默认设置在 config/plaid.php
中。将此文件复制到您的配置目录以修改值。您可以使用以下命令发布配置
php artisan vendor:publish --provider="CaashApp\Plaid\PlaidServiceProvider"
在使用 Plaid SDK for Laravel 之前,您还需要添加 Plaid 服务的凭据并设置环境。这些凭据应放在您的 .env 文件中,然后将其映射到 config\plaid.php
文件。
PLAID_ENV=sandbox PLAID_CLIENT_ID= PLAID_SECRET=
config/plaid.php
文件还包含您想要使用的产品列表、您的应用程序应从中提取机构的国家以及默认语言的配置。默认配置应适用于沙箱环境的测试,但在将应用程序迁移到生产之前,请务必检查这些设置以及 Plaid API 文档。
使用
您可以使用 Plaid Facade 与 Plaid AIP 交互。
use CaashApp\Plaid\Facades\Plaid; Plaid::createLinkToken(string $userId, array $options = []) Plaid::updateLinkToken(string $userId, string $accessToken, array $options = []) Plaid::exchangePublicToken(string $publicToken) Plaid::getItem(string $accessToken) Plaid::updateWebhook(string $accessToken, string $webhook) Plaid::removeItem(string $accessToken) Plaid::listInstitutions(int $count, int $offset, array $options = []) Plaid::getInstitution(string $institutionId, array $options = []) Plaid::searchInstitutions(string $query, array $options = []) Plaid::getAccount(string $accessToken) Plaid::rotateAccessToken(string $accessToken)
结构化响应
每个方法都返回一个复杂对象,包含完全类型化和注释的结构。因此,如果您使用提供代码自动完成的 IDE,您将花费更少的时间在文档中寻找您想要的属性。
沙箱环境
在沙箱环境中,Plaid 提供了一些额外的辅助 API,这些 API 也通过 Plaid Facade 公开。
use CaashApp\Plaid\Facades\Plaid; Plaid::createPublicToken(string $institutionId, array $options = null) Plaid::resetItemLogin(string $accessToken) Plaid::fireWebhook(string $accessToken, string $webhookCode = 'DEFAULT_UPDATE') Plaid::createTestItem(string $institution)
路线图
此库尚未完成,Plaid 的许多产品尚未实现。您现在可以创建链接、获取银行账户、余额和交易。更多功能将添加到库中,并以完整的产品类别一次性发布。
目前的优先级是交易和余额,包括完整的测试套件。
请参阅公开问题以获取提议的功能列表(以及已知问题)。
支持
请联系以下位置的维护者
- GitHub 讨论区
- 在此GitHub个人资料上列出的联系方式
项目协助
如果你想要表示感谢或/和支持 Plaid sdk for Laravel 的活跃开发
- 给项目添加GitHub Star。
- 在推特上分享关于 Plaid sdk for Laravel 的内容。
- 在 Dev.to,Medium 或你的个人博客上撰写关于项目的有趣文章。
我们共同努力,可以使 Plaid sdk for Laravel 更加出色!
贡献
首先,感谢您花时间做出贡献!贡献使开源社区成为学习、灵感和创作的绝佳场所。您所做的任何贡献都将惠及所有人,并且非常受欢迎。
请阅读我们的贡献指南,感谢您的参与!
作者 & 贡献者
此存储库的原始设置由Kyle Klaus完成。
要查看所有作者和贡献者的完整列表,请参阅贡献者页面。
安全性
Plaid sdk for Laravel 遵循良好的安全实践,但无法保证100%的安全。Plaid sdk for Laravel 提供“现状”,不提供任何保证。自行承担风险。
有关更多信息以及报告安全问题的说明,请参阅我们的安全文档。
许可
此项目遵循 MIT 许可证。
有关更多信息,请参阅LICENSE。