From f371d4cd5b3664ba081de6877750204eb7bee796 Mon Sep 17 00:00:00 2001 From: Naloff67 <89504625+Naloff67@users.noreply.github.com> Date: Wed, 14 Feb 2024 17:54:18 +0800 Subject: [PATCH 1/8] Update README.md update documentation --- README.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e544d2b..0d7655f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ - # [Mobile XDK] – RazerMS Android Studio @@ -8,11 +8,13 @@ This is the complete and functional Razer Merchant Services Android payment module that is ready to be implemented into Android Studio through gradle from JCenter/Maven repository as a MOLPayXDK module. An example application project (MOLPayXdkExample) is provided for MOLPayXDK framework integration reference. -这是一个完整和实用的 Razer Merchant Services 安卓支付模块,可以通过 JCenter/Maven 存储库中的 gradle 实现到 Android Studio 以作为一个 MOLPayXDK 框架。在此提供了一个示例应用程序项目(MOLPayXdkExample)以作为 MOLPayXDK 框架整合的参考。 +![image](https://github.com/Naloff67/Mobile-XDK-RazerMS_Android_Studio/assets/89504625/43c14942-7c73-4e4b-b640-b4df668bfa29) + + ## Recommended configurations - - Minimum Android SDK Version: 27 ++ + - Minimum Android SDK Version: 26 ++ - Minimum Android API level: 19 ++ @@ -22,7 +24,7 @@ This is the complete and functional Razer Merchant Services Android payment modu ## Installation Guidance -[Installation](https://github.com/RazerMS/rms-mobile-xdk-android/wiki/Installation-Guidance) +[[Installation](https://github.com/RazerMS/rms-mobile-xdk-android/wiki/Installation-Guidance)](https://github.com/Naloff67/Mobile-XDK-RazerMS_Android_Studio/wiki/Installation-Guide) ## Resources From c38c654589482454cbabddd138afe107ee0e6588 Mon Sep 17 00:00:00 2001 From: Naloff67 <89504625+Naloff67@users.noreply.github.com> Date: Fri, 16 Feb 2024 17:39:11 +0800 Subject: [PATCH 2/8] Update README.md --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 0d7655f..9f08ea8 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,4 @@ -[compresspng.zip](https://github.com/Naloff67/Mobile-XDK-RazerMS_Android_Studio/files/14277903/compresspng.zip)a + # [Mobile XDK] – RazerMS Android Studio From 08e998044c7706b370d09d0847d81f6dc382cc99 Mon Sep 17 00:00:00 2001 From: Naloff67 <89504625+Naloff67@users.noreply.github.com> Date: Sun, 18 Feb 2024 16:27:25 +0800 Subject: [PATCH 3/8] Update README.md update documents --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9f08ea8..655bcef 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,15 @@ -This is the complete and functional Razer Merchant Services Android payment module that is ready to be implemented into Android Studio through gradle from JCenter/Maven repository as a MOLPayXDK module. An example application project -(MOLPayXdkExample) is provided for MOLPayXDK framework integration reference. +This is the finished and working Razer Merchant Services Android payment module, which can be added to Android Studio as a MOLPayXDK module by using the Gradle integration from the JCenter/Maven repository. For reference purposes, an example application project (MOLPayXdkExample) for the MOLPayXDK framework integration is given. ![image](https://github.com/Naloff67/Mobile-XDK-RazerMS_Android_Studio/assets/89504625/43c14942-7c73-4e4b-b640-b4df668bfa29) +# How does it work ? +1. User chooses the Payment option they wish to pay with +2. Press "Proceed" +3. Complete the Transaction. ## Recommended configurations From aaa4a520401a41be7a5072b395de6c27a5060e16 Mon Sep 17 00:00:00 2001 From: Razer Technical Date: Mon, 19 Feb 2024 11:08:45 +0800 Subject: [PATCH 4/8] Update Demo app to latest gradle version --- MOLPayXdkExample/app/build.gradle | 16 ++- .../molpay/molpayxdkexample/BuildConfig.java | 12 ++ .../app/src/main/AndroidManifest.xml | 14 +- .../molpay/molpayxdkexample/MainActivity.java | 125 +++++++++--------- .../app/src/main/res/layout/activity_main.xml | 47 +++++-- .../app/src/main/res/values/colors.xml | 3 + MOLPayXdkExample/build.gradle | 2 +- MOLPayXdkExample/gradle.properties | 6 +- .../gradle/wrapper/gradle-wrapper.properties | 4 +- 9 files changed, 141 insertions(+), 88 deletions(-) create mode 100644 MOLPayXdkExample/app/build/generated/source/buildConfig/debug/com/molpay/molpayxdkexample/BuildConfig.java diff --git a/MOLPayXdkExample/app/build.gradle b/MOLPayXdkExample/app/build.gradle index 326485e..355df55 100644 --- a/MOLPayXdkExample/app/build.gradle +++ b/MOLPayXdkExample/app/build.gradle @@ -1,13 +1,13 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 31 - buildToolsVersion "29.0.3" + compileSdkVersion 34 + //buildToolsVersion "29.0.3" defaultConfig { applicationId "com.molpay.molpayxdkexample" minSdkVersion 16 - targetSdkVersion 31 + targetSdkVersion 34 versionCode 1 versionName "1.0" } @@ -22,13 +22,17 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } + namespace 'com.molpay.molpayxdkexample' } dependencies { testImplementation 'junit:junit:4.12' implementation fileTree(include: ['*.jar'], dir: 'libs') implementation 'androidx.legacy:legacy-support-v4:1.0.0' - implementation 'androidx.appcompat:appcompat:1.4.1' - implementation 'com.google.android.material:material:1.5.0' - implementation 'com.github.RazerMS:Mobile-XDK-RazerMS_Android_Library:3.32.2' + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.8.0' + implementation 'com.github.RazerMS:Mobile-XDK-RazerMS_Android_Library:3.33.6' } + + + diff --git a/MOLPayXdkExample/app/build/generated/source/buildConfig/debug/com/molpay/molpayxdkexample/BuildConfig.java b/MOLPayXdkExample/app/build/generated/source/buildConfig/debug/com/molpay/molpayxdkexample/BuildConfig.java new file mode 100644 index 0000000..d361061 --- /dev/null +++ b/MOLPayXdkExample/app/build/generated/source/buildConfig/debug/com/molpay/molpayxdkexample/BuildConfig.java @@ -0,0 +1,12 @@ +/** + * Automatically generated file. DO NOT MODIFY + */ +package com.molpay.molpayxdkexample; + +public final class BuildConfig { + public static final boolean DEBUG = Boolean.parseBoolean("true"); + public static final String APPLICATION_ID = "com.molpay.molpayxdkexample"; + public static final String BUILD_TYPE = "debug"; + public static final int VERSION_CODE = 1; + public static final String VERSION_NAME = "1.0"; +} diff --git a/MOLPayXdkExample/app/src/main/AndroidManifest.xml b/MOLPayXdkExample/app/src/main/AndroidManifest.xml index 163a0a6..cf765f0 100644 --- a/MOLPayXdkExample/app/src/main/AndroidManifest.xml +++ b/MOLPayXdkExample/app/src/main/AndroidManifest.xml @@ -1,6 +1,5 @@ - + + android:theme="@style/AppTheme.NoActionBar" + android:exported="true"> - + - + diff --git a/MOLPayXdkExample/app/src/main/java/com/molpay/molpayxdkexample/MainActivity.java b/MOLPayXdkExample/app/src/main/java/com/molpay/molpayxdkexample/MainActivity.java index b74f40a..3566b4a 100644 --- a/MOLPayXdkExample/app/src/main/java/com/molpay/molpayxdkexample/MainActivity.java +++ b/MOLPayXdkExample/app/src/main/java/com/molpay/molpayxdkexample/MainActivity.java @@ -3,9 +3,12 @@ import android.content.Intent; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; -import androidx.appcompat.widget.Toolbar; + import android.util.Log; +import android.view.Menu; import android.view.MenuItem; +import android.view.View; +import android.widget.Button; import android.widget.TextView; import com.molpay.molpayxdk.MOLPayActivity; @@ -15,13 +18,43 @@ public class MainActivity extends AppCompatActivity { + private void restartmolpay() { + HashMap paymentDetails = new HashMap<>(); + paymentDetails.put(MOLPayActivity.mp_amount, "1.10"); + + paymentDetails.put(MOLPayActivity.mp_username, "RMSxdk_2022"); + paymentDetails.put(MOLPayActivity.mp_password, "RMSpwd@2022"); + paymentDetails.put(MOLPayActivity.mp_merchant_ID, "rmsxdk_mobile_Dev"); + paymentDetails.put(MOLPayActivity.mp_app_name, "mobile"); + paymentDetails.put(MOLPayActivity.mp_verification_key, "ee738b541eff7b6b495e44771f71c0ec"); + + paymentDetails.put(MOLPayActivity.mp_order_ID, Calendar.getInstance().getTimeInMillis()); + paymentDetails.put(MOLPayActivity.mp_currency, "MYR"); + paymentDetails.put(MOLPayActivity.mp_country, "MY"); + paymentDetails.put(MOLPayActivity.mp_channel, "multi"); + paymentDetails.put(MOLPayActivity.mp_bill_description, "bill description"); + paymentDetails.put(MOLPayActivity.mp_bill_name, "bill name"); + paymentDetails.put(MOLPayActivity.mp_bill_email, "example@gmail.com"); + paymentDetails.put(MOLPayActivity.mp_bill_mobile, "01234567888"); + paymentDetails.put(MOLPayActivity.mp_channel_editing, false); + paymentDetails.put(MOLPayActivity.mp_editing_enabled, true); + paymentDetails.put(MOLPayActivity.mp_express_mode, false); + paymentDetails.put(MOLPayActivity.mp_dev_mode, false); + paymentDetails.put(MOLPayActivity.mp_preferred_token, "new"); + + Intent intent = new Intent(MainActivity.this, MOLPayActivity.class); + intent.putExtra(MOLPayActivity.MOLPayPaymentDetails, paymentDetails); + startActivityForResult(intent, MOLPayActivity.MOLPayXDK); + + } + @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == MOLPayActivity.MOLPayXDK && resultCode == RESULT_OK){ - Log.d(MOLPayActivity.MOLPAY, "MOLPay result = " + data.getStringExtra(MOLPayActivity.MOLPayTransactionResult)); + Log.d(MOLPayActivity.MOLPAY, "MOLPay result = "+data.getStringExtra(MOLPayActivity.MOLPayTransactionResult)); TextView tw = (TextView)findViewById(R.id.resultTV); tw.setText(data.getStringExtra(MOLPayActivity.MOLPayTransactionResult)); } @@ -32,72 +65,44 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); - setSupportActionBar(toolbar); + Button btnXdk = (Button) findViewById(R.id.xdk_button); + btnXdk.setOnClickListener( new View.OnClickListener() { - HashMap paymentDetails = new HashMap<>(); - paymentDetails.put(MOLPayActivity.mp_amount, "1.10"); - paymentDetails.put(MOLPayActivity.mp_username, ""); - paymentDetails.put(MOLPayActivity.mp_password, ""); - paymentDetails.put(MOLPayActivity.mp_merchant_ID, ""); - paymentDetails.put(MOLPayActivity.mp_app_name, ""); - paymentDetails.put(MOLPayActivity.mp_order_ID, Calendar.getInstance().getTimeInMillis()); - paymentDetails.put(MOLPayActivity.mp_currency, "MYR"); - paymentDetails.put(MOLPayActivity.mp_country, "MY"); - paymentDetails.put(MOLPayActivity.mp_verification_key, ""); - paymentDetails.put(MOLPayActivity.mp_channel, "multi"); - paymentDetails.put(MOLPayActivity.mp_bill_description, "description"); - paymentDetails.put(MOLPayActivity.mp_bill_name, "example"); - paymentDetails.put(MOLPayActivity.mp_bill_email, "example@mail.com"); - paymentDetails.put(MOLPayActivity.mp_bill_mobile, "+60123456789"); - - //paymentDetails.put(MOLPayActivity.mp_channel_editing, false); - //paymentDetails.put(MOLPayActivity.mp_editing_enabled, true); - //paymentDetails.put(MOLPayActivity.mp_transaction_id, ""); - //paymentDetails.put(MOLPayActivity.mp_request_type, ""); - - //String binlock[] = {"123456","234567"}; - //paymentDetails.put(MOLPayActivity.mp_bin_lock, binlock); - //paymentDetails.put(MOLPayActivity.mp_bin_lock_err_msg, "Wrong BIN format"); - - //paymentDetails.put(MOLPayActivity.mp_is_escrow, ""); - //paymentDetails.put(MOLPayActivity.mp_filter, "1"); - //paymentDetails.put(MOLPayActivity.mp_custom_css_url, "file:///android_asset/custom.css"); - //paymentDetails.put(MOLPayActivity.mp_preferred_token, ""); - //paymentDetails.put(MOLPayActivity.mp_tcctype, ""); // SALS // AUTH - //paymentDetails.put(MOLPayActivity.mp_is_recurring, false); - //String allowedchannels[] = {"credit","credit3"}; - //paymentDetails.put(MOLPayActivity.mp_allowed_channels, allowedchannels); - //paymentDetails.put(MOLPayActivity.mp_sandbox_mode, true); - //paymentDetails.put(MOLPayActivity.mp_express_mode, true); - //paymentDetails.put(MOLPayActivity.mp_advanced_email_validation_enabled, true); - //paymentDetails.put(MOLPayActivity.mp_advanced_phone_validation_enabled, true); - //paymentDetails.put(MOLPayActivity.mp_bill_name_edit_disabled, false); - //paymentDetails.put(MOLPayActivity.mp_bill_email_edit_disabled, false); - //paymentDetails.put(MOLPayActivity.mp_bill_mobile_edit_disabled, false); - //paymentDetails.put(MOLPayActivity.mp_bill_description_edit_disabled, false); - //paymentDetails.put(MOLPayActivity.mp_language, "EN"); -// paymentDetails.put(MOLPayActivity.mp_dev_mode, true); - //paymentDetails.put(MOLPayActivity.mp_cash_waittime, 24); - //paymentDetails.put(MOLPayActivity.mp_non_3DS, true); - //paymentDetails.put(MOLPayActivity.mp_card_list_disabled, true); - - //String disabledChannels[] = {"credit"}; - //paymentDetails.put(MOLPayActivity.mp_disabled_channels, disabledChannels); + @Override + public void onClick(View v) { + restartmolpay(); + + } + }); - Intent intent = new Intent(MainActivity.this, MOLPayActivity.class); - intent.putExtra(MOLPayActivity.MOLPayPaymentDetails, paymentDetails); - startActivityForResult(intent, MOLPayActivity.MOLPayXDK); - + } + + + +// @Override +// public boolean onOptionsItemSelected(MenuItem item) { +// int id = item.getItemId(); +// +// if (id == R.id.action_settings) { +// return true; +// } +// +// return super.onOptionsItemSelected(item); +// } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.menu_main, menu); + return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); - if (id == R.id.action_settings) { - return true; - } + // closebtn clicked + return super.onOptionsItemSelected(item); } diff --git a/MOLPayXdkExample/app/src/main/res/layout/activity_main.xml b/MOLPayXdkExample/app/src/main/res/layout/activity_main.xml index 82fc1ac..3489739 100644 --- a/MOLPayXdkExample/app/src/main/res/layout/activity_main.xml +++ b/MOLPayXdkExample/app/src/main/res/layout/activity_main.xml @@ -8,27 +8,48 @@ tools:context="com.molpay.molpayxdkexample.MainActivity"> - - - + + + - + android:text="Welcome to Android XDK" + android:textColor="@android:color/white" + android:textSize="30sp" + app:layout_anchor="@+id/toolbar" + app:layout_anchorGravity="center" /> + +