I have reported this in Auth.net In-Person SDK github itself last year, but so far no one has replied and the issue is still there. This is the link to the github issue.
https://github.com/AuthorizeNet/inperson-sdk-android/issues/83
Basically, I have integrated Auth.net In-Person Android SDK to my application to accept in-person payments. I use BBPOS Chipper 2X swiper. And it is working successfully most of the time.
However, I am getting random crashes on multiple devices. My end users are reporting the same. These are the crash logs I am seeing in Firebase crashlytics console.
Crash 1
Fatal Exception: java.lang.StringIndexOutOfBoundsException: length=139; index=139 at java.lang.String.charAt(String.java) at net.authorize.aim.emv.ecdhencryptdecrypt.Utils.hexStringToByteArray(:62) at net.authorize.aim.emv.QuickChipActivity.ॱ(:728) at net.authorize.aim.emv.QuickChipActivity.onReturnCheckCardResult(:652) at net.authorize.aim.emv.І$ǃ.onReturnCheckCardResult(:157) at com.bbpos.bbdevice.BBDeviceController$82.run(:3270) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:246) at android.app.ActivityThread.main(ActivityThread.java:8512) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1139)
Crash 2
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.bbpos.bb03z.l.aaa010(boolean)' on a null object reference at com.bbpos.bbdevice.BBDeviceController.setDetectAudioDevicePlugged(:8933) at net.authorize.aim.emv.QuickChipActivity$15.run(:308) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:246) at android.app.ActivityThread.main(ActivityThread.java:8512) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1139)
One of the affected device is Samsung Galaxy A42 5G running Android 11. But according to the crashlytics reports, the issue is not limited to this one device.
Let me know if you want more information.
Note: On a side note, the Android In-Person SDK hasn't been updated in 3 years. And for the last 2 years, none of the github issues are getting attention, which is kind of scary and odd.
06-28-2022 11:24 PM
Just to add to above, I use BBPOS bluetooth swiper, not the audio jack one.
06-29-2022 12:54 AM
They're offered by all major service providers. Customers don't know what they're paying until they make a purchase, which seems to be a problem for you. I believe that this will lead to issues
06-29-2022 07:55 PM
I find this information to be useful. I recently utilized the Bluetooth BBPOS swiper instead of the audio jack one.
06-29-2022 08:01 PM