mpayment 1.0.0 mpayment: ^1.0.0 copied to clipboard
Plugin for Midtrans payment gateway.
Midtrans Payment Gateway for Flutter #
Flutter Midtrans Payment Plugin
Please Read Midtrans Documentation before use this library and make sure you are already has Midtrans account for accessing the dashboard.
Android setup #
Only support AndroidX and compile targe minimum 28
Add style to your android/app/src/main/res/values/styles.xml :
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
And full styles.xml will be like below :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
Flutter draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
</resources>
And add the style to you Android Manifest in your application tag :
android:theme="@style/AppTheme"
IOS #
No specific setup required
Example usage #
Make sure you are already prepare these variables.
YOUR_CLIENT_ID
: Midtrans CLIENT IDYOUR_URL_BASE
: Your backend URL base API to process payment
import 'package:mpayment/mpayment.dart';
...
final mpayment = mpayment();
//Init the client ID you URL base
mpayment.init("YOUR_CLIENT_ID", "YOUR_URL_BASE");
//Setup the callback when payment finished
mpayment.setFinishCallback((finished) {
//finished is TransactionFinished
});
//Make payment
mpayment
.makePayment(
MidtransTransaction(
7500,
MidtransCustomer(
"Apin", "Prastya", "apin.klas@gmail.com", "08123456789"),
[
MidtransItem(
"5c18ea1256f67560cb6a00cdde3c3c7a81026c29",
7500,
2,
"USB FlashDisk",
)
],
skipCustomer: true,
customField1: "ANYCUSTOMFIELD"),
)
.catchError((err) => print("ERROR $err"));