eugenefvdm / yodlee-api
A vanilla PHP and Laravel-compatible library for the Yodlee API
Requires
- php: ^8.5
- firebase/php-jwt: ^7.0
- phpseclib/phpseclib: ^3.0.10
- vlucas/phpdotenv: ^5.3
Requires (Dev)
- guzzlehttp/guzzle: ^7.4
- orchestra/testbench: ^10.0
- pestphp/pest: ^4.4
- pestphp/pest-plugin-browser: ^4.3
- pestphp/pest-plugin-drift: ^4.0
Replaces
- fintech-systems/yodlee-api: v1.0.0
README
A vanilla PHP and Laravel-compatible library for the Yodlee API.
Requirements
- PHP 8.5+
Installation
composer require eugenefvdm/yodlee-api
Upgrading from fintech-systems/yodlee-api (0.x → 1.0)
This is a breaking release:
| 0.x | 1.0 | |
|---|---|---|
| Packagist name | fintech-systems/yodlee-api |
eugenefvdm/yodlee-api |
| PHP | (unspecified / older) | ^8.5 |
| Namespace | FintechSystems\YodleeApi |
Eugenefvdm\YodleeApi |
| JWT library | firebase/php-jwt ^5.0 |
^7.0 |
| Tests | PHPUnit | Pest |
- Require the new package (and remove the old one if Composer does not replace it automatically):
composer require eugenefvdm/yodlee-api:^1.0 composer remove fintech-systems/yodlee-api
- Update imports from
FintechSystems\YodleeApitoEugenefvdm\YodleeApi(facade, provider, and any direct class uses).
Setup
Store private and public keys
Create a directory /storage and copy your private key to /storage/private-key.pem.
If you want to run the full test suite, also copy public-key.pem to /storage.
Environment
Copy .env.example to .env and complete the details:
YODLEE_COBRAND_NAME=
YODLEE_COBRAND_LOGIN=
YODLEE_COBRAND_PASSWORD=
YODLEE_API_URL=
YODLEE_API_KEY=
YODLEE_USERNAME=
YODLEE_EVENT_CALLBACK_URL=
YODLEE_FASTLINK_URL=
YODLEE_EASY_EQUITIES_PROVIDER_ID=
YODLEE_EASY_EQUITIES_PROVIDER_ACCOUNT_ID=
Commands
Display API keys:
php artisan yodlee:api-key
Console commands:
yodlee:accounts Fetch a list of Yodlee accounts
yodlee:api-key Fetch a list of Yodlee API keys
yodlee:delete-user Delete an existing Yodlee user
yodlee:event-subscriptions Fetch a list of subscribed notification events
yodlee:get-user Fetch details about a Yodlee user
yodlee:providers Fetch a list of Yodlee providers
yodlee:provider-accounts Fetch a list of Yodlee provider accounts
yodlee:refresh-easyequities Refresh EasyEquities provider account
yodlee:register-user Register a new Yodlee user
yodlee:subscribe Subscribe to DATA_UPDATES event notifications
yodlee:transactions Fetch a list of Yodlee transactions for a user
yodlee:unsubscribe Unsubscribe from DATA_UPDATES event notifications
yodlee:update-ee-credentials Update EasyEquities credentials via FastLink
Errors
Retrieving a user — invalid token
{
"errorCode": "Y008",
"errorMessage": "Invalid token in authorization header",
"referenceCode": "c1b1b1b1-1b1b-1b1b-1b1b-1b1b1b1b1b1b"
}
Check that YODLEE_USERNAME in .env matches the user you are calling.
Testing
composer test # or vendor/bin/pest vendor/bin/pest --filter="it can generate a jwt token"
Changelog
Please see CHANGELOG for more information on what has changed recently.
Laravel config
php artisan vendor:publish --tag=yodlee-config
Local development
- Ensure
private-key.pemandpublic-key.pemare stored in/storage.
The event subscription callback URL is normally https://app_url/api/v1/event.
For local development, set a temporary URL in .env, e.g.:
YODLEE_EVENT_CALLBACK_URL=https://my-app.eu-1.sharedwithexpose.com/api/v1/event
Example Expose + Valet:
expose share --subdomain=my-app --server=eu-1 http://my-app.test
To develop against a sibling app via a path repository:
"repositories": [ { "type": "path", "url": "../yodlee-php-api" } ]
composer require eugenefvdm/yodlee-api:dev-main
License
The MIT License (MIT). Please see License File for more information.
Need help?
Yodlee ERD
https://developer.yodlee.com/docs/api/1.1/Data_Model
Yodlee API reference
https://developer.yodlee.com/api-reference
I'm developing this API on my own time for a larger project, but if you reach out I might be able to help or prioritize features.
eugene@fintechsystems.net
+27823096710