PostTransactionResponse.fromJson constructor

PostTransactionResponse.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory PostTransactionResponse.fromJson(Map<String, dynamic> json) {
  String status = json['status'];

  if ('success' == status) {
    String? message = json['message'] == null ? null : json['message'];
    return PostTransactionSuccess(json['tx'], message: message);
  } else if ('revised' == status) {
    return PostTransactionRevised(json['tx'], json['message']);
  } else if ('pending' == status) {
    int? timeout = convertInt(json['timeout']);
    String? message = json['message'] == null ? null : json['message'];
    return PostTransactionPending(timeout: timeout, message: message);
  } else if ('action_required' == status) {
    return PostTransactionActionRequired(json['message'], json['action_url'],
        actionMethod: json['action_method'],
        actionFields: json['action_fields'] == null
            ? null
            : List<String>.from(json['action_fields'].map((e) => e)));
  } else if ('rejected' == status) {
    return PostTransactionRejected(json['error']);
  } else {
    throw UnknownPostTransactionResponseStatus("Unknown status '" +
        status +
        "' received in the post transaction response");
  }
}