lido-nation / laravel-adapayments
A laravel package to process ada payments.
Requires
- php: ^8.1
- laravel/framework: ^11.0
- lido-nation/adapayments: 1.0.3
- saloonphp/saloon: ^3.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.8
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.8
- pestphp/pest: ^2.20
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- spatie/laravel-ray: ^1.26
README
Support us
Installation and Configuration
(i) Package and dependencies installation
You can install the package via composer:
composer require lido-nation/laravel-adapayments
Next, install the package dependencies via composer:
composer require lido-nation/adapayments
(ii) Publishing config and service provides
Publish configurations and service providers via artisan command:
php artisan adapayments:install
php artisan adapayments:install
command will create the following files within laravel root directory;
config/adapayments.php
app/Providers/AdapaymentsServiceProvider.php
Register AdapaymentsServiceProvider
by copying it's class reference in config/app.php
within the providers key
. Below is the class reference;
return [
'providers' => ServiceProvider::defaultProviders()->merge([
App\Providers\AdapaymentsServiceProvider::class,
])->toArray(),
]
(iii) configuration (.env)
The published config/adapayments.php
will make use of certain environment variables that we will need to configure. Below is a list of variables we will need to configure in our .env
file.
// Ada wallet address to receive payments
PAYMENT_ADDRESS=
PAYMENT_ADDRESS_QR_IMAGE=
// Blockfrost service url and project_id
BLOCKFROST_URL=
BLOCKFROST_PROJECT_ID=
// API Keys for coinapi, coinbase and coinmarketcap
COINAPI_API_KEY=
COINBASE_API_KEY= // optional
COINMARKETCAP_API_KEY=
Usage
Here are a few short examples of what you can do:
(i) Converting currencies
Note that all the functions presented below will take a parameter of amounts being converted. By default the value is set to 1, hence equates represents live exchange rate.
from global helpers
$usdAmount = ada_to_usd(7); $adaAmount = usd_to_ada(7);
from class instance
use Lidonation\AdapaymentsLaravel\Adapayments;
$adaPayments = new Adapayments();
$usdAmount = $adaPayments->adaToUsd(10); $adaAmount = $adaPayments->usdToAda(10);
- #### from the serivce container
$adaPayments = app()->adapayments;
$usdAmount = $adaPayments->adaToUsd(5); $adaAmount = $adaPayments->usdToAda(5);
## Testing
Test via composer command;
composer test
## Credits
- [Emmanuel Titi](https://github.com/Emmanuel-SE)
- [All Contributors](./contributors)