import 'package:json_annotation/json_annotation.dart';

import 'package:pshared/data/dto/payment/payment_quote.dart';

part 'payment.g.dart';


@JsonSerializable()
class PaymentDTO {
  final String? paymentRef;
  final String? idempotencyKey;
  final String? state;
  final String? failureCode;
  final String? failureReason;
  final PaymentQuoteDTO? lastQuote;

  const PaymentDTO({
    this.paymentRef,
    this.idempotencyKey,
    this.state,
    this.failureCode,
    this.failureReason,
    this.lastQuote,
  });

  factory PaymentDTO.fromJson(Map<String, dynamic> json) => _$PaymentDTOFromJson(json);
  Map<String, dynamic> toJson() => _$PaymentDTOToJson(this);
}
