craftcodex / mpi-php-sdk
This is my package mpi-php-sdk
Requires
- php: ^8.1
- illuminate/contracts: ^10.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.9
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
This package is auto-updated.
Last update: 2025-03-10 01:31:36 UTC
README
The MitraPayment PHP SDK for Laravel is a software development kit that allows developers to easily integrate MitraPayment's payment gateway services into Laravel web applications. It provides a set of pre-built functions and classes that can be used to handle payment transactions, subscriptions, refunds, and other related tasks.
This package was build based on these documentation : https://docs-api.mitrapayment.com/
Installation
You can install the package via composer:
composer require craftcodex/mpi-php-sdk
You can publish and run the migrations with:
You can publish the config file with:
php artisan vendor:publish --tag="mpi-php-sdk-config"
This is the contents of the published config file:
return [ 'credential' => [ 'key' => env('MPI_KEY'), 'token' => env('MPI_TOKEN'), ], 'callback_url' => env('MPI_CALLBACK_URL'), ];
Usage
Virtual Account
use CraftCodex\MpiPhpSdk\Services\VirtualAccount; VirtualAccount::make('va_bca') ->referencePrefix('PAYMENT-') ->callbackUrl(url('callback/va')) ->expiredIn(minutes: 10) ->displayName('Display Name') ->amount(1000000) ->send(); if ($request->successful()) { $response = $request->json(); if ($response['success'] && @$response['data_payment']['status'] == 'pending') { // successfull response return; } if ($response['error_code']) { // Error response return; } }
Available Method
Method | Description |
---|---|
referencePrefix | We will generate the referenceId for you, you just have to put your prefix in this method. like an example if you set Deposit as the prefix we will generate the referenceId as Deposit-XXXXXXXXX |
callbackUrl | Override default callback |
expiredIn | Virtual account expiration time in minutes |
displayName | Display name for virtual account |
amount | Amount the user should paid for (min: 10,000 IDR) |
oneOffRequest | (Default) the SDK automatically set the request type into oneOff which means this virtual account will be closed everytime the bill has been paid |
persistentRequest | This is the opposite of oneOff request, the virtual account can be topped up multiple times and will be closed depending on the expiration time |
send | Sending the request |
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.