updateOrder method

void updateOrder(
  1. Map<String, Object?> data
)

Updates the order state from a checkout order:updated event.

Implementation

void updateOrder(Map<String, Object?> data) {
  final Object? orderValue = data['order'];
  final Map<String, Object?>? normalizedOrder = switch (orderValue) {
    Map<String, Object?> order => order,
    _ when _looksLikeOrderPayload(data) => data,
    _ => null,
  };
  _order = normalizedOrder;

  final Object? explicitSecret =
      data['orderClientSecret'] ?? data['clientSecret'];
  final Object? nestedSecret = normalizedOrder?['clientSecret'];
  final Object? secret = explicitSecret ?? nestedSecret;
  _orderClientSecret = secret is String ? secret : _orderClientSecret;
  notifyListeners();
}