In Standard Integration, presentPaymentMethods() results in the app crashing. Rolled back to @triniwiz/nativescript-stripe 7.0.1 and no issue.
Tested with @triniwiz/nativescript-stripe 8.0.2, @nativescript/android 8.1.1, Android SDK 30, 31 & 32. No issue on iOS.
An uncaught Exception occurred on "main" thread.
Calling js method onSingleTapUp failed
Error: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.stripe.android.model.PaymentMethod$Type.writeToParcel(android.os.Parcel, int)' on a null object reference
StackTrace:
presentPaymentMethods(file:///data/data/com.redacted.redacted/files/app/vendor.js:57234:21)
at onTapPmtMethod(file:///data/data/com.redacted.redacted/files/app/bundle.js:15776:27)
at invokeWithErrorHandling(file:///data/data/com.redacted.redacted/files/app/vendor.js:141596:26)
at invoker(file:///data/data/com.redacted.redacted/files/app/vendor.js:142253:14)
at _executeCallback(file:///data/data/com.redacted.redacted/files/app/vendor.js:34248:27)
at TapAndDoubleTapGestureListenerImpl._handleSingleTap(file:///data/data/com.redacted.redacted/files/app/vendor.js:33991:17)
at TapAndDoubleTapGestureListenerImpl.onSingleTapUp(file:///data/data/com.redacted.redacted/files/app/vendor.js:33960:14)
at androidOnTouchEvent(file:///data/data/com.redacted.redacted/files/app/vendor.js:34182:41)
at (file:///data/data/com.redacted.redacted/files/app/vendor.js:27597:25)
at handleGestureTouch(file:///data/data/com.redacted.redacted/files/app/vendor.js:27596:18)
at TouchListenerImpl.onTouch(file:///data/data/com.redacted.redacted/files/app/vendor.js:27319:15)
at com.tns.Runtime.callJSMethodNative(Native Method)
at com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1302)
at com.tns.Runtime.callJSMethodImpl(Runtime.java:1188)
at com.tns.Runtime.callJSMethod(Runtime.java:1175)
at com.tns.Runtime.callJSMethod(Runtime.java:1153)
at com.tns.Runtime.callJSMethod(Runtime.java:1149)
at com.tns.gen.android.view.GestureDetector_SimpleOnGestureListener_vendor_33952_28_TapAndDoubleTapGestureListenerImpl.onSingleTapUp(GestureDetector_SimpleOnGestureListener_vendor_33952_28_TapAndDoubleTapGestureListenerImpl.java:21)
at android.view.GestureDetector.onTouchEvent(GestureDetector.java:758)
at androidx.core.view.GestureDetectorCompat$GestureDetectorCompatImplJellybeanMr2.onTouchEvent(GestureDetectorCompat.java:480)
at androidx.core.view.GestureDetectorCompat.onTouchEvent(GestureDetectorCompat.java:543)
at com.tns.Runtime.callJSMethodNative(Native Method)
at com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1302)
at com.tns.Runtime.callJSMethodImpl(Runtime.java:1188)
at com.tns.Runtime.callJSMethod(Runtime.java:1175)
at com.tns.Runtime.callJSMethod(Runtime.java:1153)
at com.tns.Runtime.callJSMethod(Runtime.java:1149)
at com.tns.gen.java.lang.Object_vendor_27310_28_TouchListenerImpl.onTouch(Object_vendor_27310_28_TouchListenerImpl.java:19)
at android.view.View.dispatchTouchEvent(View.java:14305)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799)
at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:488)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1871)
at android.app.Activity.dispatchTouchEvent(Activity.java:4125)
at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)
at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:446)
at android.view.View.dispatchPointerEvent(View.java:14568)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:6016)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5819)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5310)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5367)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5333)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5485)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5341)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5542)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5314)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5367)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5333)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5341)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5314)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:8080)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:8031)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7992)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:8203)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:220)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:335)
at android.os.Looper.loop(Looper.java:183)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.stripe.android.model.PaymentMethod$Type.writeToParcel(android.os.Parcel, int)' on a null object reference
at com.stripe.android.view.PaymentMethodsActivityStarter$Args.writeToParcel(Unknown Source:50)
at android.os.Parcel.writeParcelable(Parcel.java:1904)
at android.os.Parcel.writeValue(Parcel.java:1810)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:975)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1620)
at android.os.Bundle.writeToParcel(Bundle.java:1303)
at android.os.Parcel.writeBundle(Parcel.java:1044)
at android.content.Intent.writeToParcel(Intent.java:10855)
at android.app.IActivityTaskManager$Stub$Proxy.startActivity(IActivityTaskManager.java:3668)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1723)
at android.app.Activity.startActivityForResult(Activity.java:5314)
at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:647)
at android.app.Activity.startActivityForResult(Activity.java:5272)
at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:628)
at com.stripe.android.view.ActivityStarter.startForResult(ActivityStarter.kt:63)
at com.stripe.android.PaymentSession.presentPaymentMethodSelection(PaymentSession.kt:241)
... 77 more
In Standard Integration, presentPaymentMethods() results in the app crashing. Rolled back to
@triniwiz/nativescript-stripe 7.0.1
and no issue.Tested with
@triniwiz/nativescript-stripe 8.0.2
,@nativescript/android 8.1.1,
Android SDK 30, 31 & 32. No issue on iOS.