diff --git a/lib/api/interceptors/auth_interceptor.dart b/lib/api/interceptors/auth_interceptor.dart index 53c4824..313df0c 100644 --- a/lib/api/interceptors/auth_interceptor.dart +++ b/lib/api/interceptors/auth_interceptor.dart @@ -33,7 +33,14 @@ class AuthInterceptor extends Interceptor { ErrorInterceptorHandler handler, ) async { // Handle 401 errors by refreshing token and retrying - if (err.response?.statusCode == 401) { + final response = err.response; + if (response?.statusCode == 401) { + final data = response?.data; + // Only refresh token if error is NOT INCORRECT_TPIN (or similar business error) + if (data is Map && data['error'] == 'INCORRECT_TPIN') { + // Pass the error through, do not retry + return handler.next(err); + } // On 401, try to get a new token final token = await _authRepository.getAccessToken();