A Flutter wrapper to use the SumUp SDK. With this plugin, your app can easily connect to a SumUp terminal, login and accept card payments on Android and iOS.
Running the example code. I think it's a wonderful plugin.
First time it worked and allowed me to touch the reader with phone (using developer credentials on the sumup_flutter app and changed the currency to 'GBP'). Thereafter it when button pressed to checkout it briefly flashes the screen to find the reader then goes to a page saying transaction failed and it was a network error.
I don't understand why it's not working. I've googled everywhere. The console shows this:
Event prEvent Checkout - Reason: Internal error E/SumUp ( 3450): (Source File:1)@main | Error for in emv response: Internal error
I'm also seeing the following:
Expecting binder but got null!
W/EventBus(14688): Subscriber to unregister was not registered before: class com.sumup.merchant.reader.identitylib.ui.activities.LoginActivity
'W/MaterialButton(14688): MaterialButton manages its own background to control elevation, shape, color and states. Consider using backgroundTint, shapeAppearance and other attributes where available. A custom background will ignore these attributes and you should consider handling interaction states such as pressed, focused and disabled'
'E/WindowManager(14688): android.view.WindowLeaked: Activity com.sumup.merchant.reader.ui.activities.CardReaderPaymentAPIDrivenPageActivity has leaked window DecorView@d8e3d07[CardReaderPaymentAPIDrivenPageActivity] that was originally added here
E/WindowManager(14688): at android.view.ViewRootImpl.(ViewRootImpl.java:916)
E/WindowManager(14688): at android.view.ViewRootImpl.(ViewRootImpl.java:900)
E/WindowManager(14688): at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:386)
E/WindowManager(14688): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
E/WindowManager(14688): at android.app.Dialog.show(Dialog.java:352)
E/WindowManager(14688): at com.sumup.merchant.reader.helpers.ProgressDialogHelper.createDialog(SourceFile:3)
E/WindowManager(14688): at com.sumup.merchant.reader.helpers.ProgressDialogHelper.getDialog(SourceFile:1)
E/WindowManager(14688): at com.sumup.merchant.reader.helpers.ProgressDialogHelper.getDialog(SourceFile:2)
E/WindowManager(14688): at com.sumup.merchant.reader.helpers.ProgressDialogHelper.getProcessingDialog(SourceFile:1)
E/WindowManager(14688): at com.sumup.merchant.reader.ui.activities.CardReaderPaymentAPIDrivenPageActivity.sendTerminalSDKCheckoutRequest(SourceFile:1)
E/WindowManager(14688): at com.sumup.merchant.reader.ui.activities.CardReaderPaymentAPIDrivenPageActivity.onSafeCreate(SourceFile:19)
E/WindowManager(14688): at com.sumup.base.common.ui.SumUpBaseActivity.onCreate(Unknown Source:159)
E/WindowManager(14688): at com.sumup.merchant.reader.ui.activities.CardReaderPaymentAPIDrivenPageActivity.onCreate(SourceFile:2)
E/WindowManager(14688): at android.app.Activity.performCreate(Activity.java:8291)
E/WindowManager(14688): at android.app.Activity.performCreate(Activity.java:8270)
E/WindowManager(14688): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1384)
E/WindowManager(14688): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3664)
E/WindowManager(14688): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3820)
E/WindowManager(14688): at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)
E/WindowManager(14688): at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
E/WindowManager(14688): at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
E/WindowManager(14688): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2315)
E/WindowManager(14688): at android.os.Handler.dispatchMessage(Handler.java:107)
E/WindowManager(14688): at android.os.Looper.loopOnce(Looper.java:201)
E/WindowManager(14688): at android.os.Looper.loop(Looper.java:288)
E/WindowManager(14688): at android.app.ActivityThread.main(ActivityThread.java:7935)
E/WindowManager(14688): at java.lang.reflect.Method.invoke(Native Method)
E/WindowManager(14688): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
E/WindowManager(14688): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1149)
D/BluetoothGatt(14688): onClientConnectionState() - status=0 clientIf=6 device=C8:54:DE:EE:AD:50
D/BluetoothGatt(14688): close()
D/BluetoothGatt(14688): unregisterApp() - mClientIf=6
E/SumUp (14688): (SourceFile:13)@BtSmart-Receiver | onFatalError() CardReaderError{Name = TRANSPORT_DISCONNECTED mErrorCode=3}
E/SumUp (14688): (SourceFile:2)@BtSmart-Receiver | onTransportError() CardReaderError{Name = TRANSPORT_DISCONNECTED mErrorCode=3}
'
Running the example code. I think it's a wonderful plugin.
First time it worked and allowed me to touch the reader with phone (using developer credentials on the sumup_flutter app and changed the currency to 'GBP'). Thereafter it when button pressed to checkout it briefly flashes the screen to find the reader then goes to a page saying transaction failed and it was a network error.
I don't understand why it's not working. I've googled everywhere. The console shows this:
Event prEvent Checkout - Reason: Internal error E/SumUp ( 3450): (Source File:1)@main | Error for in emv response: Internal error
I'm also seeing the following:
Expecting binder but got null!
W/EventBus(14688): Subscriber to unregister was not registered before: class com.sumup.merchant.reader.identitylib.ui.activities.LoginActivity
'W/MaterialButton(14688): MaterialButton manages its own background to control elevation, shape, color and states. Consider using backgroundTint, shapeAppearance and other attributes where available. A custom background will ignore these attributes and you should consider handling interaction states such as pressed, focused and disabled'
'E/WindowManager(14688): android.view.WindowLeaked: Activity com.sumup.merchant.reader.ui.activities.CardReaderPaymentAPIDrivenPageActivity has leaked window DecorView@d8e3d07[CardReaderPaymentAPIDrivenPageActivity] that was originally added here E/WindowManager(14688): at android.view.ViewRootImpl.(ViewRootImpl.java:916)
E/WindowManager(14688): at android.view.ViewRootImpl.(ViewRootImpl.java:900)
E/WindowManager(14688): at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:386)
E/WindowManager(14688): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
E/WindowManager(14688): at android.app.Dialog.show(Dialog.java:352)
E/WindowManager(14688): at com.sumup.merchant.reader.helpers.ProgressDialogHelper.createDialog(SourceFile:3)
E/WindowManager(14688): at com.sumup.merchant.reader.helpers.ProgressDialogHelper.getDialog(SourceFile:1)
E/WindowManager(14688): at com.sumup.merchant.reader.helpers.ProgressDialogHelper.getDialog(SourceFile:2)
E/WindowManager(14688): at com.sumup.merchant.reader.helpers.ProgressDialogHelper.getProcessingDialog(SourceFile:1)
E/WindowManager(14688): at com.sumup.merchant.reader.ui.activities.CardReaderPaymentAPIDrivenPageActivity.sendTerminalSDKCheckoutRequest(SourceFile:1)
E/WindowManager(14688): at com.sumup.merchant.reader.ui.activities.CardReaderPaymentAPIDrivenPageActivity.onSafeCreate(SourceFile:19)
E/WindowManager(14688): at com.sumup.base.common.ui.SumUpBaseActivity.onCreate(Unknown Source:159)
E/WindowManager(14688): at com.sumup.merchant.reader.ui.activities.CardReaderPaymentAPIDrivenPageActivity.onCreate(SourceFile:2)
E/WindowManager(14688): at android.app.Activity.performCreate(Activity.java:8291)
E/WindowManager(14688): at android.app.Activity.performCreate(Activity.java:8270)
E/WindowManager(14688): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1384)
E/WindowManager(14688): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3664)
E/WindowManager(14688): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3820)
E/WindowManager(14688): at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)
E/WindowManager(14688): at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
E/WindowManager(14688): at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
E/WindowManager(14688): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2315)
E/WindowManager(14688): at android.os.Handler.dispatchMessage(Handler.java:107)
E/WindowManager(14688): at android.os.Looper.loopOnce(Looper.java:201)
E/WindowManager(14688): at android.os.Looper.loop(Looper.java:288)
E/WindowManager(14688): at android.app.ActivityThread.main(ActivityThread.java:7935)
E/WindowManager(14688): at java.lang.reflect.Method.invoke(Native Method)
E/WindowManager(14688): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
E/WindowManager(14688): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1149)
D/BluetoothGatt(14688): onClientConnectionState() - status=0 clientIf=6 device=C8:54:DE:EE:AD:50
D/BluetoothGatt(14688): close()
D/BluetoothGatt(14688): unregisterApp() - mClientIf=6
E/SumUp (14688): (SourceFile:13)@BtSmart-Receiver | onFatalError() CardReaderError{Name = TRANSPORT_DISCONNECTED mErrorCode=3}
E/SumUp (14688): (SourceFile:2)@BtSmart-Receiver | onTransportError() CardReaderError{Name = TRANSPORT_DISCONNECTED mErrorCode=3}
'