Laravel-OvalFi helps you Set up, test, and manage your OvalFi integration directly in your Laravel App.

Overview

OvalFi Laravel Package

Laravel-OvalFi helps you Set up, test, and manage your OvalFi integration directly in your Laravel App.

Latest Version on Packagist Total Downloads GitHub Actions

Installation

You can install the package via composer:

composer require zeevx/laravel-ovalfi

After installation, run (to create the ovalfi.php config file):

php artisan ovalfi:publish

Add the following to your .env, you can get these values from your ovalfi dashboard:

NB: OVALFI_MODE should be set to sandbox for testing and live for production.

OVALFI_MODE=
OVALFI_PUBLIC_KEY=
OVALFI_BEARER_TOKEN=

Usage:

Use the helper function

ovalfi() //It works automatically 😍

Create customer

ovalfi()->createCustomer(
        string $name,
        string $mobile_number,
        string $email,
        string $reference,
        string $yield_offering_id
        );

Update customer

ovalfi()->updateCustomer(
        string $customer_id,
        string $name = null,
        string $mobile_number = null,
        string $email = null,
        string $reference = null,
        string $yield_offering_id = null
    );

Get customers

ovalfi()->getCustomers();

Get customer

ovalfi()->getCustomer(
        string $customer_id
    );

Get exchange rate

ovalfi()->getExchangeRate(
        float $amount,
        string $currency,
        string $destination_currency
    );

Initiate transfer

NB: Please check this doc to understand the parameters better: https://docs.ovalfi.com/docs/initiate-transfer

ovalfi()->initiateTransfer(
        string $customer_id,
        float $amount,
        string $currency,
        array $destination,
        string $reason,
        string $reference,
        string $note = null
    );

Cancel transfer by batch ID

ovalfi()->cancelTransferByBatchId(
        string $batch_id,
        string $reason
    );

Get business portfolios

ovalfi()->getBusinessPortfolios();

Create yield offering profile

ovalfi()->createYieldOfferingProfile(
        string $name,
        string $reference,
        string $description,
        string $portfolio_id = null,
        float $apy_rate = null,
        string $currency = null,
        int $deposit_lock_day = null,
        float $minimum_deposit_allowed = null,
        float $maximum_deposit_allowed = null,
        int $yieldable_after_day = null,
        float $withdrawal_limit_rate = null
    );

Get yield profiles

ovalfi()->getYieldProfiles();

Get yield profile

ovalfi()->getYieldProfile(
        string $yield_offering_id
    );

Update yield offering profile

ovalfi()->updateYieldOfferingProfile(
        string $yield_offering_id,
        string $name = null,
        string $reference = null,
        string $description = null,
        string $portfolio_id = null,
        float $apy_rate = null,
        string $currency = null,
        int $deposit_lock_day = null,
        float $minimum_deposit_allowed = null,
        float $maximum_deposit_allowed = null,
        int $yieldable_after_day = null,
        float $withdrawal_limit_rate = null
    );

Get customer balance

ovalfi()->getCustomerBalance(
        string $customer_id
    );

Initiate savings deposit

ovalfi()->initiateSavingsDeposit(
        string $customer_id,
        string $reference,
        float $amount
    );

Get deposits

ovalfi()->getDeposits();

Get deposit by batch ID

ovalfi()->getDepositByBatchId(
        string $batch_id
    );

Initiate savings withdrawal

ovalfi()->initiateSavingsWithdrawal(
        string $customer_id,
        string $reference,
        float $amount
    );

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

You might also like...
CV-Resumes-App is helped us to build resume .. you can help me to improve this app...

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Smeify is a Stable Automated Solution for Airtime and Data businesses in Nigeria, this package helps you integrate smeify easily into your laravel application.

Smeify is a Stable Automated Solution for Airtime and Data businesses in Nigeria, this package helps you integrate smeify easily into your laravel application.

This Laravel 8 package makes it possible for you to set your website in
This Laravel 8 package makes it possible for you to set your website in "Under Construction" mode.

Laravel Under Construction This Laravel package makes it possible to set your website in "Under Construction" mode. Only users with the correct 4 digi

