stripe-terminal-react-native icon indicating copy to clipboard operation
stripe-terminal-react-native copied to clipboard

[bug] Contactless transaction failed com.stripe.core.aidIrpc.AidIRpcException: Failed to send request to AIDL server.

Open nabilfreeman opened this issue 5 months ago • 8 comments

Describe the bug See the attached photo. Repeatably on Android, after calling collectPaymentMethod to present the Tap to Pay card reader, the reader screen dismisses and this error in thrown. The full text in the alert body is the entirety of the error message:

Contactless transaction failed com.stripe.core.aidIrpc.AidIRpcException: Failed to send request to AIDL server.

It appears this issue was introduced after updating from targetSdkVersion & compileSdkVersion 33 to 34.

It is still possible to take a contactless payment on Android, so this appears to be intermittent.

My best guess is that this is related to card read errors ("Try again" and loud beep on Android). After two or three of these, the sheet closes and the error is triggered.

In general, it seems that the Android tap to pay reader is very unreliable, and the user has to endure several "Try again" errors before successfully processing the payment. This was the case before updating the targetSdkVersion, so I am not sure if it is related.

To Reproduce Steps to reproduce the behavior:

  1. Trigger collectPaymentMethod({ paymentIntent })
  2. Observe payment sheet appears
  3. Tap a payment card in the indicated location
  4. Observe either a successful payment (if so, restart the steps here), or a loud beep and "Try again" error
  5. After 2-3 "Try again" errors, observe the payment sheet dismisses and collectPaymentMethod promise rejects with the error message in the issue title.

Expected behavior

  • Primarily, the payment sheet remains active correctly for both successful and unsuccessful card reads
  • Secondarily, the tap to pay reader is more reliable in reading the card successfully for the first time

Screenshots

IMG_6399

Stripe Terminal React Native SDK version

  • ^0.0.1-beta.19

Smartphone (please complete the following information):

  • Device: Google Pixel 6a
  • OS: Android 14

Additional context

In Expo app.json plugins:

[
				"expo-build-properties",
				{
					"android": {
						"targetSdkVersion": 34,
						"compileSdkVersion": 34,
						"minSdkVersion": 26,
						"buildToolsVersion": "34.0.0",
						"packagingOptions": {
							"exclude": [
								"org/bouncycastle/x509/CertPathReviewerMessages*"
							]
						}
					}
				}
]

nabilfreeman avatar Sep 12 '24 11:09 nabilfreeman