Skip to main content

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

ParameterTypeDescription
mp_usernameStringMerchant username provided by Fiuu
mp_passwordStringMerchant password provided by Fiuu
mp_merchant_IDStringMerchant ID provided by Fiuu
mp_app_nameStringApplication name registered in the Fiuu Merchant Portal (matches Serial No / App Name)
mp_verification_keyStringVerification key provided by Fiuu
mp_amountStringPayment amount in 2 decimal points format (minimum 1.01)
mp_order_IDStringUnique order ID (alphanumeric; hyphen - and underscore _ allowed)
mp_currencyStringISO currency code (e.g. MYR)
mp_countryStringISO country code (e.g. MY)
mp_bill_descriptionStringBill or order description
mp_bill_nameStringPayer name
mp_bill_emailStringPayer email
mp_bill_mobileStringPayer mobile number
warning

Values for mp_username, mp_password, mp_merchant_ID, mp_app_name, and mp_verification_key must be obtained from Fiuu.

Optional Parameters

ParameterTypeDefaultDescription
mp_dev_modeBooleanfalseRequired when using online Sandbox environment and account credentials
mp_channelStringUse multi for all subscribed channels, or a specific channel code from the channel list
mp_channel_editingBooleanfalseAllow payer to change the pre-selected channel
mp_editing_enabledBooleanfalseAllow payer to edit billing information
mp_is_escrowString"0"Set "1" to enable escrow
mp_bin_lockArrayCredit card BIN restrictions (e.g. ['414170', '414171'])
mp_bin_lock_err_msgStringError message shown when BIN lock fails
mp_transaction_idStringQuery only. Cash channel transaction ID for payment instruction screen
mp_request_typeStringQuery only. Receipt for Cash channels, Status for status query
mp_custom_css_urlStringURL to custom CSS for payment info screen (sample CSS)
mp_preferred_tokenStringPreferred token ID; set "new" for new card only
mp_tcctypeStringCredit card transaction type; set "AUTH" to authorize
mp_is_recurringBooleanfalseProcess via recurring API (valid credit card channel required)
mp_allowed_channelsArrayShow only nominated channels (e.g. ['credit', 'TNG-EWALLET'])
mp_disabled_channelsArrayHide channels (lower priority than mp_allowed_channels)
mp_sandbox_modeBooleanfalseSimulate offline payment
mp_express_modeBooleanfalseSkip payment info page; requires valid mp_channel. Credit channels cannot use express mode
mp_advanced_email_validation_enabledBooleanfalseW3C email format validation
mp_advanced_phone_validation_enabledBooleanfalseGoogle i18n phone format validation
mp_bill_name_edit_disabledBooleanfalseDisable payer name editing
mp_bill_email_edit_disabledBooleanfalseDisable payer email editing
mp_bill_mobile_edit_disabledBooleanfalseDisable payer mobile editing
mp_bill_description_edit_disabledBooleanfalseDisable bill description editing
mp_languageStringENUI language: EN, MS, VI, TH, FIL, MY, KM, ID, ZH
mp_cash_waittimeNumberCash channel payment expiration in hours
mp_non_3DSBooleanfalseBypass 3DS on some credit card channels
mp_card_list_disabledBooleanfalseDisable saved card list
mp_display_closebuttonBooleanfalseDisplay close button on payment screen
mp_closebutton_displayBooleanfalseSame as mp_display_closebutton (used in some native SDKs)
mp_enable_fullscreenBooleanfalseEnable fullscreen XDK mode
mp_classic_webcoreBooleanfalseEnable Classic Webcore
mp_core_envString"2"Environment selector — see Environment Configuration
mp_extended_vcodeBooleanfalseSet true if your account has extended Verify Payment enabled

Apple Pay Parameters

ParameterTypeDescription
mp_ap_merchant_IDStringApple Merchant ID (different from bundle identifier)
mp_allowed_channelsArrayMust include "credit" and "ApplePay"
mp_channelStringSet to "ApplePay" for Apple Pay express flow
mp_express_modeBooleanOptional. Bypass Fiuu XDK payment selection page

See Apple Pay Configuration for full setup steps.

Google Pay Parameters

ParameterTypeDescription
mp_gpay_channelArrayPayment methods to enable (e.g. ['SHOPEEPAY', 'TNG-EWALLET', 'CC'])
mp_companyStringMerchant name displayed in Google Pay
mp_hide_googlepayBooleanHide Google Pay button (default false)
mp_core_envStringUse "4" for sandbox; "2" or omit for production
mp_extended_vcodeBooleanSet true if extended Verify Payment is enabled
note

SHOPEEPAY and TNG-EWALLET are only applicable to MY / MYR. Other currencies and countries support CC only.

Cash Channel Query Parameters

danger

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:

  1. Pass all original payment details.
  2. Add mp_transaction_id with the transaction ID from the earlier pending result.
  3. Set mp_request_type to Receipt.

See Cash Channel Payment Process below.

Cash Channel Payment Process

  1. User initiates a cash payment. Upon completion, the XDK shows the "Payment Instruction" screen and returns a pending status (status_code: "22").
  2. User clicks "Close" to exit the XDK.
  3. Later, when the user arrives at the payment counter (e.g. 7-Eleven), call the XDK again with all payment details plus mp_transaction_id from the earlier result.
  4. The XDK displays the "Payment Instruction" screen instead of the standard payment screen.
  5. 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.