Manage meta data based on URL path within your app.
Manage meta data based on URL path within your app.

Laravel SEO Manager This package provides simple functionality to manage SEO tags based on URL path within your Laravel application. You can put the U

Chrome extension to generate Laravel integration tests while using your app.

Laravel TestTools Check out the introduction post about the chrome extension. Installation git clone [email protected]:mpociot/laravel-testtools.git # i

xAPI Integration with Saudi NELC (National Center for e-Learning) for your Laravel app

NELC Laravel Integration xAPI Integration with Saudi NELC (National Center for e-Learning) for your Laravel app Installation You can install the packa

Gallium is a TALL stack starter kit offering a robust set of options enabling you to get up and running in a snap.

Very short description of the package This is where your description should go. Try and limit it to a paragraph or two, and maybe throw in a mention o

A Laravel package helps you add a complete real-time messaging system to your new / existing application with only one command.
A Laravel package helps you add a complete real-time messaging system to your new / existing application with only one command.

A Laravel package helps you add a complete real-time messaging system to your new / existing application with only one command.

This package helps you to add user based follow system to your model.

Laravel Follow User follow unfollow system for Laravel. Related projects: Like: overtrue/laravel-like Favorite: overtrue/laravel-favorite Subscribe: o

Owner
Paul Adams
Backend/Full-Stack Engineer | PHP/Laravel - VueJs
Paul Adams
This Laravel Nova tool lets you run artisan and bash commands directly from Nova 4 or higher.

Laravel Nova tool for running Artisan & Shell commands. This Nova tool lets you run artisan and bash commands directly from nova. This is an extended

Artem Stepanenko 17 Dec 15, 2022
Collection of the Laravel/Eloquent Model classes that allows you to get data directly from a Magento 2 database.

Laragento LAravel MAgento Micro services Magento 2 has legacy code based on abandoned Zend Framework 1 with really ugly ORM on top of outdated Zend_DB

Egor Shitikov 87 Nov 26, 2022
⛽ Set of utilities to test Laravel applications powered by Octane.

⛽ Octane Testbench Set of utilities to test Laravel applications powered by Octane. Install Via Composer: composer require --dev cerbero/octane-testbe

Andrea Marco Sartori 35 Dec 7, 2022
Laravel Podcast is Laravel 5.5 web app that enables you to manage RSS feeds for your favorite podcasts and listen to the episodes in a seamless UI and User Authentication.

Laravel Podcast is Laravel 5.5 web app that enables you to manage RSS feeds for your favorite podcasts and listen to the episodes in a seamless UI and

Jeremy Kenedy 35 Dec 19, 2022
Laracademy Generators - is a tool set that helps speed up the development process of a Laravel application.

Laracademy Generators Laracademy Generators - is a tool set that helps speed up the development process of a Laravel application. Author(s): Laracadem

Laracademy 320 Dec 24, 2022
Adds a way to write php and run it directly in Laravels' Artisan Tinker.

Adds a way to write php in PhpStorm/IDEA and run it directly as if through laravel artisan tinker - allowing you to quickly run a piece of code with a

Robbin 120 Jan 2, 2023
Generate Data Transfer Objects directly from JSON objects

Json 2 DTO Spatie's Data Transfer Object library is awesome, but typing out DTOs can quickly become a chore. Inspired by Json2Typescript style tools,

null 111 Jan 3, 2023
Allows Filament static assets (css, js) to be served directly from /public

Filament Static Asset Handling This package aims to solve improve the static asset handling of the amazing Laravel package Filament. By default Filame

Jamie Holly 8 Dec 6, 2022
Podcastwala - Your very own Podcast web app built with Laravel. Manage and listen to your favorite podcasts

Podcastwala Your very own Podcast web app built with Laravel 5. This web app enables you to manage RSS feeds for your favorite podcasts and listen to

null 142 Sep 14, 2022
Create and manage A Domain Driven Design (DDD) in your Laravel app, simply and efficiently.

Create and manage A Domain Driven Design (DDD) in your Laravel app, simply and efficiently.

Lucas Nepomuceno 4 Jun 11, 2022