question

Jay Slater avatar image
Jay Slater asked

ACTION_SECURE_CARD_DATA on Station Duo hangs

I support a gift card application, and part of the merchant-facing user experience involves allowing the merchant to swipe a card to register it for a customer, check the balance on an existing account, or refund a transaction. To do this, we use the ACTION_SECURE_CARD_DATA intent on other Clover devices.

Intent i = new Intent();
        i.setAction(Intents.ACTION_SECURE_CARD_DATA);
        i.putExtra(Intents.EXTRA_TRANSACTION_TYPE, Intents.TRANSACTION_TYPE_CARD_DATA);
        i.putExtra(Intents.EXTRA_CARD_DATA_MESSAGE, "Swipe gift card");

On the Station Duo, it hangs: the app becomes nonresponsive on the merchant-facing screen, nothing changes on the customer-facing screen, and the logs fill with this:

2021-07-02 11:43:03.196 18045-22116/? I/ActivityManager: START u0 {act=clover.intent.action.START_SECURE_CARD_DATA cmp=com.clover.payment.executor.secure/.PaymentActivity (has extras)} from uid 10064
2021-07-02 11:43:03.196 22368-22511/? I/zygote64: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 0
2021-07-02 11:43:03.197 22368-22511/? I/OpenGLRenderer: Initialized EGL, version 1.4
2021-07-02 11:43:03.197 22368-22511/? D/OpenGLRenderer: Swap behavior 2
2021-07-02 11:43:03.201 22268-22268/? W/Instrumentation: Check start activity result, res: 0
2021-07-02 11:43:03.203 22268-22268/? I/LeafcutterCardDataRequestorActivity: onResume(CommonActivity.java:328)[main]: @70cb555 +onResume
2021-07-02 11:43:03.205 22268-22268/? I/LeafcutterCardDataRequestorActivity: onForeground(CommonActivity.java:352)[main]: @70cb555 +onForeground
2021-07-02 11:43:03.207 22268-22268/? I/LeafcutterCardDataRequestorActivity: onForeground(CommonActivity.java:367)[main]: @70cb555 -onForeground
2021-07-02 11:43:03.208 22268-22268/? I/LeafcutterCardDataRequestorActivity: onResume(CommonActivity.java:335)[main]: @70cb555 -onResume
2021-07-02 11:43:03.208 22268-22268/? W/Activity: An activity without a UI must call finish() before onResume() completes
2021-07-02 11:43:03.209 22268-22514/? I/SetupAsyncTask: doInBackground(SetupAsyncTask.java:43)[AsyncTask #4]: LeafcutterCardDataRequestorActivity @70cb555
2021-07-02 11:43:03.213 22268-22268/? I/LeafcutterCardDataRequestorActivity: onPause(CommonActivity.java:455)[main]: @70cb555 +onPause
2021-07-02 11:43:03.213 22268-22268/? I/LeafcutterCardDataRequestorActivity: onBackground(CommonActivity.java:479)[main]: @70cb555 +onBackground
2021-07-02 11:43:03.215 22268-22268/? I/LeafcutterCardDataRequestorActivity: onBackground(CommonActivity.java:495)[main]: @70cb555 -onBackground
2021-07-02 11:43:03.215 22268-22268/? I/LeafcutterCardDataRequestorActivity: onPause(CommonActivity.java:462)[main]: @70cb555 -onPause
2021-07-02 11:43:03.217 22467-22467/? W/RichInputMethodSubtype: Can't find emoji subtype
2021-07-02 11:43:03.217 22467-22467/? W/RichInputMethodSubtype: No input method subtype found; returning dummy subtype: Multi-lingual subtype: android.view.inputmethod.InputMethodSubtype@d78b2ed0, zz
2021-07-02 11:43:03.231 18045-22047/? I/ActivityManager: START u0 {act=com.clover.intent.action.START_LEAFCUTTER_READ_CARD_DATA cmp=com.clover.payment.builder.pay/com.clover.payment.requestor.carddata.LeafcutterCardDataRequestorActivity (has extras)} from uid 10065
2021-07-02 11:43:03.236 22368-22368/? W/Instrumentation: Check start activity result, res: 0
2021-07-02 11:43:03.238 22368-22368/? I/PaymentActivity: onCreate(BaseActivity.java:84)[main]: created
2021-07-02 11:43:03.242 22368-22368/? I/PaymentActivity: onStart(BaseActivity.java:137)[main]: started
2021-07-02 11:43:03.242 22268-22514/? I/SetupAsyncTask: doInBackground(SetupAsyncTask.java:59)[AsyncTask #4]: LeafcutterCardDataRequestorActivity @70cb555 success: false isCancelled: true
2021-07-02 11:43:03.243 22268-22268/? I/SetupAsyncTask: onCancelled(SetupAsyncTask.java:130)[main]: commonActivity: true
2021-07-02 11:43:03.244 22268-22268/? I/SetupAsyncTask: onCancelled(SetupAsyncTask.java:136)[main]: LeafcutterCardDataRequestorActivity @70cb555 isFinishing: false, resumed: false
2021-07-02 11:43:03.245 22368-22368/? I/PaymentActivity: onResume(BaseActivity.java:155)[main]: resumed
2021-07-02 11:43:03.245 22268-22268/? D/EmployeeConnector: on service success: ResultStatus{statusCode=OK, statusMessage=null}
2021-07-02 11:43:03.249 22368-22368/? I/PaymentActivity: onPause(BaseActivity.java:131)[main]: paused
2021-07-02 11:43:03.261 22497-22497/? I/ContactsPerf: VoicemailContentProvider.onCreate start
2021-07-02 11:43:03.262 847-847/? D/SurfaceFlinger: duplicate layer name: changing com.clover.payment.executor.secure/com.clover.payment.executor.secure.PaymentActivity to com.clover.payment.executor.secure/com.clover.payment.executor.secure.PaymentActivity#1
2021-07-02 11:43:03.263 22268-22268/? I/LeafcutterCardDataRequestorActivity: onCreate(CommonActivity.java:186)[main]: @5b4140e +onCreate: null
2021-07-02 11:43:03.270 22268-22268/? I/LeafcutterCardDataRequestorActivity: onCreate(CommonActivity.java:227)[main]: @5b4140e -onCreate
2021-07-02 11:43:03.271 22497-22497/? I/ContactsPerf: VoicemailContentProvider.onCreate finish
2021-07-02 11:43:03.275 22268-22268/? I/LeafcutterCardDataRequestorActivity: onStart(CommonActivity.java:1136)[main]: @5b4140e +onStart
2021-07-02 11:43:03.275 22497-22518/? D/ContactsDatabaseHelper: WAL enabled for contacts2.db: true
2021-07-02 11:43:03.278 22268-22268/? I/LeafcutterCardDataRequestorActivity: onStart(CommonActivity.java:1162)[main]: @5b4140e -onStart

How can we either launch a card read successfully, or detect whether a given device has the ability to return card details for gift cards? This seems to return true:

Platform2.supportsFeature(this, Platform2.Feature.SECURE_PAYMENTS)

So we can't gate it on that.

station pro
10 |2000 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

0 Answers

· Write an Answer

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Welcome to the
Clover Developer Community