razerms / mobile-xdk-razerms_flutter_beta Goto Github PK
View Code? Open in Web Editor NEWRazer Merchant Services mobile payment for Flutter (Dart)
Home Page: https://merchant.razer.com/v3/
Razer Merchant Services mobile payment for Flutter (Dart)
Home Page: https://merchant.razer.com/v3/
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)
As I tried to generate the checksum, my generated checksum does not match until I swap the secret key to verification key. But the formula mentioned to use the secret key.
merchant_private_secret_key -> mp_verification_key
P/S : I was testing in sandboxed environment
Do you plan to migrate the plugin to AndroidX?
If yes, when will it be available?
What is estimated date for the plugin to reach release version?
I have built the android flutter project with molpay xdk and try to make the payment in real android devices. It crashed when I close the payment window, made successful payment and any other actions that involve closing the payment window.
Crash log :
I/chromium(19512): [INFO:CONSOLE(19)] "Uncaught ReferenceError: module is not defined", source: file:///android_asset/molpay-mobile-xdk-www/scripts/vendor.993ae4d8.js (19) D/MOLPAY (19512): MPMainUIWebClient onPageFinished paymentDetails = {"mp_username":"api_airhopp","mp_channel_editing":true,"mp_allowed_channels":["fpx","cash","RazerPay","TNG-EWALLET","BOOST"],"mp_amount":1.01,"mp_country":"MY","mp_password":"api_HaKK*&15","wrapper_version":"0.0","mp_verification_key":"9a861000a335fb1e22a4dc0f20c4b4f6","mp_bill_mobile":"0172838127","mp_bill_email":"[email protected]","mp_order_ID":"A5E6D22749F4FE","mp_credit_card_expiry":null,"mp_merchant_ID":"airhopp","module_id":"molpay-mobile-xdk-flutter-beta-android","mp_credit_card_no":null,"mp_bill_description":"Airhopp payment","mp_channel":"","is_submodule":true,"mp_credit_card_cvv":null,"mp_app_name":"airhopp","mp_bill_name":"Michael","mp_editing_enabled":false,"mp_currency":"MYR"} W/libEGL (19512): EGLNativeWindowType 0x7c3288c010 disconnect failed D/FlutterView(19512): Detaching from a FlutterEngine: io.flutter.embedding.engine.FlutterEngine@23cb9e9 W/libEGL (19512): EGLNativeWindowType 0x7bfb7ea010 disconnect failed W/irhopp_custome(19512): Accessing hidden method Lsun/misc/Unsafe;->getLong(Ljava/lang/Object;J)J (greylist,core-platform-api, linking, allowed) W/libEGL (19512): EGLNativeWindowType 0x7c91a30350 disconnect failed W/irhopp_custome(19512): Accessing hidden method Lsun/misc/Unsafe;->putObject(Ljava/lang/Object;JLjava/lang/Object;)V (greylist, linking, allowed) W/Settings(19512): Setting device_provisioned has moved from android.provider.Settings.Secure to android.provider.Settings.Global. V/HiTouch_HiTouchSensor(19512): User setup is finished. V/AudioManager(19512): querySoundEffectsEnabled... D/MOLPAY (19512): MPMainUIWebClient shouldOverrideUrlLoading url = mpcloseallwindows:// W/cr_AwContents(19512): WebView.destroy() called while WebView is still attached to window. D/MOLPAY (19512): MPMainUIWebClient shouldOverrideUrlLoading url = mptransactionresults://eyJ0eG5fSUQiOiIxOTk0OTE2NzQiLCJwYXlkYXRlIjoxNTg0MjEyMzc1LCJvcmRlcl9pZCI6IkE1RTZEMjI3NDlGNEZFIiwiYW1vdW50IjoiMS4wMSIsInN0YXR1c19jb2RlIjoiMjIiLCJjaGFubmVsIjoiVE5HLUVXQUxMRVQiLCJlcnJfZGVzYyI6IiIsImFwcF9jb2RlIjoiIiwiY2hrc3VtIjoiZmEzMDg4MDAwNjQ4ZTI3NTdhMTkwNjQwZWU2OWNkOGMiLCJwSW5zdHJ1Y3Rpb24iOjAsIm1zZ1R5cGUiOiJEOCIsIm1wX3NlY3VyZWRfdmVyaWZpZWQiOmZhbHNlfQ== D/MOLPAY (19512): MPMainUIWebClient mptransactionresults base64String = eyJ0eG5fSUQiOiIxOTk0OTE2NzQiLCJwYXlkYXRlIjoxNTg0MjEyMzc1LCJvcmRlcl9pZCI6IkE1RTZEMjI3NDlGNEZFIiwiYW1vdW50IjoiMS4wMSIsInN0YXR1c19jb2RlIjoiMjIiLCJjaGFubmVsIjoiVE5HLUVXQUxMRVQiLCJlcnJfZGVzYyI6IiIsImFwcF9jb2RlIjoiIiwiY2hrc3VtIjoiZmEzMDg4MDAwNjQ4ZTI3NTdhMTkwNjQwZWU2OWNkOGMiLCJwSW5zdHJ1Y3Rpb24iOjAsIm1zZ1R5cGUiOiJEOCIsIm1wX3NlY3VyZWRfdmVyaWZpZWQiOmZhbHNlfQ== D/MOLPAY (19512): MPMainUIWebClient mptransactionresults dataString = {"txn_ID":"199491674","paydate":1584212375,"order_id":"A5E6D22749F4FE","amount":"1.01","status_code":"22","channel":"TNG-EWALLET","err_desc":"","app_code":"","chksum":"fa3088000648e2757a190640ee69cd8c","pInstruction":0,"msgType":"D8","mp_secured_verified":false} D/MOLPAY (19512): MPMainUIWebClient jsonResult = {"txn_ID":"199491674","paydate":1584212375,"order_id":"A5E6D22749F4FE","amount":"1.01","status_code":"22","channel":"TNG-EWALLET","err_desc":"","app_code":"","chksum":"fa3088000648e2757a190640ee69cd8c","pInstruction":0,"msgType":"D8","mp_secured_verified":false} I/BlockMonitor(19512): dispatchingThrewException In MainThread D/AndroidRuntime(19512): Shutting down VM I/QarthLog(19512): [PatchStore] createDisableExceptionQarthFile I/QarthLog(19512): [PatchStore] create disable file for com.airhopp.airhopp_customer uid is 10285 E/AndroidRuntime(19512): FATAL EXCEPTION: main E/AndroidRuntime(19512): Process: com.airhopp.airhopp_customer, PID: 19512 E/AndroidRuntime(19512): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=9999, result=-1, data=Intent { (has extras) }} to activity {com.airhopp.airhopp_customer/com.airhopp.airhopp_customer.MainActivity}: java.lang.NullPointerException: Attempt to invoke interface method 'void io.flutter.plugin.common.MethodChannel$Result.success(java.lang.Object)' on a null object reference E/AndroidRuntime(19512): at android.app.ActivityThread.deliverResults(ActivityThread.java:5449) E/AndroidRuntime(19512): at android.app.ActivityThread.handleSendResult(ActivityThread.java:5490) E/AndroidRuntime(19512): at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51) E/AndroidRuntime(19512): at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:149) E/AndroidRuntime(19512): at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:103) E/AndroidRuntime(19512): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2373) E/AndroidRuntime(19512): at android.os.Handler.dispatchMessage(Handler.java:107) E/AndroidRuntime(19512): at android.os.Looper.loop(Looper.java:213) E/AndroidRuntime(19512): at android.app.ActivityThread.main(ActivityThread.java:8147) E/AndroidRuntime(19512): at java.lang.reflect.Method.invoke(Native Method) E/AndroidRuntime(19512): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513) E/AndroidRuntime(19512): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1101) E/AndroidRuntime(19512): Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'void io.flutter.plugin.common.MethodChannel$Result.success(java.lang.Object)' on a null object reference E/AndroidRuntime(19512): at com.molpay.molpaymobilexdkflutterbeta.MolpayMobileXdkFlutterBetaPlugin.onActivityResult(MolpayMobileXdkFlutterBetaPlugin.java:81) E/AndroidRuntime(19512): at io.flutter.embedding.engine.FlutterEnginePluginRegistry$FlutterEngineActivityPluginBinding.onActivityResult(FlutterEnginePluginRegistry.java:634) E/AndroidRuntime(19512): at io.flutter.embedding.engine.FlutterEnginePluginRegistry.onActivityResult(FlutterEnginePluginRegistry.java:367) E/AndroidRuntime(19512): at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onActivityResult(FlutterActivityAndFragmentDelegate.java:546) E/AndroidRuntime(19512): at io.flutter.embedding.android.FlutterActivity.onActivityResult(FlutterActivity.java:594) E/AndroidRuntime(19512): at android.app.Activity.dispatchActivityResult(Activity.java:8393) E/AndroidRuntime(19512): at android.app.ActivityThread.deliverResults(ActivityThread.java:5442) E/AndroidRuntime(19512): ... 11 more I/Process (19512): Sending signal. PID: 19512 SIG: 9 Lost connection to device. Exited (sigterm)
able to support flutter web?
Hey, how about to migrate to AndroidX libraries?
When minifyEnabled is true in build.gradle, the molpay payment page is unable to be launch from APK. Unfortunately, there is no obvious error from the log.
2019-08-02 17:49:24.848 1369-2577/? I/ActivityManager: START u0 {hwFlg=0x10 cmp=com.flipbizz.app/com.molpay.molpayxdk.MOLPayActivity (has extras)} from uid 10226
2019-08-02 17:49:24.849 1369-2577/? I/ActivityManager: ActivityRecord info: ActivityInfo{e44239 com.molpay.molpayxdk.MOLPayActivity}
2019-08-02 17:49:24.855 1369-2577/? V/WindowManager: addAppToken: AppWindowToken{6ff1ffd token=Token{5518454 ActivityRecord{2cdf7a7 u0 com.flipbizz.app/com.molpay.molpayxdk.MOLPayActivity t6777}}} controller={TaskWindowContainerController taskId=6777} at 2147483647
2019-08-02 17:49:24.863 1369-1699/? V/ActivityManager: Making visible and scheduling visibility: ActivityRecord{2cdf7a7 u0 com.flipbizz.app/com.molpay.molpayxdk.MOLPayActivity t6777}
2019-08-02 17:49:24.869 1369-1699/? V/WindowManager: Check opening app=AppWindowToken{6ff1ffd token=Token{5518454 ActivityRecord{2cdf7a7 u0 com.flipbizz.app/com.molpay.molpayxdk.MOLPayActivity t6777}}}: allDrawn=false startingDisplayed=false startingMoved=false isRelaunching()=false startingWindow=null
2019-08-02 17:49:24.897 32634-32634/? D/ActivityThread: add activity client record, r= ActivityRecord{e945e54 token=android.os.BinderProxy@1e02d48 {com.flipbizz.app/com.molpay.molpayxdk.MOLPayActivity}} token= android.os.BinderProxy@1e02d48
2019-08-02 17:49:24.903 1369-4714/? V/WindowManager: addWindow: Window{14751b5 u0 com.flipbizz.app/com.molpay.molpayxdk.MOLPayActivity}
2019-08-02 17:49:24.904 1369-7045/? D/HiData_HwAPPQoEActivityMonitor: handleActivityChange, curPackage:com.flipbizz.app, curClass:com.molpay.molpayxdk.MOLPayActivity
2019-08-02 17:49:24.904 1369-7045/? D/HiData_HwAPPQoEResourceMangerImpl: checkIsMonitorAPKScence input :com.flipbizz.app,com.molpay.molpayxdk.MOLPayActivity
2019-08-02 17:49:24.904 1369-2092/? D/HiDATA_HiStream: activityResumed:pid=32634, uid=10226, component=ComponentInfo{com.flipbizz.app/com.molpay.molpayxdk.MOLPayActivity}
2019-08-02 17:49:24.904 1369-2092/? D/HiData_HwAPPQoEResourceMangerImpl: checkIsMonitorVideoScence input :com.flipbizz.app,com.molpay.molpayxdk.MOLPayActivity
2019-08-02 17:49:24.905 2340-2375/? I/OPCollectLog: AppChangeImpl: uid: 10226 pkg: com.flipbizz.app class: com.molpay.molpayxdk.MOLPayActivity
2019-08-02 17:49:24.905 4867-4901/? I/AppLifeChangeSensor: CAWARENESS: activityResumed componentName = ComponentInfo{com.flipbizz.app/com.molpay.molpayxdk.MOLPayActivity}
2019-08-02 17:49:24.905 2268-3512/? D/DollieActivityManagerAdapter: [Resumed] pid:32634 uid:10226 ComponentInfo{com.flipbizz.app/com.molpay.molpayxdk.MOLPayActivity}
2019-08-02 17:49:24.905 2268-3512/? E/DollieAdapterService: notifyActivityState pkg:com.flipbizz.app/com.molpay.molpayxdk.MOLPayActivity state:2 fg:true mUid:10226
2019-08-02 17:49:24.914 1369-4616/? V/WindowManager: Check opening app=AppWindowToken{6ff1ffd token=Token{5518454 ActivityRecord{2cdf7a7 u0 com.flipbizz.app/com.molpay.molpayxdk.MOLPayActivity t6777}}}: allDrawn=false startingDisplayed=false startingMoved=false isRelaunching()=false startingWindow=null
2019-08-02 17:49:24.916 1369-4616/? V/HwPhoneWindowManager: updateSystemUiColorLw window=Window{14751b5 u0 com.flipbizz.app/com.molpay.molpayxdk.MOLPayActivity},EmuiStyle=0,StatusBarColor=0xff757575,NavigationBarColor=0xfffcfcfc, mForceNotchStatusBar=false
2019-08-02 17:49:24.917 1369-1390/? I/StatusBarDisable: setFlags what=0 which=1 pkg=Window{14751b5 u0 com.flipbizz.app/com.molpay.molpayxdk.MOLPayActivity}
2019-08-02 17:49:24.963 1369-1390/? I/StatusBarDisable: setFlags what=0 which=1 pkg=Window{14751b5 u0 com.flipbizz.app/com.molpay.molpayxdk.MOLPayActivity}
2019-08-02 17:49:24.963 1369-1636/? V/WindowManager_visibility: updateAllDrawn Add AppWindowToken{6ff1ffd token=Token{5518454 ActivityRecord{2cdf7a7 u0 com.flipbizz.app/com.molpay.molpayxdk.MOLPayActivity t6777}}}
2019-08-02 17:49:24.964 1369-1636/? V/WindowManager_visibility: updateAllDrawn allDrawn=false interesting=1 drawn=1 relaunchCount=0 for AppWindowToken{6ff1ffd token=Token{5518454 ActivityRecord{2cdf7a7 u0 com.flipbizz.app/com.molpay.molpayxdk.MOLPayActivity t6777}}}
2019-08-02 17:49:24.964 1369-1636/? V/WindowManager: Check opening app=AppWindowToken{6ff1ffd token=Token{5518454 ActivityRecord{2cdf7a7 u0 com.flipbizz.app/com.molpay.molpayxdk.MOLPayActivity t6777}}}: allDrawn=true startingDisplayed=false startingMoved=false isRelaunching()=false startingWindow=null
2019-08-02 17:49:24.973 1369-1390/? I/StatusBarDisable: setFlags what=0 which=1 pkg=Window{14751b5 u0 com.flipbizz.app/com.molpay.molpayxdk.MOLPayActivity}
2019-08-02 17:49:24.976 1369-1400/? I/ActivityManager: Displayed com.flipbizz.app/com.molpay.molpayxdk.MOLPayActivity: +107ms
2019-08-02 17:49:24.976 1369-1400/? D/ActivityManager: EVENT_APP_ACTIVITY_DISPLAYED_FINISH reportData: com.flipbizz.app/com.molpay.molpayxdk.MOLPayActivity 32634 107
2019-08-02 17:49:24.979 1369-1390/? I/StatusBarDisable: setFlags what=0 which=1 pkg=Window{14751b5 u0 com.flipbizz.app/com.molpay.molpayxdk.MOLPayActivity}
2019-08-02 17:49:25.161 1369-1390/? I/StatusBarDisable: setFlags what=0 which=1 pkg=Window{14751b5 u0 com.flipbizz.app/com.molpay.molpayxdk.MOLPayActivity}
Currently using molpay_mobile_xdk_flutter_beta: 0.27.0
ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView APIs . See https://developer.apple.com/documentation/uikit/uiwebview for more information
Going to build a mobile app and apply Molpay plugin, is this plugin production ready and secure to use?
When testing on emulator on debug mode it works.
When using appbundle in release mode and uploading it to google play for internal testing, the gateway launching screen shows but then it is dismissed and no gateway is shown.
Note: I am using sandbox account.
Is there a way to test the gateway in release mode appbundle ?
Do we have the latest plugin?
The plugin `molpay_mobile_xdk_flutter_beta` uses a deprecated version of the Android embedding.
To avoid unexpected runtime failures, or future build failures, try to see if this plugin supports the Android V2 embedding. Otherwise, consider removing it since a future release of Flutter will remove these deprecated APIs.
If you are plugin author, take a look at the docs for migrating the plugin to the V2 embedding: https://flutter.dev/go/android-plugin-migration.
I wonder if this package is still under maintenance.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.