getTransactionStatus method

Future<CloudPosTransaction> getTransactionStatus(
  1. String transactionId
)

Polls the current status of a staged transaction.

Implementation

Future<CloudPosTransaction> getTransactionStatus(String transactionId) async {
  final url =
      '$baseUrl/cloudpos/api/cloudpos/transactions/$transactionId/status';

  final response = await _httpClient.get(url: url, user: _authService.user);

  if (response != null && response.statusCode == HttpStatus.ok) {
    final data = response.data is String
        ? jsonDecode(response.data as String) as Map<String, dynamic>
        : response.data as Map<String, dynamic>;

    return CloudPosTransaction.fromJson(data);
  }

  throw PlatformException(
    code: 'GET_STATUS_FAILED',
    message:
        'Failed to get transaction status: ${response?.statusCode ?? 'no response'}',
  );
}