import 'package:pshared/api/requests/payment/base.dart'; class InitiatePaymentsRequest extends PaymentBaseRequest { final String quoteRef; final String? intentRef; final List? intentRefs; const InitiatePaymentsRequest({ required super.idempotencyKey, super.metadata, required this.quoteRef, this.intentRef, this.intentRefs, }); factory InitiatePaymentsRequest.fromJson(Map json) { return InitiatePaymentsRequest( idempotencyKey: json['idempotencyKey'] as String, metadata: (json['metadata'] as Map?)?.map( (key, value) => MapEntry(key, value as String), ), quoteRef: json['quoteRef'] as String, intentRef: json['intentRef'] as String?, intentRefs: (json['intentRefs'] as List?) ?.map((value) => value as String) .toList(), ); } @override Map toJson() { return { 'idempotencyKey': idempotencyKey, 'metadata': metadata, 'quoteRef': quoteRef, if (intentRef != null) 'intentRef': intentRef, if (intentRefs != null) 'intentRefs': intentRefs, }; } }