Skip to content

Commit

Permalink
BETA 0.20
Browse files Browse the repository at this point in the history
  • Loading branch information
MOLPay-MobileDev committed Jun 20, 2018
1 parent 95bc936 commit ef2a05d
Show file tree
Hide file tree
Showing 3 changed files with 97 additions and 71 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,10 @@

- Initial release
- Fixed random fails when the billing name contains special characters

## 0.20.0

- Enhanced the expressmode on external token feature.
- Added mp_non_3DS parameter.
- Added mp_card_list_disabled parameter.
- Added mp_disabled_channels parameter.
159 changes: 89 additions & 70 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 ++

Expand Down Expand Up @@ -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

```
Expand Down Expand Up @@ -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
Expand All @@ -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]
Expand Down
2 changes: 1 addition & 1 deletion android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -36,5 +36,5 @@ android {
dependencies {
api 'com.android.support:appcompat-v7:27.0.0'
api 'com.android.support:design:27.0.0'
api 'com.molpay:molpay-mobile-xdk-android:3.18.1'
api 'com.molpay:molpay-mobile-xdk-android:3.20.0'
}

0 comments on commit ef2a05d

Please sign in to comment.