devscast / 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.
Requires
- php: >=8.2
- webmozart/assert: ^1.11
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.4
- symplify/easy-coding-standard: ^12.0
README
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
anddecline
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 thePaymentEntry->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 theheader("Location: $url")
fonction in vanilla PHP or return aRedirectResponse($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