/maxicash

The MaxiCash integration platform enables merchants to integrate with the MaxiCash platform to receive payments via their mobile applications or websites. The API uses JSON to interact with .Net or open source platforms such as PHP.

Primary LanguagePHPMIT LicenseMIT

Maxicash PHP

Lint Test Latest Stable Version Total Downloads License

The MaxiCash Integration Platform enables Merchants to integrate with the MaxiCash platform in order to receive payments through their mobile apps or their websites. The API uses JSON to interact with .Net client or open source platforms like PHP. see more at Maxicash Documentation

Installation

You can use the PHP client by installing the Composer package and adding it to your application’s dependencies:

composer require devscast/maxicash

Usage

The MaxiCash Gateway enables the Merchant to Collect Payment into their MaxiCash account using multiple payment channels such as Credit Cards, MaxiCash, Paypal, Mobile Money and Mobile Banking.

Authentication

  • Step 1. Download the MaxiCash Mobile App and signup...
  • Step 2. Contact us to upgrade your account to a Merchant Account info@maxicashapp.com You will receive a Merchant Form to complete in order to provide your business details and preferred Cash out Wallet or Banking Details.
  • Step 3. Once the paperwork is completed, you will be issued with Live and Sandbox Accounts (MerchantID and MerchantPassword)
use Devscast\Maxicash\Client as Maxicash;
use Devscast\Maxicash\Credential;
use Devscast\Maxicash\PaymentEntry;
use Devscast\Maxicash\Environment;

$maxicash = new Maxicash(
    credential: new Credential('marchand_id', 'marchand_password'),
    environment: Environment::SANDBOX // use `Environment::LIVE` for live
);

Create a Payment Entry

$entry = new PaymentEntry(
    credential: $maxicash->credential,
    amount: intval(47.50 * 100), // amount in cents
    reference: "this text will be shown on maxicash payment page",
    acceptUrl: "your_website_accept_url",
    declineUrl: "your_website_decline_url",
);

Note: we hightly recommand your accept and decline urls to be unique for each transaction, thus users will not be able to reuse them to validate other transactions, on your side save the transaction with a unique generated token (a.k.a transaction reference) and use it as parameter to your accept and decline urls, don't use it for the PaymentEntry->reference; once the user is redirected to your accept url, validate the token and grant access to the paid resource (with your own business logic).

Redirect to Maxicash Gateway

Redirect your user to the maxicash gateway to continue the payment process

Note : If you're using Turbo Drive in your Symfony application, disable it on payment links in your twig templates

$url = $maxicash->queryStringURLPayment($entry);

Note : we highly recommand to do a server side redirection, this url can be modified and leak your maxicash credentials when displayed to your user in any manner (eg: a link, button or form) ! you can use the header("Location: $url") fonction in vanilla PHP or return a RedirectResponse($url) in your controller when using Symfony or Laravel frameworks`

Donate Button for NGOs

Once you sign up as an NGO Merchant

$donationUrl = $maxicash->donationUrl()

Features supported

  • QueryString URL Payment
  • Donate Button for NGOs
  • Form Post Payment
  • Pay Entry Web