Payment Parameters
All Fiuu Mobile XDK frameworks use the same mp_* payment parameters. The examples below follow the Flutter SDK reference, which documents the complete parameter set.
Payment Details Object
var paymentDetails = {
// Optional, REQUIRED when use online Sandbox environment and account credentials.
'mp_dev_mode': false,
// Mandatory String. Values obtained from Fiuu.
'mp_username': 'username',
'mp_password': 'password',
'mp_merchant_ID': 'merchantid',
'mp_app_name': 'appname',
'mp_verification_key': 'vkey123',
// Mandatory String. Payment values.
'mp_amount': '1.10', // Minimum 1.01
'mp_order_ID': 'orderid123',
'mp_currency': 'MYR',
'mp_country': 'MY',
// Optional String.
'mp_channel': 'multi', // Use 'multi' for all channels. See the channel list for individual codes.
'mp_bill_description': '',
'mp_bill_name': '',
'mp_bill_email': '',
'mp_bill_mobile': '',
'mp_channel_editing': false,
'mp_editing_enabled': false,
// Optional, for Escrow.
'mp_is_escrow': '0', // Put "1" to enable escrow
// Optional, for credit card BIN restrictions and campaigns.
'mp_bin_lock': ['414170', '414171'],
'mp_bin_lock_err_msg': 'Only UOB allowed',
// WARNING! FOR TRANSACTION QUERY USE ONLY, DO NOT USE THIS ON PAYMENT PROCESS.
'mp_transaction_id': '',
'mp_request_type': '', // 'Receipt' for Cash channels, 'Status' for transaction status query
// Optional, customize UI theme for payment info screen.
'mp_custom_css_url': '',
// Optional, set token id for preferred card. Set "new" to allow new card only.
'mp_preferred_token': '',
// Optional, credit card transaction type. Set "AUTH" to authorize.
'mp_tcctype': '',
// Optional, process through recurring API (valid credit card channel required).
'mp_is_recurring': false,
// Optional, show nominated channels only.
'mp_allowed_channels': ['credit', 'credit3'],
// Optional, simulate offline payment.
'mp_sandbox_mode': true,
// Optional, skip payment info page and go direct to payment screen.
'mp_express_mode': true,
// Optional, extended validation.
'mp_advanced_email_validation_enabled': true,
'mp_advanced_phone_validation_enabled': true,
// Optional, explicitly force disable user input.
'mp_bill_name_edit_disabled': true,
'mp_bill_email_edit_disabled': true,
'mp_bill_mobile_edit_disabled': true,
'mp_bill_description_edit_disabled': true,
// Optional, EN, MS, VI, TH, FIL, MY, KM, ID, ZH.
'mp_language': 'EN',
// Optional, Cash channel payment request expiration duration in hours.
'mp_cash_waittime': 48,
// Optional, allow bypass of 3DS on some credit card channels.
'mp_non_3DS': true,
// Optional, disable card list option.
'mp_card_list_disabled': true,
// Optional, channel restriction (lower priority than mp_allowed_channels).
'mp_disabled_channels': ['credit'],
// Optional, display close button.
'mp_display_closebutton': true,
// Optional, enable fullscreen mode.
'mp_enable_fullscreen': true,
// Optional, enable Classic Webcore.
'mp_classic_webcore': true,
};
Mandatory Parameters
| Parameter | Type | Description |
|---|---|---|
mp_username | String | Merchant username provided by Fiuu |
mp_password | String | Merchant password provided by Fiuu |
mp_merchant_ID | String | Merchant ID provided by Fiuu |
mp_app_name | String | Application name registered in the Fiuu Merchant Portal (matches Serial No / App Name) |
mp_verification_key | String | Verification key provided by Fiuu |
mp_amount | String | Payment amount in 2 decimal points format (minimum 1.01) |
mp_order_ID | String | Unique order ID (alphanumeric; hyphen - and underscore _ allowed) |
mp_currency | String | ISO currency code (e.g. MYR) |
mp_country | String | ISO country code (e.g. MY) |
mp_bill_description | String | Bill or order description |
mp_bill_name | String | Payer name |
mp_bill_email | String | Payer email |
mp_bill_mobile | String | Payer mobile number |
Values for mp_username, mp_password, mp_merchant_ID, mp_app_name, and mp_verification_key must be obtained from Fiuu.
Optional Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mp_dev_mode | Boolean | false | Required when using online Sandbox environment and account credentials |
mp_channel | String | — | Use multi for all subscribed channels, or a specific channel code from the channel list |
mp_channel_editing | Boolean | false | Allow payer to change the pre-selected channel |
mp_editing_enabled | Boolean | false | Allow payer to edit billing information |
mp_is_escrow | String | "0" | Set "1" to enable escrow |
mp_bin_lock | Array | — | Credit card BIN restrictions (e.g. ['414170', '414171']) |
mp_bin_lock_err_msg | String | — | Error message shown when BIN lock fails |
mp_transaction_id | String | — | Query only. Cash channel transaction ID for payment instruction screen |
mp_request_type | String | — | Query only. Receipt for Cash channels, Status for status query |
mp_custom_css_url | String | — | URL to custom CSS for payment info screen (sample CSS) |
mp_preferred_token | String | — | Preferred token ID; set "new" for new card only |
mp_tcctype | String | — | Credit card transaction type; set "AUTH" to authorize |
mp_is_recurring | Boolean | false | Process via recurring API (valid credit card channel required) |
mp_allowed_channels | Array | — | Show only nominated channels (e.g. ['credit', 'TNG-EWALLET']) |
mp_disabled_channels | Array | — | Hide channels (lower priority than mp_allowed_channels) |
mp_sandbox_mode | Boolean | false | Simulate offline payment |
mp_express_mode | Boolean | false | Skip payment info page; requires valid mp_channel. Credit channels cannot use express mode |
mp_advanced_email_validation_enabled | Boolean | false | W3C email format validation |
mp_advanced_phone_validation_enabled | Boolean | false | Google i18n phone format validation |
mp_bill_name_edit_disabled | Boolean | false | Disable payer name editing |
mp_bill_email_edit_disabled | Boolean | false | Disable payer email editing |
mp_bill_mobile_edit_disabled | Boolean | false | Disable payer mobile editing |
mp_bill_description_edit_disabled | Boolean | false | Disable bill description editing |
mp_language | String | EN | UI language: EN, MS, VI, TH, FIL, MY, KM, ID, ZH |
mp_cash_waittime | Number | — | Cash channel payment expiration in hours |
mp_non_3DS | Boolean | false | Bypass 3DS on some credit card channels |
mp_card_list_disabled | Boolean | false | Disable saved card list |
mp_display_closebutton | Boolean | false | Display close button on payment screen |
mp_closebutton_display | Boolean | false | Same as mp_display_closebutton (used in some native SDKs) |
mp_enable_fullscreen | Boolean | false | Enable fullscreen XDK mode |
mp_classic_webcore | Boolean | false | Enable Classic Webcore |
mp_core_env | String | "2" | Environment selector — see Environment Configuration |
mp_extended_vcode | Boolean | false | Set true if your account has extended Verify Payment enabled |
Apple Pay Parameters
| Parameter | Type | Description |
|---|---|---|
mp_ap_merchant_ID | String | Apple Merchant ID (different from bundle identifier) |
mp_allowed_channels | Array | Must include "credit" and "ApplePay" |
mp_channel | String | Set to "ApplePay" for Apple Pay express flow |
mp_express_mode | Boolean | Optional. Bypass Fiuu XDK payment selection page |
See Apple Pay Configuration for full setup steps.
Google Pay Parameters
| Parameter | Type | Description |
|---|---|---|
mp_gpay_channel | Array | Payment methods to enable (e.g. ['SHOPEEPAY', 'TNG-EWALLET', 'CC']) |
mp_company | String | Merchant name displayed in Google Pay |
mp_hide_googlepay | Boolean | Hide Google Pay button (default false) |
mp_core_env | String | Use "4" for sandbox; "2" or omit for production |
mp_extended_vcode | Boolean | Set true if extended Verify Payment is enabled |
SHOPEEPAY and TNG-EWALLET are only applicable to MY / MYR. Other currencies and countries support CC only.
Cash Channel Query Parameters
mp_transaction_id and mp_request_type are for transaction query only. Do not use them during the initial payment process.
When re-displaying a cash channel payment instruction:
- Pass all original payment details.
- Add
mp_transaction_idwith the transaction ID from the earlier pending result. - Set
mp_request_typetoReceipt.
See Cash Channel Payment Process below.
Cash Channel Payment Process
- User initiates a cash payment. Upon completion, the XDK shows the "Payment Instruction" screen and returns a pending status (
status_code: "22"). - User clicks "Close" to exit the XDK.
- Later, when the user arrives at the payment counter (e.g. 7-Eleven), call the XDK again with all payment details plus
mp_transaction_idfrom the earlier result. - The XDK displays the "Payment Instruction" screen instead of the standard payment screen.
- After payment at the counter, the user closes the XDK again.
Checksum Validation
All XDK builds include a built-in checksum validator that returns results via mp_secured_verified. If you implement the private secret key (recommended), this will always return false — verify the checksum on your server instead.
Private Secret Key formula:
chksum = MD5(mp_merchant_ID + results.msgType + results.txn_ID + results.amount + results.status_code + merchant_private_secret_key)
Your secret key is available in the Fiuu Merchant Portal.