-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
MOLPay-MobileDev
committed
Jun 20, 2018
1 parent
95bc936
commit ef2a05d
Showing
3 changed files
with
97 additions
and
71 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,7 +10,7 @@ This is the beta but functional MOLPay Flutter payment module that is ready to b | |
|
||
## Recommended configurations | ||
|
||
- Minimum Android SDK Version: 25 ++ | ||
- Minimum Android SDK Version: 27 ++ | ||
|
||
- Minimum Android API level: 19 ++ | ||
|
||
|
@@ -51,18 +51,6 @@ Add the following keys to _Info.plist_ file for iOS: | |
3) 'NSPhotoLibraryAddUsageDescription' > 'Payment images' | ||
|
||
|
||
|
||
Add the following to _AndroidManifest.xml_ file for Android: | ||
|
||
1) ``` | ||
<manifest | ||
xmlns:android="http://schemas.android.com/tools" > | ||
``` | ||
2) ``` | ||
<application | ||
tools:replace="android:label" > | ||
``` | ||
## Sample Result | ||
|
||
``` | ||
|
@@ -102,85 +90,108 @@ Parameter and meaning: | |
|
||
``` | ||
var paymentDetails = { | ||
// Mandatory String. A value more than '1.00' | ||
'mp_amount': '1.1', | ||
// Mandatory String. Values obtained from MOLPay | ||
'mp_username': '', | ||
'mp_password': '', | ||
'mp_merchant_ID': '', | ||
'mp_app_name': '', | ||
'mp_verification_key': '', | ||
|
||
// Mandatory String. Payment values | ||
'mp_order_ID': '', | ||
'mp_currency': 'MYR', | ||
'mp_country': 'MY', | ||
|
||
// Optional, REQUIRED when use online Sandbox environment and account credentials. | ||
'mp_dev_mode': false, | ||
// Mandatory String. Values obtained from MOLPay. | ||
'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': '', // Use 'multi' for all available channels option. For individual channel seletion, please refer to https://github.com/MOLPay/molpay-mobile-xdk-examples/blob/master/channel_list.tsv. | ||
'mp_bill_description': 'test payment', | ||
'mp_bill_name': 'anyname', | ||
'mp_bill_email': '[email protected]', | ||
'mp_bill_mobile': '0161111111', | ||
'mp_channel_editing': false, // Option to allow channel selection. | ||
'mp_editing_enabled': false, // Option to allow billing information editing. | ||
|
||
// Optional for Escrow | ||
'mp_is_escrow': '', // Optional for Escrow, put "1" to enable escrow | ||
|
||
// Optional for credit card BIN restrictions | ||
'mp_bin_lock': ['414170', '414171'], // Optional for credit card BIN restrictions | ||
'mp_bin_lock_err_msg': 'Only UOB allowed', // Optional for credit card BIN restrictions | ||
|
||
// For transaction request use only, do not use this on payment process | ||
'mp_transaction_id': '', // Optional, provide a valid cash channel transaction id here will display a payment instruction screen. | ||
'mp_request_type': '', // Optional, set 'Status' when doing a transactionRequest | ||
|
||
// Optional, use this to customize the UI theme for the payment info screen, the original XDK custom.css file is provided at Example project source for reference and implementation. Required cordova-plugin-file to be installed | ||
'mp_channel' : '', // Use 'multi' for all available channels option. For individual channel seletion, please refer to https://github.com/MOLPay/molpay-mobile-xdk-examples/blob/master/channel_list.tsv. | ||
'mp_bill_description' : '', | ||
'mp_bill_name' : '', | ||
'mp_bill_email' : '', | ||
'mp_bill_mobile' : '', | ||
'mp_channel_editing' : false, // Option to allow channel selection. | ||
'mp_editing_enabled' : false, // Option to allow billing information editing. | ||
// Optional, but required payment values. User input will be required when values not passed. | ||
'mp_channel' : 'multi', // Use 'multi' for all available channels option. For individual channel seletion, please refer to https://github.com/MOLPay/molpay-mobile-xdk-examples/blob/master/channel_list.tsv. | ||
'mp_bill_description' : 'billdesc', | ||
'mp_bill_name' : 'billname', | ||
'mp_bill_email' : '[email protected]', | ||
'mp_bill_mobile' : '+1234567', | ||
// Optional, allow channel selection. | ||
'mp_channel_editing' : false, | ||
// Optional, allow billing information editing. | ||
'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'], | ||
// Optional, for mp_bin_lock alert error. | ||
'mp_bin_lock_err_msg': 'Only UOB allowed', | ||
// WARNING! FOR TRANSACTION QUERY USE ONLY, DO NOT USE THIS ON PAYMENT PROCESS. | ||
// Optional, provide a valid cash channel transaction id here will display a payment instruction screen. Required if mp_request_type is 'Receipt'. | ||
'mp_transaction_id': '', | ||
// Optional, use 'Receipt' for Cash channels, and 'Status' for transaction status query. | ||
'mp_request_type': '', | ||
// Optional, use this to customize the UI theme for the payment info screen, the original XDK custom.css file can be obtained at https://github.com/MOLPay/molpay-mobile-xdk-examples/blob/master/custom.css. | ||
'mp_custom_css_url': '', | ||
// Optional, set the token id to nominate a preferred token as the default selection, set "new" to allow new card only | ||
// Optional, set the token id to nominate a preferred token as the default selection, set "new" to allow new card only. | ||
'mp_preferred_token': '', | ||
// Optional, credit card transaction type, set "AUTH" to authorize the transaction | ||
// Optional, credit card transaction type, set "AUTH" to authorize the transaction. | ||
'mp_tcctype': '', | ||
// Optional, set true to process this transaction through the recurring api, please refer the MOLPay Recurring API pdf | ||
// Optional, required valid credit card channel, set true to process this transaction through the recurring api, please refer the MOLPay Recurring API pdf. | ||
'mp_is_recurring': false, | ||
// Optional for channels restriction | ||
// Optional, show nominated channels. | ||
'mp_allowed_channels': ['credit', 'credit3'], | ||
// Optional for sandboxed development environment, set boolean value to enable. | ||
'mp_sandbox_mode': false, | ||
// Optional, simulate offline payment, set boolean value to enable. | ||
'mp_sandbox_mode': true, | ||
// Optional, required a valid mp_channel value, this will skip the payment info page and go direct to the payment screen. | ||
'mp_express_mode': false, | ||
'mp_express_mode': true, | ||
// Optional, enable this for extended email format validation based on W3C standards. | ||
// Optional, extended email format validation based on W3C standards. | ||
'mp_advanced_email_validation_enabled': true, | ||
|
||
// Optional, enable this for extended phone format validation based on Google i18n standards. | ||
'mp_advanced_phone_validation_enabled' : true, | ||
// Optional, explicitly force disable billing name edit. | ||
'mp_bill_name_edit_disabled': false, | ||
// Optional, extended phone format validation based on Google i18n standards. | ||
'mp_advanced_phone_validation_enabled': true, | ||
// Optional, explicitly force disable billing email edit. | ||
'mp_bill_email_edit_disabled': false, | ||
// 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, explicitly force disable billing mobile edit. | ||
'mp_bill_mobile_edit_disabled': false, | ||
// Optional, EN, MS, VI, TH, FIL, MY, KM, ID, ZH. | ||
'mp_language': 'EN', | ||
// Optional, explicitly force disable billing description edit. | ||
'mp_bill_description_edit_disabled': false, | ||
// Optional, Cash channel payment request expiration duration in hour. | ||
'mp_cash_waittime': 48, | ||
// Optional, allow bypass of 3DS on some credit card channels. | ||
'mp_non_3DS': true, | ||
// Optional, EN, MS, VI, TH, FIL, MY, KM, ID, ZH. | ||
'mp_language': "EN", | ||
// Optional, disable card list option. | ||
'mp_card_list_disabled': true, | ||
// Optional, enable for online sandbox testing. | ||
'mp_dev_mode': false | ||
// Optional for channels restriction, this option has less priority than mp_allowed_channels. | ||
'mp_disabled_channels': ['credit'] | ||
}; | ||
``` | ||
|
||
## Start the payment module | ||
|
@@ -206,6 +217,14 @@ print("Result" + result); | |
|
||
4) After the user done the paying at the 7-Eleven counter, they can close and exit MOLPay XDK by clicking the “Close” button again. | ||
|
||
## XDK built-in checksum validator caveats | ||
|
||
All XDK come with a built-in checksum validator to validate all incoming checksums and return the validation result through the "mp_secured_verified" parameter. However, this mechanism will fail and always return false if merchants are implementing the private secret key (which the latter is highly recommended and prefereable.) If you would choose to implement the private secret key, you may ignore the "mp_secured_verified" and send the checksum back to your server for validation. | ||
|
||
## Private Secret Key checksum validation formula | ||
|
||
chksum = MD5(mp_merchant_ID + results.msgType + results.txn_ID + results.amount + results.status_code + merchant_private_secret_key) | ||
|
||
## Support | ||
|
||
Submit issue to this repository or email to our [email protected] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters