pay_entity.dart 3.04 KB
import 'dart:convert';
import 'package:Parlando/generated/json/base/json_field.dart';
import 'package:Parlando/generated/json/pay_entity.g.dart';

@JsonSerializable()
class PayEntity {
  String? status;
  int? code;
  String? message;
  PayData? data;
  PayError? error;

  PayEntity();

  factory PayEntity.fromJson(Map<String, dynamic> json) =>
      $PayEntityFromJson(json);

  Map<String, dynamic> toJson() => $PayEntityToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}

@JsonSerializable()
class PayData {
  String? id;
  String? intent;
  String? status;
  @JSONField(name: "purchase_units")
  List<PayDataPurchaseUnits>? purchaseUnits;
  @JSONField(name: "create_time")
  String? createTime;
  List<PayDataLinks>? links;

  PayData();

  factory PayData.fromJson(Map<String, dynamic> json) => $PayDataFromJson(json);

  Map<String, dynamic> toJson() => $PayDataToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}

@JsonSerializable()
class PayDataPurchaseUnits {
  @JSONField(name: "reference_id")
  String? referenceId;
  PayDataPurchaseUnitsAmount? amount;
  PayDataPurchaseUnitsPayee? payee;
  String? description;
  @JSONField(name: "custom_id")
  String? customId;
  @JSONField(name: "soft_descriptor")
  String? softDescriptor;

  PayDataPurchaseUnits();

  factory PayDataPurchaseUnits.fromJson(Map<String, dynamic> json) =>
      $PayDataPurchaseUnitsFromJson(json);

  Map<String, dynamic> toJson() => $PayDataPurchaseUnitsToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}

@JsonSerializable()
class PayDataPurchaseUnitsAmount {
  @JSONField(name: "currency_code")
  String? currencyCode;
  String? value;

  PayDataPurchaseUnitsAmount();

  factory PayDataPurchaseUnitsAmount.fromJson(Map<String, dynamic> json) =>
      $PayDataPurchaseUnitsAmountFromJson(json);

  Map<String, dynamic> toJson() => $PayDataPurchaseUnitsAmountToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}

@JsonSerializable()
class PayDataPurchaseUnitsPayee {
  @JSONField(name: "email_address")
  String? emailAddress;
  @JSONField(name: "merchant_id")
  String? merchantId;

  PayDataPurchaseUnitsPayee();

  factory PayDataPurchaseUnitsPayee.fromJson(Map<String, dynamic> json) =>
      $PayDataPurchaseUnitsPayeeFromJson(json);

  Map<String, dynamic> toJson() => $PayDataPurchaseUnitsPayeeToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}

@JsonSerializable()
class PayDataLinks {
  String? href;
  String? rel;
  String? method;

  PayDataLinks();

  factory PayDataLinks.fromJson(Map<String, dynamic> json) =>
      $PayDataLinksFromJson(json);

  Map<String, dynamic> toJson() => $PayDataLinksToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}

@JsonSerializable()
class PayError {
  PayError();

  factory PayError.fromJson(Map<String, dynamic> json) =>
      $PayErrorFromJson(json);

  Map<String, dynamic> toJson() => $PayErrorToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}