midtrans_sdk
A Flutter plugin for Midtrans Mobile SDK. Visit https://midtrans.com.
Supported Platforms
x
Androidx
iOS
Usage
To use this plugin, add midtrans_sdk
as a dependency in your pubspec.yaml file.
Getting started
See the example directory for a sample about start payment by using snap token which using midtrans_sdk
.
Android
- If you are using
FlutterActivity
directly, change it toFlutterFragmentActivity
in yourAndroidManifest.xml
. - If you are using a custom activity, update your
MainActivity.java
:
import io.flutter.embedding.android.FlutterFragmentActivity;
public class MainActivity extends FlutterFragmentActivity {
// ...
}
or MainActivity.kt
:
import io.flutter.embedding.android.FlutterFragmentActivity
class MainActivity: FlutterFragmentActivity() {
// ...
}
MidtransConfig
To start using Midtrans you first need to create an instance of MidtransSDK
before using any other of our sdk functionalities.
MidtransSDK
receives a MidtransConfig
object. This is how you can configure our MidtransSDK
instance and connect it to your Midtrans account.
Example:
import 'package:midtrans_sdk/midtrans_sdk.dart';
var config = MidtransConfig(
clientKey: "",
merchantBaseUrl: "",
colorTheme: ColorTheme(
colorPrimary: Theme.of(context).colorScheme.primary,
colorPrimaryDark: Theme.of(context).colorScheme.primary,
colorSecondary: Theme.of(context).colorScheme.secondary,
),
);
Initializing the SDK
The next step is to call init
which have the required MidtransConfig
object parameter config
.
After we call init
we can use all of Midtrans SDK features.
Initialize the SDK to enable Midtrans to start payment.
MidtransSDK.init(
config: config,
);
Starting payment
Start payment method screen
Default mode for midtrans_sdk
is showing payment method screen. This screen will show all of your available payment methods.
You can enable/disable payment methods via Snap Preferences in MAP.
Start payment by using snap token
We provide SDK method to allow you to make payment by using snap token without initialize transaction request first. You just need to pass snap token as argument of startPaymentUiFlow
method.
_midtrans?.startPaymentUiFlow(
token: "snap-token",
);