apskel-pos-flutter/lib/data/models/response/payment_response_model.dart
2025-08-03 20:46:57 +07:00

96 lines
2.6 KiB
Dart

import 'dart:convert';
class PaymentSuccessResponseModel {
final bool? success;
final PaymentData? data;
final dynamic errors;
PaymentSuccessResponseModel({
this.success,
this.data,
this.errors,
});
factory PaymentSuccessResponseModel.fromJson(String str) =>
PaymentSuccessResponseModel.fromMap(json.decode(str));
String toJson() => json.encode(toMap());
factory PaymentSuccessResponseModel.fromMap(Map<String, dynamic> json) =>
PaymentSuccessResponseModel(
success: json["success"],
data: json["data"] == null ? null : PaymentData.fromMap(json["data"]),
errors: json["errors"],
);
Map<String, dynamic> toMap() => {
"success": success,
"data": data?.toMap(),
"errors": errors,
};
}
class PaymentData {
final String? id;
final String? orderId;
final String? paymentMethodId;
final int? amount;
final String? status;
final String? transactionId;
final int? splitNumber;
final int? splitTotal;
final String? splitDescription;
final int? refundAmount;
final DateTime? createdAt;
final DateTime? updatedAt;
PaymentData({
this.id,
this.orderId,
this.paymentMethodId,
this.amount,
this.status,
this.transactionId,
this.splitNumber,
this.splitTotal,
this.splitDescription,
this.refundAmount,
this.createdAt,
this.updatedAt,
});
factory PaymentData.fromMap(Map<String, dynamic> json) => PaymentData(
id: json["id"],
orderId: json["order_id"],
paymentMethodId: json["payment_method_id"],
amount: json["amount"],
status: json["status"],
transactionId: json["transaction_id"],
splitNumber: json["split_number"],
splitTotal: json["split_total"],
splitDescription: json["split_description"],
refundAmount: json["refund_amount"],
createdAt: json["created_at"] == null
? null
: DateTime.parse(json["created_at"]),
updatedAt: json["updated_at"] == null
? null
: DateTime.parse(json["updated_at"]),
);
Map<String, dynamic> toMap() => {
"id": id,
"order_id": orderId,
"payment_method_id": paymentMethodId,
"amount": amount,
"status": status,
"transaction_id": transactionId,
"split_number": splitNumber,
"split_total": splitTotal,
"split_description": splitDescription,
"refund_amount": refundAmount,
"created_at": createdAt?.toIso8601String(),
"updated_at": updatedAt?.toIso8601String(),
};
}