Download the PHP package shetabit/multipay without Composer

On this page you can find all versions of the php package shetabit/multipay. 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 multipay

PHP Payment Gateway

Latest Version on Packagist Total Downloads on Packagist StyleCI Maintainability Quality Score

This is a PHP Package for Payment Gateway Integration. This package supports PHP 7.2+.

Donate me if you like this package :sunglasses: :bowtie:

For Laravel integration you can use shetabit/payment package.

This package works with multiple drivers, and you can create custom drivers if you can't find them in the current drivers list (below list).

List of contents

List of available drivers

Help me to add the gateways below by creating pull requests

you can create your own custom drivers if it doesn't exist in the list, read the Create custom drivers section.

Install

Via Composer

Configure

a. Copy config/payment.php into somewhere in your project. (you can also find it in vendor/shetabit/multipay/config/payment.php path).

b. In the config file you can set the default driver to be used for all your payments and you can also change the driver at runtime.

Choose what gateway you would like to use in your application. Then make that as default driver so that you don't have to specify that everywhere. But, you can also use multiple gateways in a project.

Then fill the credentials for that gateway in the drivers array.

c. Instantiate the Payment class and pass configs to it like the below:

How to use

your Invoice holds your payment details, so initially we'll talk about Invoice class.

Working with invoices

before doing any thing you need to use Invoice class to create an invoice.

In your code, use it like the below:

Available methods:

Purchase invoice

In order to pay the invoice, we need the payment transactionId. We purchase the invoice to retrieve transaction id:

Pay invoice

After purchasing the invoice, we can redirect the user to the bank payment page:

Verify payment

When user has completed the payment, the bank redirects them to your website, then you need to verify your payment in order to ensure the invoice has been paid.

Useful methods

Create custom drivers:

First you have to add the name of your driver, in the drivers array and also you can specify any config parameters you want.

Now you have to create a Driver Map Class that will be used to pay invoices. In your driver, You just have to extend Shetabit\Multipay\Abstracts\Driver.

Eg. You created a class: App\Packages\Multipay\Driver\MyDriver.

Once you create that class you have to specify it in the payment.php config file map section.

Note: You have to make sure that the key of the map array is identical to the key of the drivers array.

Events:

Notice 1: event listeners will be registered globaly for all payments.

Notice 2: if you want your listeners work correctly, you must subcribe them before the target event dispatches.

Its better to subcribe events in your app's entry point or main service provider, so events will be subcribed before any events dispatches.


You can listen for 3 events:

  1. purchase
  2. pay
  3. verify.

Local driver

Local driver can simulate payment flow of a real gateway for development purpose.

Payment can be initiated like any other driver

Calling render() method will render a HTML form with Accept and Cancel buttons, which simulate corresponding action of real payment gateway. and redirects to the specified callback url. transactionId parameter will allways be available in the returned query url.

Payment can be verified after receiving the callback request.

In case of succesful payment, $receipt will contains the following parameters

In case of canceled payment, PurchaseFailedException will be thrown to simulate the failed verification of gateway.

Driver functionalities can be configured via Invoice detail bag.

Appearance of payment form can be customized via config parameter of local driver in payment.php file.

Change log

Please see CHANGELOG for more information on what has been changed recently.

Contributing

Please see CONDUCT for details.

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.


All versions of multipay with dependencies

PHP Build Version
Package Version
Requires php Version >=7.2
chillerlan/php-cache Version ^4.1|^5.0
guzzlehttp/guzzle Version >=6.2
nesbot/carbon Version ^1.39|^2.0|^3.0
ramsey/uuid Version ^3.7|^3.8|^3.9|^4.0
ext-json Version *
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 shetabit/multipay contains the following files

Loading the files please wait ....