Skip to main content

.NET MAUI

Fiuu payment gateway module for .NET MAUI Android applications.

Repository: Mobile_XDK_Fiuu_DotNetMAUI

Requirements

RequirementVersion
Visual StudioCommunity 2022 (Windows)
Newtonsoft.JsonRequired NuGet package
Minimum Android API19+
Android targetAndroid 4.4+
info

The current .NET MAUI integration focuses on Android. Native Android file placement, manifest configuration, and activity result handling are required.

Installation

1. Add Native Files

In Solution Explorer, right-click your MAUI Android project → AddExisting Item → select FiuuActivity.cs.

Copy these files into your project:

  • layout_fiuu.axmlResources/layout/
  • menu_fiuu.xmlResources/menu/

Click Show All Files, then right-click each file → Include In Project.

2. Android Manifest

In project Properties → Android Manifest, check WRITE_EXTERNAL_STORAGE permission.

3. Install Newtonsoft.Json

In Package Manager Console:

Install-Package Newtonsoft.Json

4. Override OnActivityResult

protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
base.OnActivityResult(requestCode, resultCode, data);
if (requestCode == FiuuActivity.FiuuXDK && resultCode == Result.Ok)
{
Console.WriteLine("Fiuu result = " + data.GetStringExtra(FiuuActivity.FiuuTransactionResult));
SetContentView(Resource.Layout.layout_fiuu);
TextView tw = (TextView)FindViewById(Resource.Id.resultTV);
tw.Text = data.GetStringExtra(FiuuActivity.FiuuTransactionResult);
}
}

Payment Details Object

Dictionary<String, object> paymentDetails = new Dictionary<String, object>();

paymentDetails.Add(FiuuActivity.mp_dev_mode, false);
paymentDetails.Add(FiuuActivity.mp_username, "");
paymentDetails.Add(FiuuActivity.mp_password, "");
paymentDetails.Add(FiuuActivity.mp_merchant_ID, "");
paymentDetails.Add(FiuuActivity.mp_app_name, "");
paymentDetails.Add(FiuuActivity.mp_verification_key, "");
paymentDetails.Add(FiuuActivity.mp_amount, "1.10");
paymentDetails.Add(FiuuActivity.mp_order_ID, "");
paymentDetails.Add(FiuuActivity.mp_currency, "MYR");
paymentDetails.Add(FiuuActivity.mp_country, "MY");
paymentDetails.Add(FiuuActivity.mp_channel, "multi");
paymentDetails.Add(FiuuActivity.mp_bill_description, "");
paymentDetails.Add(FiuuActivity.mp_bill_name, "");
paymentDetails.Add(FiuuActivity.mp_bill_email, "");
paymentDetails.Add(FiuuActivity.mp_bill_mobile, "");
paymentDetails.Add(FiuuActivity.mp_channel_editing, false);
paymentDetails.Add(FiuuActivity.mp_editing_enabled, false);
paymentDetails.Add(FiuuActivity.mp_express_mode, false);
paymentDetails.Add(FiuuActivity.mp_language, "EN");

See Payment Parameters for the complete parameter list.

Start Payment

Intent intent = new Intent(this, typeof(FiuuActivity));
intent.PutExtra(FiuuActivity.FiuuPaymentDetails, JsonConvert.SerializeObject(paymentDetails));
StartActivityForResult(intent, FiuuActivity.FiuuXDK);

Cash Channel Flow

See Payment Parameters — Cash Channel Payment Process.