craftcodex/mpi-php-sdk

This is my package mpi-php-sdk

1.0.1 2023-03-27 13:44 UTC

README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

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.