# Common Integration Errors

This page provides solutions for common issues encountered when integrating your application with the Getnet Payment App via deeplinks.

## Software and Intent issues

Common errors related to Intent communication and app connectivity.

### Intent fails to resolve

This error occurs when your application crashes or nothing happens when calling `startActivityForResult`. The most common cause is that the Getnet Payment App is not installed on the terminal or the URI scheme is incorrect.

**Solution**

1. Verify the package `com.getnet.payment` (or equivalent) is installed on the terminal
2. Ensure you use the correct base URI: `getnet://payment/v1/`
3. Add a check using `intent.resolveActivity(packageManager)` before launching the Intent

### Result code "4" (unknown state)

This error occurs when the app returns `result="4"`, indicating an unknown transaction state. This typically happens when a critical failure (such as a crash or power loss) occurs after the transaction reaches the processor but before a response can be generated.

**Solution**

Call the `getnet://payment/v1/last-transaction` deeplink (Get Last Voucher) first, before calling reports, to verify if the payment was actually approved.

## Timeouts

Common timeout-related errors and their solutions.

### QR Code timeout

This error occurs when the transaction cancels automatically during QR Code payment. The QR Code display has a 180-second timeout limit, and the authorization phase has a 60-second timeout limit.

**Solution**

Instruct the user to scan the code immediately. If the timeout is reached, you must initiate a new payment intent.

### General transaction timeout

This error occurs when the Payment App returns a host timeout error, typically due to no response from the acquirer within 15–30 seconds.

**Solution**

Verify the terminal's internet connection. If the error persists, perform a connectivity check to confirm service availability.

## Next steps

* [Result codes and data structures](/en/app2app/reference-a2a/result-codes-data-structure) - map a returned code to its meaning.
* [Check a transaction status](https://docs.globalgetnet.com/en/products/in-store-payments/app2app-integration?doc=check-a-transaction-status) - resolve an unknown state before retrying.