Download the PHP package opsofts/laravel-monnify without Composer

On this page you can find all versions of the php package opsofts/laravel-monnify. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-monnify

opsofts/laravel-monnify

A minimal Monnify integration for Laravel, built directly on Laravel's own HTTP client (Illuminate\Support\Facades\Http). No external HTTP SDK dependency — just illuminate/support/illuminate/http, which ship with every Laravel app and are maintained on the same cadence as the framework itself.

What it does

Implements the operations most apps need against Monnify's API:

Bearer token fetching and caching (1-hour tokens, refreshed automatically) is handled for you. Anything beyond the above (reserved/virtual accounts, disbursements, sub-accounts, bulk transfers, BVN/NIN verification, etc.) isn't included — the package stays intentionally small. Feel free to extend src/Monnify.php if you need more of the API surface.

Requirements

Install

Set your credentials in .env. Get these from your Monnify dashboard under Developers > API Keys & Contracts:

MONNIFY_CONTRACT_CODE comes from Settings > Contracts and is required on every transaction initialize call — this package fills it in automatically unless you override it in the payload.

MONNIFY_ENVIRONMENT selects the base URL (sandbox.monnify.com for sandbox, api.monnify.com for production). Set MONNIFY_BASE_URL to override directly if needed.

Usage

Refunds require activation

Refunds are not enabled by default on a Monnify account. You have to email Monnify support to activate the refund API (separately for sandbox and live), stating your use case — see Monnify's Refunds documentation for details. refund() will fail with an API error until this is done.

Also note: Monnify cannot refund to a virtual/reserved account number. If the original payment came in via a virtual account, you must collect a regular bank account number from the customer and pass it as destinationAccountNumber/destinationAccountBankCode.

A note on the webhook secret

Unlike Paystack and Flutterwave, Monnify does not use a separately configured webhook secret. The HMAC key is your Secret Key — the same one used to authenticate API calls. There's nothing extra to set up on the dashboard beyond pointing your webhook URL at your endpoint under Settings > API Keys & Webhooks (or Developers > Webhook URLs, depending on your dashboard version).

A note on getRefundStatus()

Every other endpoint in this package (init-transaction, transactions/query, refunds/initiate-refund, the auth login endpoint) was confirmed against Monnify's current documentation and cross-checked against a community reference implementation. The exact path for checking a single refund's status by reference (GET /api/v1/refunds/{refundReference}) was inferred from Monnify's "Get All Refunds" endpoint convention (GET /api/v1/refunds) rather than independently confirmed — verify it against your own Monnify API reference/Postman collection before relying on it in production. Monnify's own docs recommend webhooks over polling for refund status anyway.

What this package deliberately does not do

No card storage, no saved payment methods. It only ever talks to Monnify's API and hands back what Monnify returns — persisting references/statuses on your own models is the calling application's responsibility, same as with any SDK.

Testing

Http::fake() works exactly as it does for any Laravel HTTP client usage — fake your configured base URL (sandbox or production) for both the login call and API calls, rather than hitting the real API. No custom test helpers are provided; standard Laravel HTTP testing covers this package fully.

License

MIT.


All versions of laravel-monnify with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
illuminate/support Version ^11.0|^12.0|^13.0
illuminate/http Version ^11.0|^12.0|^13.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package opsofts/laravel-monnify contains the following files

Loading the files please wait ...