11import 'package:stripe/messages.dart' ;
22import 'package:stripe/src/expanded.dart' ;
33import 'package:stripe/src/utils/expandable_fields/customer_expandable_field.dart' ;
4+ import 'package:stripe/src/utils/expandable_fields/default_payment_method_expandable_field.dart' ;
5+ import 'package:stripe/src/utils/expandable_fields/default_source_expandable_field.dart' ;
46import 'package:stripe/src/utils/expandable_fields/discounts_expandable_field.dart' ;
57import 'package:stripe/src/utils/expandable_fields/latest_invoice_expanded_expandable_field.dart' ;
68
@@ -9,12 +11,16 @@ class SubscriptionExpanded {
911 final List <Discount >? discounts;
1012 final InvoiceExpanded ? latestInvoice;
1113 final Customer ? customer;
14+ final PaymentMethod ? defaultPaymentMethod;
15+ final Source ? defaultSource;
1216
1317 SubscriptionExpanded ({
1418 required this .subscription,
1519 this .discounts,
1620 this .latestInvoice,
1721 this .customer,
22+ this .defaultPaymentMethod,
23+ this .defaultSource,
1824 });
1925
2026 factory SubscriptionExpanded .fromJson (
@@ -38,11 +44,24 @@ class SubscriptionExpanded {
3844 customer = const CustomerExpandableField ().extract (json);
3945 }
4046
47+ PaymentMethod ? defaultPaymentMethod;
48+ if (expand.contains (SubscriptionExpandableField .defaultPaymentMethod)) {
49+ defaultPaymentMethod =
50+ const DefaultPaymentMethodExpandableField ().extract (json);
51+ }
52+
53+ Source ? defaultSource;
54+ if (expand.contains (SubscriptionExpandableField .defaultSource)) {
55+ defaultSource = const DefaultSourceExpandableField ().extract (json);
56+ }
57+
4158 return SubscriptionExpanded (
4259 subscription: Subscription .fromJson (json),
4360 discounts: discounts,
4461 latestInvoice: latestInvoice,
4562 customer: customer,
63+ defaultPaymentMethod: defaultPaymentMethod,
64+ defaultSource: defaultSource,
4665 );
4766 }
4867}
0 commit comments