metadata;
/**
- * Configures how the subscription schedule handles billing for phase transitions. Possible
- * values are {@code phase_start} (default) or {@code billing_period_start}. {@code phase_start}
- * bills based on the current state of the subscription, ignoring changes scheduled in future
- * phases. {@code billing_period_start} bills predictively for upcoming phase transitions within
- * the current billing cycle, including pricing changes and service period adjustments that will
- * occur before the next invoice.
+ * Configures how the quote handles billing for line transitions. Possible values are {@code
+ * line_start} (default) or {@code billing_period_start}. {@code line_start} bills based on the
+ * current state of the line, ignoring changes scheduled for future lines. {@code
+ * billing_period_start} bills predictively for upcoming line transitions within the current
+ * billing cycle, including pricing changes and service period adjustments that will occur
+ * before the next invoice.
*
- * One of {@code billing_period_start}, or {@code phase_start}.
+ *
One of {@code billing_period_start}, or {@code line_start}.
*/
@SerializedName("phase_effective_at")
String phaseEffectiveAt;
@@ -2250,7 +2250,7 @@ public static class Flexible extends StripeObject {
}
}
- /** Sets the billing schedule for the subscription. */
+ /** Sets the billing schedule for the quote. */
@Getter
@Setter
@EqualsAndHashCode(callSuper = false)
@@ -2263,7 +2263,6 @@ public static class BillingSchedule extends StripeObject {
@SerializedName("bill_from")
BillFrom billFrom;
- /** Specifies the end of billing period. */
@SerializedName("bill_until")
BillUntil billUntil;
@@ -2309,15 +2308,14 @@ public void setPriceObject(Price expandableObject) {
}
}
- /** Specifies the start of the billing period. */
+ /**
+ * For more details about BillFrom, please refer to the API Reference.
+ */
@Getter
@Setter
@EqualsAndHashCode(callSuper = false)
public static class BillFrom extends StripeObject {
- /** Use an index to specify the position of an amendment to start prebilling with. */
- @SerializedName("amendment_start")
- AmendmentStart amendmentStart;
-
/** The time the billing schedule applies from. */
@SerializedName("computed_timestamp")
Long computedTimestamp;
@@ -2326,10 +2324,6 @@ public static class BillFrom extends StripeObject {
@SerializedName("line_starts_at")
LineStartsAt lineStartsAt;
- /** Timestamp is calculated from the request time. */
- @SerializedName("relative")
- Relative relative;
-
/**
* Use a precise Unix timestamp for prebilling to start. Must be earlier than {@code
* bill_until}.
@@ -2342,23 +2336,12 @@ public static class BillFrom extends StripeObject {
* timestamp}, {@code relative}, {@code amendment_start}, {@code now}, {@code
* quote_acceptance_date}, {@code line_starts_at}, or {@code pause_collection_start}.
*
- *
One of {@code amendment_start}, {@code line_starts_at}, {@code now}, {@code
- * pause_collection_start}, {@code quote_acceptance_date}, {@code relative}, or {@code
- * timestamp}.
+ *
One of {@code line_starts_at}, {@code pause_collection_start}, {@code
+ * quote_acceptance_date}, or {@code timestamp}.
*/
@SerializedName("type")
String type;
- /** Use an index to specify the position of an amendment to start prebilling with. */
- @Getter
- @Setter
- @EqualsAndHashCode(callSuper = false)
- public static class AmendmentStart extends StripeObject {
- /** Use an index to specify the position of an amendment to start prebilling with. */
- @SerializedName("index")
- Long index;
- }
-
/** The timestamp the given line starts at. */
@Getter
@Setter
@@ -2369,36 +2352,16 @@ public static class LineStartsAt extends StripeObject implements HasId {
@SerializedName("id")
String id;
}
-
- /** Timestamp is calculated from the request time. */
- @Getter
- @Setter
- @EqualsAndHashCode(callSuper = false)
- public static class Relative extends StripeObject {
- /**
- * Specifies billing duration. Possible values are {@code day}, {@code week}, {@code
- * month}, or {@code year}.
- *
- *
One of {@code day}, {@code month}, {@code week}, or {@code year}.
- */
- @SerializedName("interval")
- String interval;
-
- /** The multiplier applied to the interval. */
- @SerializedName("interval_count")
- Long intervalCount;
- }
}
- /** Specifies the end of billing period. */
+ /**
+ * For more details about BillUntil, please refer to the API Reference.
+ */
@Getter
@Setter
@EqualsAndHashCode(callSuper = false)
public static class BillUntil extends StripeObject {
- /** Use an index to specify the position of an amendment to end prebilling with. */
- @SerializedName("amendment_end")
- AmendmentEnd amendmentEnd;
-
/** The timestamp the billing schedule will apply until. */
@SerializedName("computed_timestamp")
Long computedTimestamp;
@@ -2419,22 +2382,12 @@ public static class BillUntil extends StripeObject {
* Describes how the billing schedule will determine the end date. Either {@code duration}
* or {@code timestamp}.
*
- *
One of {@code amendment_end}, {@code duration}, {@code line_ends_at}, {@code
- * schedule_end}, {@code timestamp}, or {@code upcoming_invoice}.
+ *
One of {@code duration}, {@code line_ends_at}, {@code schedule_end}, {@code
+ * timestamp}, or {@code upcoming_invoice}.
*/
@SerializedName("type")
String type;
- /** Use an index to specify the position of an amendment to end prebilling with. */
- @Getter
- @Setter
- @EqualsAndHashCode(callSuper = false)
- public static class AmendmentEnd extends StripeObject {
- /** Use an index to specify the position of an amendment to end prebilling with. */
- @SerializedName("index")
- Long index;
- }
-
/**
* Configures the {@code bill_until} date based on the provided {@code interval} and {@code
* interval_count}.
@@ -2541,14 +2494,14 @@ public static class SubscriptionDataOverride extends StripeObject {
String endBehavior;
/**
- * Configures how the subscription schedule handles billing for phase transitions. Possible
- * values are {@code phase_start} (default) or {@code billing_period_start}. {@code phase_start}
- * bills based on the current state of the subscription, ignoring changes scheduled in future
- * phases. {@code billing_period_start} bills predictively for upcoming phase transitions within
- * the current billing cycle, including pricing changes and service period adjustments that will
- * occur before the next invoice.
+ * Configures how the quote handles billing for line transitions. Possible values are {@code
+ * line_start} (default) or {@code billing_period_start}. {@code line_start} bills based on the
+ * current state of the line, ignoring changes scheduled for future lines. {@code
+ * billing_period_start} bills predictively for upcoming line transitions within the current
+ * billing cycle, including pricing changes and service period adjustments that will occur
+ * before the next invoice.
*
- *
One of {@code billing_period_start}, or {@code phase_start}.
+ *
One of {@code billing_period_start}, or {@code line_start}.
*/
@SerializedName("phase_effective_at")
String phaseEffectiveAt;
@@ -2726,7 +2679,7 @@ public static class LineEndsAt extends StripeObject implements HasId {
}
}
- /** Sets the billing schedule for the subscription. */
+ /** Sets the billing schedule for the quote. */
@Getter
@Setter
@EqualsAndHashCode(callSuper = false)
@@ -2739,7 +2692,6 @@ public static class BillingSchedule extends StripeObject {
@SerializedName("bill_from")
BillFrom billFrom;
- /** Specifies the end of billing period. */
@SerializedName("bill_until")
BillUntil billUntil;
@@ -2785,15 +2737,14 @@ public void setPriceObject(Price expandableObject) {
}
}
- /** Specifies the start of the billing period. */
+ /**
+ * For more details about BillFrom, please refer to the API Reference.
+ */
@Getter
@Setter
@EqualsAndHashCode(callSuper = false)
public static class BillFrom extends StripeObject {
- /** Use an index to specify the position of an amendment to start prebilling with. */
- @SerializedName("amendment_start")
- AmendmentStart amendmentStart;
-
/** The time the billing schedule applies from. */
@SerializedName("computed_timestamp")
Long computedTimestamp;
@@ -2802,10 +2753,6 @@ public static class BillFrom extends StripeObject {
@SerializedName("line_starts_at")
LineStartsAt lineStartsAt;
- /** Timestamp is calculated from the request time. */
- @SerializedName("relative")
- Relative relative;
-
/**
* Use a precise Unix timestamp for prebilling to start. Must be earlier than {@code
* bill_until}.
@@ -2818,23 +2765,12 @@ public static class BillFrom extends StripeObject {
* timestamp}, {@code relative}, {@code amendment_start}, {@code now}, {@code
* quote_acceptance_date}, {@code line_starts_at}, or {@code pause_collection_start}.
*
- *
One of {@code amendment_start}, {@code line_starts_at}, {@code now}, {@code
- * pause_collection_start}, {@code quote_acceptance_date}, {@code relative}, or {@code
- * timestamp}.
+ *
One of {@code line_starts_at}, {@code pause_collection_start}, {@code
+ * quote_acceptance_date}, or {@code timestamp}.
*/
@SerializedName("type")
String type;
- /** Use an index to specify the position of an amendment to start prebilling with. */
- @Getter
- @Setter
- @EqualsAndHashCode(callSuper = false)
- public static class AmendmentStart extends StripeObject {
- /** Use an index to specify the position of an amendment to start prebilling with. */
- @SerializedName("index")
- Long index;
- }
-
/** The timestamp the given line starts at. */
@Getter
@Setter
@@ -2845,36 +2781,16 @@ public static class LineStartsAt extends StripeObject implements HasId {
@SerializedName("id")
String id;
}
-
- /** Timestamp is calculated from the request time. */
- @Getter
- @Setter
- @EqualsAndHashCode(callSuper = false)
- public static class Relative extends StripeObject {
- /**
- * Specifies billing duration. Possible values are {@code day}, {@code week}, {@code
- * month}, or {@code year}.
- *
- *
One of {@code day}, {@code month}, {@code week}, or {@code year}.
- */
- @SerializedName("interval")
- String interval;
-
- /** The multiplier applied to the interval. */
- @SerializedName("interval_count")
- Long intervalCount;
- }
}
- /** Specifies the end of billing period. */
+ /**
+ * For more details about BillUntil, please refer to the API Reference.
+ */
@Getter
@Setter
@EqualsAndHashCode(callSuper = false)
public static class BillUntil extends StripeObject {
- /** Use an index to specify the position of an amendment to end prebilling with. */
- @SerializedName("amendment_end")
- AmendmentEnd amendmentEnd;
-
/** The timestamp the billing schedule will apply until. */
@SerializedName("computed_timestamp")
Long computedTimestamp;
@@ -2895,22 +2811,12 @@ public static class BillUntil extends StripeObject {
* Describes how the billing schedule will determine the end date. Either {@code duration}
* or {@code timestamp}.
*
- *
One of {@code amendment_end}, {@code duration}, {@code line_ends_at}, {@code
- * schedule_end}, {@code timestamp}, or {@code upcoming_invoice}.
+ *
One of {@code duration}, {@code line_ends_at}, {@code schedule_end}, {@code
+ * timestamp}, or {@code upcoming_invoice}.
*/
@SerializedName("type")
String type;
- /** Use an index to specify the position of an amendment to end prebilling with. */
- @Getter
- @Setter
- @EqualsAndHashCode(callSuper = false)
- public static class AmendmentEnd extends StripeObject {
- /** Use an index to specify the position of an amendment to end prebilling with. */
- @SerializedName("index")
- Long index;
- }
-
/**
* Configures the {@code bill_until} date based on the provided {@code interval} and {@code
* interval_count}.
diff --git a/src/main/java/com/stripe/model/QuoteLine.java b/src/main/java/com/stripe/model/QuoteLine.java
index 4e85447bcd9..c6dad65ddd8 100644
--- a/src/main/java/com/stripe/model/QuoteLine.java
+++ b/src/main/java/com/stripe/model/QuoteLine.java
@@ -47,6 +47,19 @@ public class QuoteLine extends StripeObject implements HasId {
@SerializedName("cancel_subscription_schedule")
CancelSubscriptionSchedule cancelSubscriptionSchedule;
+ /**
+ * Configures how the subscription schedule handles billing for phase transitions. Possible values
+ * are {@code phase_start} (default) or {@code billing_period_start}. {@code phase_start} bills
+ * based on the current state of the subscription, ignoring changes scheduled in future phases.
+ * {@code billing_period_start} bills predictively for upcoming phase transitions within the
+ * current billing cycle, including pricing changes and service period adjustments that will occur
+ * before the next invoice.
+ *
+ *
One of {@code billing_period_start}, or {@code line_start}.
+ */
+ @SerializedName("effective_at")
+ String effectiveAt;
+
/**
* Details to identify the end of the time range modified by the proposed change. If not supplied,
* the quote line is considered a point-in-time operation that only affects the exact timestamp at
@@ -308,6 +321,10 @@ public static class AddItem extends StripeObject {
@SerializedName("trial")
Trial trial;
+ /** The ID of the trial offer to apply to the configuration item. */
+ @SerializedName("trial_offer")
+ String trialOffer;
+
/** Get ID of expandable {@code price} object. */
public String getPrice() {
return (this.price != null) ? this.price.getId() : null;
@@ -755,6 +772,10 @@ public static class SetItem extends StripeObject {
@SerializedName("trial")
Trial trial;
+ /** The ID of the trial offer to apply to the configuration item. */
+ @SerializedName("trial_offer")
+ String trialOffer;
+
/** Get ID of expandable {@code price} object. */
public String getPrice() {
return (this.price != null) ? this.price.getId() : null;
diff --git a/src/main/java/com/stripe/model/QuotePreviewSubscriptionSchedule.java b/src/main/java/com/stripe/model/QuotePreviewSubscriptionSchedule.java
index 4f440955944..3d70f7c696c 100644
--- a/src/main/java/com/stripe/model/QuotePreviewSubscriptionSchedule.java
+++ b/src/main/java/com/stripe/model/QuotePreviewSubscriptionSchedule.java
@@ -446,22 +446,10 @@ public void setPriceObject(Price expandableObject) {
@Setter
@EqualsAndHashCode(callSuper = false)
public static class BillFrom extends StripeObject {
- /** Use an index to specify the position of an amendment to start prebilling with. */
- @SerializedName("amendment_start")
- AmendmentStart amendmentStart;
-
/** The time the billing schedule applies from. */
@SerializedName("computed_timestamp")
Long computedTimestamp;
- /** Lets you bill the period starting from a particular Quote line. */
- @SerializedName("line_starts_at")
- LineStartsAt lineStartsAt;
-
- /** Timestamp is calculated from the request time. */
- @SerializedName("relative")
- Relative relative;
-
/**
* Use a precise Unix timestamp for prebilling to start. Must be earlier than {@code
* bill_until}.
@@ -471,55 +459,12 @@ public static class BillFrom extends StripeObject {
/**
* Describes how the billing schedule determines the start date. Possible values are {@code
- * timestamp}, {@code relative}, {@code amendment_start}, {@code now}, {@code
- * quote_acceptance_date}, {@code line_starts_at}, or {@code pause_collection_start}.
- *
- *
One of {@code amendment_start}, {@code line_starts_at}, {@code now}, {@code
- * pause_collection_start}, {@code quote_acceptance_date}, {@code relative}, or {@code
* timestamp}.
+ *
+ *
Equal to {@code timestamp}.
*/
@SerializedName("type")
String type;
-
- /** Use an index to specify the position of an amendment to start prebilling with. */
- @Getter
- @Setter
- @EqualsAndHashCode(callSuper = false)
- public static class AmendmentStart extends StripeObject {
- /** Use an index to specify the position of an amendment to start prebilling with. */
- @SerializedName("index")
- Long index;
- }
-
- /** The timestamp the given line starts at. */
- @Getter
- @Setter
- @EqualsAndHashCode(callSuper = false)
- public static class LineStartsAt extends StripeObject implements HasId {
- /** Unique identifier for the object. */
- @Getter(onMethod_ = {@Override})
- @SerializedName("id")
- String id;
- }
-
- /** Timestamp is calculated from the request time. */
- @Getter
- @Setter
- @EqualsAndHashCode(callSuper = false)
- public static class Relative extends StripeObject {
- /**
- * Specifies billing duration. Possible values are {@code day}, {@code week}, {@code month},
- * or {@code year}.
- *
- *
One of {@code day}, {@code month}, {@code week}, or {@code year}.
- */
- @SerializedName("interval")
- String interval;
-
- /** The multiplier applied to the interval. */
- @SerializedName("interval_count")
- Long intervalCount;
- }
}
/** Specifies the end of billing period. */
@@ -527,10 +472,6 @@ public static class Relative extends StripeObject {
@Setter
@EqualsAndHashCode(callSuper = false)
public static class BillUntil extends StripeObject {
- /** Use an index to specify the position of an amendment to end prebilling with. */
- @SerializedName("amendment_end")
- AmendmentEnd amendmentEnd;
-
/** The timestamp the billing schedule will apply until. */
@SerializedName("computed_timestamp")
Long computedTimestamp;
@@ -539,10 +480,6 @@ public static class BillUntil extends StripeObject {
@SerializedName("duration")
Duration duration;
- /** Lets you bill the period ending at a particular Quote line. */
- @SerializedName("line_ends_at")
- LineEndsAt lineEndsAt;
-
/** If specified, the billing schedule will apply until the specified timestamp. */
@SerializedName("timestamp")
Long timestamp;
@@ -551,22 +488,11 @@ public static class BillUntil extends StripeObject {
* Describes how the billing schedule will determine the end date. Either {@code duration} or
* {@code timestamp}.
*
- *
One of {@code amendment_end}, {@code duration}, {@code line_ends_at}, {@code
- * schedule_end}, {@code timestamp}, or {@code upcoming_invoice}.
+ *
One of {@code duration}, or {@code timestamp}.
*/
@SerializedName("type")
String type;
- /** Use an index to specify the position of an amendment to end prebilling with. */
- @Getter
- @Setter
- @EqualsAndHashCode(callSuper = false)
- public static class AmendmentEnd extends StripeObject {
- /** Use an index to specify the position of an amendment to end prebilling with. */
- @SerializedName("index")
- Long index;
- }
-
/**
* Configures the {@code bill_until} date based on the provided {@code interval} and {@code
* interval_count}.
@@ -588,17 +514,6 @@ public static class Duration extends StripeObject {
@SerializedName("interval_count")
Long intervalCount;
}
-
- /** The timestamp the given line ends at. */
- @Getter
- @Setter
- @EqualsAndHashCode(callSuper = false)
- public static class LineEndsAt extends StripeObject implements HasId {
- /** Unique identifier for the object. */
- @Getter(onMethod_ = {@Override})
- @SerializedName("id")
- String id;
- }
}
}
@@ -1141,6 +1056,19 @@ public static class Phase extends StripeObject {
@SerializedName("discounts")
List discounts;
+ /**
+ * Configures how the subscription schedule handles billing for phase transitions. Possible
+ * values are {@code phase_start} (default) or {@code billing_period_start}. {@code phase_start}
+ * bills based on the current state of the subscription, ignoring changes scheduled in future
+ * phases. {@code billing_period_start} bills predictively for upcoming phase transitions within
+ * the current billing cycle, including pricing changes and service period adjustments that will
+ * occur before the next invoice.
+ *
+ * One of {@code billing_period_start}, or {@code phase_start}.
+ */
+ @SerializedName("effective_at")
+ String effectiveAt;
+
/** The end of this phase of the subscription schedule. */
@SerializedName("end_date")
Long endDate;
@@ -1860,6 +1788,10 @@ public static class Item extends StripeObject {
@SerializedName("trial")
Trial trial;
+ /** The ID of the trial offer to apply to the configuration item. */
+ @SerializedName("trial_offer")
+ String trialOffer;
+
/** Get ID of expandable {@code plan} object. */
public String getPlan() {
return (this.plan != null) ? this.plan.getId() : null;
diff --git a/src/main/java/com/stripe/model/Subscription.java b/src/main/java/com/stripe/model/Subscription.java
index fb85694206a..684e88f9d54 100644
--- a/src/main/java/com/stripe/model/Subscription.java
+++ b/src/main/java/com/stripe/model/Subscription.java
@@ -1577,22 +1577,10 @@ public void setPriceObject(Price expandableObject) {
@Setter
@EqualsAndHashCode(callSuper = false)
public static class BillFrom extends StripeObject {
- /** Use an index to specify the position of an amendment to start prebilling with. */
- @SerializedName("amendment_start")
- AmendmentStart amendmentStart;
-
/** The time the billing schedule applies from. */
@SerializedName("computed_timestamp")
Long computedTimestamp;
- /** Lets you bill the period starting from a particular Quote line. */
- @SerializedName("line_starts_at")
- LineStartsAt lineStartsAt;
-
- /** Timestamp is calculated from the request time. */
- @SerializedName("relative")
- Relative relative;
-
/**
* Use a precise Unix timestamp for prebilling to start. Must be earlier than {@code
* bill_until}.
@@ -1602,55 +1590,12 @@ public static class BillFrom extends StripeObject {
/**
* Describes how the billing schedule determines the start date. Possible values are {@code
- * timestamp}, {@code relative}, {@code amendment_start}, {@code now}, {@code
- * quote_acceptance_date}, {@code line_starts_at}, or {@code pause_collection_start}.
- *
- *
One of {@code amendment_start}, {@code line_starts_at}, {@code now}, {@code
- * pause_collection_start}, {@code quote_acceptance_date}, {@code relative}, or {@code
* timestamp}.
+ *
+ *
Equal to {@code timestamp}.
*/
@SerializedName("type")
String type;
-
- /** Use an index to specify the position of an amendment to start prebilling with. */
- @Getter
- @Setter
- @EqualsAndHashCode(callSuper = false)
- public static class AmendmentStart extends StripeObject {
- /** Use an index to specify the position of an amendment to start prebilling with. */
- @SerializedName("index")
- Long index;
- }
-
- /** The timestamp the given line starts at. */
- @Getter
- @Setter
- @EqualsAndHashCode(callSuper = false)
- public static class LineStartsAt extends StripeObject implements HasId {
- /** Unique identifier for the object. */
- @Getter(onMethod_ = {@Override})
- @SerializedName("id")
- String id;
- }
-
- /** Timestamp is calculated from the request time. */
- @Getter
- @Setter
- @EqualsAndHashCode(callSuper = false)
- public static class Relative extends StripeObject {
- /**
- * Specifies billing duration. Possible values are {@code day}, {@code week}, {@code month},
- * or {@code year}.
- *
- *
One of {@code day}, {@code month}, {@code week}, or {@code year}.
- */
- @SerializedName("interval")
- String interval;
-
- /** The multiplier applied to the interval. */
- @SerializedName("interval_count")
- Long intervalCount;
- }
}
/** Specifies the end of billing period. */
@@ -1658,10 +1603,6 @@ public static class Relative extends StripeObject {
@Setter
@EqualsAndHashCode(callSuper = false)
public static class BillUntil extends StripeObject {
- /** Use an index to specify the position of an amendment to end prebilling with. */
- @SerializedName("amendment_end")
- AmendmentEnd amendmentEnd;
-
/** The timestamp the billing schedule will apply until. */
@SerializedName("computed_timestamp")
Long computedTimestamp;
@@ -1670,10 +1611,6 @@ public static class BillUntil extends StripeObject {
@SerializedName("duration")
Duration duration;
- /** Lets you bill the period ending at a particular Quote line. */
- @SerializedName("line_ends_at")
- LineEndsAt lineEndsAt;
-
/** If specified, the billing schedule will apply until the specified timestamp. */
@SerializedName("timestamp")
Long timestamp;
@@ -1682,22 +1619,11 @@ public static class BillUntil extends StripeObject {
* Describes how the billing schedule will determine the end date. Either {@code duration} or
* {@code timestamp}.
*
- *
One of {@code amendment_end}, {@code duration}, {@code line_ends_at}, {@code
- * schedule_end}, {@code timestamp}, or {@code upcoming_invoice}.
+ *
One of {@code duration}, or {@code timestamp}.
*/
@SerializedName("type")
String type;
- /** Use an index to specify the position of an amendment to end prebilling with. */
- @Getter
- @Setter
- @EqualsAndHashCode(callSuper = false)
- public static class AmendmentEnd extends StripeObject {
- /** Use an index to specify the position of an amendment to end prebilling with. */
- @SerializedName("index")
- Long index;
- }
-
/**
* Configures the {@code bill_until} date based on the provided {@code interval} and {@code
* interval_count}.
@@ -1719,17 +1645,6 @@ public static class Duration extends StripeObject {
@SerializedName("interval_count")
Long intervalCount;
}
-
- /** The timestamp the given line ends at. */
- @Getter
- @Setter
- @EqualsAndHashCode(callSuper = false)
- public static class LineEndsAt extends StripeObject implements HasId {
- /** Unique identifier for the object. */
- @Getter(onMethod_ = {@Override})
- @SerializedName("id")
- String id;
- }
}
}
diff --git a/src/main/java/com/stripe/model/SubscriptionItem.java b/src/main/java/com/stripe/model/SubscriptionItem.java
index e525396e6d4..a8e5a103ab7 100644
--- a/src/main/java/com/stripe/model/SubscriptionItem.java
+++ b/src/main/java/com/stripe/model/SubscriptionItem.java
@@ -53,6 +53,10 @@ public class SubscriptionItem extends ApiResource
@SerializedName("current_period_start")
Long currentPeriodStart;
+ /** The current trial that is applied to this subscription item. */
+ @SerializedName("current_trial")
+ CurrentTrial currentTrial;
+
/** Always true for a deleted object. */
@SerializedName("deleted")
Boolean deleted;
@@ -408,6 +412,21 @@ public static class BillingThresholds extends StripeObject {
Long usageGte;
}
+ /** The current trial attached to the subscription item. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class CurrentTrial extends StripeObject {
+ @SerializedName("end_date")
+ Long endDate;
+
+ @SerializedName("start_date")
+ Long startDate;
+
+ @SerializedName("trial_offer")
+ String trialOffer;
+ }
+
/**
* For more details about Trial, please refer to the API
* Reference.
@@ -436,6 +455,7 @@ public static class Trial extends StripeObject {
public void setResponseGetter(StripeResponseGetter responseGetter) {
super.setResponseGetter(responseGetter);
trySetResponseGetter(billingThresholds, responseGetter);
+ trySetResponseGetter(currentTrial, responseGetter);
trySetResponseGetter(plan, responseGetter);
trySetResponseGetter(price, responseGetter);
trySetResponseGetter(trial, responseGetter);
diff --git a/src/main/java/com/stripe/model/SubscriptionSchedule.java b/src/main/java/com/stripe/model/SubscriptionSchedule.java
index f55675609d5..75ba60e99f9 100644
--- a/src/main/java/com/stripe/model/SubscriptionSchedule.java
+++ b/src/main/java/com/stripe/model/SubscriptionSchedule.java
@@ -761,22 +761,10 @@ public void setPriceObject(Price expandableObject) {
@Setter
@EqualsAndHashCode(callSuper = false)
public static class BillFrom extends StripeObject {
- /** Use an index to specify the position of an amendment to start prebilling with. */
- @SerializedName("amendment_start")
- AmendmentStart amendmentStart;
-
/** The time the billing schedule applies from. */
@SerializedName("computed_timestamp")
Long computedTimestamp;
- /** Lets you bill the period starting from a particular Quote line. */
- @SerializedName("line_starts_at")
- LineStartsAt lineStartsAt;
-
- /** Timestamp is calculated from the request time. */
- @SerializedName("relative")
- Relative relative;
-
/**
* Use a precise Unix timestamp for prebilling to start. Must be earlier than {@code
* bill_until}.
@@ -786,55 +774,12 @@ public static class BillFrom extends StripeObject {
/**
* Describes how the billing schedule determines the start date. Possible values are {@code
- * timestamp}, {@code relative}, {@code amendment_start}, {@code now}, {@code
- * quote_acceptance_date}, {@code line_starts_at}, or {@code pause_collection_start}.
- *
- *
One of {@code amendment_start}, {@code line_starts_at}, {@code now}, {@code
- * pause_collection_start}, {@code quote_acceptance_date}, {@code relative}, or {@code
* timestamp}.
+ *
+ *
Equal to {@code timestamp}.
*/
@SerializedName("type")
String type;
-
- /** Use an index to specify the position of an amendment to start prebilling with. */
- @Getter
- @Setter
- @EqualsAndHashCode(callSuper = false)
- public static class AmendmentStart extends StripeObject {
- /** Use an index to specify the position of an amendment to start prebilling with. */
- @SerializedName("index")
- Long index;
- }
-
- /** The timestamp the given line starts at. */
- @Getter
- @Setter
- @EqualsAndHashCode(callSuper = false)
- public static class LineStartsAt extends StripeObject implements HasId {
- /** Unique identifier for the object. */
- @Getter(onMethod_ = {@Override})
- @SerializedName("id")
- String id;
- }
-
- /** Timestamp is calculated from the request time. */
- @Getter
- @Setter
- @EqualsAndHashCode(callSuper = false)
- public static class Relative extends StripeObject {
- /**
- * Specifies billing duration. Possible values are {@code day}, {@code week}, {@code month},
- * or {@code year}.
- *
- *
One of {@code day}, {@code month}, {@code week}, or {@code year}.
- */
- @SerializedName("interval")
- String interval;
-
- /** The multiplier applied to the interval. */
- @SerializedName("interval_count")
- Long intervalCount;
- }
}
/** Specifies the end of billing period. */
@@ -842,10 +787,6 @@ public static class Relative extends StripeObject {
@Setter
@EqualsAndHashCode(callSuper = false)
public static class BillUntil extends StripeObject {
- /** Use an index to specify the position of an amendment to end prebilling with. */
- @SerializedName("amendment_end")
- AmendmentEnd amendmentEnd;
-
/** The timestamp the billing schedule will apply until. */
@SerializedName("computed_timestamp")
Long computedTimestamp;
@@ -854,10 +795,6 @@ public static class BillUntil extends StripeObject {
@SerializedName("duration")
Duration duration;
- /** Lets you bill the period ending at a particular Quote line. */
- @SerializedName("line_ends_at")
- LineEndsAt lineEndsAt;
-
/** If specified, the billing schedule will apply until the specified timestamp. */
@SerializedName("timestamp")
Long timestamp;
@@ -866,22 +803,11 @@ public static class BillUntil extends StripeObject {
* Describes how the billing schedule will determine the end date. Either {@code duration} or
* {@code timestamp}.
*
- *
One of {@code amendment_end}, {@code duration}, {@code line_ends_at}, {@code
- * schedule_end}, {@code timestamp}, or {@code upcoming_invoice}.
+ *
One of {@code duration}, or {@code timestamp}.
*/
@SerializedName("type")
String type;
- /** Use an index to specify the position of an amendment to end prebilling with. */
- @Getter
- @Setter
- @EqualsAndHashCode(callSuper = false)
- public static class AmendmentEnd extends StripeObject {
- /** Use an index to specify the position of an amendment to end prebilling with. */
- @SerializedName("index")
- Long index;
- }
-
/**
* Configures the {@code bill_until} date based on the provided {@code interval} and {@code
* interval_count}.
@@ -903,17 +829,6 @@ public static class Duration extends StripeObject {
@SerializedName("interval_count")
Long intervalCount;
}
-
- /** The timestamp the given line ends at. */
- @Getter
- @Setter
- @EqualsAndHashCode(callSuper = false)
- public static class LineEndsAt extends StripeObject implements HasId {
- /** Unique identifier for the object. */
- @Getter(onMethod_ = {@Override})
- @SerializedName("id")
- String id;
- }
}
}
@@ -1455,6 +1370,19 @@ public static class Phase extends StripeObject {
@SerializedName("discounts")
List discounts;
+ /**
+ * Configures how the subscription schedule handles billing for phase transitions. Possible
+ * values are {@code phase_start} (default) or {@code billing_period_start}. {@code phase_start}
+ * bills based on the current state of the subscription, ignoring changes scheduled in future
+ * phases. {@code billing_period_start} bills predictively for upcoming phase transitions within
+ * the current billing cycle, including pricing changes and service period adjustments that will
+ * occur before the next invoice.
+ *
+ * One of {@code billing_period_start}, or {@code phase_start}.
+ */
+ @SerializedName("effective_at")
+ String effectiveAt;
+
/** The end of this phase of the subscription schedule. */
@SerializedName("end_date")
Long endDate;
@@ -2174,6 +2102,10 @@ public static class Item extends StripeObject {
@SerializedName("trial")
Trial trial;
+ /** The ID of the trial offer to apply to the configuration item. */
+ @SerializedName("trial_offer")
+ String trialOffer;
+
/** Get ID of expandable {@code plan} object. */
public String getPlan() {
return (this.plan != null) ? this.plan.getId() : null;
diff --git a/src/main/java/com/stripe/model/delegatedcheckout/RequestedSession.java b/src/main/java/com/stripe/model/delegatedcheckout/RequestedSession.java
index ef1a1210d9a..4372976121f 100644
--- a/src/main/java/com/stripe/model/delegatedcheckout/RequestedSession.java
+++ b/src/main/java/com/stripe/model/delegatedcheckout/RequestedSession.java
@@ -528,6 +528,22 @@ public static class Shipping extends StripeObject {
@Setter
@EqualsAndHashCode(callSuper = false)
public static class LineItemDetail extends StripeObject {
+ /** The total discount for this line item. If no discount were applied, defaults to 0. */
+ @SerializedName("amount_discount")
+ Long amountDiscount;
+
+ /** The total before any discounts or taxes are applied. */
+ @SerializedName("amount_subtotal")
+ Long amountSubtotal;
+
+ /** The total after discounts but before taxes are applied. */
+ @SerializedName("amount_subtotal_after_discount")
+ Long amountSubtotalAfterDiscount;
+
+ /** The total after discounts and taxes. */
+ @SerializedName("amount_total")
+ Long amountTotal;
+
/** The description of the line item. */
@SerializedName("description")
String description;
@@ -552,9 +568,17 @@ public static class LineItemDetail extends StripeObject {
@SerializedName("sku_id")
String skuId;
- /** The unit amount of the line item. */
+ /** The per-unit amount of the item before any discounts or taxes are applied. */
@SerializedName("unit_amount")
Long unitAmount;
+
+ /** The per-unit amount of the item after discounts but before taxes are applied. */
+ @SerializedName("unit_amount_after_discount")
+ Long unitAmountAfterDiscount;
+
+ /** The per-unit discount amount. If no discount were applied, defaults to 0. */
+ @SerializedName("unit_discount")
+ Long unitDiscount;
}
/**
@@ -702,6 +726,10 @@ public static class TotalDetails extends StripeObject {
@SerializedName("amount_fulfillment")
Long amountFulfillment;
+ /** Total of all items after discounts but before taxes are applied. */
+ @SerializedName("amount_subtotal_after_discount")
+ Long amountSubtotalAfterDiscount;
+
/** The amount tax of the total details. */
@SerializedName("amount_tax")
Long amountTax;
diff --git a/src/main/java/com/stripe/model/v2/EventDataClassLookup.java b/src/main/java/com/stripe/model/v2/EventDataClassLookup.java
index 4df791768e2..a12c45d0cd9 100644
--- a/src/main/java/com/stripe/model/v2/EventDataClassLookup.java
+++ b/src/main/java/com/stripe/model/v2/EventDataClassLookup.java
@@ -17,50 +17,8 @@ public final class EventDataClassLookup {
public static final Map> eventClassLookup = new HashMap<>();
static {
- classLookup.put("account", com.stripe.model.Account.class);
- classLookup.put("application_fee", com.stripe.model.ApplicationFee.class);
- classLookup.put("capability", com.stripe.model.Capability.class);
- classLookup.put("charge", com.stripe.model.Charge.class);
- classLookup.put("coupon", com.stripe.model.Coupon.class);
- classLookup.put("credit_note", com.stripe.model.CreditNote.class);
- classLookup.put("customer", com.stripe.model.Customer.class);
- classLookup.put("dispute", com.stripe.model.Dispute.class);
- classLookup.put("file", com.stripe.model.File.class);
- classLookup.put("invoice", com.stripe.model.Invoice.class);
- classLookup.put("invoice_payment", com.stripe.model.InvoicePayment.class);
- classLookup.put("invoiceitem", com.stripe.model.InvoiceItem.class);
- classLookup.put("mandate", com.stripe.model.Mandate.class);
- classLookup.put("payment_intent", com.stripe.model.PaymentIntent.class);
- classLookup.put("payment_link", com.stripe.model.PaymentLink.class);
- classLookup.put("payment_method", com.stripe.model.PaymentMethod.class);
- classLookup.put("payout", com.stripe.model.Payout.class);
- classLookup.put("person", com.stripe.model.Person.class);
- classLookup.put("plan", com.stripe.model.Plan.class);
- classLookup.put("price", com.stripe.model.Price.class);
- classLookup.put("product", com.stripe.model.Product.class);
- classLookup.put("promotion_code", com.stripe.model.PromotionCode.class);
- classLookup.put("quote", com.stripe.model.Quote.class);
- classLookup.put("refund", com.stripe.model.Refund.class);
- classLookup.put("review", com.stripe.model.Review.class);
- classLookup.put("setup_intent", com.stripe.model.SetupIntent.class);
- classLookup.put("source", com.stripe.model.Source.class);
- classLookup.put("subscription", com.stripe.model.Subscription.class);
- classLookup.put("subscription_schedule", com.stripe.model.SubscriptionSchedule.class);
- classLookup.put("tax_id", com.stripe.model.TaxId.class);
- classLookup.put("tax_rate", com.stripe.model.TaxRate.class);
- classLookup.put("topup", com.stripe.model.Topup.class);
- classLookup.put("transfer", com.stripe.model.Transfer.class);
-
classLookup.put("billing.meter", com.stripe.model.billing.Meter.class);
- classLookup.put(
- "billing_portal.configuration", com.stripe.model.billingportal.Configuration.class);
-
- classLookup.put("checkout.session", com.stripe.model.checkout.Session.class);
-
- classLookup.put("climate.order", com.stripe.model.climate.Order.class);
- classLookup.put("climate.product", com.stripe.model.climate.Product.class);
-
classLookup.put(
"financial_address_credit_simulation",
com.stripe.model.v2.FinancialAddressCreditSimulation.class);
@@ -68,29 +26,6 @@ public final class EventDataClassLookup {
"financial_address_generated_microdeposits",
com.stripe.model.v2.FinancialAddressGeneratedMicrodeposits.class);
- classLookup.put(
- "financial_connections.account", com.stripe.model.financialconnections.Account.class);
-
- classLookup.put(
- "identity.verification_session", com.stripe.model.identity.VerificationSession.class);
-
- classLookup.put("issuing.authorization", com.stripe.model.issuing.Authorization.class);
- classLookup.put("issuing.card", com.stripe.model.issuing.Card.class);
- classLookup.put("issuing.cardholder", com.stripe.model.issuing.Cardholder.class);
- classLookup.put("issuing.dispute", com.stripe.model.issuing.Dispute.class);
- classLookup.put(
- "issuing.personalization_design", com.stripe.model.issuing.PersonalizationDesign.class);
- classLookup.put("issuing.token", com.stripe.model.issuing.Token.class);
- classLookup.put("issuing.transaction", com.stripe.model.issuing.Transaction.class);
-
- classLookup.put("radar.early_fraud_warning", com.stripe.model.radar.EarlyFraudWarning.class);
-
- classLookup.put("scheduled_query_run", com.stripe.model.sigma.ScheduledQueryRun.class);
-
- classLookup.put("terminal.reader", com.stripe.model.terminal.Reader.class);
-
- classLookup.put("test_helpers.test_clock", com.stripe.model.testhelpers.TestClock.class);
-
classLookup.put("v2.billing.bill_setting", com.stripe.model.v2.billing.BillSetting.class);
classLookup.put(
"v2.billing.bill_setting_version", com.stripe.model.v2.billing.BillSettingVersion.class);
@@ -143,6 +78,9 @@ public final class EventDataClassLookup {
classLookup.put("v2.core.account", com.stripe.model.v2.core.Account.class);
classLookup.put("v2.core.account_link", com.stripe.model.v2.core.AccountLink.class);
classLookup.put("v2.core.account_person", com.stripe.model.v2.core.AccountPerson.class);
+ classLookup.put(
+ "v2.core.account_person_token", com.stripe.model.v2.core.AccountPersonToken.class);
+ classLookup.put("v2.core.account_token", com.stripe.model.v2.core.AccountToken.class);
classLookup.put("v2.core.claimable_sandbox", com.stripe.model.v2.core.ClaimableSandbox.class);
classLookup.put("v2.core.event", com.stripe.model.v2.core.Event.class);
classLookup.put("v2.core.event_destination", com.stripe.model.v2.core.EventDestination.class);
@@ -154,6 +92,9 @@ public final class EventDataClassLookup {
classLookup.put(
"v2.money_management.adjustment", com.stripe.model.v2.moneymanagement.Adjustment.class);
+ classLookup.put(
+ "v2.money_management.currency_conversion",
+ com.stripe.model.v2.moneymanagement.CurrencyConversion.class);
classLookup.put(
"v2.money_management.financial_account",
com.stripe.model.v2.moneymanagement.FinancialAccount.class);
@@ -202,382 +143,11 @@ public final class EventDataClassLookup {
classLookup.put("v2.reporting.report", com.stripe.model.v2.reporting.Report.class);
classLookup.put("v2.reporting.report_run", com.stripe.model.v2.reporting.ReportRun.class);
- eventClassLookup.put("v1.account.updated", com.stripe.events.V1AccountUpdatedEvent.class);
- eventClassLookup.put(
- "v1.application_fee.created", com.stripe.events.V1ApplicationFeeCreatedEvent.class);
- eventClassLookup.put(
- "v1.application_fee.refunded", com.stripe.events.V1ApplicationFeeRefundedEvent.class);
eventClassLookup.put(
"v1.billing.meter.error_report_triggered",
com.stripe.events.V1BillingMeterErrorReportTriggeredEvent.class);
eventClassLookup.put(
"v1.billing.meter.no_meter_found", com.stripe.events.V1BillingMeterNoMeterFoundEvent.class);
- eventClassLookup.put(
- "v1.billing_portal.configuration.created",
- com.stripe.events.V1BillingPortalConfigurationCreatedEvent.class);
- eventClassLookup.put(
- "v1.billing_portal.configuration.updated",
- com.stripe.events.V1BillingPortalConfigurationUpdatedEvent.class);
- eventClassLookup.put("v1.capability.updated", com.stripe.events.V1CapabilityUpdatedEvent.class);
- eventClassLookup.put("v1.charge.captured", com.stripe.events.V1ChargeCapturedEvent.class);
- eventClassLookup.put(
- "v1.charge.dispute.closed", com.stripe.events.V1ChargeDisputeClosedEvent.class);
- eventClassLookup.put(
- "v1.charge.dispute.created", com.stripe.events.V1ChargeDisputeCreatedEvent.class);
- eventClassLookup.put(
- "v1.charge.dispute.funds_reinstated",
- com.stripe.events.V1ChargeDisputeFundsReinstatedEvent.class);
- eventClassLookup.put(
- "v1.charge.dispute.funds_withdrawn",
- com.stripe.events.V1ChargeDisputeFundsWithdrawnEvent.class);
- eventClassLookup.put(
- "v1.charge.dispute.updated", com.stripe.events.V1ChargeDisputeUpdatedEvent.class);
- eventClassLookup.put("v1.charge.expired", com.stripe.events.V1ChargeExpiredEvent.class);
- eventClassLookup.put("v1.charge.failed", com.stripe.events.V1ChargeFailedEvent.class);
- eventClassLookup.put("v1.charge.pending", com.stripe.events.V1ChargePendingEvent.class);
- eventClassLookup.put(
- "v1.charge.refund.updated", com.stripe.events.V1ChargeRefundUpdatedEvent.class);
- eventClassLookup.put("v1.charge.refunded", com.stripe.events.V1ChargeRefundedEvent.class);
- eventClassLookup.put("v1.charge.succeeded", com.stripe.events.V1ChargeSucceededEvent.class);
- eventClassLookup.put("v1.charge.updated", com.stripe.events.V1ChargeUpdatedEvent.class);
- eventClassLookup.put(
- "v1.checkout.session.async_payment_failed",
- com.stripe.events.V1CheckoutSessionAsyncPaymentFailedEvent.class);
- eventClassLookup.put(
- "v1.checkout.session.async_payment_succeeded",
- com.stripe.events.V1CheckoutSessionAsyncPaymentSucceededEvent.class);
- eventClassLookup.put(
- "v1.checkout.session.completed", com.stripe.events.V1CheckoutSessionCompletedEvent.class);
- eventClassLookup.put(
- "v1.checkout.session.expired", com.stripe.events.V1CheckoutSessionExpiredEvent.class);
- eventClassLookup.put(
- "v1.climate.order.canceled", com.stripe.events.V1ClimateOrderCanceledEvent.class);
- eventClassLookup.put(
- "v1.climate.order.created", com.stripe.events.V1ClimateOrderCreatedEvent.class);
- eventClassLookup.put(
- "v1.climate.order.delayed", com.stripe.events.V1ClimateOrderDelayedEvent.class);
- eventClassLookup.put(
- "v1.climate.order.delivered", com.stripe.events.V1ClimateOrderDeliveredEvent.class);
- eventClassLookup.put(
- "v1.climate.order.product_substituted",
- com.stripe.events.V1ClimateOrderProductSubstitutedEvent.class);
- eventClassLookup.put(
- "v1.climate.product.created", com.stripe.events.V1ClimateProductCreatedEvent.class);
- eventClassLookup.put(
- "v1.climate.product.pricing_updated",
- com.stripe.events.V1ClimateProductPricingUpdatedEvent.class);
- eventClassLookup.put("v1.coupon.created", com.stripe.events.V1CouponCreatedEvent.class);
- eventClassLookup.put("v1.coupon.deleted", com.stripe.events.V1CouponDeletedEvent.class);
- eventClassLookup.put("v1.coupon.updated", com.stripe.events.V1CouponUpdatedEvent.class);
- eventClassLookup.put(
- "v1.credit_note.created", com.stripe.events.V1CreditNoteCreatedEvent.class);
- eventClassLookup.put(
- "v1.credit_note.updated", com.stripe.events.V1CreditNoteUpdatedEvent.class);
- eventClassLookup.put("v1.credit_note.voided", com.stripe.events.V1CreditNoteVoidedEvent.class);
- eventClassLookup.put("v1.customer.created", com.stripe.events.V1CustomerCreatedEvent.class);
- eventClassLookup.put("v1.customer.deleted", com.stripe.events.V1CustomerDeletedEvent.class);
- eventClassLookup.put(
- "v1.customer.subscription.created",
- com.stripe.events.V1CustomerSubscriptionCreatedEvent.class);
- eventClassLookup.put(
- "v1.customer.subscription.deleted",
- com.stripe.events.V1CustomerSubscriptionDeletedEvent.class);
- eventClassLookup.put(
- "v1.customer.subscription.paused",
- com.stripe.events.V1CustomerSubscriptionPausedEvent.class);
- eventClassLookup.put(
- "v1.customer.subscription.pending_update_applied",
- com.stripe.events.V1CustomerSubscriptionPendingUpdateAppliedEvent.class);
- eventClassLookup.put(
- "v1.customer.subscription.pending_update_expired",
- com.stripe.events.V1CustomerSubscriptionPendingUpdateExpiredEvent.class);
- eventClassLookup.put(
- "v1.customer.subscription.resumed",
- com.stripe.events.V1CustomerSubscriptionResumedEvent.class);
- eventClassLookup.put(
- "v1.customer.subscription.trial_will_end",
- com.stripe.events.V1CustomerSubscriptionTrialWillEndEvent.class);
- eventClassLookup.put(
- "v1.customer.subscription.updated",
- com.stripe.events.V1CustomerSubscriptionUpdatedEvent.class);
- eventClassLookup.put(
- "v1.customer.tax_id.created", com.stripe.events.V1CustomerTaxIdCreatedEvent.class);
- eventClassLookup.put(
- "v1.customer.tax_id.deleted", com.stripe.events.V1CustomerTaxIdDeletedEvent.class);
- eventClassLookup.put(
- "v1.customer.tax_id.updated", com.stripe.events.V1CustomerTaxIdUpdatedEvent.class);
- eventClassLookup.put("v1.customer.updated", com.stripe.events.V1CustomerUpdatedEvent.class);
- eventClassLookup.put("v1.file.created", com.stripe.events.V1FileCreatedEvent.class);
- eventClassLookup.put(
- "v1.financial_connections.account.created",
- com.stripe.events.V1FinancialConnectionsAccountCreatedEvent.class);
- eventClassLookup.put(
- "v1.financial_connections.account.deactivated",
- com.stripe.events.V1FinancialConnectionsAccountDeactivatedEvent.class);
- eventClassLookup.put(
- "v1.financial_connections.account.disconnected",
- com.stripe.events.V1FinancialConnectionsAccountDisconnectedEvent.class);
- eventClassLookup.put(
- "v1.financial_connections.account.reactivated",
- com.stripe.events.V1FinancialConnectionsAccountReactivatedEvent.class);
- eventClassLookup.put(
- "v1.financial_connections.account.refreshed_balance",
- com.stripe.events.V1FinancialConnectionsAccountRefreshedBalanceEvent.class);
- eventClassLookup.put(
- "v1.financial_connections.account.refreshed_ownership",
- com.stripe.events.V1FinancialConnectionsAccountRefreshedOwnershipEvent.class);
- eventClassLookup.put(
- "v1.financial_connections.account.refreshed_transactions",
- com.stripe.events.V1FinancialConnectionsAccountRefreshedTransactionsEvent.class);
- eventClassLookup.put(
- "v1.identity.verification_session.canceled",
- com.stripe.events.V1IdentityVerificationSessionCanceledEvent.class);
- eventClassLookup.put(
- "v1.identity.verification_session.created",
- com.stripe.events.V1IdentityVerificationSessionCreatedEvent.class);
- eventClassLookup.put(
- "v1.identity.verification_session.processing",
- com.stripe.events.V1IdentityVerificationSessionProcessingEvent.class);
- eventClassLookup.put(
- "v1.identity.verification_session.redacted",
- com.stripe.events.V1IdentityVerificationSessionRedactedEvent.class);
- eventClassLookup.put(
- "v1.identity.verification_session.requires_input",
- com.stripe.events.V1IdentityVerificationSessionRequiresInputEvent.class);
- eventClassLookup.put(
- "v1.identity.verification_session.verified",
- com.stripe.events.V1IdentityVerificationSessionVerifiedEvent.class);
- eventClassLookup.put("v1.invoice.created", com.stripe.events.V1InvoiceCreatedEvent.class);
- eventClassLookup.put("v1.invoice.deleted", com.stripe.events.V1InvoiceDeletedEvent.class);
- eventClassLookup.put(
- "v1.invoice.finalization_failed", com.stripe.events.V1InvoiceFinalizationFailedEvent.class);
- eventClassLookup.put("v1.invoice.finalized", com.stripe.events.V1InvoiceFinalizedEvent.class);
- eventClassLookup.put(
- "v1.invoice.marked_uncollectible",
- com.stripe.events.V1InvoiceMarkedUncollectibleEvent.class);
- eventClassLookup.put("v1.invoice.overdue", com.stripe.events.V1InvoiceOverdueEvent.class);
- eventClassLookup.put("v1.invoice.overpaid", com.stripe.events.V1InvoiceOverpaidEvent.class);
- eventClassLookup.put("v1.invoice.paid", com.stripe.events.V1InvoicePaidEvent.class);
- eventClassLookup.put(
- "v1.invoice.payment_action_required",
- com.stripe.events.V1InvoicePaymentActionRequiredEvent.class);
- eventClassLookup.put(
- "v1.invoice.payment_failed", com.stripe.events.V1InvoicePaymentFailedEvent.class);
- eventClassLookup.put(
- "v1.invoice.payment_succeeded", com.stripe.events.V1InvoicePaymentSucceededEvent.class);
- eventClassLookup.put("v1.invoice.sent", com.stripe.events.V1InvoiceSentEvent.class);
- eventClassLookup.put("v1.invoice.upcoming", com.stripe.events.V1InvoiceUpcomingEvent.class);
- eventClassLookup.put("v1.invoice.updated", com.stripe.events.V1InvoiceUpdatedEvent.class);
- eventClassLookup.put("v1.invoice.voided", com.stripe.events.V1InvoiceVoidedEvent.class);
- eventClassLookup.put("v1.invoice.will_be_due", com.stripe.events.V1InvoiceWillBeDueEvent.class);
- eventClassLookup.put(
- "v1.invoice_payment.paid", com.stripe.events.V1InvoicePaymentPaidEvent.class);
- eventClassLookup.put(
- "v1.invoiceitem.created", com.stripe.events.V1InvoiceitemCreatedEvent.class);
- eventClassLookup.put(
- "v1.invoiceitem.deleted", com.stripe.events.V1InvoiceitemDeletedEvent.class);
- eventClassLookup.put(
- "v1.issuing_authorization.created",
- com.stripe.events.V1IssuingAuthorizationCreatedEvent.class);
- eventClassLookup.put(
- "v1.issuing_authorization.request",
- com.stripe.events.V1IssuingAuthorizationRequestEvent.class);
- eventClassLookup.put(
- "v1.issuing_authorization.updated",
- com.stripe.events.V1IssuingAuthorizationUpdatedEvent.class);
- eventClassLookup.put(
- "v1.issuing_card.created", com.stripe.events.V1IssuingCardCreatedEvent.class);
- eventClassLookup.put(
- "v1.issuing_card.updated", com.stripe.events.V1IssuingCardUpdatedEvent.class);
- eventClassLookup.put(
- "v1.issuing_cardholder.created", com.stripe.events.V1IssuingCardholderCreatedEvent.class);
- eventClassLookup.put(
- "v1.issuing_cardholder.updated", com.stripe.events.V1IssuingCardholderUpdatedEvent.class);
- eventClassLookup.put(
- "v1.issuing_dispute.closed", com.stripe.events.V1IssuingDisputeClosedEvent.class);
- eventClassLookup.put(
- "v1.issuing_dispute.created", com.stripe.events.V1IssuingDisputeCreatedEvent.class);
- eventClassLookup.put(
- "v1.issuing_dispute.funds_reinstated",
- com.stripe.events.V1IssuingDisputeFundsReinstatedEvent.class);
- eventClassLookup.put(
- "v1.issuing_dispute.funds_rescinded",
- com.stripe.events.V1IssuingDisputeFundsRescindedEvent.class);
- eventClassLookup.put(
- "v1.issuing_dispute.submitted", com.stripe.events.V1IssuingDisputeSubmittedEvent.class);
- eventClassLookup.put(
- "v1.issuing_dispute.updated", com.stripe.events.V1IssuingDisputeUpdatedEvent.class);
- eventClassLookup.put(
- "v1.issuing_personalization_design.activated",
- com.stripe.events.V1IssuingPersonalizationDesignActivatedEvent.class);
- eventClassLookup.put(
- "v1.issuing_personalization_design.deactivated",
- com.stripe.events.V1IssuingPersonalizationDesignDeactivatedEvent.class);
- eventClassLookup.put(
- "v1.issuing_personalization_design.rejected",
- com.stripe.events.V1IssuingPersonalizationDesignRejectedEvent.class);
- eventClassLookup.put(
- "v1.issuing_personalization_design.updated",
- com.stripe.events.V1IssuingPersonalizationDesignUpdatedEvent.class);
- eventClassLookup.put(
- "v1.issuing_token.created", com.stripe.events.V1IssuingTokenCreatedEvent.class);
- eventClassLookup.put(
- "v1.issuing_token.updated", com.stripe.events.V1IssuingTokenUpdatedEvent.class);
- eventClassLookup.put(
- "v1.issuing_transaction.created", com.stripe.events.V1IssuingTransactionCreatedEvent.class);
- eventClassLookup.put(
- "v1.issuing_transaction.purchase_details_receipt_updated",
- com.stripe.events.V1IssuingTransactionPurchaseDetailsReceiptUpdatedEvent.class);
- eventClassLookup.put(
- "v1.issuing_transaction.updated", com.stripe.events.V1IssuingTransactionUpdatedEvent.class);
- eventClassLookup.put("v1.mandate.updated", com.stripe.events.V1MandateUpdatedEvent.class);
- eventClassLookup.put(
- "v1.payment_intent.amount_capturable_updated",
- com.stripe.events.V1PaymentIntentAmountCapturableUpdatedEvent.class);
- eventClassLookup.put(
- "v1.payment_intent.canceled", com.stripe.events.V1PaymentIntentCanceledEvent.class);
- eventClassLookup.put(
- "v1.payment_intent.created", com.stripe.events.V1PaymentIntentCreatedEvent.class);
- eventClassLookup.put(
- "v1.payment_intent.partially_funded",
- com.stripe.events.V1PaymentIntentPartiallyFundedEvent.class);
- eventClassLookup.put(
- "v1.payment_intent.payment_failed",
- com.stripe.events.V1PaymentIntentPaymentFailedEvent.class);
- eventClassLookup.put(
- "v1.payment_intent.processing", com.stripe.events.V1PaymentIntentProcessingEvent.class);
- eventClassLookup.put(
- "v1.payment_intent.requires_action",
- com.stripe.events.V1PaymentIntentRequiresActionEvent.class);
- eventClassLookup.put(
- "v1.payment_intent.succeeded", com.stripe.events.V1PaymentIntentSucceededEvent.class);
- eventClassLookup.put(
- "v1.payment_link.created", com.stripe.events.V1PaymentLinkCreatedEvent.class);
- eventClassLookup.put(
- "v1.payment_link.updated", com.stripe.events.V1PaymentLinkUpdatedEvent.class);
- eventClassLookup.put(
- "v1.payment_method.attached", com.stripe.events.V1PaymentMethodAttachedEvent.class);
- eventClassLookup.put(
- "v1.payment_method.automatically_updated",
- com.stripe.events.V1PaymentMethodAutomaticallyUpdatedEvent.class);
- eventClassLookup.put(
- "v1.payment_method.detached", com.stripe.events.V1PaymentMethodDetachedEvent.class);
- eventClassLookup.put(
- "v1.payment_method.updated", com.stripe.events.V1PaymentMethodUpdatedEvent.class);
- eventClassLookup.put("v1.payout.canceled", com.stripe.events.V1PayoutCanceledEvent.class);
- eventClassLookup.put("v1.payout.created", com.stripe.events.V1PayoutCreatedEvent.class);
- eventClassLookup.put("v1.payout.failed", com.stripe.events.V1PayoutFailedEvent.class);
- eventClassLookup.put("v1.payout.paid", com.stripe.events.V1PayoutPaidEvent.class);
- eventClassLookup.put(
- "v1.payout.reconciliation_completed",
- com.stripe.events.V1PayoutReconciliationCompletedEvent.class);
- eventClassLookup.put("v1.payout.updated", com.stripe.events.V1PayoutUpdatedEvent.class);
- eventClassLookup.put("v1.person.created", com.stripe.events.V1PersonCreatedEvent.class);
- eventClassLookup.put("v1.person.deleted", com.stripe.events.V1PersonDeletedEvent.class);
- eventClassLookup.put("v1.person.updated", com.stripe.events.V1PersonUpdatedEvent.class);
- eventClassLookup.put("v1.plan.created", com.stripe.events.V1PlanCreatedEvent.class);
- eventClassLookup.put("v1.plan.deleted", com.stripe.events.V1PlanDeletedEvent.class);
- eventClassLookup.put("v1.plan.updated", com.stripe.events.V1PlanUpdatedEvent.class);
- eventClassLookup.put("v1.price.created", com.stripe.events.V1PriceCreatedEvent.class);
- eventClassLookup.put("v1.price.deleted", com.stripe.events.V1PriceDeletedEvent.class);
- eventClassLookup.put("v1.price.updated", com.stripe.events.V1PriceUpdatedEvent.class);
- eventClassLookup.put("v1.product.created", com.stripe.events.V1ProductCreatedEvent.class);
- eventClassLookup.put("v1.product.deleted", com.stripe.events.V1ProductDeletedEvent.class);
- eventClassLookup.put("v1.product.updated", com.stripe.events.V1ProductUpdatedEvent.class);
- eventClassLookup.put(
- "v1.promotion_code.created", com.stripe.events.V1PromotionCodeCreatedEvent.class);
- eventClassLookup.put(
- "v1.promotion_code.updated", com.stripe.events.V1PromotionCodeUpdatedEvent.class);
- eventClassLookup.put("v1.quote.accepted", com.stripe.events.V1QuoteAcceptedEvent.class);
- eventClassLookup.put("v1.quote.canceled", com.stripe.events.V1QuoteCanceledEvent.class);
- eventClassLookup.put("v1.quote.created", com.stripe.events.V1QuoteCreatedEvent.class);
- eventClassLookup.put("v1.quote.finalized", com.stripe.events.V1QuoteFinalizedEvent.class);
- eventClassLookup.put(
- "v1.radar.early_fraud_warning.created",
- com.stripe.events.V1RadarEarlyFraudWarningCreatedEvent.class);
- eventClassLookup.put(
- "v1.radar.early_fraud_warning.updated",
- com.stripe.events.V1RadarEarlyFraudWarningUpdatedEvent.class);
- eventClassLookup.put("v1.refund.created", com.stripe.events.V1RefundCreatedEvent.class);
- eventClassLookup.put("v1.refund.failed", com.stripe.events.V1RefundFailedEvent.class);
- eventClassLookup.put("v1.refund.updated", com.stripe.events.V1RefundUpdatedEvent.class);
- eventClassLookup.put("v1.review.closed", com.stripe.events.V1ReviewClosedEvent.class);
- eventClassLookup.put("v1.review.opened", com.stripe.events.V1ReviewOpenedEvent.class);
- eventClassLookup.put(
- "v1.setup_intent.canceled", com.stripe.events.V1SetupIntentCanceledEvent.class);
- eventClassLookup.put(
- "v1.setup_intent.created", com.stripe.events.V1SetupIntentCreatedEvent.class);
- eventClassLookup.put(
- "v1.setup_intent.requires_action",
- com.stripe.events.V1SetupIntentRequiresActionEvent.class);
- eventClassLookup.put(
- "v1.setup_intent.setup_failed", com.stripe.events.V1SetupIntentSetupFailedEvent.class);
- eventClassLookup.put(
- "v1.setup_intent.succeeded", com.stripe.events.V1SetupIntentSucceededEvent.class);
- eventClassLookup.put(
- "v1.sigma.scheduled_query_run.created",
- com.stripe.events.V1SigmaScheduledQueryRunCreatedEvent.class);
- eventClassLookup.put("v1.source.canceled", com.stripe.events.V1SourceCanceledEvent.class);
- eventClassLookup.put("v1.source.chargeable", com.stripe.events.V1SourceChargeableEvent.class);
- eventClassLookup.put("v1.source.failed", com.stripe.events.V1SourceFailedEvent.class);
- eventClassLookup.put(
- "v1.source.refund_attributes_required",
- com.stripe.events.V1SourceRefundAttributesRequiredEvent.class);
- eventClassLookup.put(
- "v1.subscription_schedule.aborted",
- com.stripe.events.V1SubscriptionScheduleAbortedEvent.class);
- eventClassLookup.put(
- "v1.subscription_schedule.canceled",
- com.stripe.events.V1SubscriptionScheduleCanceledEvent.class);
- eventClassLookup.put(
- "v1.subscription_schedule.completed",
- com.stripe.events.V1SubscriptionScheduleCompletedEvent.class);
- eventClassLookup.put(
- "v1.subscription_schedule.created",
- com.stripe.events.V1SubscriptionScheduleCreatedEvent.class);
- eventClassLookup.put(
- "v1.subscription_schedule.expiring",
- com.stripe.events.V1SubscriptionScheduleExpiringEvent.class);
- eventClassLookup.put(
- "v1.subscription_schedule.released",
- com.stripe.events.V1SubscriptionScheduleReleasedEvent.class);
- eventClassLookup.put(
- "v1.subscription_schedule.updated",
- com.stripe.events.V1SubscriptionScheduleUpdatedEvent.class);
- eventClassLookup.put("v1.tax_rate.created", com.stripe.events.V1TaxRateCreatedEvent.class);
- eventClassLookup.put("v1.tax_rate.updated", com.stripe.events.V1TaxRateUpdatedEvent.class);
- eventClassLookup.put(
- "v1.terminal.reader.action_failed",
- com.stripe.events.V1TerminalReaderActionFailedEvent.class);
- eventClassLookup.put(
- "v1.terminal.reader.action_succeeded",
- com.stripe.events.V1TerminalReaderActionSucceededEvent.class);
- eventClassLookup.put(
- "v1.terminal.reader.action_updated",
- com.stripe.events.V1TerminalReaderActionUpdatedEvent.class);
- eventClassLookup.put(
- "v1.test_helpers.test_clock.advancing",
- com.stripe.events.V1TestHelpersTestClockAdvancingEvent.class);
- eventClassLookup.put(
- "v1.test_helpers.test_clock.created",
- com.stripe.events.V1TestHelpersTestClockCreatedEvent.class);
- eventClassLookup.put(
- "v1.test_helpers.test_clock.deleted",
- com.stripe.events.V1TestHelpersTestClockDeletedEvent.class);
- eventClassLookup.put(
- "v1.test_helpers.test_clock.internal_failure",
- com.stripe.events.V1TestHelpersTestClockInternalFailureEvent.class);
- eventClassLookup.put(
- "v1.test_helpers.test_clock.ready",
- com.stripe.events.V1TestHelpersTestClockReadyEvent.class);
- eventClassLookup.put("v1.topup.canceled", com.stripe.events.V1TopupCanceledEvent.class);
- eventClassLookup.put("v1.topup.created", com.stripe.events.V1TopupCreatedEvent.class);
- eventClassLookup.put("v1.topup.failed", com.stripe.events.V1TopupFailedEvent.class);
- eventClassLookup.put("v1.topup.reversed", com.stripe.events.V1TopupReversedEvent.class);
- eventClassLookup.put("v1.topup.succeeded", com.stripe.events.V1TopupSucceededEvent.class);
- eventClassLookup.put("v1.transfer.created", com.stripe.events.V1TransferCreatedEvent.class);
- eventClassLookup.put("v1.transfer.reversed", com.stripe.events.V1TransferReversedEvent.class);
- eventClassLookup.put("v1.transfer.updated", com.stripe.events.V1TransferUpdatedEvent.class);
eventClassLookup.put(
"v2.billing.cadence.billed", com.stripe.events.V2BillingCadenceBilledEvent.class);
eventClassLookup.put(
@@ -922,6 +492,12 @@ public final class EventDataClassLookup {
eventClassLookup.put(
"v2.money_management.transaction.updated",
com.stripe.events.V2MoneyManagementTransactionUpdatedEvent.class);
+ eventClassLookup.put(
+ "v2.payments.off_session_payment.attempt_failed",
+ com.stripe.events.V2PaymentsOffSessionPaymentAttemptFailedEvent.class);
+ eventClassLookup.put(
+ "v2.payments.off_session_payment.attempt_started",
+ com.stripe.events.V2PaymentsOffSessionPaymentAttemptStartedEvent.class);
eventClassLookup.put(
"v2.payments.off_session_payment.authorization_attempt_failed",
com.stripe.events.V2PaymentsOffSessionPaymentAuthorizationAttemptFailedEvent.class);
diff --git a/src/main/java/com/stripe/model/v2/EventNotificationClassLookup.java b/src/main/java/com/stripe/model/v2/EventNotificationClassLookup.java
index 02f408eb484..6b0151b7f2b 100644
--- a/src/main/java/com/stripe/model/v2/EventNotificationClassLookup.java
+++ b/src/main/java/com/stripe/model/v2/EventNotificationClassLookup.java
@@ -16,478 +16,12 @@ public final class EventNotificationClassLookup {
new HashMap<>();
static {
- eventClassLookup.put(
- "v1.account.updated", com.stripe.events.V1AccountUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.application_fee.created",
- com.stripe.events.V1ApplicationFeeCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.application_fee.refunded",
- com.stripe.events.V1ApplicationFeeRefundedEventNotification.class);
eventClassLookup.put(
"v1.billing.meter.error_report_triggered",
com.stripe.events.V1BillingMeterErrorReportTriggeredEventNotification.class);
eventClassLookup.put(
"v1.billing.meter.no_meter_found",
com.stripe.events.V1BillingMeterNoMeterFoundEventNotification.class);
- eventClassLookup.put(
- "v1.billing_portal.configuration.created",
- com.stripe.events.V1BillingPortalConfigurationCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.billing_portal.configuration.updated",
- com.stripe.events.V1BillingPortalConfigurationUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.capability.updated", com.stripe.events.V1CapabilityUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.charge.captured", com.stripe.events.V1ChargeCapturedEventNotification.class);
- eventClassLookup.put(
- "v1.charge.dispute.closed", com.stripe.events.V1ChargeDisputeClosedEventNotification.class);
- eventClassLookup.put(
- "v1.charge.dispute.created",
- com.stripe.events.V1ChargeDisputeCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.charge.dispute.funds_reinstated",
- com.stripe.events.V1ChargeDisputeFundsReinstatedEventNotification.class);
- eventClassLookup.put(
- "v1.charge.dispute.funds_withdrawn",
- com.stripe.events.V1ChargeDisputeFundsWithdrawnEventNotification.class);
- eventClassLookup.put(
- "v1.charge.dispute.updated",
- com.stripe.events.V1ChargeDisputeUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.charge.expired", com.stripe.events.V1ChargeExpiredEventNotification.class);
- eventClassLookup.put(
- "v1.charge.failed", com.stripe.events.V1ChargeFailedEventNotification.class);
- eventClassLookup.put(
- "v1.charge.pending", com.stripe.events.V1ChargePendingEventNotification.class);
- eventClassLookup.put(
- "v1.charge.refund.updated", com.stripe.events.V1ChargeRefundUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.charge.refunded", com.stripe.events.V1ChargeRefundedEventNotification.class);
- eventClassLookup.put(
- "v1.charge.succeeded", com.stripe.events.V1ChargeSucceededEventNotification.class);
- eventClassLookup.put(
- "v1.charge.updated", com.stripe.events.V1ChargeUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.checkout.session.async_payment_failed",
- com.stripe.events.V1CheckoutSessionAsyncPaymentFailedEventNotification.class);
- eventClassLookup.put(
- "v1.checkout.session.async_payment_succeeded",
- com.stripe.events.V1CheckoutSessionAsyncPaymentSucceededEventNotification.class);
- eventClassLookup.put(
- "v1.checkout.session.completed",
- com.stripe.events.V1CheckoutSessionCompletedEventNotification.class);
- eventClassLookup.put(
- "v1.checkout.session.expired",
- com.stripe.events.V1CheckoutSessionExpiredEventNotification.class);
- eventClassLookup.put(
- "v1.climate.order.canceled",
- com.stripe.events.V1ClimateOrderCanceledEventNotification.class);
- eventClassLookup.put(
- "v1.climate.order.created", com.stripe.events.V1ClimateOrderCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.climate.order.delayed", com.stripe.events.V1ClimateOrderDelayedEventNotification.class);
- eventClassLookup.put(
- "v1.climate.order.delivered",
- com.stripe.events.V1ClimateOrderDeliveredEventNotification.class);
- eventClassLookup.put(
- "v1.climate.order.product_substituted",
- com.stripe.events.V1ClimateOrderProductSubstitutedEventNotification.class);
- eventClassLookup.put(
- "v1.climate.product.created",
- com.stripe.events.V1ClimateProductCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.climate.product.pricing_updated",
- com.stripe.events.V1ClimateProductPricingUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.coupon.created", com.stripe.events.V1CouponCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.coupon.deleted", com.stripe.events.V1CouponDeletedEventNotification.class);
- eventClassLookup.put(
- "v1.coupon.updated", com.stripe.events.V1CouponUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.credit_note.created", com.stripe.events.V1CreditNoteCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.credit_note.updated", com.stripe.events.V1CreditNoteUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.credit_note.voided", com.stripe.events.V1CreditNoteVoidedEventNotification.class);
- eventClassLookup.put(
- "v1.customer.created", com.stripe.events.V1CustomerCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.customer.deleted", com.stripe.events.V1CustomerDeletedEventNotification.class);
- eventClassLookup.put(
- "v1.customer.subscription.created",
- com.stripe.events.V1CustomerSubscriptionCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.customer.subscription.deleted",
- com.stripe.events.V1CustomerSubscriptionDeletedEventNotification.class);
- eventClassLookup.put(
- "v1.customer.subscription.paused",
- com.stripe.events.V1CustomerSubscriptionPausedEventNotification.class);
- eventClassLookup.put(
- "v1.customer.subscription.pending_update_applied",
- com.stripe.events.V1CustomerSubscriptionPendingUpdateAppliedEventNotification.class);
- eventClassLookup.put(
- "v1.customer.subscription.pending_update_expired",
- com.stripe.events.V1CustomerSubscriptionPendingUpdateExpiredEventNotification.class);
- eventClassLookup.put(
- "v1.customer.subscription.resumed",
- com.stripe.events.V1CustomerSubscriptionResumedEventNotification.class);
- eventClassLookup.put(
- "v1.customer.subscription.trial_will_end",
- com.stripe.events.V1CustomerSubscriptionTrialWillEndEventNotification.class);
- eventClassLookup.put(
- "v1.customer.subscription.updated",
- com.stripe.events.V1CustomerSubscriptionUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.customer.tax_id.created",
- com.stripe.events.V1CustomerTaxIdCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.customer.tax_id.deleted",
- com.stripe.events.V1CustomerTaxIdDeletedEventNotification.class);
- eventClassLookup.put(
- "v1.customer.tax_id.updated",
- com.stripe.events.V1CustomerTaxIdUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.customer.updated", com.stripe.events.V1CustomerUpdatedEventNotification.class);
- eventClassLookup.put("v1.file.created", com.stripe.events.V1FileCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.financial_connections.account.created",
- com.stripe.events.V1FinancialConnectionsAccountCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.financial_connections.account.deactivated",
- com.stripe.events.V1FinancialConnectionsAccountDeactivatedEventNotification.class);
- eventClassLookup.put(
- "v1.financial_connections.account.disconnected",
- com.stripe.events.V1FinancialConnectionsAccountDisconnectedEventNotification.class);
- eventClassLookup.put(
- "v1.financial_connections.account.reactivated",
- com.stripe.events.V1FinancialConnectionsAccountReactivatedEventNotification.class);
- eventClassLookup.put(
- "v1.financial_connections.account.refreshed_balance",
- com.stripe.events.V1FinancialConnectionsAccountRefreshedBalanceEventNotification.class);
- eventClassLookup.put(
- "v1.financial_connections.account.refreshed_ownership",
- com.stripe.events.V1FinancialConnectionsAccountRefreshedOwnershipEventNotification.class);
- eventClassLookup.put(
- "v1.financial_connections.account.refreshed_transactions",
- com.stripe.events.V1FinancialConnectionsAccountRefreshedTransactionsEventNotification
- .class);
- eventClassLookup.put(
- "v1.identity.verification_session.canceled",
- com.stripe.events.V1IdentityVerificationSessionCanceledEventNotification.class);
- eventClassLookup.put(
- "v1.identity.verification_session.created",
- com.stripe.events.V1IdentityVerificationSessionCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.identity.verification_session.processing",
- com.stripe.events.V1IdentityVerificationSessionProcessingEventNotification.class);
- eventClassLookup.put(
- "v1.identity.verification_session.redacted",
- com.stripe.events.V1IdentityVerificationSessionRedactedEventNotification.class);
- eventClassLookup.put(
- "v1.identity.verification_session.requires_input",
- com.stripe.events.V1IdentityVerificationSessionRequiresInputEventNotification.class);
- eventClassLookup.put(
- "v1.identity.verification_session.verified",
- com.stripe.events.V1IdentityVerificationSessionVerifiedEventNotification.class);
- eventClassLookup.put(
- "v1.invoice.created", com.stripe.events.V1InvoiceCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.invoice.deleted", com.stripe.events.V1InvoiceDeletedEventNotification.class);
- eventClassLookup.put(
- "v1.invoice.finalization_failed",
- com.stripe.events.V1InvoiceFinalizationFailedEventNotification.class);
- eventClassLookup.put(
- "v1.invoice.finalized", com.stripe.events.V1InvoiceFinalizedEventNotification.class);
- eventClassLookup.put(
- "v1.invoice.marked_uncollectible",
- com.stripe.events.V1InvoiceMarkedUncollectibleEventNotification.class);
- eventClassLookup.put(
- "v1.invoice.overdue", com.stripe.events.V1InvoiceOverdueEventNotification.class);
- eventClassLookup.put(
- "v1.invoice.overpaid", com.stripe.events.V1InvoiceOverpaidEventNotification.class);
- eventClassLookup.put("v1.invoice.paid", com.stripe.events.V1InvoicePaidEventNotification.class);
- eventClassLookup.put(
- "v1.invoice.payment_action_required",
- com.stripe.events.V1InvoicePaymentActionRequiredEventNotification.class);
- eventClassLookup.put(
- "v1.invoice.payment_failed",
- com.stripe.events.V1InvoicePaymentFailedEventNotification.class);
- eventClassLookup.put(
- "v1.invoice.payment_succeeded",
- com.stripe.events.V1InvoicePaymentSucceededEventNotification.class);
- eventClassLookup.put("v1.invoice.sent", com.stripe.events.V1InvoiceSentEventNotification.class);
- eventClassLookup.put(
- "v1.invoice.upcoming", com.stripe.events.V1InvoiceUpcomingEventNotification.class);
- eventClassLookup.put(
- "v1.invoice.updated", com.stripe.events.V1InvoiceUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.invoice.voided", com.stripe.events.V1InvoiceVoidedEventNotification.class);
- eventClassLookup.put(
- "v1.invoice.will_be_due", com.stripe.events.V1InvoiceWillBeDueEventNotification.class);
- eventClassLookup.put(
- "v1.invoice_payment.paid", com.stripe.events.V1InvoicePaymentPaidEventNotification.class);
- eventClassLookup.put(
- "v1.invoiceitem.created", com.stripe.events.V1InvoiceitemCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.invoiceitem.deleted", com.stripe.events.V1InvoiceitemDeletedEventNotification.class);
- eventClassLookup.put(
- "v1.issuing_authorization.created",
- com.stripe.events.V1IssuingAuthorizationCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.issuing_authorization.request",
- com.stripe.events.V1IssuingAuthorizationRequestEventNotification.class);
- eventClassLookup.put(
- "v1.issuing_authorization.updated",
- com.stripe.events.V1IssuingAuthorizationUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.issuing_card.created", com.stripe.events.V1IssuingCardCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.issuing_card.updated", com.stripe.events.V1IssuingCardUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.issuing_cardholder.created",
- com.stripe.events.V1IssuingCardholderCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.issuing_cardholder.updated",
- com.stripe.events.V1IssuingCardholderUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.issuing_dispute.closed",
- com.stripe.events.V1IssuingDisputeClosedEventNotification.class);
- eventClassLookup.put(
- "v1.issuing_dispute.created",
- com.stripe.events.V1IssuingDisputeCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.issuing_dispute.funds_reinstated",
- com.stripe.events.V1IssuingDisputeFundsReinstatedEventNotification.class);
- eventClassLookup.put(
- "v1.issuing_dispute.funds_rescinded",
- com.stripe.events.V1IssuingDisputeFundsRescindedEventNotification.class);
- eventClassLookup.put(
- "v1.issuing_dispute.submitted",
- com.stripe.events.V1IssuingDisputeSubmittedEventNotification.class);
- eventClassLookup.put(
- "v1.issuing_dispute.updated",
- com.stripe.events.V1IssuingDisputeUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.issuing_personalization_design.activated",
- com.stripe.events.V1IssuingPersonalizationDesignActivatedEventNotification.class);
- eventClassLookup.put(
- "v1.issuing_personalization_design.deactivated",
- com.stripe.events.V1IssuingPersonalizationDesignDeactivatedEventNotification.class);
- eventClassLookup.put(
- "v1.issuing_personalization_design.rejected",
- com.stripe.events.V1IssuingPersonalizationDesignRejectedEventNotification.class);
- eventClassLookup.put(
- "v1.issuing_personalization_design.updated",
- com.stripe.events.V1IssuingPersonalizationDesignUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.issuing_token.created", com.stripe.events.V1IssuingTokenCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.issuing_token.updated", com.stripe.events.V1IssuingTokenUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.issuing_transaction.created",
- com.stripe.events.V1IssuingTransactionCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.issuing_transaction.purchase_details_receipt_updated",
- com.stripe.events.V1IssuingTransactionPurchaseDetailsReceiptUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.issuing_transaction.updated",
- com.stripe.events.V1IssuingTransactionUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.mandate.updated", com.stripe.events.V1MandateUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.payment_intent.amount_capturable_updated",
- com.stripe.events.V1PaymentIntentAmountCapturableUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.payment_intent.canceled",
- com.stripe.events.V1PaymentIntentCanceledEventNotification.class);
- eventClassLookup.put(
- "v1.payment_intent.created",
- com.stripe.events.V1PaymentIntentCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.payment_intent.partially_funded",
- com.stripe.events.V1PaymentIntentPartiallyFundedEventNotification.class);
- eventClassLookup.put(
- "v1.payment_intent.payment_failed",
- com.stripe.events.V1PaymentIntentPaymentFailedEventNotification.class);
- eventClassLookup.put(
- "v1.payment_intent.processing",
- com.stripe.events.V1PaymentIntentProcessingEventNotification.class);
- eventClassLookup.put(
- "v1.payment_intent.requires_action",
- com.stripe.events.V1PaymentIntentRequiresActionEventNotification.class);
- eventClassLookup.put(
- "v1.payment_intent.succeeded",
- com.stripe.events.V1PaymentIntentSucceededEventNotification.class);
- eventClassLookup.put(
- "v1.payment_link.created", com.stripe.events.V1PaymentLinkCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.payment_link.updated", com.stripe.events.V1PaymentLinkUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.payment_method.attached",
- com.stripe.events.V1PaymentMethodAttachedEventNotification.class);
- eventClassLookup.put(
- "v1.payment_method.automatically_updated",
- com.stripe.events.V1PaymentMethodAutomaticallyUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.payment_method.detached",
- com.stripe.events.V1PaymentMethodDetachedEventNotification.class);
- eventClassLookup.put(
- "v1.payment_method.updated",
- com.stripe.events.V1PaymentMethodUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.payout.canceled", com.stripe.events.V1PayoutCanceledEventNotification.class);
- eventClassLookup.put(
- "v1.payout.created", com.stripe.events.V1PayoutCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.payout.failed", com.stripe.events.V1PayoutFailedEventNotification.class);
- eventClassLookup.put("v1.payout.paid", com.stripe.events.V1PayoutPaidEventNotification.class);
- eventClassLookup.put(
- "v1.payout.reconciliation_completed",
- com.stripe.events.V1PayoutReconciliationCompletedEventNotification.class);
- eventClassLookup.put(
- "v1.payout.updated", com.stripe.events.V1PayoutUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.person.created", com.stripe.events.V1PersonCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.person.deleted", com.stripe.events.V1PersonDeletedEventNotification.class);
- eventClassLookup.put(
- "v1.person.updated", com.stripe.events.V1PersonUpdatedEventNotification.class);
- eventClassLookup.put("v1.plan.created", com.stripe.events.V1PlanCreatedEventNotification.class);
- eventClassLookup.put("v1.plan.deleted", com.stripe.events.V1PlanDeletedEventNotification.class);
- eventClassLookup.put("v1.plan.updated", com.stripe.events.V1PlanUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.price.created", com.stripe.events.V1PriceCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.price.deleted", com.stripe.events.V1PriceDeletedEventNotification.class);
- eventClassLookup.put(
- "v1.price.updated", com.stripe.events.V1PriceUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.product.created", com.stripe.events.V1ProductCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.product.deleted", com.stripe.events.V1ProductDeletedEventNotification.class);
- eventClassLookup.put(
- "v1.product.updated", com.stripe.events.V1ProductUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.promotion_code.created",
- com.stripe.events.V1PromotionCodeCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.promotion_code.updated",
- com.stripe.events.V1PromotionCodeUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.quote.accepted", com.stripe.events.V1QuoteAcceptedEventNotification.class);
- eventClassLookup.put(
- "v1.quote.canceled", com.stripe.events.V1QuoteCanceledEventNotification.class);
- eventClassLookup.put(
- "v1.quote.created", com.stripe.events.V1QuoteCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.quote.finalized", com.stripe.events.V1QuoteFinalizedEventNotification.class);
- eventClassLookup.put(
- "v1.radar.early_fraud_warning.created",
- com.stripe.events.V1RadarEarlyFraudWarningCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.radar.early_fraud_warning.updated",
- com.stripe.events.V1RadarEarlyFraudWarningUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.refund.created", com.stripe.events.V1RefundCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.refund.failed", com.stripe.events.V1RefundFailedEventNotification.class);
- eventClassLookup.put(
- "v1.refund.updated", com.stripe.events.V1RefundUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.review.closed", com.stripe.events.V1ReviewClosedEventNotification.class);
- eventClassLookup.put(
- "v1.review.opened", com.stripe.events.V1ReviewOpenedEventNotification.class);
- eventClassLookup.put(
- "v1.setup_intent.canceled", com.stripe.events.V1SetupIntentCanceledEventNotification.class);
- eventClassLookup.put(
- "v1.setup_intent.created", com.stripe.events.V1SetupIntentCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.setup_intent.requires_action",
- com.stripe.events.V1SetupIntentRequiresActionEventNotification.class);
- eventClassLookup.put(
- "v1.setup_intent.setup_failed",
- com.stripe.events.V1SetupIntentSetupFailedEventNotification.class);
- eventClassLookup.put(
- "v1.setup_intent.succeeded",
- com.stripe.events.V1SetupIntentSucceededEventNotification.class);
- eventClassLookup.put(
- "v1.sigma.scheduled_query_run.created",
- com.stripe.events.V1SigmaScheduledQueryRunCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.source.canceled", com.stripe.events.V1SourceCanceledEventNotification.class);
- eventClassLookup.put(
- "v1.source.chargeable", com.stripe.events.V1SourceChargeableEventNotification.class);
- eventClassLookup.put(
- "v1.source.failed", com.stripe.events.V1SourceFailedEventNotification.class);
- eventClassLookup.put(
- "v1.source.refund_attributes_required",
- com.stripe.events.V1SourceRefundAttributesRequiredEventNotification.class);
- eventClassLookup.put(
- "v1.subscription_schedule.aborted",
- com.stripe.events.V1SubscriptionScheduleAbortedEventNotification.class);
- eventClassLookup.put(
- "v1.subscription_schedule.canceled",
- com.stripe.events.V1SubscriptionScheduleCanceledEventNotification.class);
- eventClassLookup.put(
- "v1.subscription_schedule.completed",
- com.stripe.events.V1SubscriptionScheduleCompletedEventNotification.class);
- eventClassLookup.put(
- "v1.subscription_schedule.created",
- com.stripe.events.V1SubscriptionScheduleCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.subscription_schedule.expiring",
- com.stripe.events.V1SubscriptionScheduleExpiringEventNotification.class);
- eventClassLookup.put(
- "v1.subscription_schedule.released",
- com.stripe.events.V1SubscriptionScheduleReleasedEventNotification.class);
- eventClassLookup.put(
- "v1.subscription_schedule.updated",
- com.stripe.events.V1SubscriptionScheduleUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.tax_rate.created", com.stripe.events.V1TaxRateCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.tax_rate.updated", com.stripe.events.V1TaxRateUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.terminal.reader.action_failed",
- com.stripe.events.V1TerminalReaderActionFailedEventNotification.class);
- eventClassLookup.put(
- "v1.terminal.reader.action_succeeded",
- com.stripe.events.V1TerminalReaderActionSucceededEventNotification.class);
- eventClassLookup.put(
- "v1.terminal.reader.action_updated",
- com.stripe.events.V1TerminalReaderActionUpdatedEventNotification.class);
- eventClassLookup.put(
- "v1.test_helpers.test_clock.advancing",
- com.stripe.events.V1TestHelpersTestClockAdvancingEventNotification.class);
- eventClassLookup.put(
- "v1.test_helpers.test_clock.created",
- com.stripe.events.V1TestHelpersTestClockCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.test_helpers.test_clock.deleted",
- com.stripe.events.V1TestHelpersTestClockDeletedEventNotification.class);
- eventClassLookup.put(
- "v1.test_helpers.test_clock.internal_failure",
- com.stripe.events.V1TestHelpersTestClockInternalFailureEventNotification.class);
- eventClassLookup.put(
- "v1.test_helpers.test_clock.ready",
- com.stripe.events.V1TestHelpersTestClockReadyEventNotification.class);
- eventClassLookup.put(
- "v1.topup.canceled", com.stripe.events.V1TopupCanceledEventNotification.class);
- eventClassLookup.put(
- "v1.topup.created", com.stripe.events.V1TopupCreatedEventNotification.class);
- eventClassLookup.put("v1.topup.failed", com.stripe.events.V1TopupFailedEventNotification.class);
- eventClassLookup.put(
- "v1.topup.reversed", com.stripe.events.V1TopupReversedEventNotification.class);
- eventClassLookup.put(
- "v1.topup.succeeded", com.stripe.events.V1TopupSucceededEventNotification.class);
- eventClassLookup.put(
- "v1.transfer.created", com.stripe.events.V1TransferCreatedEventNotification.class);
- eventClassLookup.put(
- "v1.transfer.reversed", com.stripe.events.V1TransferReversedEventNotification.class);
- eventClassLookup.put(
- "v1.transfer.updated", com.stripe.events.V1TransferUpdatedEventNotification.class);
eventClassLookup.put(
"v2.billing.cadence.billed",
com.stripe.events.V2BillingCadenceBilledEventNotification.class);
@@ -864,6 +398,12 @@ public final class EventNotificationClassLookup {
eventClassLookup.put(
"v2.money_management.transaction.updated",
com.stripe.events.V2MoneyManagementTransactionUpdatedEventNotification.class);
+ eventClassLookup.put(
+ "v2.payments.off_session_payment.attempt_failed",
+ com.stripe.events.V2PaymentsOffSessionPaymentAttemptFailedEventNotification.class);
+ eventClassLookup.put(
+ "v2.payments.off_session_payment.attempt_started",
+ com.stripe.events.V2PaymentsOffSessionPaymentAttemptStartedEventNotification.class);
eventClassLookup.put(
"v2.payments.off_session_payment.authorization_attempt_failed",
com.stripe.events.V2PaymentsOffSessionPaymentAuthorizationAttemptFailedEventNotification
diff --git a/src/main/java/com/stripe/model/v2/FinancialAddressGeneratedMicrodeposits.java b/src/main/java/com/stripe/model/v2/FinancialAddressGeneratedMicrodeposits.java
index b6e3a90d259..7bd4e6f46f4 100644
--- a/src/main/java/com/stripe/model/v2/FinancialAddressGeneratedMicrodeposits.java
+++ b/src/main/java/com/stripe/model/v2/FinancialAddressGeneratedMicrodeposits.java
@@ -3,7 +3,6 @@
import com.google.gson.annotations.SerializedName;
import com.stripe.model.StripeObject;
-import com.stripe.v2.Amount;
import java.util.List;
import lombok.EqualsAndHashCode;
import lombok.Getter;
@@ -15,7 +14,7 @@
public class FinancialAddressGeneratedMicrodeposits extends StripeObject {
/** The amounts of the microdeposits that were generated. */
@SerializedName("amounts")
- List amounts;
+ List amounts;
/**
* Has the value {@code true} if the object exists in live mode or the value {@code false} if the
@@ -40,4 +39,28 @@ public class FinancialAddressGeneratedMicrodeposits extends StripeObject {
*/
@SerializedName("status")
String status;
+
+ /**
+ * For more details about Amount, please refer to the API
+ * Reference.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Amount extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
}
diff --git a/src/main/java/com/stripe/model/v2/billing/Cadence.java b/src/main/java/com/stripe/model/v2/billing/Cadence.java
index 8462ef78971..0b27dbd2fbf 100644
--- a/src/main/java/com/stripe/model/v2/billing/Cadence.java
+++ b/src/main/java/com/stripe/model/v2/billing/Cadence.java
@@ -699,10 +699,10 @@ public static class Card extends StripeObject {
/**
* An advanced option 3D Secure. We strongly recommend that you rely on our SCA Engine to
* automatically prompt your customers for authentication based on risk level and other
- * requirements. However, if you wish to request 3D Secure based on logic from your
- * own fraud engine, provide this option. Read our guide on manually
+ * href="https://docs.stripe.com/strong-customer-authentication">other requirements.
+ * However, if you wish to request 3D Secure based on logic from your own fraud engine,
+ * provide this option. Read our guide on manually
* requesting 3D Secure for more information on how this configuration interacts with
* Radar and our SCA Engine.
*
diff --git a/src/main/java/com/stripe/model/v2/billing/CollectionSetting.java b/src/main/java/com/stripe/model/v2/billing/CollectionSetting.java
index 5e699c71989..4a9be6c5836 100644
--- a/src/main/java/com/stripe/model/v2/billing/CollectionSetting.java
+++ b/src/main/java/com/stripe/model/v2/billing/CollectionSetting.java
@@ -228,10 +228,10 @@ public static class Card extends StripeObject {
/**
* An advanced option 3D Secure. We strongly recommend that you rely on our SCA Engine to
* automatically prompt your customers for authentication based on risk level and other requirements.
+ * href="https://docs.stripe.com/strong-customer-authentication">other requirements.
* However, if you wish to request 3D Secure based on logic from your own fraud engine,
* provide this option. Read our guide on manually
+ * href="https://docs.stripe.com/payments/3d-secure/authentication-flow#manual-three-ds">manually
* requesting 3D Secure for more information on how this configuration interacts with
* Radar and our SCA Engine.
*
diff --git a/src/main/java/com/stripe/model/v2/billing/CollectionSettingVersion.java b/src/main/java/com/stripe/model/v2/billing/CollectionSettingVersion.java
index 2b620865a26..8c511cc3c92 100644
--- a/src/main/java/com/stripe/model/v2/billing/CollectionSettingVersion.java
+++ b/src/main/java/com/stripe/model/v2/billing/CollectionSettingVersion.java
@@ -202,10 +202,10 @@ public static class Card extends StripeObject {
/**
* An advanced option 3D Secure. We strongly recommend that you rely on our SCA Engine to
* automatically prompt your customers for authentication based on risk level and other requirements.
+ * href="https://docs.stripe.com/strong-customer-authentication">other requirements.
* However, if you wish to request 3D Secure based on logic from your own fraud engine,
* provide this option. Read our guide on manually
+ * href="https://docs.stripe.com/payments/3d-secure/authentication-flow#manual-three-ds">manually
* requesting 3D Secure for more information on how this configuration interacts with
* Radar and our SCA Engine.
*
diff --git a/src/main/java/com/stripe/model/v2/billing/MeterEvent.java b/src/main/java/com/stripe/model/v2/billing/MeterEvent.java
index 698c1693576..ac2b0fa94ad 100644
--- a/src/main/java/com/stripe/model/v2/billing/MeterEvent.java
+++ b/src/main/java/com/stripe/model/v2/billing/MeterEvent.java
@@ -48,7 +48,8 @@ public class MeterEvent extends StripeObject {
/**
* The payload of the event. This must contain the fields corresponding to a meter’s {@code
* customer_mapping.event_payload_key} (default is {@code stripe_customer_id}) and {@code
- * value_settings.event_payload_key} (default is {@code value}). Read more about the payload.
+ * value_settings.event_payload_key} (default is {@code value}). Read more about the payload..
*/
@SerializedName("payload")
Map payload;
diff --git a/src/main/java/com/stripe/model/v2/billing/ServiceAction.java b/src/main/java/com/stripe/model/v2/billing/ServiceAction.java
index 214c6a0b82c..26e4a277924 100644
--- a/src/main/java/com/stripe/model/v2/billing/ServiceAction.java
+++ b/src/main/java/com/stripe/model/v2/billing/ServiceAction.java
@@ -81,7 +81,7 @@ public class ServiceAction extends StripeObject implements HasId {
public static class CreditGrant extends StripeObject {
/** The amount of the credit grant. */
@SerializedName("amount")
- com.stripe.model.v2.billing.ServiceAction.CreditGrant.Amount amount;
+ Amount amount;
/** Defines the scope where the credit grant is applicable. */
@SerializedName("applicability_config")
@@ -125,7 +125,7 @@ public static class Amount extends StripeObject {
/** The monetary amount of the credit grant. Required if {@code type} is {@code monetary}. */
@SerializedName("monetary")
- com.stripe.v2.Amount monetary;
+ Monetary monetary;
/**
* The type of the credit grant amount. We currently support {@code monetary} and {@code
@@ -157,6 +157,27 @@ public static class CustomPricingUnit extends StripeObject implements HasId {
@SerializedName("value")
String value;
}
+
+ /** The monetary amount of the credit grant. Required if {@code type} is {@code monetary}. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Monetary extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
}
/** Defines the scope where the credit grant is applicable. */
@@ -214,7 +235,7 @@ public static class ExpiryConfig extends StripeObject {
public static class CreditGrantPerTenant extends StripeObject {
/** The amount of the credit grant. */
@SerializedName("amount")
- com.stripe.model.v2.billing.ServiceAction.CreditGrantPerTenant.Amount amount;
+ Amount amount;
/** Defines the scope where the credit grant is applicable. */
@SerializedName("applicability_config")
@@ -258,7 +279,7 @@ public static class Amount extends StripeObject {
/** The monetary amount of the credit grant. Required if {@code type} is {@code monetary}. */
@SerializedName("monetary")
- com.stripe.v2.Amount monetary;
+ Monetary monetary;
/**
* The type of the credit grant amount. We currently support {@code monetary} and {@code
@@ -290,6 +311,27 @@ public static class CustomPricingUnit extends StripeObject implements HasId {
@SerializedName("value")
String value;
}
+
+ /** The monetary amount of the credit grant. Required if {@code type} is {@code monetary}. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Monetary extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
}
/** Defines the scope where the credit grant is applicable. */
diff --git a/src/main/java/com/stripe/model/v2/core/Account.java b/src/main/java/com/stripe/model/v2/core/Account.java
index abf9dd4afd2..e09f07a44a7 100644
--- a/src/main/java/com/stripe/model/v2/core/Account.java
+++ b/src/main/java/com/stripe/model/v2/core/Account.java
@@ -4,7 +4,6 @@
import com.google.gson.annotations.SerializedName;
import com.stripe.model.HasId;
import com.stripe.model.StripeObject;
-import com.stripe.v2.Amount;
import java.time.Instant;
import java.util.List;
import java.util.Map;
@@ -73,6 +72,13 @@ public class Account extends StripeObject implements HasId {
@SerializedName("display_name")
String displayName;
+ /**
+ * Information about the future requirements for the Account that will eventually come into
+ * effect, including what information needs to be collected, and by when.
+ */
+ @SerializedName("future_requirements")
+ FutureRequirements futureRequirements;
+
/** Unique identifier for the Account. */
@Getter(onMethod_ = {@Override})
@SerializedName("id")
@@ -106,8 +112,8 @@ public class Account extends StripeObject implements HasId {
String object;
/**
- * Information about the requirements for the Account, including what information needs to be
- * collected, and by when.
+ * Information about the active requirements for the Account, including what information needs to
+ * be collected, and by when.
*/
@SerializedName("requirements")
Requirements requirements;
@@ -728,16 +734,17 @@ public static class AutomaticIndirectTax extends StripeObject {
String ipAddress;
/**
- * The customer’s identified tax location - uses {@code location_source}. Will only be
- * rendered if the {@code automatic_indirect_tax} feature is requested and {@code active}.
+ * The identified
+ * tax location of the customer. Will only be rendered if the {@code automatic_indirect_tax}
+ * feature is requested and {@code active}.
*/
@SerializedName("location")
Location location;
/**
- * The data source used to identify the customer's tax location - defaults to
- * 'identity_address'. Will only be used for automatic tax calculation on the customer's
- * Invoices and Subscriptions.
+ * The data source used to identify the customer's tax location. Will only be used for
+ * automatic tax calculation on the customer's Invoices and Subscriptions.
*
* One of {@code identity_address}, {@code ip_address}, {@code payment_method}, or {@code
* shipping_address}.
@@ -746,8 +753,10 @@ public static class AutomaticIndirectTax extends StripeObject {
String locationSource;
/**
- * The customer’s identified tax location - uses {@code location_source}. Will only be
- * rendered if the {@code automatic_indirect_tax} feature is requested and {@code active}.
+ * The identified
+ * tax location of the customer. Will only be rendered if the {@code automatic_indirect_tax}
+ * feature is requested and {@code active}.
*/
@Getter
@Setter
@@ -862,8 +871,7 @@ public static class Capabilities extends StripeObject {
/**
* Generates requirements for enabling automatic indirect tax calculation on this customer's
* invoices or subscriptions. Recommended to request this capability if planning to enable
- * automatic tax calculation on this customer's invoices or subscriptions. Uses the {@code
- * location_source} field.
+ * automatic tax calculation on this customer's invoices or subscriptions.
*/
@SerializedName("automatic_indirect_tax")
AutomaticIndirectTax automaticIndirectTax;
@@ -871,8 +879,7 @@ public static class Capabilities extends StripeObject {
/**
* Generates requirements for enabling automatic indirect tax calculation on this customer's
* invoices or subscriptions. Recommended to request this capability if planning to enable
- * automatic tax calculation on this customer's invoices or subscriptions. Uses the {@code
- * location_source} field.
+ * automatic tax calculation on this customer's invoices or subscriptions.
*/
@Getter
@Setter
@@ -1016,6 +1023,10 @@ public static class Merchant extends StripeObject {
@SerializedName("card_payments")
CardPayments cardPayments;
+ /** Settings specific to Konbini payments on the account. */
+ @SerializedName("konbini_payments")
+ KonbiniPayments konbiniPayments;
+
/**
* The merchant category code for the merchant. MCCs are used to classify businesses based on
* the goods or services they provide.
@@ -1023,6 +1034,10 @@ public static class Merchant extends StripeObject {
@SerializedName("mcc")
String mcc;
+ /** Settings for the default text that appears on statements for language variations. */
+ @SerializedName("script_statement_descriptor")
+ ScriptStatementDescriptor scriptStatementDescriptor;
+
/** Settings used for SEPA debit payments. */
@SerializedName("sepa_debit_payments")
SepaDebitPayments sepaDebitPayments;
@@ -3780,6 +3795,140 @@ public static class DeclineOn extends StripeObject {
}
}
+ /** Settings specific to Konbini payments on the account. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class KonbiniPayments extends StripeObject {
+ /** Support for Konbini payments. */
+ @SerializedName("support")
+ Support support;
+
+ /** Support for Konbini payments. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Support extends StripeObject {
+ /** Support email address for Konbini payments. */
+ @SerializedName("email")
+ String email;
+
+ /** Support hours for Konbini payments. */
+ @SerializedName("hours")
+ Hours hours;
+
+ /** Support phone number for Konbini payments. */
+ @SerializedName("phone")
+ String phone;
+
+ /** Support hours for Konbini payments. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Hours extends StripeObject {
+ /** Support hours end time (JST time of day) for in {@code HH:MM} format. */
+ @SerializedName("end_time")
+ String endTime;
+
+ /** Support hours start time (JST time of day) for in {@code HH:MM} format. */
+ @SerializedName("start_time")
+ String startTime;
+ }
+ }
+ }
+
+ /** Settings for the default text that appears on statements for language variations. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class ScriptStatementDescriptor extends StripeObject {
+ /**
+ * The Kana variation of statement_descriptor used for charges in Japan. Japanese statement
+ * descriptors have special
+ * requirements.
+ */
+ @SerializedName("kana")
+ Kana kana;
+
+ /**
+ * The Kanji variation of statement_descriptor used for charges in Japan. Japanese statement
+ * descriptors have special
+ * requirements.
+ */
+ @SerializedName("kanji")
+ Kanji kanji;
+
+ /**
+ * The Kana variation of statement_descriptor used for charges in Japan. Japanese statement
+ * descriptors have special
+ * requirements.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Kana extends StripeObject {
+ /**
+ * The default text that appears on statements for non-card charges outside of Japan. For
+ * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as
+ * the statement descriptor prefix. In that case, if concatenating the statement
+ * descriptor suffix causes the combined statement descriptor to exceed 22 characters, we
+ * truncate the statement_descriptor text to limit the full descriptor to 22 characters.
+ * For more information about statement descriptors and their requirements, see the
+ * Merchant Configuration settings documentation.
+ */
+ @SerializedName("descriptor")
+ String descriptor;
+
+ /**
+ * Default text that appears on statements for card charges outside of Japan, prefixing
+ * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for
+ * the dynamic part of the descriptor, keep this text short. If you don’t specify this
+ * value, statement_descriptor is used as the prefix. For more information about statement
+ * descriptors and their requirements, see the Merchant Configuration settings
+ * documentation.
+ */
+ @SerializedName("prefix")
+ String prefix;
+ }
+
+ /**
+ * The Kanji variation of statement_descriptor used for charges in Japan. Japanese statement
+ * descriptors have special
+ * requirements.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Kanji extends StripeObject {
+ /**
+ * The default text that appears on statements for non-card charges outside of Japan. For
+ * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as
+ * the statement descriptor prefix. In that case, if concatenating the statement
+ * descriptor suffix causes the combined statement descriptor to exceed 22 characters, we
+ * truncate the statement_descriptor text to limit the full descriptor to 22 characters.
+ * For more information about statement descriptors and their requirements, see the
+ * Merchant Configuration settings documentation.
+ */
+ @SerializedName("descriptor")
+ String descriptor;
+
+ /**
+ * Default text that appears on statements for card charges outside of Japan, prefixing
+ * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for
+ * the dynamic part of the descriptor, keep this text short. If you don’t specify this
+ * value, statement_descriptor is used as the prefix. For more information about statement
+ * descriptors and their requirements, see the Merchant Configuration settings
+ * documentation.
+ */
+ @SerializedName("prefix")
+ String prefix;
+ }
+ }
+
/** Settings used for SEPA debit payments. */
@Getter
@Setter
@@ -4579,6 +4728,10 @@ public static class StatusDetail extends StripeObject {
@Setter
@EqualsAndHashCode(callSuper = false)
public static class HoldsCurrencies extends StripeObject {
+ /** Can hold storage-type funds on Stripe in EUR. */
+ @SerializedName("eur")
+ Eur eur;
+
/** Can hold storage-type funds on Stripe in GBP. */
@SerializedName("gbp")
Gbp gbp;
@@ -4591,6 +4744,62 @@ public static class HoldsCurrencies extends StripeObject {
@SerializedName("usdc")
Usdc usdc;
+ /** Can hold storage-type funds on Stripe in EUR. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Eur extends StripeObject {
+ /** Whether the Capability has been requested. */
+ @SerializedName("requested")
+ Boolean requested;
+
+ /**
+ * The status of the Capability.
+ *
+ *
One of {@code active}, {@code pending}, {@code restricted}, or {@code
+ * unsupported}.
+ */
+ @SerializedName("status")
+ String status;
+
+ /**
+ * Additional details regarding the status of the Capability. {@code status_details}
+ * will be empty if the Capability's status is {@code active}.
+ */
+ @SerializedName("status_details")
+ List
+ statusDetails;
+
+ /**
+ * For more details about StatusDetail, please refer to the API Reference.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class StatusDetail extends StripeObject {
+ /**
+ * Machine-readable code explaining the reason for the Capability to be in its current
+ * status.
+ *
+ * One of {@code determining_status}, {@code requirements_past_due}, {@code
+ * requirements_pending_verification}, {@code restricted_other}, {@code
+ * unsupported_business}, {@code unsupported_country}, or {@code
+ * unsupported_entity_type}.
+ */
+ @SerializedName("code")
+ String code;
+
+ /**
+ * Machine-readable code explaining how to make the Capability active.
+ *
+ *
One of {@code contact_stripe}, {@code no_resolution}, or {@code provide_info}.
+ */
+ @SerializedName("resolution")
+ String resolution;
+ }
+ }
+
/** Can hold storage-type funds on Stripe in GBP. */
@Getter
@Setter
@@ -5390,6 +5599,345 @@ public static class Responsibilities extends StripeObject {
*/
@SerializedName("losses_collector")
String lossesCollector;
+
+ /**
+ * A value indicating responsibility for collecting requirements on this account.
+ *
+ *
One of {@code application}, or {@code stripe}.
+ */
+ @SerializedName("requirements_collector")
+ String requirementsCollector;
+ }
+ }
+
+ /**
+ * Information about the future requirements for the Account that will eventually come into
+ * effect, including what information needs to be collected, and by when.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class FutureRequirements extends StripeObject {
+ /** A list of requirements for the Account. */
+ @SerializedName("entries")
+ List entries;
+
+ /** The time at which the future requirements become effective. */
+ @SerializedName("minimum_transition_date")
+ Instant minimumTransitionDate;
+
+ /** An object containing an overview of requirements for the Account. */
+ @SerializedName("summary")
+ Summary summary;
+
+ /**
+ * For more details about Entry, please refer to the API
+ * Reference.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Entry extends StripeObject {
+ /**
+ * Whether the responsibility is with the integrator or with Stripe (to review info, to wait
+ * for some condition, etc.) to action the requirement.
+ *
+ * One of {@code stripe}, or {@code user}.
+ */
+ @SerializedName("awaiting_action_from")
+ String awaitingActionFrom;
+
+ /** Machine-readable string describing the requirement. */
+ @SerializedName("description")
+ String description;
+
+ /**
+ * Descriptions of why the requirement must be collected, or why the collected information
+ * isn't satisfactory to Stripe.
+ */
+ @SerializedName("errors")
+ List errors;
+
+ /**
+ * A hash describing the impact of not collecting the requirement, or Stripe not being able to
+ * verify the collected information.
+ */
+ @SerializedName("impact")
+ Impact impact;
+
+ /** The soonest point when the account will be impacted by not providing the requirement. */
+ @SerializedName("minimum_deadline")
+ MinimumDeadline minimumDeadline;
+
+ /** A reference to the location of the requirement. */
+ @SerializedName("reference")
+ Reference reference;
+
+ /** A list of reasons why Stripe is collecting the requirement. */
+ @SerializedName("requested_reasons")
+ List requestedReasons;
+
+ /**
+ * For more details about Errors, please refer to the API Reference.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Errors extends StripeObject {
+ /**
+ * Machine-readable code describing the error.
+ *
+ * One of {@code invalid_address_city_state_postal_code}, {@code
+ * invalid_address_highway_contract_box}, {@code invalid_address_private_mailbox}, {@code
+ * invalid_business_profile_name}, {@code invalid_business_profile_name_denylisted}, {@code
+ * invalid_company_name_denylisted}, {@code invalid_dob_age_over_maximum}, {@code
+ * invalid_dob_age_under_18}, {@code invalid_dob_age_under_minimum}, {@code
+ * invalid_product_description_length}, {@code invalid_product_description_url_match},
+ * {@code invalid_representative_country}, {@code
+ * invalid_statement_descriptor_business_mismatch}, {@code
+ * invalid_statement_descriptor_denylisted}, {@code invalid_statement_descriptor_length},
+ * {@code invalid_statement_descriptor_prefix_denylisted}, {@code
+ * invalid_statement_descriptor_prefix_mismatch}, {@code invalid_street_address}, {@code
+ * invalid_tax_id}, {@code invalid_tax_id_format}, {@code invalid_tos_acceptance}, {@code
+ * invalid_url_denylisted}, {@code invalid_url_format}, {@code
+ * invalid_url_website_business_information_mismatch}, {@code invalid_url_website_empty},
+ * {@code invalid_url_website_inaccessible}, {@code
+ * invalid_url_website_inaccessible_geoblocked}, {@code
+ * invalid_url_website_inaccessible_password_protected}, {@code
+ * invalid_url_website_incomplete}, {@code
+ * invalid_url_website_incomplete_cancellation_policy}, {@code
+ * invalid_url_website_incomplete_customer_service_details}, {@code
+ * invalid_url_website_incomplete_legal_restrictions}, {@code
+ * invalid_url_website_incomplete_refund_policy}, {@code
+ * invalid_url_website_incomplete_return_policy}, {@code
+ * invalid_url_website_incomplete_terms_and_conditions}, {@code
+ * invalid_url_website_incomplete_under_construction}, {@code invalid_url_website_other},
+ * {@code invalid_url_web_presence_detected}, {@code invalid_value_other}, {@code
+ * unresolvable_ip_address}, {@code unresolvable_postal_code}, {@code
+ * verification_directors_mismatch}, {@code verification_document_address_mismatch}, {@code
+ * verification_document_address_missing}, {@code verification_document_corrupt}, {@code
+ * verification_document_country_not_supported}, {@code
+ * verification_document_directors_mismatch}, {@code verification_document_dob_mismatch},
+ * {@code verification_document_duplicate_type}, {@code verification_document_expired},
+ * {@code verification_document_failed_copy}, {@code
+ * verification_document_failed_greyscale}, {@code verification_document_failed_other},
+ * {@code verification_document_failed_test_mode}, {@code verification_document_fraudulent},
+ * {@code verification_document_id_number_mismatch}, {@code
+ * verification_document_id_number_missing}, {@code verification_document_incomplete},
+ * {@code verification_document_invalid}, {@code
+ * verification_document_issue_or_expiry_date_missing}, {@code
+ * verification_document_manipulated}, {@code verification_document_missing_back}, {@code
+ * verification_document_missing_front}, {@code verification_document_name_mismatch}, {@code
+ * verification_document_name_missing}, {@code verification_document_nationality_mismatch},
+ * {@code verification_document_not_readable}, {@code verification_document_not_signed},
+ * {@code verification_document_not_uploaded}, {@code verification_document_photo_mismatch},
+ * {@code verification_document_too_large}, {@code
+ * verification_document_type_not_supported}, {@code verification_extraneous_directors},
+ * {@code verification_failed_address_match}, {@code
+ * verification_failed_business_iec_number}, {@code verification_failed_document_match},
+ * {@code verification_failed_id_number_match}, {@code verification_failed_keyed_identity},
+ * {@code verification_failed_keyed_match}, {@code verification_failed_name_match}, {@code
+ * verification_failed_other}, {@code verification_failed_representative_authority}, {@code
+ * verification_failed_residential_address}, {@code verification_failed_tax_id_match},
+ * {@code verification_failed_tax_id_not_issued}, {@code verification_missing_directors},
+ * {@code verification_missing_executives}, {@code verification_missing_owners}, {@code
+ * verification_requires_additional_memorandum_of_associations}, {@code
+ * verification_requires_additional_proof_of_registration}, {@code
+ * verification_selfie_document_missing_photo}, {@code verification_selfie_face_mismatch},
+ * {@code verification_selfie_manipulated}, {@code verification_selfie_unverified_other},
+ * {@code verification_supportability}, or {@code verification_token_stale}.
+ */
+ @SerializedName("code")
+ String code;
+
+ /** Human-readable description of the error. */
+ @SerializedName("description")
+ String description;
+ }
+
+ /**
+ * A hash describing the impact of not collecting the requirement, or Stripe not being able to
+ * verify the collected information.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Impact extends StripeObject {
+ /**
+ * The Capabilities that will be restricted if the requirement is not collected and
+ * satisfactory to Stripe.
+ */
+ @SerializedName("restricts_capabilities")
+ List restrictsCapabilities;
+
+ /**
+ * For more details about RestrictsCapability, please refer to the API Reference.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class RestrictsCapability extends StripeObject {
+ /**
+ * The name of the Capability which will be restricted.
+ *
+ * One of {@code ach_debit_payments}, {@code acss_debit_payments}, {@code
+ * affirm_payments}, {@code afterpay_clearpay_payments}, {@code alma_payments}, {@code
+ * amazon_pay_payments}, {@code automatic_indirect_tax}, {@code au_becs_debit_payments},
+ * {@code bacs_debit_payments}, {@code bancontact_payments}, {@code bank_accounts.local},
+ * {@code bank_accounts.wire}, {@code blik_payments}, {@code boleto_payments}, {@code
+ * cards}, {@code card_payments}, {@code cartes_bancaires_payments}, {@code
+ * cashapp_payments}, {@code commercial.celtic.charge_card}, {@code
+ * commercial.celtic.spend_card}, {@code commercial.cross_river_bank.charge_card}, {@code
+ * commercial.cross_river_bank.spend_card}, {@code commercial.lead.prepaid_card}, {@code
+ * commercial.stripe.charge_card}, {@code commercial.stripe.prepaid_card}, {@code crypto},
+ * {@code eps_payments}, {@code financial_addresses.bank_accounts}, {@code fpx_payments},
+ * {@code gb_bank_transfer_payments}, {@code grabpay_payments}, {@code
+ * holds_currencies.eur}, {@code holds_currencies.gbp}, {@code holds_currencies.usd},
+ * {@code ideal_payments}, {@code inbound_transfers.financial_accounts}, {@code
+ * jcb_payments}, {@code jp_bank_transfer_payments}, {@code kakao_pay_payments}, {@code
+ * klarna_payments}, {@code konbini_payments}, {@code kr_card_payments}, {@code
+ * link_payments}, {@code mobilepay_payments}, {@code multibanco_payments}, {@code
+ * mx_bank_transfer_payments}, {@code naver_pay_payments}, {@code
+ * outbound_payments.bank_accounts}, {@code outbound_payments.cards}, {@code
+ * outbound_payments.financial_accounts}, {@code outbound_transfers.bank_accounts}, {@code
+ * outbound_transfers.financial_accounts}, {@code oxxo_payments}, {@code p24_payments},
+ * {@code payco_payments}, {@code paynow_payments}, {@code pay_by_bank_payments}, {@code
+ * promptpay_payments}, {@code revolut_pay_payments}, {@code samsung_pay_payments}, {@code
+ * sepa_bank_transfer_payments}, {@code sepa_debit_payments}, {@code
+ * stripe_balance.payouts}, {@code stripe_balance.stripe_transfers}, {@code
+ * swish_payments}, {@code twint_payments}, {@code us_bank_transfer_payments}, or {@code
+ * zip_payments}.
+ */
+ @SerializedName("capability")
+ String capability;
+
+ /**
+ * The configuration which specifies the Capability which will be restricted.
+ *
+ *
One of {@code card_creator}, {@code customer}, {@code merchant}, {@code recipient},
+ * or {@code storer}.
+ */
+ @SerializedName("configuration")
+ String configuration;
+
+ /**
+ * Details about when in the account lifecycle the requirement must be collected by the
+ * avoid the Capability restriction.
+ */
+ @SerializedName("deadline")
+ Deadline deadline;
+
+ /**
+ * Details about when in the account lifecycle the requirement must be collected by the
+ * avoid the Capability restriction.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Deadline extends StripeObject {
+ /**
+ * The current status of the requirement's impact.
+ *
+ *
One of {@code currently_due}, {@code eventually_due}, or {@code past_due}.
+ */
+ @SerializedName("status")
+ String status;
+ }
+ }
+ }
+
+ /** The soonest point when the account will be impacted by not providing the requirement. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class MinimumDeadline extends StripeObject {
+ /**
+ * The current status of the requirement's impact.
+ *
+ *
One of {@code currently_due}, {@code eventually_due}, or {@code past_due}.
+ */
+ @SerializedName("status")
+ String status;
+ }
+
+ /** A reference to the location of the requirement. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Reference extends StripeObject {
+ /** If {@code inquiry} is the type, the inquiry token. */
+ @SerializedName("inquiry")
+ String inquiry;
+
+ /** If {@code resource} is the type, the resource token. */
+ @SerializedName("resource")
+ String resource;
+
+ /**
+ * The type of the reference. If the type is "inquiry", the inquiry token can be
+ * found in the "inquiry" field. Otherwise the type is an API resource, the token
+ * for which can be found in the "resource" field.
+ *
+ *
One of {@code inquiry}, {@code payment_method}, or {@code person}.
+ */
+ @SerializedName("type")
+ String type;
+ }
+
+ /**
+ * For more details about RequestedReason, please refer to the API Reference.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class RequestedReason extends StripeObject {
+ /**
+ * Machine-readable description of Stripe's reason for collecting the requirement.
+ *
+ *
One of {@code routine_onboarding}, or {@code routine_verification}.
+ */
+ @SerializedName("code")
+ String code;
+ }
+ }
+
+ /** An object containing an overview of requirements for the Account. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Summary extends StripeObject {
+ /**
+ * The soonest date and time a requirement on the Account will become {@code past due}.
+ * Represented as a RFC 3339 date & time UTC value in millisecond precision, for example:
+ * {@code 2022-09-18T13:22:18.123Z}.
+ */
+ @SerializedName("minimum_deadline")
+ MinimumDeadline minimumDeadline;
+
+ /**
+ * The soonest date and time a requirement on the Account will become {@code past due}.
+ * Represented as a RFC 3339 date & time UTC value in millisecond precision, for example:
+ * {@code 2022-09-18T13:22:18.123Z}.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class MinimumDeadline extends StripeObject {
+ /**
+ * The current strictest status of all requirements on the Account.
+ *
+ *
One of {@code currently_due}, {@code eventually_due}, or {@code past_due}.
+ */
+ @SerializedName("status")
+ String status;
+
+ /** The soonest RFC3339 date & time UTC value a requirement can impact the Account. */
+ @SerializedName("time")
+ Instant time;
+ }
}
}
@@ -6661,6 +7209,27 @@ public static class AnnualRevenue extends StripeObject {
*/
@SerializedName("fiscal_year_end")
String fiscalYearEnd;
+
+ /** A non-negative integer representing the amount in the smallest currency unit. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Amount extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
}
/** Documents that may be submitted to satisfy various informational requests. */
@@ -6998,20 +7567,20 @@ public static class IdNumber extends StripeObject {
/**
* Open Enum. The ID number type of a business entity.
*
- *
One of {@code ae_crn}, {@code ae_vat}, {@code ao_nif}, {@code at_fn}, {@code au_abn},
- * {@code au_acn}, {@code au_in}, {@code az_tin}, {@code bd_etin}, {@code be_cbe}, {@code
- * bg_uic}, {@code br_cnpj}, {@code ca_cn}, {@code ca_crarr}, {@code ca_neq}, {@code
- * ca_rid}, {@code ch_chid}, {@code ch_uid}, {@code cr_cpj}, {@code cr_nite}, {@code
- * cy_tic}, {@code cz_ico}, {@code de_hrn}, {@code de_vat}, {@code dk_cvr}, {@code do_rcn},
- * {@code ee_rk}, {@code es_cif}, {@code fi_yt}, {@code fr_siren}, {@code fr_vat}, {@code
- * gb_crn}, {@code gi_crn}, {@code gr_gemi}, {@code gt_nit}, {@code hk_br}, {@code hk_cr},
- * {@code hk_mbs}, {@code hu_cjs}, {@code ie_crn}, {@code it_rea}, {@code it_vat}, {@code
- * jp_cn}, {@code kz_bin}, {@code li_uid}, {@code lt_ccrn}, {@code lu_rcs}, {@code lv_urn},
- * {@code mt_crn}, {@code mx_rfc}, {@code my_brn}, {@code my_coid}, {@code my_sst}, {@code
- * mz_nuit}, {@code nl_kvk}, {@code no_orgnr}, {@code nz_bn}, {@code pe_ruc}, {@code
- * pk_ntn}, {@code pl_regon}, {@code pt_vat}, {@code ro_cui}, {@code sa_crn}, {@code
- * sa_tin}, {@code se_orgnr}, {@code sg_uen}, {@code si_msp}, {@code sk_ico}, {@code
- * th_crn}, {@code th_prn}, {@code th_tin}, or {@code us_ein}.
+ *
One of {@code ae_crn}, {@code ae_vat}, {@code ao_nif}, {@code ar_cuit}, {@code at_fn},
+ * {@code au_abn}, {@code au_acn}, {@code au_in}, {@code az_tin}, {@code bd_etin}, {@code
+ * be_cbe}, {@code bg_uic}, {@code br_cnpj}, {@code ca_cn}, {@code ca_crarr}, {@code
+ * ca_neq}, {@code ca_rid}, {@code ch_chid}, {@code ch_uid}, {@code cr_cpj}, {@code
+ * cr_nite}, {@code cy_tic}, {@code cz_ico}, {@code de_hrn}, {@code de_vat}, {@code dk_cvr},
+ * {@code do_rcn}, {@code ee_rk}, {@code es_cif}, {@code fi_yt}, {@code fr_siren}, {@code
+ * fr_vat}, {@code gb_crn}, {@code gi_crn}, {@code gr_gemi}, {@code gt_nit}, {@code hk_br},
+ * {@code hk_cr}, {@code hk_mbs}, {@code hu_cjs}, {@code ie_crn}, {@code it_rea}, {@code
+ * it_vat}, {@code jp_cn}, {@code kz_bin}, {@code li_uid}, {@code lt_ccrn}, {@code lu_rcs},
+ * {@code lv_urn}, {@code mt_crn}, {@code mx_rfc}, {@code my_brn}, {@code my_coid}, {@code
+ * my_sst}, {@code mz_nuit}, {@code nl_kvk}, {@code no_orgnr}, {@code nz_bn}, {@code
+ * pe_ruc}, {@code pk_ntn}, {@code pl_regon}, {@code pt_vat}, {@code ro_cui}, {@code
+ * sa_crn}, {@code sa_tin}, {@code se_orgnr}, {@code sg_uen}, {@code si_msp}, {@code
+ * sk_ico}, {@code th_crn}, {@code th_prn}, {@code th_tin}, or {@code us_ein}.
*/
@SerializedName("type")
String type;
@@ -7025,6 +7594,27 @@ public static class MonthlyEstimatedRevenue extends StripeObject {
/** A non-negative integer representing the amount in the smallest currency unit. */
@SerializedName("amount")
Amount amount;
+
+ /** A non-negative integer representing the amount in the smallest currency unit. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Amount extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
}
/** The business registration address of the business entity in non latin script. */
@@ -7669,8 +8259,8 @@ public static class IdNumber extends StripeObject {
/**
* The ID number type of an individual.
*
- *
One of {@code ae_eid}, {@code ao_nif}, {@code az_tin}, {@code bd_brc}, {@code
- * bd_etin}, {@code bd_nid}, {@code br_cpf}, {@code cr_cpf}, {@code cr_dimex}, {@code
+ *
One of {@code ae_eid}, {@code ao_nif}, {@code ar_dni}, {@code az_tin}, {@code bd_brc},
+ * {@code bd_etin}, {@code bd_nid}, {@code br_cpf}, {@code cr_cpf}, {@code cr_dimex}, {@code
* cr_nite}, {@code de_stn}, {@code do_rcn}, {@code gt_nit}, {@code hk_id}, {@code kz_iin},
* {@code mx_rfc}, {@code my_nric}, {@code mz_nuit}, {@code nl_bsn}, {@code pe_dni}, {@code
* pk_cnic}, {@code pk_snic}, {@code sa_tin}, {@code sg_fin}, {@code sg_nric}, {@code
@@ -7865,21 +8455,13 @@ public static class Kanji extends StripeObject {
}
/**
- * Information about the requirements for the Account, including what information needs to be
- * collected, and by when.
+ * Information about the active requirements for the Account, including what information needs to
+ * be collected, and by when.
*/
@Getter
@Setter
@EqualsAndHashCode(callSuper = false)
public static class Requirements extends StripeObject {
- /**
- * A value indicating responsibility for collecting requirements on this account.
- *
- *
One of {@code application}, or {@code stripe}.
- */
- @SerializedName("collector")
- String collector;
-
/** A list of requirements for the Account. */
@SerializedName("entries")
List entries;
@@ -8052,17 +8634,17 @@ public static class RestrictsCapability extends StripeObject {
* commercial.stripe.charge_card}, {@code commercial.stripe.prepaid_card}, {@code crypto},
* {@code eps_payments}, {@code financial_addresses.bank_accounts}, {@code fpx_payments},
* {@code gb_bank_transfer_payments}, {@code grabpay_payments}, {@code
- * holds_currencies.gbp}, {@code holds_currencies.usd}, {@code ideal_payments}, {@code
- * inbound_transfers.financial_accounts}, {@code jcb_payments}, {@code
- * jp_bank_transfer_payments}, {@code kakao_pay_payments}, {@code klarna_payments}, {@code
- * konbini_payments}, {@code kr_card_payments}, {@code link_payments}, {@code
- * mobilepay_payments}, {@code multibanco_payments}, {@code mx_bank_transfer_payments},
- * {@code naver_pay_payments}, {@code outbound_payments.bank_accounts}, {@code
- * outbound_payments.cards}, {@code outbound_payments.financial_accounts}, {@code
- * outbound_transfers.bank_accounts}, {@code outbound_transfers.financial_accounts},
- * {@code oxxo_payments}, {@code p24_payments}, {@code payco_payments}, {@code
- * paynow_payments}, {@code pay_by_bank_payments}, {@code promptpay_payments}, {@code
- * revolut_pay_payments}, {@code samsung_pay_payments}, {@code
+ * holds_currencies.eur}, {@code holds_currencies.gbp}, {@code holds_currencies.usd},
+ * {@code ideal_payments}, {@code inbound_transfers.financial_accounts}, {@code
+ * jcb_payments}, {@code jp_bank_transfer_payments}, {@code kakao_pay_payments}, {@code
+ * klarna_payments}, {@code konbini_payments}, {@code kr_card_payments}, {@code
+ * link_payments}, {@code mobilepay_payments}, {@code multibanco_payments}, {@code
+ * mx_bank_transfer_payments}, {@code naver_pay_payments}, {@code
+ * outbound_payments.bank_accounts}, {@code outbound_payments.cards}, {@code
+ * outbound_payments.financial_accounts}, {@code outbound_transfers.bank_accounts}, {@code
+ * outbound_transfers.financial_accounts}, {@code oxxo_payments}, {@code p24_payments},
+ * {@code payco_payments}, {@code paynow_payments}, {@code pay_by_bank_payments}, {@code
+ * promptpay_payments}, {@code revolut_pay_payments}, {@code samsung_pay_payments}, {@code
* sepa_bank_transfer_payments}, {@code sepa_debit_payments}, {@code
* stripe_balance.payouts}, {@code stripe_balance.stripe_transfers}, {@code
* swish_payments}, {@code twint_payments}, {@code us_bank_transfer_payments}, or {@code
@@ -8134,10 +8716,11 @@ public static class Reference extends StripeObject {
String resource;
/**
- * The type of the reference. An additional hash is included with a name matching the type.
- * It contains additional information specific to the type.
+ * The type of the reference. If the type is "inquiry", the inquiry token can be
+ * found in the "inquiry" field. Otherwise the type is an API resource, the token
+ * for which can be found in the "resource" field.
*
- * One of {@code inquiry}, or {@code resource}.
+ *
One of {@code inquiry}, {@code payment_method}, or {@code person}.
*/
@SerializedName("type")
String type;
@@ -8154,8 +8737,7 @@ public static class RequestedReason extends StripeObject {
/**
* Machine-readable description of Stripe's reason for collecting the requirement.
*
- *
One of {@code future_requirements}, {@code routine_onboarding}, or {@code
- * routine_verification}.
+ *
One of {@code routine_onboarding}, or {@code routine_verification}.
*/
@SerializedName("code")
String code;
diff --git a/src/main/java/com/stripe/model/v2/core/AccountPerson.java b/src/main/java/com/stripe/model/v2/core/AccountPerson.java
index 90183d36dc4..96dfa034726 100644
--- a/src/main/java/com/stripe/model/v2/core/AccountPerson.java
+++ b/src/main/java/com/stripe/model/v2/core/AccountPerson.java
@@ -526,12 +526,13 @@ public static class IdNumber extends StripeObject {
/**
* The ID number type of an individual.
*
- *
One of {@code ae_eid}, {@code ao_nif}, {@code az_tin}, {@code bd_brc}, {@code bd_etin},
- * {@code bd_nid}, {@code br_cpf}, {@code cr_cpf}, {@code cr_dimex}, {@code cr_nite}, {@code
- * de_stn}, {@code do_rcn}, {@code gt_nit}, {@code hk_id}, {@code kz_iin}, {@code mx_rfc},
- * {@code my_nric}, {@code mz_nuit}, {@code nl_bsn}, {@code pe_dni}, {@code pk_cnic}, {@code
- * pk_snic}, {@code sa_tin}, {@code sg_fin}, {@code sg_nric}, {@code th_lc}, {@code th_pin},
- * {@code us_itin}, {@code us_itin_last_4}, {@code us_ssn}, or {@code us_ssn_last_4}.
+ *
One of {@code ae_eid}, {@code ao_nif}, {@code ar_dni}, {@code az_tin}, {@code bd_brc},
+ * {@code bd_etin}, {@code bd_nid}, {@code br_cpf}, {@code cr_cpf}, {@code cr_dimex}, {@code
+ * cr_nite}, {@code de_stn}, {@code do_rcn}, {@code gt_nit}, {@code hk_id}, {@code kz_iin},
+ * {@code mx_rfc}, {@code my_nric}, {@code mz_nuit}, {@code nl_bsn}, {@code pe_dni}, {@code
+ * pk_cnic}, {@code pk_snic}, {@code sa_tin}, {@code sg_fin}, {@code sg_nric}, {@code th_lc},
+ * {@code th_pin}, {@code us_itin}, {@code us_itin_last_4}, {@code us_ssn}, or {@code
+ * us_ssn_last_4}.
*/
@SerializedName("type")
String type;
diff --git a/src/main/java/com/stripe/model/v2/core/AccountPersonToken.java b/src/main/java/com/stripe/model/v2/core/AccountPersonToken.java
new file mode 100644
index 00000000000..4ef1f13f9cb
--- /dev/null
+++ b/src/main/java/com/stripe/model/v2/core/AccountPersonToken.java
@@ -0,0 +1,55 @@
+// File generated from our OpenAPI spec
+package com.stripe.model.v2.core;
+
+import com.google.gson.annotations.SerializedName;
+import com.stripe.model.HasId;
+import com.stripe.model.StripeObject;
+import java.time.Instant;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * Person Tokens are single-use tokens which tokenize person information, and are used for creating
+ * or updating a Person.
+ */
+@Getter
+@Setter
+@EqualsAndHashCode(callSuper = false)
+public class AccountPersonToken extends StripeObject implements HasId {
+ /**
+ * Time at which the token was created. Represented as a RFC 3339 date & time UTC value in
+ * millisecond precision, for example: 2022-09-18T13:22:18.123Z.
+ */
+ @SerializedName("created")
+ Instant created;
+
+ /** Time at which the token will expire. */
+ @SerializedName("expires_at")
+ Instant expiresAt;
+
+ /** Unique identifier for the token. */
+ @Getter(onMethod_ = {@Override})
+ @SerializedName("id")
+ String id;
+
+ /**
+ * Has the value {@code true} if the token exists in live mode or the value {@code false} if the
+ * object exists in test mode.
+ */
+ @SerializedName("livemode")
+ Boolean livemode;
+
+ /**
+ * String representing the object's type. Objects of the same type share the same value of the
+ * object field.
+ *
+ *
Equal to {@code v2.core.account_person_token}.
+ */
+ @SerializedName("object")
+ String object;
+
+ /** Determines if the token has already been used (tokens can only be used once). */
+ @SerializedName("used")
+ Boolean used;
+}
diff --git a/src/main/java/com/stripe/model/v2/core/AccountToken.java b/src/main/java/com/stripe/model/v2/core/AccountToken.java
new file mode 100644
index 00000000000..6bf4bb5c879
--- /dev/null
+++ b/src/main/java/com/stripe/model/v2/core/AccountToken.java
@@ -0,0 +1,55 @@
+// File generated from our OpenAPI spec
+package com.stripe.model.v2.core;
+
+import com.google.gson.annotations.SerializedName;
+import com.stripe.model.HasId;
+import com.stripe.model.StripeObject;
+import java.time.Instant;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * Account tokens are single-use tokens which tokenize company/individual/business information, and
+ * are used for creating or updating an Account.
+ */
+@Getter
+@Setter
+@EqualsAndHashCode(callSuper = false)
+public class AccountToken extends StripeObject implements HasId {
+ /**
+ * Time at which the token was created. Represented as a RFC 3339 date & time UTC value in
+ * millisecond precision, for example: 2022-09-18T13:22:18.123Z.
+ */
+ @SerializedName("created")
+ Instant created;
+
+ /** Time at which the token will expire. */
+ @SerializedName("expires_at")
+ Instant expiresAt;
+
+ /** Unique identifier for the token. */
+ @Getter(onMethod_ = {@Override})
+ @SerializedName("id")
+ String id;
+
+ /**
+ * Has the value {@code true} if the token exists in live mode or the value {@code false} if the
+ * object exists in test mode.
+ */
+ @SerializedName("livemode")
+ Boolean livemode;
+
+ /**
+ * String representing the object's type. Objects of the same type share the same value of the
+ * object field.
+ *
+ *
Equal to {@code v2.core.account_token}.
+ */
+ @SerializedName("object")
+ String object;
+
+ /** Determines if the token has already been used (tokens can only be used once). */
+ @SerializedName("used")
+ Boolean used;
+}
diff --git a/src/main/java/com/stripe/model/v2/core/Event.java b/src/main/java/com/stripe/model/v2/core/Event.java
index 0001390278c..1c9b0fed797 100644
--- a/src/main/java/com/stripe/model/v2/core/Event.java
+++ b/src/main/java/com/stripe/model/v2/core/Event.java
@@ -76,10 +76,6 @@ public class Event extends StripeObject implements HasId, StripeActiveObject {
@SerializedName("type")
String type;
- /** For interop events, this is the snapshot event ID. */
- @SerializedName("v1_event_id")
- String v1EventId;
-
StripeResponseGetter responseGetter;
@Override
diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/Adjustment.java b/src/main/java/com/stripe/model/v2/moneymanagement/Adjustment.java
index 6c3003f3991..25cf1b6224c 100644
--- a/src/main/java/com/stripe/model/v2/moneymanagement/Adjustment.java
+++ b/src/main/java/com/stripe/model/v2/moneymanagement/Adjustment.java
@@ -4,7 +4,6 @@
import com.google.gson.annotations.SerializedName;
import com.stripe.model.HasId;
import com.stripe.model.StripeObject;
-import com.stripe.v2.Amount;
import java.time.Instant;
import lombok.EqualsAndHashCode;
import lombok.Getter;
@@ -111,4 +110,25 @@ public static class AdjustedFlow extends StripeObject {
@SerializedName("type")
String type;
}
+
+ /** The amount of the Adjustment. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Amount extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
}
diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/CurrencyConversion.java b/src/main/java/com/stripe/model/v2/moneymanagement/CurrencyConversion.java
new file mode 100644
index 00000000000..1e97ae3b232
--- /dev/null
+++ b/src/main/java/com/stripe/model/v2/moneymanagement/CurrencyConversion.java
@@ -0,0 +1,119 @@
+// File generated from our OpenAPI spec
+package com.stripe.model.v2.moneymanagement;
+
+import com.google.gson.annotations.SerializedName;
+import com.stripe.model.HasId;
+import com.stripe.model.StripeObject;
+import java.time.Instant;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * The CurrencyConversion object. Contains details such as the amount debited and credited and the
+ * FinancialAccount the CurrencyConversion was performed on.
+ */
+@Getter
+@Setter
+@EqualsAndHashCode(callSuper = false)
+public class CurrencyConversion extends StripeObject implements HasId {
+ /** The time the CurrencyConversion was created at. */
+ @SerializedName("created")
+ Instant created;
+
+ /** The exchange rate used when processing the CurrencyConversion. */
+ @SerializedName("exchange_rate")
+ String exchangeRate;
+
+ /** The FinancialAccount the CurrencyConversion was performed on. */
+ @SerializedName("financial_account")
+ String financialAccount;
+
+ /** The from block containing what was debited. */
+ @SerializedName("from")
+ From from;
+
+ /** The id of the CurrencyConversion. */
+ @Getter(onMethod_ = {@Override})
+ @SerializedName("id")
+ String id;
+
+ /** If the CurrencyConversion was performed in livemode or not. */
+ @SerializedName("livemode")
+ Boolean livemode;
+
+ /**
+ * String representing the object's type. Objects of the same type share the same value of the
+ * object field.
+ *
+ *
Equal to {@code v2.money_management.currency_conversion}.
+ */
+ @SerializedName("object")
+ String object;
+
+ /** The to block containing what was credited. */
+ @SerializedName("to")
+ To to;
+
+ /** The from block containing what was debited. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class From extends StripeObject {
+ /** Amount object. */
+ @SerializedName("amount")
+ Amount amount;
+
+ /** Amount object. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Amount extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
+ }
+
+ /** The to block containing what was credited. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class To extends StripeObject {
+ /** Amount object. */
+ @SerializedName("amount")
+ Amount amount;
+
+ /** Amount object. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Amount extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
+ }
+}
diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/FinancialAccount.java b/src/main/java/com/stripe/model/v2/moneymanagement/FinancialAccount.java
index a6777cc90a9..a02e0dfa787 100644
--- a/src/main/java/com/stripe/model/v2/moneymanagement/FinancialAccount.java
+++ b/src/main/java/com/stripe/model/v2/moneymanagement/FinancialAccount.java
@@ -4,7 +4,6 @@
import com.google.gson.annotations.SerializedName;
import com.stripe.model.HasId;
import com.stripe.model.StripeObject;
-import com.stripe.v2.Amount;
import java.time.Instant;
import java.util.List;
import java.util.Map;
@@ -118,15 +117,87 @@ public class FinancialAccount extends StripeObject implements HasId {
public static class Balance extends StripeObject {
/** Balance that can be used for money movement. */
@SerializedName("available")
- Map available;
+ Map available;
/** Balance of inbound funds that will later transition to the {@code available} balance. */
@SerializedName("inbound_pending")
- Map inboundPending;
+ Map inboundPending;
/** Balance of funds that are being used for a pending outbound money movement. */
@SerializedName("outbound_pending")
- Map outboundPending;
+ Map outboundPending;
+
+ /**
+ * For more details about Available, please refer to the API Reference.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Available extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
+
+ /**
+ * For more details about InboundPending, please refer to the API Reference.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class InboundPending extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
+
+ /**
+ * For more details about OutboundPending, please refer to the API Reference.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class OutboundPending extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
}
/**
diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/InboundTransfer.java b/src/main/java/com/stripe/model/v2/moneymanagement/InboundTransfer.java
index 4816f0ba479..56e054e8aa0 100644
--- a/src/main/java/com/stripe/model/v2/moneymanagement/InboundTransfer.java
+++ b/src/main/java/com/stripe/model/v2/moneymanagement/InboundTransfer.java
@@ -4,7 +4,6 @@
import com.google.gson.annotations.SerializedName;
import com.stripe.model.HasId;
import com.stripe.model.StripeObject;
-import com.stripe.v2.Amount;
import java.time.Instant;
import java.util.List;
import java.util.Map;
@@ -75,6 +74,27 @@ public class InboundTransfer extends StripeObject implements HasId {
@SerializedName("transfer_history")
List transferHistory;
+ /** The amount in specified currency that will land in the FinancialAccount balance. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Amount extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
+
/** A nested object containing information about the origin of the InboundTransfer. */
@Getter
@Setter
@@ -82,12 +102,33 @@ public class InboundTransfer extends StripeObject implements HasId {
public static class From extends StripeObject {
/** The amount in specified currency that was debited from the Payment Method. */
@SerializedName("debited")
- Amount debited;
+ Debited debited;
/** The Payment Method object used to create the InboundTransfer. */
@SerializedName("payment_method")
PaymentMethod paymentMethod;
+ /** The amount in specified currency that was debited from the Payment Method. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Debited extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
+
/** The Payment Method object used to create the InboundTransfer. */
@Getter
@Setter
@@ -113,11 +154,32 @@ public static class PaymentMethod extends StripeObject {
public static class To extends StripeObject {
/** The amount by which the FinancialAccount balance is credited. */
@SerializedName("credited")
- Amount credited;
+ Credited credited;
/** The FinancialAccount that funds will land in. */
@SerializedName("financial_account")
String financialAccount;
+
+ /** The amount by which the FinancialAccount balance is credited. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Credited extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
}
/**
diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/OutboundPayment.java b/src/main/java/com/stripe/model/v2/moneymanagement/OutboundPayment.java
index 0ac3d10e5a3..675d96229d0 100644
--- a/src/main/java/com/stripe/model/v2/moneymanagement/OutboundPayment.java
+++ b/src/main/java/com/stripe/model/v2/moneymanagement/OutboundPayment.java
@@ -4,7 +4,6 @@
import com.google.gson.annotations.SerializedName;
import com.stripe.model.HasId;
import com.stripe.model.StripeObject;
-import com.stripe.v2.Amount;
import java.time.Instant;
import java.util.Map;
import lombok.EqualsAndHashCode;
@@ -150,6 +149,27 @@ public class OutboundPayment extends StripeObject implements HasId {
@SerializedName("trace_id")
TraceId traceId;
+ /** The "presentment amount" for the OutboundPayment. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Amount extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
+
/** Delivery options to be used to send the OutboundPayment. */
@Getter
@Setter
@@ -171,11 +191,32 @@ public static class DeliveryOptions extends StripeObject {
public static class From extends StripeObject {
/** The monetary amount debited from the sender, only set on responses. */
@SerializedName("debited")
- Amount debited;
+ Debited debited;
/** The FinancialAccount that funds were pulled from. */
@SerializedName("financial_account")
String financialAccount;
+
+ /** The monetary amount debited from the sender, only set on responses. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Debited extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
}
/** Details about the OutboundPayment notification settings for recipient. */
@@ -287,7 +328,7 @@ public static class StatusTransitions extends StripeObject {
public static class To extends StripeObject {
/** The monetary amount being credited to the destination. */
@SerializedName("credited")
- Amount credited;
+ Credited credited;
/** The payout method which the OutboundPayment uses to send payout. */
@SerializedName("payout_method")
@@ -296,6 +337,27 @@ public static class To extends StripeObject {
/** To which account the OutboundPayment is sent. */
@SerializedName("recipient")
String recipient;
+
+ /** The monetary amount being credited to the destination. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Credited extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
}
/**
diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/OutboundPaymentQuote.java b/src/main/java/com/stripe/model/v2/moneymanagement/OutboundPaymentQuote.java
index aedc34af7ed..1c80c6d4cac 100644
--- a/src/main/java/com/stripe/model/v2/moneymanagement/OutboundPaymentQuote.java
+++ b/src/main/java/com/stripe/model/v2/moneymanagement/OutboundPaymentQuote.java
@@ -4,7 +4,6 @@
import com.google.gson.annotations.SerializedName;
import com.stripe.model.HasId;
import com.stripe.model.StripeObject;
-import com.stripe.v2.Amount;
import java.time.Instant;
import java.util.List;
import java.util.Map;
@@ -72,6 +71,27 @@ public class OutboundPaymentQuote extends StripeObject implements HasId {
@SerializedName("to")
To to;
+ /** The "presentment amount" for the OutboundPaymentQuote. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Amount extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
+
/** Delivery options to be used to send the OutboundPayment. */
@Getter
@Setter
@@ -106,6 +126,27 @@ public static class EstimatedFee extends StripeObject {
*/
@SerializedName("type")
String type;
+
+ /** The fee amount for corresponding fee type. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Amount extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
}
/** Details about the sender of an OutboundPaymentQuote. */
@@ -115,11 +156,32 @@ public static class EstimatedFee extends StripeObject {
public static class From extends StripeObject {
/** The monetary amount debited from the sender, only set on responses. */
@SerializedName("debited")
- Amount debited;
+ Debited debited;
/** The FinancialAccount that funds were pulled from. */
@SerializedName("financial_account")
String financialAccount;
+
+ /** The monetary amount debited from the sender, only set on responses. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Debited extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
}
/** The underlying FXQuote details for the OutboundPaymentQuote. */
@@ -181,7 +243,7 @@ public static class Rate extends StripeObject {
public static class To extends StripeObject {
/** The monetary amount being credited to the destination. */
@SerializedName("credited")
- Amount credited;
+ Credited credited;
/** The payout method which the OutboundPayment uses to send payout. */
@SerializedName("payout_method")
@@ -190,5 +252,26 @@ public static class To extends StripeObject {
/** To which account the OutboundPayment is sent. */
@SerializedName("recipient")
String recipient;
+
+ /** The monetary amount being credited to the destination. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Credited extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
}
}
diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/OutboundTransfer.java b/src/main/java/com/stripe/model/v2/moneymanagement/OutboundTransfer.java
index addbaf4aea1..47ae8673e6f 100644
--- a/src/main/java/com/stripe/model/v2/moneymanagement/OutboundTransfer.java
+++ b/src/main/java/com/stripe/model/v2/moneymanagement/OutboundTransfer.java
@@ -4,7 +4,6 @@
import com.google.gson.annotations.SerializedName;
import com.stripe.model.HasId;
import com.stripe.model.StripeObject;
-import com.stripe.v2.Amount;
import java.time.Instant;
import java.util.Map;
import lombok.EqualsAndHashCode;
@@ -139,6 +138,27 @@ public class OutboundTransfer extends StripeObject implements HasId {
@SerializedName("trace_id")
TraceId traceId;
+ /** The "presentment amount" for the OutboundTransfer. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Amount extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
+
/** Delivery options to be used to send the OutboundTransfer. */
@Getter
@Setter
@@ -160,11 +180,32 @@ public static class DeliveryOptions extends StripeObject {
public static class From extends StripeObject {
/** The monetary amount debited from the sender, only set on responses. */
@SerializedName("debited")
- Amount debited;
+ Debited debited;
/** The FinancialAccount that funds were pulled from. */
@SerializedName("financial_account")
String financialAccount;
+
+ /** The monetary amount debited from the sender, only set on responses. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Debited extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
}
/** Status details for an OutboundTransfer in a {@code failed} or {@code returned} state. */
@@ -260,11 +301,32 @@ public static class StatusTransitions extends StripeObject {
public static class To extends StripeObject {
/** The monetary amount being credited to the destination. */
@SerializedName("credited")
- Amount credited;
+ Credited credited;
/** The payout method which the OutboundTransfer uses to send payout. */
@SerializedName("payout_method")
String payoutMethod;
+
+ /** The monetary amount being credited to the destination. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Credited extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
}
/**
diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/ReceivedCredit.java b/src/main/java/com/stripe/model/v2/moneymanagement/ReceivedCredit.java
index 8956aea803b..2d5919f6972 100644
--- a/src/main/java/com/stripe/model/v2/moneymanagement/ReceivedCredit.java
+++ b/src/main/java/com/stripe/model/v2/moneymanagement/ReceivedCredit.java
@@ -4,7 +4,6 @@
import com.google.gson.annotations.SerializedName;
import com.stripe.model.HasId;
import com.stripe.model.StripeObject;
-import com.stripe.v2.Amount;
import java.time.Instant;
import lombok.EqualsAndHashCode;
import lombok.Getter;
@@ -49,7 +48,7 @@ public class ReceivedCredit extends StripeObject implements HasId {
/** The amount and currency of the original/external credit request. */
@SerializedName("external_amount")
- Amount externalAmount;
+ ExternalAmount externalAmount;
/** Financial Account ID on which funds for ReceivedCredit were received. */
@SerializedName("financial_account")
@@ -110,6 +109,27 @@ public class ReceivedCredit extends StripeObject implements HasId {
@SerializedName("type")
String type;
+ /** The amount and currency of the ReceivedCredit. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Amount extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
+
/**
* This object stores details about the originating Stripe transaction that resulted in the
* ReceivedCredit. Present if {@code type} field value is {@code balance_transfer}.
@@ -288,6 +308,27 @@ public static class UsBankAccount extends StripeObject {
}
}
+ /** The amount and currency of the original/external credit request. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class ExternalAmount extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
+
/**
* This hash contains detailed information that elaborates on the specific status of the
* ReceivedCredit. e.g the reason behind a failure if the status is marked as {@code failed}.
diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/ReceivedDebit.java b/src/main/java/com/stripe/model/v2/moneymanagement/ReceivedDebit.java
index c23eef84c87..f3b59a9b7e7 100644
--- a/src/main/java/com/stripe/model/v2/moneymanagement/ReceivedDebit.java
+++ b/src/main/java/com/stripe/model/v2/moneymanagement/ReceivedDebit.java
@@ -4,7 +4,6 @@
import com.google.gson.annotations.SerializedName;
import com.stripe.model.HasId;
import com.stripe.model.StripeObject;
-import com.stripe.v2.Amount;
import java.time.Instant;
import lombok.EqualsAndHashCode;
import lombok.Getter;
@@ -39,7 +38,7 @@ public class ReceivedDebit extends StripeObject implements HasId {
/** The amount and currency of the original/external debit request. */
@SerializedName("external_amount")
- Amount externalAmount;
+ ExternalAmount externalAmount;
/** Financial Account on which funds for ReceivedDebit were debited. */
@SerializedName("financial_account")
@@ -95,6 +94,27 @@ public class ReceivedDebit extends StripeObject implements HasId {
@SerializedName("type")
String type;
+ /** Amount and currency of the ReceivedDebit. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Amount extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
+
/**
* This object stores details about the originating banking transaction that resulted in the
* ReceivedDebit. Present if {@code type} field value is {@code bank_transfer}.
@@ -154,6 +174,27 @@ public static class UsBankAccount extends StripeObject {
}
}
+ /** The amount and currency of the original/external debit request. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class ExternalAmount extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
+
/** Detailed information about the status of the ReceivedDebit. */
@Getter
@Setter
diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/Transaction.java b/src/main/java/com/stripe/model/v2/moneymanagement/Transaction.java
index 1cad83d755f..9e276469389 100644
--- a/src/main/java/com/stripe/model/v2/moneymanagement/Transaction.java
+++ b/src/main/java/com/stripe/model/v2/moneymanagement/Transaction.java
@@ -4,7 +4,6 @@
import com.google.gson.annotations.SerializedName;
import com.stripe.model.HasId;
import com.stripe.model.StripeObject;
-import com.stripe.v2.Amount;
import java.time.Instant;
import lombok.EqualsAndHashCode;
import lombok.Getter;
@@ -94,6 +93,27 @@ public class Transaction extends StripeObject implements HasId {
@SerializedName("status_transitions")
StatusTransitions statusTransitions;
+ /** The amount of the Transaction. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Amount extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
+
/**
* The delta to the FinancialAccount's balance. The balance_impact for the Transaction is equal to
* sum of its TransactionEntries that have {@code effective_at}s in the past.
@@ -104,15 +124,78 @@ public class Transaction extends StripeObject implements HasId {
public static class BalanceImpact extends StripeObject {
/** Impact to the available balance. */
@SerializedName("available")
- Amount available;
+ Available available;
/** Impact to the inbound_pending balance. */
@SerializedName("inbound_pending")
- Amount inboundPending;
+ InboundPending inboundPending;
/** Impact to the outbound_pending balance. */
@SerializedName("outbound_pending")
- Amount outboundPending;
+ OutboundPending outboundPending;
+
+ /** Impact to the available balance. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Available extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
+
+ /** Impact to the inbound_pending balance. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class InboundPending extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
+
+ /** Impact to the outbound_pending balance. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class OutboundPending extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
}
/** Details about the Flow object that created the Transaction. */
diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/TransactionEntry.java b/src/main/java/com/stripe/model/v2/moneymanagement/TransactionEntry.java
index 87d1e6f2e15..c5730e80df6 100644
--- a/src/main/java/com/stripe/model/v2/moneymanagement/TransactionEntry.java
+++ b/src/main/java/com/stripe/model/v2/moneymanagement/TransactionEntry.java
@@ -4,7 +4,6 @@
import com.google.gson.annotations.SerializedName;
import com.stripe.model.HasId;
import com.stripe.model.StripeObject;
-import com.stripe.v2.Amount;
import java.time.Instant;
import lombok.EqualsAndHashCode;
import lombok.Getter;
@@ -69,15 +68,78 @@ public class TransactionEntry extends StripeObject implements HasId {
public static class BalanceImpact extends StripeObject {
/** Impact to the available balance. */
@SerializedName("available")
- Amount available;
+ Available available;
/** Impact to the inbound_pending balance. */
@SerializedName("inbound_pending")
- Amount inboundPending;
+ InboundPending inboundPending;
/** Impact to the outbound_pending balance. */
@SerializedName("outbound_pending")
- Amount outboundPending;
+ OutboundPending outboundPending;
+
+ /** Impact to the available balance. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Available extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
+
+ /** Impact to the inbound_pending balance. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class InboundPending extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
+
+ /** Impact to the outbound_pending balance. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class OutboundPending extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
}
/** Details copied from the transaction that this TransactionEntry belongs to. */
diff --git a/src/main/java/com/stripe/model/v2/payments/OffSessionPayment.java b/src/main/java/com/stripe/model/v2/payments/OffSessionPayment.java
index 96b5161e84f..41789f39d01 100644
--- a/src/main/java/com/stripe/model/v2/payments/OffSessionPayment.java
+++ b/src/main/java/com/stripe/model/v2/payments/OffSessionPayment.java
@@ -4,9 +4,7 @@
import com.google.gson.annotations.SerializedName;
import com.stripe.model.HasId;
import com.stripe.model.StripeObject;
-import com.stripe.v2.Amount;
import java.time.Instant;
-import java.util.List;
import java.util.Map;
import lombok.EqualsAndHashCode;
import lombok.Getter;
@@ -19,15 +17,11 @@
public class OffSessionPayment extends StripeObject implements HasId {
/** The amount available to be captured. */
@SerializedName("amount_capturable")
- Amount amountCapturable;
-
- /** Provides industry-specific information about the amount. */
- @SerializedName("amount_details")
- AmountDetails amountDetails;
+ AmountCapturable amountCapturable;
/** The “presentment amount” to be collected from the customer. */
@SerializedName("amount_requested")
- Amount amountRequested;
+ AmountRequested amountRequested;
/**
* The frequency of the underlying payment.
@@ -41,14 +35,6 @@ public class OffSessionPayment extends StripeObject implements HasId {
@SerializedName("capture")
Capture capture;
- /**
- * Whether the OffSessionPayment should be captured automatically or manually.
- *
- * One of {@code automatic}, or {@code manual}.
- */
- @SerializedName("capture_method")
- String captureMethod;
-
/** ID of the owning compartment. */
@SerializedName("compartment_id")
String compartmentId;
@@ -94,10 +80,10 @@ public class OffSessionPayment extends StripeObject implements HasId {
Boolean livemode;
/**
- * Set of key-value pairs that you can
- * attach to an object. This can be useful for storing additional information about the object in
- * a structured format. Learn more about storing
+ * Set of key-value pairs that you can attach
+ * to an object. This can be useful for storing additional information about the object in a
+ * structured format. Learn more about storing
* information in metadata.
*/
@SerializedName("metadata")
@@ -164,106 +150,52 @@ public class OffSessionPayment extends StripeObject implements HasId {
/**
* The data that automatically creates a Transfer after the payment finalizes. Learn more about
- * the use case for connected
+ * the use case for connected
* accounts.
*/
@SerializedName("transfer_data")
TransferData transferData;
- /** Provides industry-specific information about the amount. */
+ /** The amount available to be captured. */
@Getter
@Setter
@EqualsAndHashCode(callSuper = false)
- public static class AmountDetails extends StripeObject {
- /** The amount the total transaction was discounted for. */
- @SerializedName("discount_amount")
- Long discountAmount;
-
+ public static class AmountCapturable extends StripeObject {
/**
- * A list of line items, each containing information about a product in the PaymentIntent. There
- * is a maximum of 100 line items.
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
*/
- @SerializedName("line_items")
- List lineItems;
+ @SerializedName("currency")
+ String currency;
- /** Contains information about the shipping portion of the amount. */
- @SerializedName("shipping")
- Shipping shipping;
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+ }
- /** Contains information about the tax portion of the amount. */
- @SerializedName("tax")
- Tax tax;
+ /** The “presentment amount” to be collected from the customer. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class AmountRequested extends StripeObject {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
/**
- * For more details about LineItem, please refer to the API Reference.
+ * A non-negative integer representing how much to charge in the smallest currency unit.
*/
- @Getter
- @Setter
- @EqualsAndHashCode(callSuper = false)
- public static class LineItem extends StripeObject {
- /** The amount an item was discounted for. Positive integer. */
- @SerializedName("discount_amount")
- Long discountAmount;
-
- /** Unique identifier of the product. At most 12 characters long. */
- @SerializedName("product_code")
- String productCode;
-
- /** Name of the product. At most 100 characters long. */
- @SerializedName("product_name")
- String productName;
-
- /** Number of items of the product. Positive integer. */
- @SerializedName("quantity")
- Long quantity;
-
- /** Contains information about the tax on the item. */
- @SerializedName("tax")
- Tax tax;
-
- /** Cost of the product. Non-negative integer. */
- @SerializedName("unit_cost")
- Long unitCost;
-
- /** Contains information about the tax on the item. */
- @Getter
- @Setter
- @EqualsAndHashCode(callSuper = false)
- public static class Tax extends StripeObject {
- /** Total portion of the amount that is for tax. */
- @SerializedName("total_tax_amount")
- Long totalTaxAmount;
- }
- }
-
- /** Contains information about the shipping portion of the amount. */
- @Getter
- @Setter
- @EqualsAndHashCode(callSuper = false)
- public static class Shipping extends StripeObject {
- /** Portion of the amount that is for shipping. */
- @SerializedName("amount")
- Long amount;
-
- /** The postal code that represents the shipping source. */
- @SerializedName("from_postal_code")
- String fromPostalCode;
-
- /** The postal code that represents the shipping destination. */
- @SerializedName("to_postal_code")
- String toPostalCode;
- }
-
- /** Contains information about the tax portion of the amount. */
- @Getter
- @Setter
- @EqualsAndHashCode(callSuper = false)
- public static class Tax extends StripeObject {
- /** Total portion of the amount that is for tax. */
- @SerializedName("total_tax_amount")
- Long totalTaxAmount;
- }
+ @SerializedName("value")
+ Long value;
}
/** Details about the capture configuration for the OffSessionPayment. */
@@ -321,7 +253,7 @@ public static class RetryDetails extends StripeObject {
/**
* The data that automatically creates a Transfer after the payment finalizes. Learn more about
- * the use case for connected
+ * the use case for connected
* accounts.
*/
@Getter
@@ -332,7 +264,7 @@ public static class TransferData extends StripeObject {
* The amount transferred to the destination account. This transfer will occur automatically
* after the payment succeeds. If no amount is specified, by default the entire payment amount
* is transferred to the destination account. The amount must be less than or equal to the amount_requested,
+ * href="https://docs.stripe.com/api/v2/off-session-payments/object?api-version=2025-05-28.preview#v2_off_session_payment_object-amount_requested">amount_requested,
* and must be a positive integer representing how much to transfer in the smallest currency
* unit (e.g., 100 cents to charge $1.00).
*/
diff --git a/src/main/java/com/stripe/param/InvoiceCreatePreviewParams.java b/src/main/java/com/stripe/param/InvoiceCreatePreviewParams.java
index 3c66b4a9830..66be2939fa3 100644
--- a/src/main/java/com/stripe/param/InvoiceCreatePreviewParams.java
+++ b/src/main/java/com/stripe/param/InvoiceCreatePreviewParams.java
@@ -3521,7 +3521,7 @@ public static class ScheduleDetails {
/** Sets the billing schedules for the subscription schedule. */
@SerializedName("billing_schedules")
- List billingSchedules;
+ Object billingSchedules;
/**
* Behavior of the subscription schedule and underlying subscription when it ends. Possible
@@ -3564,7 +3564,7 @@ private ScheduleDetails(
List amendments,
BillingBehavior billingBehavior,
BillingMode billingMode,
- List billingSchedules,
+ Object billingSchedules,
EndBehavior endBehavior,
Map extraParams,
List phases,
@@ -3592,7 +3592,7 @@ public static class Builder {
private BillingMode billingMode;
- private List billingSchedules;
+ private Object billingSchedules;
private EndBehavior endBehavior;
@@ -3670,12 +3670,15 @@ public Builder setBillingMode(
* call, and subsequent calls adds additional elements to the original list. See {@link
* InvoiceCreatePreviewParams.ScheduleDetails#billingSchedules} for the field documentation.
*/
+ @SuppressWarnings("unchecked")
public Builder addBillingSchedule(
InvoiceCreatePreviewParams.ScheduleDetails.BillingSchedule element) {
- if (this.billingSchedules == null) {
- this.billingSchedules = new ArrayList<>();
+ if (this.billingSchedules == null || this.billingSchedules instanceof EmptyParam) {
+ this.billingSchedules =
+ new ArrayList();
}
- this.billingSchedules.add(element);
+ ((List) this.billingSchedules)
+ .add(element);
return this;
}
@@ -3685,12 +3688,28 @@ public Builder addBillingSchedule(
* {@link InvoiceCreatePreviewParams.ScheduleDetails#billingSchedules} for the field
* documentation.
*/
+ @SuppressWarnings("unchecked")
public Builder addAllBillingSchedule(
List elements) {
- if (this.billingSchedules == null) {
- this.billingSchedules = new ArrayList<>();
+ if (this.billingSchedules == null || this.billingSchedules instanceof EmptyParam) {
+ this.billingSchedules =
+ new ArrayList();
}
- this.billingSchedules.addAll(elements);
+ ((List) this.billingSchedules)
+ .addAll(elements);
+ return this;
+ }
+
+ /** Sets the billing schedules for the subscription schedule. */
+ public Builder setBillingSchedules(EmptyParam billingSchedules) {
+ this.billingSchedules = billingSchedules;
+ return this;
+ }
+
+ /** Sets the billing schedules for the subscription schedule. */
+ public Builder setBillingSchedules(
+ List billingSchedules) {
+ this.billingSchedules = billingSchedules;
return this;
}
@@ -3856,6 +3875,17 @@ public static class Amendment {
@SerializedName("discount_actions")
List discountActions;
+ /**
+ * Configures how the subscription schedule handles billing for phase transitions. Possible
+ * values are {@code phase_start} (default) or {@code billing_period_start}. {@code
+ * phase_start} bills based on the current state of the subscription, ignoring changes
+ * scheduled in future phases. {@code billing_period_start} bills predictively for upcoming
+ * phase transitions within the current billing cycle, including pricing changes and service
+ * period adjustments that will occur before the next invoice.
+ */
+ @SerializedName("effective_at")
+ EffectiveAt effectiveAt;
+
/**
* Map of extra parameters for custom features not available in this client library. The
* content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -3908,6 +3938,7 @@ private Amendment(
List
billingSchedulesActions,
List discountActions,
+ EffectiveAt effectiveAt,
Map extraParams,
List itemActions,
List metadataActions,
@@ -3920,6 +3951,7 @@ private Amendment(
this.billingCycleAnchor = billingCycleAnchor;
this.billingSchedulesActions = billingSchedulesActions;
this.discountActions = discountActions;
+ this.effectiveAt = effectiveAt;
this.extraParams = extraParams;
this.itemActions = itemActions;
this.metadataActions = metadataActions;
@@ -3946,6 +3978,8 @@ public static class Builder {
private List
discountActions;
+ private EffectiveAt effectiveAt;
+
private Map extraParams;
private List itemActions;
@@ -3969,6 +4003,7 @@ public InvoiceCreatePreviewParams.ScheduleDetails.Amendment build() {
this.billingCycleAnchor,
this.billingSchedulesActions,
this.discountActions,
+ this.effectiveAt,
this.extraParams,
this.itemActions,
this.metadataActions,
@@ -4076,6 +4111,20 @@ public Builder addAllDiscountAction(
return this;
}
+ /**
+ * Configures how the subscription schedule handles billing for phase transitions. Possible
+ * values are {@code phase_start} (default) or {@code billing_period_start}. {@code
+ * phase_start} bills based on the current state of the subscription, ignoring changes
+ * scheduled in future phases. {@code billing_period_start} bills predictively for upcoming
+ * phase transitions within the current billing cycle, including pricing changes and service
+ * period adjustments that will occur before the next invoice.
+ */
+ public Builder setEffectiveAt(
+ InvoiceCreatePreviewParams.ScheduleDetails.Amendment.EffectiveAt effectiveAt) {
+ this.effectiveAt = effectiveAt;
+ return this;
+ }
+
/**
* Add a key/value pair to `extraParams` map. A map is initialized for the first
* `put/putAll` call, and subsequent calls add additional key/value pairs to the original
@@ -5928,6 +5977,10 @@ public static class Add {
@SerializedName("trial")
Trial trial;
+ /** The ID of the trial offer to apply to the configuration item. */
+ @SerializedName("trial_offer")
+ String trialOffer;
+
private Add(
List
discounts,
@@ -5936,7 +5989,8 @@ private Add(
String price,
Long quantity,
List taxRates,
- Trial trial) {
+ Trial trial,
+ String trialOffer) {
this.discounts = discounts;
this.extraParams = extraParams;
this.metadata = metadata;
@@ -5944,6 +5998,7 @@ private Add(
this.quantity = quantity;
this.taxRates = taxRates;
this.trial = trial;
+ this.trialOffer = trialOffer;
}
public static Builder builder() {
@@ -5967,6 +6022,8 @@ public static class Builder {
private Trial trial;
+ private String trialOffer;
+
/** Finalize and obtain parameter instance from this builder. */
public InvoiceCreatePreviewParams.ScheduleDetails.Amendment.ItemAction.Add build() {
return new InvoiceCreatePreviewParams.ScheduleDetails.Amendment.ItemAction.Add(
@@ -5976,7 +6033,8 @@ public InvoiceCreatePreviewParams.ScheduleDetails.Amendment.ItemAction.Add build
this.price,
this.quantity,
this.taxRates,
- this.trial);
+ this.trial,
+ this.trialOffer);
}
/**
@@ -6118,6 +6176,12 @@ public Builder setTrial(
this.trial = trial;
return this;
}
+
+ /** The ID of the trial offer to apply to the configuration item. */
+ public Builder setTrialOffer(String trialOffer) {
+ this.trialOffer = trialOffer;
+ return this;
+ }
}
@Getter
@@ -6780,6 +6844,10 @@ public static class Set {
@SerializedName("trial")
Trial trial;
+ /** The ID of the trial offer to apply to the configuration item. */
+ @SerializedName("trial_offer")
+ String trialOffer;
+
private Set(
List
discounts,
@@ -6788,7 +6856,8 @@ private Set(
String price,
Long quantity,
List taxRates,
- Trial trial) {
+ Trial trial,
+ String trialOffer) {
this.discounts = discounts;
this.extraParams = extraParams;
this.metadata = metadata;
@@ -6796,6 +6865,7 @@ private Set(
this.quantity = quantity;
this.taxRates = taxRates;
this.trial = trial;
+ this.trialOffer = trialOffer;
}
public static Builder builder() {
@@ -6819,6 +6889,8 @@ public static class Builder {
private Trial trial;
+ private String trialOffer;
+
/** Finalize and obtain parameter instance from this builder. */
public InvoiceCreatePreviewParams.ScheduleDetails.Amendment.ItemAction.Set build() {
return new InvoiceCreatePreviewParams.ScheduleDetails.Amendment.ItemAction.Set(
@@ -6828,7 +6900,8 @@ public InvoiceCreatePreviewParams.ScheduleDetails.Amendment.ItemAction.Set build
this.price,
this.quantity,
this.taxRates,
- this.trial);
+ this.trial,
+ this.trialOffer);
}
/**
@@ -6980,6 +7053,12 @@ public Builder setTrial(
this.trial = trial;
return this;
}
+
+ /** The ID of the trial offer to apply to the configuration item. */
+ public Builder setTrialOffer(String trialOffer) {
+ this.trialOffer = trialOffer;
+ return this;
+ }
}
@Getter
@@ -8162,6 +8241,21 @@ public enum BillingCycleAnchor implements ApiRequestParams.EnumParam {
}
}
+ public enum EffectiveAt implements ApiRequestParams.EnumParam {
+ @SerializedName("amendment_start")
+ AMENDMENT_START("amendment_start"),
+
+ @SerializedName("billing_period_start")
+ BILLING_PERIOD_START("billing_period_start");
+
+ @Getter(onMethod_ = {@Override})
+ private final String value;
+
+ EffectiveAt(String value) {
+ this.value = value;
+ }
+ }
+
public enum ProrationBehavior implements ApiRequestParams.EnumParam {
@SerializedName("always_invoice")
ALWAYS_INVOICE("always_invoice"),
@@ -8869,23 +8963,11 @@ public enum Interval implements ApiRequestParams.EnumParam {
}
public enum Type implements ApiRequestParams.EnumParam {
- @SerializedName("amendment_end")
- AMENDMENT_END("amendment_end"),
-
@SerializedName("duration")
DURATION("duration"),
- @SerializedName("line_ends_at")
- LINE_ENDS_AT("line_ends_at"),
-
- @SerializedName("schedule_end")
- SCHEDULE_END("schedule_end"),
-
@SerializedName("timestamp")
- TIMESTAMP("timestamp"),
-
- @SerializedName("upcoming_invoice")
- UPCOMING_INVOICE("upcoming_invoice");
+ TIMESTAMP("timestamp");
@Getter(onMethod_ = {@Override})
private final String value;
@@ -8997,6 +9079,17 @@ public static class Phase {
@SerializedName("duration")
Duration duration;
+ /**
+ * Configures how the subscription schedule handles billing for phase transitions. Possible
+ * values are {@code phase_start} (default) or {@code billing_period_start}. {@code
+ * phase_start} bills based on the current state of the subscription, ignoring changes
+ * scheduled in future phases. {@code billing_period_start} bills predictively for upcoming
+ * phase transitions within the current billing cycle, including pricing changes and service
+ * period adjustments that will occur before the next invoice.
+ */
+ @SerializedName("effective_at")
+ EffectiveAt effectiveAt;
+
/**
* The date at which this phase of the subscription schedule ends. If set, {@code iterations}
* must not be set.
@@ -9113,6 +9206,7 @@ private Phase(
Object description,
Object discounts,
Duration duration,
+ EffectiveAt effectiveAt,
Object endDate,
Map extraParams,
InvoiceSettings invoiceSettings,
@@ -9139,6 +9233,7 @@ private Phase(
this.description = description;
this.discounts = discounts;
this.duration = duration;
+ this.effectiveAt = effectiveAt;
this.endDate = endDate;
this.extraParams = extraParams;
this.invoiceSettings = invoiceSettings;
@@ -9185,6 +9280,8 @@ public static class Builder {
private Duration duration;
+ private EffectiveAt effectiveAt;
+
private Object endDate;
private Map extraParams;
@@ -9228,6 +9325,7 @@ public InvoiceCreatePreviewParams.ScheduleDetails.Phase build() {
this.description,
this.discounts,
this.duration,
+ this.effectiveAt,
this.endDate,
this.extraParams,
this.invoiceSettings,
@@ -9499,6 +9597,20 @@ public Builder setDuration(
return this;
}
+ /**
+ * Configures how the subscription schedule handles billing for phase transitions. Possible
+ * values are {@code phase_start} (default) or {@code billing_period_start}. {@code
+ * phase_start} bills based on the current state of the subscription, ignoring changes
+ * scheduled in future phases. {@code billing_period_start} bills predictively for upcoming
+ * phase transitions within the current billing cycle, including pricing changes and service
+ * period adjustments that will occur before the next invoice.
+ */
+ public Builder setEffectiveAt(
+ InvoiceCreatePreviewParams.ScheduleDetails.Phase.EffectiveAt effectiveAt) {
+ this.effectiveAt = effectiveAt;
+ return this;
+ }
+
/**
* The date at which this phase of the subscription schedule ends. If set, {@code
* iterations} must not be set.
@@ -12063,6 +12175,10 @@ public static class Item {
@SerializedName("trial")
Trial trial;
+ /** The ID of the trial offer to apply to the configuration item. */
+ @SerializedName("trial_offer")
+ String trialOffer;
+
private Item(
Object billingThresholds,
Object discounts,
@@ -12073,7 +12189,8 @@ private Item(
PriceData priceData,
Long quantity,
Object taxRates,
- Trial trial) {
+ Trial trial,
+ String trialOffer) {
this.billingThresholds = billingThresholds;
this.discounts = discounts;
this.extraParams = extraParams;
@@ -12084,6 +12201,7 @@ private Item(
this.quantity = quantity;
this.taxRates = taxRates;
this.trial = trial;
+ this.trialOffer = trialOffer;
}
public static Builder builder() {
@@ -12111,6 +12229,8 @@ public static class Builder {
private Trial trial;
+ private String trialOffer;
+
/** Finalize and obtain parameter instance from this builder. */
public InvoiceCreatePreviewParams.ScheduleDetails.Phase.Item build() {
return new InvoiceCreatePreviewParams.ScheduleDetails.Phase.Item(
@@ -12123,7 +12243,8 @@ public InvoiceCreatePreviewParams.ScheduleDetails.Phase.Item build() {
this.priceData,
this.quantity,
this.taxRates,
- this.trial);
+ this.trial,
+ this.trialOffer);
}
/**
@@ -12345,6 +12466,12 @@ public Builder setTrial(
this.trial = trial;
return this;
}
+
+ /** The ID of the trial offer to apply to the configuration item. */
+ public Builder setTrialOffer(String trialOffer) {
+ this.trialOffer = trialOffer;
+ return this;
+ }
}
@Getter
@@ -13704,6 +13831,21 @@ public enum CollectionMethod implements ApiRequestParams.EnumParam {
}
}
+ public enum EffectiveAt implements ApiRequestParams.EnumParam {
+ @SerializedName("billing_period_start")
+ BILLING_PERIOD_START("billing_period_start"),
+
+ @SerializedName("phase_start")
+ PHASE_START("phase_start");
+
+ @Getter(onMethod_ = {@Override})
+ private final String value;
+
+ EffectiveAt(String value) {
+ this.value = value;
+ }
+ }
+
public enum EndDate implements ApiRequestParams.EnumParam {
@SerializedName("now")
NOW("now");
@@ -15448,23 +15590,11 @@ public enum Interval implements ApiRequestParams.EnumParam {
}
public enum Type implements ApiRequestParams.EnumParam {
- @SerializedName("amendment_end")
- AMENDMENT_END("amendment_end"),
-
@SerializedName("duration")
DURATION("duration"),
- @SerializedName("line_ends_at")
- LINE_ENDS_AT("line_ends_at"),
-
- @SerializedName("schedule_end")
- SCHEDULE_END("schedule_end"),
-
@SerializedName("timestamp")
- TIMESTAMP("timestamp"),
-
- @SerializedName("upcoming_invoice")
- UPCOMING_INVOICE("upcoming_invoice");
+ TIMESTAMP("timestamp");
@Getter(onMethod_ = {@Override})
private final String value;
@@ -15494,6 +15624,10 @@ public static class Item {
@SerializedName("clear_usage")
Boolean clearUsage;
+ /** The trial offer to apply to this subscription item. */
+ @SerializedName("current_trial")
+ CurrentTrial currentTrial;
+
/** A flag that, if set to {@code true}, will delete the specified item. */
@SerializedName("deleted")
Boolean deleted;
@@ -15560,6 +15694,7 @@ public static class Item {
private Item(
Object billingThresholds,
Boolean clearUsage,
+ CurrentTrial currentTrial,
Boolean deleted,
Object discounts,
Map extraParams,
@@ -15572,6 +15707,7 @@ private Item(
Object taxRates) {
this.billingThresholds = billingThresholds;
this.clearUsage = clearUsage;
+ this.currentTrial = currentTrial;
this.deleted = deleted;
this.discounts = discounts;
this.extraParams = extraParams;
@@ -15593,6 +15729,8 @@ public static class Builder {
private Boolean clearUsage;
+ private CurrentTrial currentTrial;
+
private Boolean deleted;
private Object discounts;
@@ -15618,6 +15756,7 @@ public InvoiceCreatePreviewParams.SubscriptionDetails.Item build() {
return new InvoiceCreatePreviewParams.SubscriptionDetails.Item(
this.billingThresholds,
this.clearUsage,
+ this.currentTrial,
this.deleted,
this.discounts,
this.extraParams,
@@ -15660,6 +15799,13 @@ public Builder setClearUsage(Boolean clearUsage) {
return this;
}
+ /** The trial offer to apply to this subscription item. */
+ public Builder setCurrentTrial(
+ InvoiceCreatePreviewParams.SubscriptionDetails.Item.CurrentTrial currentTrial) {
+ this.currentTrial = currentTrial;
+ return this;
+ }
+
/** A flag that, if set to {@code true}, will delete the specified item. */
public Builder setDeleted(Boolean deleted) {
this.deleted = deleted;
@@ -15973,6 +16119,106 @@ public Builder setUsageGte(Long usageGte) {
}
}
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class CurrentTrial {
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its parent
+ * instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /**
+ * Unix timestamp representing the end of the trial offer period. Required when the trial
+ * offer has {@code duration.type=timestamp}. Cannot be specified when {@code
+ * duration.type=relative}.
+ */
+ @SerializedName("trial_end")
+ Long trialEnd;
+
+ /**
+ * Required. The ID of the trial offer to apply to the subscription item.
+ */
+ @SerializedName("trial_offer")
+ String trialOffer;
+
+ private CurrentTrial(Map extraParams, Long trialEnd, String trialOffer) {
+ this.extraParams = extraParams;
+ this.trialEnd = trialEnd;
+ this.trialOffer = trialOffer;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private Long trialEnd;
+
+ private String trialOffer;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public InvoiceCreatePreviewParams.SubscriptionDetails.Item.CurrentTrial build() {
+ return new InvoiceCreatePreviewParams.SubscriptionDetails.Item.CurrentTrial(
+ this.extraParams, this.trialEnd, this.trialOffer);
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * InvoiceCreatePreviewParams.SubscriptionDetails.Item.CurrentTrial#extraParams} for the
+ * field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * InvoiceCreatePreviewParams.SubscriptionDetails.Item.CurrentTrial#extraParams} for the
+ * field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /**
+ * Unix timestamp representing the end of the trial offer period. Required when the trial
+ * offer has {@code duration.type=timestamp}. Cannot be specified when {@code
+ * duration.type=relative}.
+ */
+ public Builder setTrialEnd(Long trialEnd) {
+ this.trialEnd = trialEnd;
+ return this;
+ }
+
+ /**
+ * Required. The ID of the trial offer to apply to the subscription item.
+ */
+ public Builder setTrialOffer(String trialOffer) {
+ this.trialOffer = trialOffer;
+ return this;
+ }
+ }
+ }
+
@Getter
@EqualsAndHashCode(callSuper = false)
public static class Discount {
diff --git a/src/main/java/com/stripe/param/QuoteCreateParams.java b/src/main/java/com/stripe/param/QuoteCreateParams.java
index 38f4080dd9c..a501aaf96c7 100644
--- a/src/main/java/com/stripe/param/QuoteCreateParams.java
+++ b/src/main/java/com/stripe/param/QuoteCreateParams.java
@@ -1640,6 +1640,17 @@ public static class Line {
@SerializedName("cancel_subscription_schedule")
CancelSubscriptionSchedule cancelSubscriptionSchedule;
+ /**
+ * Configures how the subscription schedule handles billing for phase transitions. Possible
+ * values are {@code phase_start} (default) or {@code billing_period_start}. {@code phase_start}
+ * bills based on the current state of the subscription, ignoring changes scheduled in future
+ * phases. {@code billing_period_start} bills predictively for upcoming phase transitions within
+ * the current billing cycle, including pricing changes and service period adjustments that will
+ * occur before the next invoice.
+ */
+ @SerializedName("effective_at")
+ EffectiveAt effectiveAt;
+
/**
* Details to identify the end of the time range modified by the proposed change. If not
* supplied, the quote line is considered a point-in-time operation that only affects the exact
@@ -1692,6 +1703,7 @@ private Line(
AppliesTo appliesTo,
BillingCycleAnchor billingCycleAnchor,
CancelSubscriptionSchedule cancelSubscriptionSchedule,
+ EffectiveAt effectiveAt,
EndsAt endsAt,
Map extraParams,
ProrationBehavior prorationBehavior,
@@ -1703,6 +1715,7 @@ private Line(
this.appliesTo = appliesTo;
this.billingCycleAnchor = billingCycleAnchor;
this.cancelSubscriptionSchedule = cancelSubscriptionSchedule;
+ this.effectiveAt = effectiveAt;
this.endsAt = endsAt;
this.extraParams = extraParams;
this.prorationBehavior = prorationBehavior;
@@ -1725,6 +1738,8 @@ public static class Builder {
private CancelSubscriptionSchedule cancelSubscriptionSchedule;
+ private EffectiveAt effectiveAt;
+
private EndsAt endsAt;
private Map extraParams;
@@ -1746,6 +1761,7 @@ public QuoteCreateParams.Line build() {
this.appliesTo,
this.billingCycleAnchor,
this.cancelSubscriptionSchedule,
+ this.effectiveAt,
this.endsAt,
this.extraParams,
this.prorationBehavior,
@@ -1814,6 +1830,19 @@ public Builder setCancelSubscriptionSchedule(
return this;
}
+ /**
+ * Configures how the subscription schedule handles billing for phase transitions. Possible
+ * values are {@code phase_start} (default) or {@code billing_period_start}. {@code
+ * phase_start} bills based on the current state of the subscription, ignoring changes
+ * scheduled in future phases. {@code billing_period_start} bills predictively for upcoming
+ * phase transitions within the current billing cycle, including pricing changes and service
+ * period adjustments that will occur before the next invoice.
+ */
+ public Builder setEffectiveAt(QuoteCreateParams.Line.EffectiveAt effectiveAt) {
+ this.effectiveAt = effectiveAt;
+ return this;
+ }
+
/**
* Details to identify the end of the time range modified by the proposed change. If not
* supplied, the quote line is considered a point-in-time operation that only affects the
@@ -2502,6 +2531,10 @@ public static class AddItem {
@SerializedName("trial")
Trial trial;
+ /** The ID of the trial offer to apply to the configuration item. */
+ @SerializedName("trial_offer")
+ String trialOffer;
+
private AddItem(
List discounts,
Map extraParams,
@@ -2509,7 +2542,8 @@ private AddItem(
String price,
Long quantity,
List taxRates,
- Trial trial) {
+ Trial trial,
+ String trialOffer) {
this.discounts = discounts;
this.extraParams = extraParams;
this.metadata = metadata;
@@ -2517,6 +2551,7 @@ private AddItem(
this.quantity = quantity;
this.taxRates = taxRates;
this.trial = trial;
+ this.trialOffer = trialOffer;
}
public static Builder builder() {
@@ -2538,6 +2573,8 @@ public static class Builder {
private Trial trial;
+ private String trialOffer;
+
/** Finalize and obtain parameter instance from this builder. */
public QuoteCreateParams.Line.Action.AddItem build() {
return new QuoteCreateParams.Line.Action.AddItem(
@@ -2547,7 +2584,8 @@ public QuoteCreateParams.Line.Action.AddItem build() {
this.price,
this.quantity,
this.taxRates,
- this.trial);
+ this.trial,
+ this.trialOffer);
}
/**
@@ -2675,6 +2713,12 @@ public Builder setTrial(QuoteCreateParams.Line.Action.AddItem.Trial trial) {
this.trial = trial;
return this;
}
+
+ /** The ID of the trial offer to apply to the configuration item. */
+ public Builder setTrialOffer(String trialOffer) {
+ this.trialOffer = trialOffer;
+ return this;
+ }
}
@Getter
@@ -3506,6 +3550,10 @@ public static class SetItem {
@SerializedName("trial")
Trial trial;
+ /** The ID of the trial offer to apply to the configuration item. */
+ @SerializedName("trial_offer")
+ String trialOffer;
+
private SetItem(
List discounts,
Map extraParams,
@@ -3513,7 +3561,8 @@ private SetItem(
String price,
Long quantity,
List taxRates,
- Trial trial) {
+ Trial trial,
+ String trialOffer) {
this.discounts = discounts;
this.extraParams = extraParams;
this.metadata = metadata;
@@ -3521,6 +3570,7 @@ private SetItem(
this.quantity = quantity;
this.taxRates = taxRates;
this.trial = trial;
+ this.trialOffer = trialOffer;
}
public static Builder builder() {
@@ -3542,6 +3592,8 @@ public static class Builder {
private Trial trial;
+ private String trialOffer;
+
/** Finalize and obtain parameter instance from this builder. */
public QuoteCreateParams.Line.Action.SetItem build() {
return new QuoteCreateParams.Line.Action.SetItem(
@@ -3551,7 +3603,8 @@ public QuoteCreateParams.Line.Action.SetItem build() {
this.price,
this.quantity,
this.taxRates,
- this.trial);
+ this.trial,
+ this.trialOffer);
}
/**
@@ -3688,6 +3741,12 @@ public Builder setTrial(QuoteCreateParams.Line.Action.SetItem.Trial trial) {
this.trial = trial;
return this;
}
+
+ /** The ID of the trial offer to apply to the configuration item. */
+ public Builder setTrialOffer(String trialOffer) {
+ this.trialOffer = trialOffer;
+ return this;
+ }
}
@Getter
@@ -5504,6 +5563,21 @@ public enum BillingCycleAnchor implements ApiRequestParams.EnumParam {
}
}
+ public enum EffectiveAt implements ApiRequestParams.EnumParam {
+ @SerializedName("billing_period_start")
+ BILLING_PERIOD_START("billing_period_start"),
+
+ @SerializedName("line_start")
+ LINE_START("line_start");
+
+ @Getter(onMethod_ = {@Override})
+ private final String value;
+
+ EffectiveAt(String value) {
+ this.value = value;
+ }
+ }
+
public enum ProrationBehavior implements ApiRequestParams.EnumParam {
@SerializedName("always_invoice")
ALWAYS_INVOICE("always_invoice"),
@@ -6486,7 +6560,7 @@ public static class SubscriptionData {
* when the quote is accepted.
*/
@SerializedName("billing_schedules")
- Object billingSchedules;
+ List billingSchedules;
/**
* The subscription's description, meant to be displayable to the customer. Use this field to
@@ -6588,7 +6662,7 @@ private SubscriptionData(
BillingBehavior billingBehavior,
ApiRequestParams.EnumParam billingCycleAnchor,
BillingMode billingMode,
- Object billingSchedules,
+ List billingSchedules,
String description,
Object effectiveDate,
EndBehavior endBehavior,
@@ -6629,7 +6703,7 @@ public static class Builder {
private BillingMode billingMode;
- private Object billingSchedules;
+ private List billingSchedules;
private String description;
@@ -6721,15 +6795,12 @@ public Builder setBillingMode(QuoteCreateParams.SubscriptionData.BillingMode bil
* call, and subsequent calls adds additional elements to the original list. See {@link
* QuoteCreateParams.SubscriptionData#billingSchedules} for the field documentation.
*/
- @SuppressWarnings("unchecked")
public Builder addBillingSchedule(
QuoteCreateParams.SubscriptionData.BillingSchedule element) {
- if (this.billingSchedules == null || this.billingSchedules instanceof EmptyParam) {
- this.billingSchedules =
- new ArrayList();
+ if (this.billingSchedules == null) {
+ this.billingSchedules = new ArrayList<>();
}
- ((List) this.billingSchedules)
- .add(element);
+ this.billingSchedules.add(element);
return this;
}
@@ -6738,34 +6809,12 @@ public Builder addBillingSchedule(
* `add/addAll` call, and subsequent calls adds additional elements to the original list. See
* {@link QuoteCreateParams.SubscriptionData#billingSchedules} for the field documentation.
*/
- @SuppressWarnings("unchecked")
public Builder addAllBillingSchedule(
List elements) {
- if (this.billingSchedules == null || this.billingSchedules instanceof EmptyParam) {
- this.billingSchedules =
- new ArrayList();
+ if (this.billingSchedules == null) {
+ this.billingSchedules = new ArrayList<>();
}
- ((List) this.billingSchedules)
- .addAll(elements);
- return this;
- }
-
- /**
- * Billing schedules that will be applied to the subscription or subscription schedule created
- * when the quote is accepted.
- */
- public Builder setBillingSchedules(EmptyParam billingSchedules) {
- this.billingSchedules = billingSchedules;
- return this;
- }
-
- /**
- * Billing schedules that will be applied to the subscription or subscription schedule created
- * when the quote is accepted.
- */
- public Builder setBillingSchedules(
- List billingSchedules) {
- this.billingSchedules = billingSchedules;
+ this.billingSchedules.addAll(elements);
return this;
}
@@ -8842,8 +8891,8 @@ public enum PhaseEffectiveAt implements ApiRequestParams.EnumParam {
@SerializedName("billing_period_start")
BILLING_PERIOD_START("billing_period_start"),
- @SerializedName("phase_start")
- PHASE_START("phase_start");
+ @SerializedName("line_start")
+ LINE_START("line_start");
@Getter(onMethod_ = {@Override})
private final String value;
@@ -8901,7 +8950,7 @@ public static class SubscriptionDataOverride {
* when the quote is accepted.
*/
@SerializedName("billing_schedules")
- Object billingSchedules;
+ List billingSchedules;
/**
* The customer the Subscription Data override applies to. This is only relevant when {@code
@@ -8965,7 +9014,7 @@ private SubscriptionDataOverride(
AppliesTo appliesTo,
BillOnAcceptance billOnAcceptance,
BillingBehavior billingBehavior,
- Object billingSchedules,
+ List billingSchedules,
String customer,
String description,
EndBehavior endBehavior,
@@ -8995,7 +9044,7 @@ public static class Builder {
private BillingBehavior billingBehavior;
- private Object billingSchedules;
+ private List billingSchedules;
private String customer;
@@ -9058,15 +9107,12 @@ public Builder setBillingBehavior(
* call, and subsequent calls adds additional elements to the original list. See {@link
* QuoteCreateParams.SubscriptionDataOverride#billingSchedules} for the field documentation.
*/
- @SuppressWarnings("unchecked")
public Builder addBillingSchedule(
QuoteCreateParams.SubscriptionDataOverride.BillingSchedule element) {
- if (this.billingSchedules == null || this.billingSchedules instanceof EmptyParam) {
- this.billingSchedules =
- new ArrayList();
+ if (this.billingSchedules == null) {
+ this.billingSchedules = new ArrayList<>();
}
- ((List) this.billingSchedules)
- .add(element);
+ this.billingSchedules.add(element);
return this;
}
@@ -9076,34 +9122,12 @@ public Builder addBillingSchedule(
* {@link QuoteCreateParams.SubscriptionDataOverride#billingSchedules} for the field
* documentation.
*/
- @SuppressWarnings("unchecked")
public Builder addAllBillingSchedule(
List elements) {
- if (this.billingSchedules == null || this.billingSchedules instanceof EmptyParam) {
- this.billingSchedules =
- new ArrayList();
+ if (this.billingSchedules == null) {
+ this.billingSchedules = new ArrayList<>();
}
- ((List) this.billingSchedules)
- .addAll(elements);
- return this;
- }
-
- /**
- * Billing schedules that will be applied to the subscription or subscription schedule created
- * when the quote is accepted.
- */
- public Builder setBillingSchedules(EmptyParam billingSchedules) {
- this.billingSchedules = billingSchedules;
- return this;
- }
-
- /**
- * Billing schedules that will be applied to the subscription or subscription schedule created
- * when the quote is accepted.
- */
- public Builder setBillingSchedules(
- List billingSchedules) {
- this.billingSchedules = billingSchedules;
+ this.billingSchedules.addAll(elements);
return this;
}
@@ -10917,8 +10941,8 @@ public enum PhaseEffectiveAt implements ApiRequestParams.EnumParam {
@SerializedName("billing_period_start")
BILLING_PERIOD_START("billing_period_start"),
- @SerializedName("phase_start")
- PHASE_START("phase_start");
+ @SerializedName("line_start")
+ LINE_START("line_start");
@Getter(onMethod_ = {@Override})
private final String value;
diff --git a/src/main/java/com/stripe/param/QuoteUpdateParams.java b/src/main/java/com/stripe/param/QuoteUpdateParams.java
index e5d0bb67025..7564dd5a360 100644
--- a/src/main/java/com/stripe/param/QuoteUpdateParams.java
+++ b/src/main/java/com/stripe/param/QuoteUpdateParams.java
@@ -1553,6 +1553,17 @@ public static class Line {
@SerializedName("cancel_subscription_schedule")
CancelSubscriptionSchedule cancelSubscriptionSchedule;
+ /**
+ * Configures how the subscription schedule handles billing for phase transitions. Possible
+ * values are {@code phase_start} (default) or {@code billing_period_start}. {@code phase_start}
+ * bills based on the current state of the subscription, ignoring changes scheduled in future
+ * phases. {@code billing_period_start} bills predictively for upcoming phase transitions within
+ * the current billing cycle, including pricing changes and service period adjustments that will
+ * occur before the next invoice.
+ */
+ @SerializedName("effective_at")
+ EffectiveAt effectiveAt;
+
/**
* Details to identify the end of the time range modified by the proposed change. If not
* supplied, the quote line is considered a point-in-time operation that only affects the exact
@@ -1609,6 +1620,7 @@ private Line(
AppliesTo appliesTo,
BillingCycleAnchor billingCycleAnchor,
CancelSubscriptionSchedule cancelSubscriptionSchedule,
+ EffectiveAt effectiveAt,
EndsAt endsAt,
Map extraParams,
Object id,
@@ -1621,6 +1633,7 @@ private Line(
this.appliesTo = appliesTo;
this.billingCycleAnchor = billingCycleAnchor;
this.cancelSubscriptionSchedule = cancelSubscriptionSchedule;
+ this.effectiveAt = effectiveAt;
this.endsAt = endsAt;
this.extraParams = extraParams;
this.id = id;
@@ -1644,6 +1657,8 @@ public static class Builder {
private CancelSubscriptionSchedule cancelSubscriptionSchedule;
+ private EffectiveAt effectiveAt;
+
private EndsAt endsAt;
private Map extraParams;
@@ -1667,6 +1682,7 @@ public QuoteUpdateParams.Line build() {
this.appliesTo,
this.billingCycleAnchor,
this.cancelSubscriptionSchedule,
+ this.effectiveAt,
this.endsAt,
this.extraParams,
this.id,
@@ -1736,6 +1752,19 @@ public Builder setCancelSubscriptionSchedule(
return this;
}
+ /**
+ * Configures how the subscription schedule handles billing for phase transitions. Possible
+ * values are {@code phase_start} (default) or {@code billing_period_start}. {@code
+ * phase_start} bills based on the current state of the subscription, ignoring changes
+ * scheduled in future phases. {@code billing_period_start} bills predictively for upcoming
+ * phase transitions within the current billing cycle, including pricing changes and service
+ * period adjustments that will occur before the next invoice.
+ */
+ public Builder setEffectiveAt(QuoteUpdateParams.Line.EffectiveAt effectiveAt) {
+ this.effectiveAt = effectiveAt;
+ return this;
+ }
+
/**
* Details to identify the end of the time range modified by the proposed change. If not
* supplied, the quote line is considered a point-in-time operation that only affects the
@@ -2454,6 +2483,10 @@ public static class AddItem {
@SerializedName("trial")
Trial trial;
+ /** The ID of the trial offer to apply to the configuration item. */
+ @SerializedName("trial_offer")
+ Object trialOffer;
+
private AddItem(
List discounts,
Map extraParams,
@@ -2461,7 +2494,8 @@ private AddItem(
Object price,
Long quantity,
List taxRates,
- Trial trial) {
+ Trial trial,
+ Object trialOffer) {
this.discounts = discounts;
this.extraParams = extraParams;
this.metadata = metadata;
@@ -2469,6 +2503,7 @@ private AddItem(
this.quantity = quantity;
this.taxRates = taxRates;
this.trial = trial;
+ this.trialOffer = trialOffer;
}
public static Builder builder() {
@@ -2490,6 +2525,8 @@ public static class Builder {
private Trial trial;
+ private Object trialOffer;
+
/** Finalize and obtain parameter instance from this builder. */
public QuoteUpdateParams.Line.Action.AddItem build() {
return new QuoteUpdateParams.Line.Action.AddItem(
@@ -2499,7 +2536,8 @@ public QuoteUpdateParams.Line.Action.AddItem build() {
this.price,
this.quantity,
this.taxRates,
- this.trial);
+ this.trial,
+ this.trialOffer);
}
/**
@@ -2633,6 +2671,18 @@ public Builder setTrial(QuoteUpdateParams.Line.Action.AddItem.Trial trial) {
this.trial = trial;
return this;
}
+
+ /** The ID of the trial offer to apply to the configuration item. */
+ public Builder setTrialOffer(String trialOffer) {
+ this.trialOffer = trialOffer;
+ return this;
+ }
+
+ /** The ID of the trial offer to apply to the configuration item. */
+ public Builder setTrialOffer(EmptyParam trialOffer) {
+ this.trialOffer = trialOffer;
+ return this;
+ }
}
@Getter
@@ -3524,6 +3574,10 @@ public static class SetItem {
@SerializedName("trial")
Trial trial;
+ /** The ID of the trial offer to apply to the configuration item. */
+ @SerializedName("trial_offer")
+ Object trialOffer;
+
private SetItem(
List discounts,
Map extraParams,
@@ -3531,7 +3585,8 @@ private SetItem(
Object price,
Long quantity,
List taxRates,
- Trial trial) {
+ Trial trial,
+ Object trialOffer) {
this.discounts = discounts;
this.extraParams = extraParams;
this.metadata = metadata;
@@ -3539,6 +3594,7 @@ private SetItem(
this.quantity = quantity;
this.taxRates = taxRates;
this.trial = trial;
+ this.trialOffer = trialOffer;
}
public static Builder builder() {
@@ -3560,6 +3616,8 @@ public static class Builder {
private Trial trial;
+ private Object trialOffer;
+
/** Finalize and obtain parameter instance from this builder. */
public QuoteUpdateParams.Line.Action.SetItem build() {
return new QuoteUpdateParams.Line.Action.SetItem(
@@ -3569,7 +3627,8 @@ public QuoteUpdateParams.Line.Action.SetItem build() {
this.price,
this.quantity,
this.taxRates,
- this.trial);
+ this.trial,
+ this.trialOffer);
}
/**
@@ -3712,6 +3771,18 @@ public Builder setTrial(QuoteUpdateParams.Line.Action.SetItem.Trial trial) {
this.trial = trial;
return this;
}
+
+ /** The ID of the trial offer to apply to the configuration item. */
+ public Builder setTrialOffer(String trialOffer) {
+ this.trialOffer = trialOffer;
+ return this;
+ }
+
+ /** The ID of the trial offer to apply to the configuration item. */
+ public Builder setTrialOffer(EmptyParam trialOffer) {
+ this.trialOffer = trialOffer;
+ return this;
+ }
}
@Getter
@@ -5594,6 +5665,21 @@ public enum BillingCycleAnchor implements ApiRequestParams.EnumParam {
}
}
+ public enum EffectiveAt implements ApiRequestParams.EnumParam {
+ @SerializedName("billing_period_start")
+ BILLING_PERIOD_START("billing_period_start"),
+
+ @SerializedName("line_start")
+ LINE_START("line_start");
+
+ @Getter(onMethod_ = {@Override})
+ private final String value;
+
+ EffectiveAt(String value) {
+ this.value = value;
+ }
+ }
+
public enum ProrationBehavior implements ApiRequestParams.EnumParam {
@SerializedName("always_invoice")
ALWAYS_INVOICE("always_invoice"),
@@ -8813,8 +8899,8 @@ public enum PhaseEffectiveAt implements ApiRequestParams.EnumParam {
@SerializedName("billing_period_start")
BILLING_PERIOD_START("billing_period_start"),
- @SerializedName("phase_start")
- PHASE_START("phase_start");
+ @SerializedName("line_start")
+ LINE_START("line_start");
@Getter(onMethod_ = {@Override})
private final String value;
@@ -10949,8 +11035,8 @@ public enum PhaseEffectiveAt implements ApiRequestParams.EnumParam {
@SerializedName("billing_period_start")
BILLING_PERIOD_START("billing_period_start"),
- @SerializedName("phase_start")
- PHASE_START("phase_start");
+ @SerializedName("line_start")
+ LINE_START("line_start");
@Getter(onMethod_ = {@Override})
private final String value;
diff --git a/src/main/java/com/stripe/param/SubscriptionCreateParams.java b/src/main/java/com/stripe/param/SubscriptionCreateParams.java
index 0daf0495ed7..c420a8e4650 100644
--- a/src/main/java/com/stripe/param/SubscriptionCreateParams.java
+++ b/src/main/java/com/stripe/param/SubscriptionCreateParams.java
@@ -3312,23 +3312,11 @@ public enum Interval implements ApiRequestParams.EnumParam {
}
public enum Type implements ApiRequestParams.EnumParam {
- @SerializedName("amendment_end")
- AMENDMENT_END("amendment_end"),
-
@SerializedName("duration")
DURATION("duration"),
- @SerializedName("line_ends_at")
- LINE_ENDS_AT("line_ends_at"),
-
- @SerializedName("schedule_end")
- SCHEDULE_END("schedule_end"),
-
@SerializedName("timestamp")
- TIMESTAMP("timestamp"),
-
- @SerializedName("upcoming_invoice")
- UPCOMING_INVOICE("upcoming_invoice");
+ TIMESTAMP("timestamp");
@Getter(onMethod_ = {@Override})
private final String value;
@@ -4031,6 +4019,10 @@ public static class Item {
@SerializedName("billing_thresholds")
Object billingThresholds;
+ /** The trial offer to apply to this subscription item. */
+ @SerializedName("current_trial")
+ CurrentTrial currentTrial;
+
/** The coupons to redeem into discounts for the subscription item. */
@SerializedName("discounts")
Object discounts;
@@ -4088,6 +4080,7 @@ public static class Item {
private Item(
Object billingThresholds,
+ CurrentTrial currentTrial,
Object discounts,
Map extraParams,
Map metadata,
@@ -4098,6 +4091,7 @@ private Item(
Object taxRates,
Trial trial) {
this.billingThresholds = billingThresholds;
+ this.currentTrial = currentTrial;
this.discounts = discounts;
this.extraParams = extraParams;
this.metadata = metadata;
@@ -4116,6 +4110,8 @@ public static Builder builder() {
public static class Builder {
private Object billingThresholds;
+ private CurrentTrial currentTrial;
+
private Object discounts;
private Map extraParams;
@@ -4138,6 +4134,7 @@ public static class Builder {
public SubscriptionCreateParams.Item build() {
return new SubscriptionCreateParams.Item(
this.billingThresholds,
+ this.currentTrial,
this.discounts,
this.extraParams,
this.metadata,
@@ -4168,6 +4165,12 @@ public Builder setBillingThresholds(EmptyParam billingThresholds) {
return this;
}
+ /** The trial offer to apply to this subscription item. */
+ public Builder setCurrentTrial(SubscriptionCreateParams.Item.CurrentTrial currentTrial) {
+ this.currentTrial = currentTrial;
+ return this;
+ }
+
/**
* Add an element to `discounts` list. A list is initialized for the first `add/addAll` call,
* and subsequent calls adds additional elements to the original list. See {@link
@@ -4428,6 +4431,101 @@ public Builder setUsageGte(Long usageGte) {
}
}
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class CurrentTrial {
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+ * name in this param object. Effectively, this map is flattened to its parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /**
+ * Unix timestamp representing the end of the trial offer period. Required when the trial
+ * offer has {@code duration.type=timestamp}. Cannot be specified when {@code
+ * duration.type=relative}.
+ */
+ @SerializedName("trial_end")
+ Long trialEnd;
+
+ /** Required. The ID of the trial offer to apply to the subscription item. */
+ @SerializedName("trial_offer")
+ String trialOffer;
+
+ private CurrentTrial(Map extraParams, Long trialEnd, String trialOffer) {
+ this.extraParams = extraParams;
+ this.trialEnd = trialEnd;
+ this.trialOffer = trialOffer;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private Long trialEnd;
+
+ private String trialOffer;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public SubscriptionCreateParams.Item.CurrentTrial build() {
+ return new SubscriptionCreateParams.Item.CurrentTrial(
+ this.extraParams, this.trialEnd, this.trialOffer);
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link SubscriptionCreateParams.Item.CurrentTrial#extraParams} for the field
+ * documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link SubscriptionCreateParams.Item.CurrentTrial#extraParams} for the field
+ * documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /**
+ * Unix timestamp representing the end of the trial offer period. Required when the trial
+ * offer has {@code duration.type=timestamp}. Cannot be specified when {@code
+ * duration.type=relative}.
+ */
+ public Builder setTrialEnd(Long trialEnd) {
+ this.trialEnd = trialEnd;
+ return this;
+ }
+
+ /**
+ * Required. The ID of the trial offer to apply to the subscription item.
+ */
+ public Builder setTrialOffer(String trialOffer) {
+ this.trialOffer = trialOffer;
+ return this;
+ }
+ }
+ }
+
@Getter
@EqualsAndHashCode(callSuper = false)
public static class Discount {
diff --git a/src/main/java/com/stripe/param/SubscriptionItemCreateParams.java b/src/main/java/com/stripe/param/SubscriptionItemCreateParams.java
index 654163d8542..c2b05f8ebf7 100644
--- a/src/main/java/com/stripe/param/SubscriptionItemCreateParams.java
+++ b/src/main/java/com/stripe/param/SubscriptionItemCreateParams.java
@@ -22,6 +22,10 @@ public class SubscriptionItemCreateParams extends ApiRequestParams {
@SerializedName("billing_thresholds")
Object billingThresholds;
+ /** The trial offer to apply to this subscription item. */
+ @SerializedName("current_trial")
+ CurrentTrial currentTrial;
+
/** The coupons to redeem into discounts for the subscription item. */
@SerializedName("discounts")
Object discounts;
@@ -136,6 +140,7 @@ public class SubscriptionItemCreateParams extends ApiRequestParams {
private SubscriptionItemCreateParams(
Object billingThresholds,
+ CurrentTrial currentTrial,
Object discounts,
List expand,
Map extraParams,
@@ -151,6 +156,7 @@ private SubscriptionItemCreateParams(
Object taxRates,
Trial trial) {
this.billingThresholds = billingThresholds;
+ this.currentTrial = currentTrial;
this.discounts = discounts;
this.expand = expand;
this.extraParams = extraParams;
@@ -174,6 +180,8 @@ public static Builder builder() {
public static class Builder {
private Object billingThresholds;
+ private CurrentTrial currentTrial;
+
private Object discounts;
private List expand;
@@ -206,6 +214,7 @@ public static class Builder {
public SubscriptionItemCreateParams build() {
return new SubscriptionItemCreateParams(
this.billingThresholds,
+ this.currentTrial,
this.discounts,
this.expand,
this.extraParams,
@@ -241,6 +250,12 @@ public Builder setBillingThresholds(EmptyParam billingThresholds) {
return this;
}
+ /** The trial offer to apply to this subscription item. */
+ public Builder setCurrentTrial(SubscriptionItemCreateParams.CurrentTrial currentTrial) {
+ this.currentTrial = currentTrial;
+ return this;
+ }
+
/**
* Add an element to `discounts` list. A list is initialized for the first `add/addAll` call,
* and subsequent calls adds additional elements to the original list. See {@link
@@ -588,6 +603,97 @@ public Builder setUsageGte(Long usageGte) {
}
}
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class CurrentTrial {
+ /**
+ * Map of extra parameters for custom features not available in this client library. The content
+ * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each
+ * key/value pair is serialized as if the key is a root-level field (serialized) name in this
+ * param object. Effectively, this map is flattened to its parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /**
+ * Unix timestamp representing the end of the trial offer period. Required when the trial offer
+ * has {@code duration.type=timestamp}. Cannot be specified when {@code duration.type=relative}.
+ */
+ @SerializedName("trial_end")
+ Long trialEnd;
+
+ /** Required. The ID of the trial offer to apply to the subscription item. */
+ @SerializedName("trial_offer")
+ String trialOffer;
+
+ private CurrentTrial(Map extraParams, Long trialEnd, String trialOffer) {
+ this.extraParams = extraParams;
+ this.trialEnd = trialEnd;
+ this.trialOffer = trialOffer;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private Long trialEnd;
+
+ private String trialOffer;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public SubscriptionItemCreateParams.CurrentTrial build() {
+ return new SubscriptionItemCreateParams.CurrentTrial(
+ this.extraParams, this.trialEnd, this.trialOffer);
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll`
+ * call, and subsequent calls add additional key/value pairs to the original map. See {@link
+ * SubscriptionItemCreateParams.CurrentTrial#extraParams} for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
+ * See {@link SubscriptionItemCreateParams.CurrentTrial#extraParams} for the field
+ * documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /**
+ * Unix timestamp representing the end of the trial offer period. Required when the trial
+ * offer has {@code duration.type=timestamp}. Cannot be specified when {@code
+ * duration.type=relative}.
+ */
+ public Builder setTrialEnd(Long trialEnd) {
+ this.trialEnd = trialEnd;
+ return this;
+ }
+
+ /** Required. The ID of the trial offer to apply to the subscription item. */
+ public Builder setTrialOffer(String trialOffer) {
+ this.trialOffer = trialOffer;
+ return this;
+ }
+ }
+ }
+
@Getter
@EqualsAndHashCode(callSuper = false)
public static class Discount {
diff --git a/src/main/java/com/stripe/param/SubscriptionItemUpdateParams.java b/src/main/java/com/stripe/param/SubscriptionItemUpdateParams.java
index 7e6fe84f088..1afc5786a47 100644
--- a/src/main/java/com/stripe/param/SubscriptionItemUpdateParams.java
+++ b/src/main/java/com/stripe/param/SubscriptionItemUpdateParams.java
@@ -22,6 +22,10 @@ public class SubscriptionItemUpdateParams extends ApiRequestParams {
@SerializedName("billing_thresholds")
Object billingThresholds;
+ /** The trial offer to apply to this subscription item. */
+ @SerializedName("current_trial")
+ CurrentTrial currentTrial;
+
/** The coupons to redeem into discounts for the subscription item. */
@SerializedName("discounts")
Object discounts;
@@ -139,6 +143,7 @@ public class SubscriptionItemUpdateParams extends ApiRequestParams {
private SubscriptionItemUpdateParams(
Object billingThresholds,
+ CurrentTrial currentTrial,
Object discounts,
List expand,
Map extraParams,
@@ -153,6 +158,7 @@ private SubscriptionItemUpdateParams(
Long quantity,
Object taxRates) {
this.billingThresholds = billingThresholds;
+ this.currentTrial = currentTrial;
this.discounts = discounts;
this.expand = expand;
this.extraParams = extraParams;
@@ -175,6 +181,8 @@ public static Builder builder() {
public static class Builder {
private Object billingThresholds;
+ private CurrentTrial currentTrial;
+
private Object discounts;
private List expand;
@@ -205,6 +213,7 @@ public static class Builder {
public SubscriptionItemUpdateParams build() {
return new SubscriptionItemUpdateParams(
this.billingThresholds,
+ this.currentTrial,
this.discounts,
this.expand,
this.extraParams,
@@ -239,6 +248,12 @@ public Builder setBillingThresholds(EmptyParam billingThresholds) {
return this;
}
+ /** The trial offer to apply to this subscription item. */
+ public Builder setCurrentTrial(SubscriptionItemUpdateParams.CurrentTrial currentTrial) {
+ this.currentTrial = currentTrial;
+ return this;
+ }
+
/**
* Add an element to `discounts` list. A list is initialized for the first `add/addAll` call,
* and subsequent calls adds additional elements to the original list. See {@link
@@ -627,6 +642,103 @@ public Builder setUsageGte(Long usageGte) {
}
}
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class CurrentTrial {
+ /**
+ * Map of extra parameters for custom features not available in this client library. The content
+ * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each
+ * key/value pair is serialized as if the key is a root-level field (serialized) name in this
+ * param object. Effectively, this map is flattened to its parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /**
+ * Unix timestamp representing the end of the trial offer period. Required when the trial offer
+ * has {@code duration.type=timestamp}. Cannot be specified when {@code duration.type=relative}.
+ */
+ @SerializedName("trial_end")
+ Long trialEnd;
+
+ /** Required. The ID of the trial offer to apply to the subscription item. */
+ @SerializedName("trial_offer")
+ Object trialOffer;
+
+ private CurrentTrial(Map extraParams, Long trialEnd, Object trialOffer) {
+ this.extraParams = extraParams;
+ this.trialEnd = trialEnd;
+ this.trialOffer = trialOffer;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private Long trialEnd;
+
+ private Object trialOffer;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public SubscriptionItemUpdateParams.CurrentTrial build() {
+ return new SubscriptionItemUpdateParams.CurrentTrial(
+ this.extraParams, this.trialEnd, this.trialOffer);
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll`
+ * call, and subsequent calls add additional key/value pairs to the original map. See {@link
+ * SubscriptionItemUpdateParams.CurrentTrial#extraParams} for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
+ * See {@link SubscriptionItemUpdateParams.CurrentTrial#extraParams} for the field
+ * documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /**
+ * Unix timestamp representing the end of the trial offer period. Required when the trial
+ * offer has {@code duration.type=timestamp}. Cannot be specified when {@code
+ * duration.type=relative}.
+ */
+ public Builder setTrialEnd(Long trialEnd) {
+ this.trialEnd = trialEnd;
+ return this;
+ }
+
+ /** Required. The ID of the trial offer to apply to the subscription item. */
+ public Builder setTrialOffer(String trialOffer) {
+ this.trialOffer = trialOffer;
+ return this;
+ }
+
+ /** Required. The ID of the trial offer to apply to the subscription item. */
+ public Builder setTrialOffer(EmptyParam trialOffer) {
+ this.trialOffer = trialOffer;
+ return this;
+ }
+ }
+ }
+
@Getter
@EqualsAndHashCode(callSuper = false)
public static class Discount {
diff --git a/src/main/java/com/stripe/param/SubscriptionScheduleAmendParams.java b/src/main/java/com/stripe/param/SubscriptionScheduleAmendParams.java
index c463b3ce54e..f502c39f367 100644
--- a/src/main/java/com/stripe/param/SubscriptionScheduleAmendParams.java
+++ b/src/main/java/com/stripe/param/SubscriptionScheduleAmendParams.java
@@ -266,6 +266,17 @@ public static class Amendment {
@SerializedName("discount_actions")
List discountActions;
+ /**
+ * Configures how the subscription schedule handles billing for phase transitions. Possible
+ * values are {@code phase_start} (default) or {@code billing_period_start}. {@code phase_start}
+ * bills based on the current state of the subscription, ignoring changes scheduled in future
+ * phases. {@code billing_period_start} bills predictively for upcoming phase transitions within
+ * the current billing cycle, including pricing changes and service period adjustments that will
+ * occur before the next invoice.
+ */
+ @SerializedName("effective_at")
+ EffectiveAt effectiveAt;
+
/**
* Map of extra parameters for custom features not available in this client library. The content
* in this map is not serialized under this field's {@code @SerializedName} value. Instead, each
@@ -318,6 +329,7 @@ private Amendment(
List
billingSchedulesActions,
List discountActions,
+ EffectiveAt effectiveAt,
Map extraParams,
List itemActions,
List metadataActions,
@@ -330,6 +342,7 @@ private Amendment(
this.billingCycleAnchor = billingCycleAnchor;
this.billingSchedulesActions = billingSchedulesActions;
this.discountActions = discountActions;
+ this.effectiveAt = effectiveAt;
this.extraParams = extraParams;
this.itemActions = itemActions;
this.metadataActions = metadataActions;
@@ -355,6 +368,8 @@ public static class Builder {
private List discountActions;
+ private EffectiveAt effectiveAt;
+
private Map extraParams;
private List itemActions;
@@ -377,6 +392,7 @@ public SubscriptionScheduleAmendParams.Amendment build() {
this.billingCycleAnchor,
this.billingSchedulesActions,
this.discountActions,
+ this.effectiveAt,
this.extraParams,
this.itemActions,
this.metadataActions,
@@ -481,6 +497,20 @@ public Builder addAllDiscountAction(
return this;
}
+ /**
+ * Configures how the subscription schedule handles billing for phase transitions. Possible
+ * values are {@code phase_start} (default) or {@code billing_period_start}. {@code
+ * phase_start} bills based on the current state of the subscription, ignoring changes
+ * scheduled in future phases. {@code billing_period_start} bills predictively for upcoming
+ * phase transitions within the current billing cycle, including pricing changes and service
+ * period adjustments that will occur before the next invoice.
+ */
+ public Builder setEffectiveAt(
+ SubscriptionScheduleAmendParams.Amendment.EffectiveAt effectiveAt) {
+ this.effectiveAt = effectiveAt;
+ return this;
+ }
+
/**
* Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll`
* call, and subsequent calls add additional key/value pairs to the original map. See {@link
@@ -2272,6 +2302,10 @@ public static class Add {
@SerializedName("trial")
Trial trial;
+ /** The ID of the trial offer to apply to the configuration item. */
+ @SerializedName("trial_offer")
+ String trialOffer;
+
private Add(
List discounts,
Map extraParams,
@@ -2279,7 +2313,8 @@ private Add(
String price,
Long quantity,
List taxRates,
- Trial trial) {
+ Trial trial,
+ String trialOffer) {
this.discounts = discounts;
this.extraParams = extraParams;
this.metadata = metadata;
@@ -2287,6 +2322,7 @@ private Add(
this.quantity = quantity;
this.taxRates = taxRates;
this.trial = trial;
+ this.trialOffer = trialOffer;
}
public static Builder builder() {
@@ -2308,6 +2344,8 @@ public static class Builder {
private Trial trial;
+ private String trialOffer;
+
/** Finalize and obtain parameter instance from this builder. */
public SubscriptionScheduleAmendParams.Amendment.ItemAction.Add build() {
return new SubscriptionScheduleAmendParams.Amendment.ItemAction.Add(
@@ -2317,7 +2355,8 @@ public SubscriptionScheduleAmendParams.Amendment.ItemAction.Add build() {
this.price,
this.quantity,
this.taxRates,
- this.trial);
+ this.trial,
+ this.trialOffer);
}
/**
@@ -2452,6 +2491,12 @@ public Builder setTrial(
this.trial = trial;
return this;
}
+
+ /** The ID of the trial offer to apply to the configuration item. */
+ public Builder setTrialOffer(String trialOffer) {
+ this.trialOffer = trialOffer;
+ return this;
+ }
}
@Getter
@@ -3101,6 +3146,10 @@ public static class Set {
@SerializedName("trial")
Trial trial;
+ /** The ID of the trial offer to apply to the configuration item. */
+ @SerializedName("trial_offer")
+ String trialOffer;
+
private Set(
List discounts,
Map extraParams,
@@ -3108,7 +3157,8 @@ private Set(
String price,
Long quantity,
List taxRates,
- Trial trial) {
+ Trial trial,
+ String trialOffer) {
this.discounts = discounts;
this.extraParams = extraParams;
this.metadata = metadata;
@@ -3116,6 +3166,7 @@ private Set(
this.quantity = quantity;
this.taxRates = taxRates;
this.trial = trial;
+ this.trialOffer = trialOffer;
}
public static Builder builder() {
@@ -3137,6 +3188,8 @@ public static class Builder {
private Trial trial;
+ private String trialOffer;
+
/** Finalize and obtain parameter instance from this builder. */
public SubscriptionScheduleAmendParams.Amendment.ItemAction.Set build() {
return new SubscriptionScheduleAmendParams.Amendment.ItemAction.Set(
@@ -3146,7 +3199,8 @@ public SubscriptionScheduleAmendParams.Amendment.ItemAction.Set build() {
this.price,
this.quantity,
this.taxRates,
- this.trial);
+ this.trial,
+ this.trialOffer);
}
/**
@@ -3290,6 +3344,12 @@ public Builder setTrial(
this.trial = trial;
return this;
}
+
+ /** The ID of the trial offer to apply to the configuration item. */
+ public Builder setTrialOffer(String trialOffer) {
+ this.trialOffer = trialOffer;
+ return this;
+ }
}
@Getter
@@ -4443,6 +4503,21 @@ public enum BillingCycleAnchor implements ApiRequestParams.EnumParam {
}
}
+ public enum EffectiveAt implements ApiRequestParams.EnumParam {
+ @SerializedName("amendment_start")
+ AMENDMENT_START("amendment_start"),
+
+ @SerializedName("billing_period_start")
+ BILLING_PERIOD_START("billing_period_start");
+
+ @Getter(onMethod_ = {@Override})
+ private final String value;
+
+ EffectiveAt(String value) {
+ this.value = value;
+ }
+ }
+
public enum ProrationBehavior implements ApiRequestParams.EnumParam {
@SerializedName("always_invoice")
ALWAYS_INVOICE("always_invoice"),
diff --git a/src/main/java/com/stripe/param/SubscriptionScheduleCreateParams.java b/src/main/java/com/stripe/param/SubscriptionScheduleCreateParams.java
index 2a1257e225d..808a3506295 100644
--- a/src/main/java/com/stripe/param/SubscriptionScheduleCreateParams.java
+++ b/src/main/java/com/stripe/param/SubscriptionScheduleCreateParams.java
@@ -1085,23 +1085,11 @@ public enum Interval implements ApiRequestParams.EnumParam {
}
public enum Type implements ApiRequestParams.EnumParam {
- @SerializedName("amendment_end")
- AMENDMENT_END("amendment_end"),
-
@SerializedName("duration")
DURATION("duration"),
- @SerializedName("line_ends_at")
- LINE_ENDS_AT("line_ends_at"),
-
- @SerializedName("schedule_end")
- SCHEDULE_END("schedule_end"),
-
@SerializedName("timestamp")
- TIMESTAMP("timestamp"),
-
- @SerializedName("upcoming_invoice")
- UPCOMING_INVOICE("upcoming_invoice");
+ TIMESTAMP("timestamp");
@Getter(onMethod_ = {@Override})
private final String value;
@@ -2271,6 +2259,17 @@ public static class Phase {
@SerializedName("duration")
Duration duration;
+ /**
+ * Configures how the subscription schedule handles billing for phase transitions. Possible
+ * values are {@code phase_start} (default) or {@code billing_period_start}. {@code phase_start}
+ * bills based on the current state of the subscription, ignoring changes scheduled in future
+ * phases. {@code billing_period_start} bills predictively for upcoming phase transitions within
+ * the current billing cycle, including pricing changes and service period adjustments that will
+ * occur before the next invoice.
+ */
+ @SerializedName("effective_at")
+ EffectiveAt effectiveAt;
+
/**
* The date at which this phase of the subscription schedule ends. If set, {@code iterations}
* must not be set.
@@ -2379,6 +2378,7 @@ private Phase(
Object description,
Object discounts,
Duration duration,
+ EffectiveAt effectiveAt,
Long endDate,
Map extraParams,
InvoiceSettings invoiceSettings,
@@ -2404,6 +2404,7 @@ private Phase(
this.description = description;
this.discounts = discounts;
this.duration = duration;
+ this.effectiveAt = effectiveAt;
this.endDate = endDate;
this.extraParams = extraParams;
this.invoiceSettings = invoiceSettings;
@@ -2448,6 +2449,8 @@ public static class Builder {
private Duration duration;
+ private EffectiveAt effectiveAt;
+
private Long endDate;
private Map extraParams;
@@ -2489,6 +2492,7 @@ public SubscriptionScheduleCreateParams.Phase build() {
this.description,
this.discounts,
this.duration,
+ this.effectiveAt,
this.endDate,
this.extraParams,
this.invoiceSettings,
@@ -2747,6 +2751,20 @@ public Builder setDuration(SubscriptionScheduleCreateParams.Phase.Duration durat
return this;
}
+ /**
+ * Configures how the subscription schedule handles billing for phase transitions. Possible
+ * values are {@code phase_start} (default) or {@code billing_period_start}. {@code
+ * phase_start} bills based on the current state of the subscription, ignoring changes
+ * scheduled in future phases. {@code billing_period_start} bills predictively for upcoming
+ * phase transitions within the current billing cycle, including pricing changes and service
+ * period adjustments that will occur before the next invoice.
+ */
+ public Builder setEffectiveAt(
+ SubscriptionScheduleCreateParams.Phase.EffectiveAt effectiveAt) {
+ this.effectiveAt = effectiveAt;
+ return this;
+ }
+
/**
* The date at which this phase of the subscription schedule ends. If set, {@code iterations}
* must not be set.
@@ -5217,6 +5235,10 @@ public static class Item {
@SerializedName("trial")
Trial trial;
+ /** The ID of the trial offer to apply to the configuration item. */
+ @SerializedName("trial_offer")
+ String trialOffer;
+
private Item(
Object billingThresholds,
Object discounts,
@@ -5227,7 +5249,8 @@ private Item(
PriceData priceData,
Long quantity,
Object taxRates,
- Trial trial) {
+ Trial trial,
+ String trialOffer) {
this.billingThresholds = billingThresholds;
this.discounts = discounts;
this.extraParams = extraParams;
@@ -5238,6 +5261,7 @@ private Item(
this.quantity = quantity;
this.taxRates = taxRates;
this.trial = trial;
+ this.trialOffer = trialOffer;
}
public static Builder builder() {
@@ -5265,6 +5289,8 @@ public static class Builder {
private Trial trial;
+ private String trialOffer;
+
/** Finalize and obtain parameter instance from this builder. */
public SubscriptionScheduleCreateParams.Phase.Item build() {
return new SubscriptionScheduleCreateParams.Phase.Item(
@@ -5277,7 +5303,8 @@ public SubscriptionScheduleCreateParams.Phase.Item build() {
this.priceData,
this.quantity,
this.taxRates,
- this.trial);
+ this.trial,
+ this.trialOffer);
}
/**
@@ -5489,6 +5516,12 @@ public Builder setTrial(SubscriptionScheduleCreateParams.Phase.Item.Trial trial)
this.trial = trial;
return this;
}
+
+ /** The ID of the trial offer to apply to the configuration item. */
+ public Builder setTrialOffer(String trialOffer) {
+ this.trialOffer = trialOffer;
+ return this;
+ }
}
@Getter
@@ -6811,6 +6844,21 @@ public enum CollectionMethod implements ApiRequestParams.EnumParam {
}
}
+ public enum EffectiveAt implements ApiRequestParams.EnumParam {
+ @SerializedName("billing_period_start")
+ BILLING_PERIOD_START("billing_period_start"),
+
+ @SerializedName("phase_start")
+ PHASE_START("phase_start");
+
+ @Getter(onMethod_ = {@Override})
+ private final String value;
+
+ EffectiveAt(String value) {
+ this.value = value;
+ }
+ }
+
public enum ProrationBehavior implements ApiRequestParams.EnumParam {
@SerializedName("always_invoice")
ALWAYS_INVOICE("always_invoice"),
diff --git a/src/main/java/com/stripe/param/SubscriptionScheduleUpdateParams.java b/src/main/java/com/stripe/param/SubscriptionScheduleUpdateParams.java
index d30c4c34d0d..9f611e25194 100644
--- a/src/main/java/com/stripe/param/SubscriptionScheduleUpdateParams.java
+++ b/src/main/java/com/stripe/param/SubscriptionScheduleUpdateParams.java
@@ -840,23 +840,11 @@ public enum Interval implements ApiRequestParams.EnumParam {
}
public enum Type implements ApiRequestParams.EnumParam {
- @SerializedName("amendment_end")
- AMENDMENT_END("amendment_end"),
-
@SerializedName("duration")
DURATION("duration"),
- @SerializedName("line_ends_at")
- LINE_ENDS_AT("line_ends_at"),
-
- @SerializedName("schedule_end")
- SCHEDULE_END("schedule_end"),
-
@SerializedName("timestamp")
- TIMESTAMP("timestamp"),
-
- @SerializedName("upcoming_invoice")
- UPCOMING_INVOICE("upcoming_invoice");
+ TIMESTAMP("timestamp");
@Getter(onMethod_ = {@Override})
private final String value;
@@ -2054,6 +2042,17 @@ public static class Phase {
@SerializedName("duration")
Duration duration;
+ /**
+ * Configures how the subscription schedule handles billing for phase transitions. Possible
+ * values are {@code phase_start} (default) or {@code billing_period_start}. {@code phase_start}
+ * bills based on the current state of the subscription, ignoring changes scheduled in future
+ * phases. {@code billing_period_start} bills predictively for upcoming phase transitions within
+ * the current billing cycle, including pricing changes and service period adjustments that will
+ * occur before the next invoice.
+ */
+ @SerializedName("effective_at")
+ EffectiveAt effectiveAt;
+
/**
* The date at which this phase of the subscription schedule ends. If set, {@code iterations}
* must not be set.
@@ -2169,6 +2168,7 @@ private Phase(
Object description,
Object discounts,
Duration duration,
+ EffectiveAt effectiveAt,
Object endDate,
Map extraParams,
InvoiceSettings invoiceSettings,
@@ -2195,6 +2195,7 @@ private Phase(
this.description = description;
this.discounts = discounts;
this.duration = duration;
+ this.effectiveAt = effectiveAt;
this.endDate = endDate;
this.extraParams = extraParams;
this.invoiceSettings = invoiceSettings;
@@ -2240,6 +2241,8 @@ public static class Builder {
private Duration duration;
+ private EffectiveAt effectiveAt;
+
private Object endDate;
private Map extraParams;
@@ -2283,6 +2286,7 @@ public SubscriptionScheduleUpdateParams.Phase build() {
this.description,
this.discounts,
this.duration,
+ this.effectiveAt,
this.endDate,
this.extraParams,
this.invoiceSettings,
@@ -2562,6 +2566,20 @@ public Builder setDuration(SubscriptionScheduleUpdateParams.Phase.Duration durat
return this;
}
+ /**
+ * Configures how the subscription schedule handles billing for phase transitions. Possible
+ * values are {@code phase_start} (default) or {@code billing_period_start}. {@code
+ * phase_start} bills based on the current state of the subscription, ignoring changes
+ * scheduled in future phases. {@code billing_period_start} bills predictively for upcoming
+ * phase transitions within the current billing cycle, including pricing changes and service
+ * period adjustments that will occur before the next invoice.
+ */
+ public Builder setEffectiveAt(
+ SubscriptionScheduleUpdateParams.Phase.EffectiveAt effectiveAt) {
+ this.effectiveAt = effectiveAt;
+ return this;
+ }
+
/**
* The date at which this phase of the subscription schedule ends. If set, {@code iterations}
* must not be set.
@@ -5162,6 +5180,10 @@ public static class Item {
@SerializedName("trial")
Trial trial;
+ /** The ID of the trial offer to apply to the configuration item. */
+ @SerializedName("trial_offer")
+ Object trialOffer;
+
private Item(
Object billingThresholds,
Object discounts,
@@ -5172,7 +5194,8 @@ private Item(
PriceData priceData,
Long quantity,
Object taxRates,
- Trial trial) {
+ Trial trial,
+ Object trialOffer) {
this.billingThresholds = billingThresholds;
this.discounts = discounts;
this.extraParams = extraParams;
@@ -5183,6 +5206,7 @@ private Item(
this.quantity = quantity;
this.taxRates = taxRates;
this.trial = trial;
+ this.trialOffer = trialOffer;
}
public static Builder builder() {
@@ -5210,6 +5234,8 @@ public static class Builder {
private Trial trial;
+ private Object trialOffer;
+
/** Finalize and obtain parameter instance from this builder. */
public SubscriptionScheduleUpdateParams.Phase.Item build() {
return new SubscriptionScheduleUpdateParams.Phase.Item(
@@ -5222,7 +5248,8 @@ public SubscriptionScheduleUpdateParams.Phase.Item build() {
this.priceData,
this.quantity,
this.taxRates,
- this.trial);
+ this.trial,
+ this.trialOffer);
}
/**
@@ -5449,6 +5476,18 @@ public Builder setTrial(SubscriptionScheduleUpdateParams.Phase.Item.Trial trial)
this.trial = trial;
return this;
}
+
+ /** The ID of the trial offer to apply to the configuration item. */
+ public Builder setTrialOffer(String trialOffer) {
+ this.trialOffer = trialOffer;
+ return this;
+ }
+
+ /** The ID of the trial offer to apply to the configuration item. */
+ public Builder setTrialOffer(EmptyParam trialOffer) {
+ this.trialOffer = trialOffer;
+ return this;
+ }
}
@Getter
@@ -6826,6 +6865,21 @@ public enum CollectionMethod implements ApiRequestParams.EnumParam {
}
}
+ public enum EffectiveAt implements ApiRequestParams.EnumParam {
+ @SerializedName("billing_period_start")
+ BILLING_PERIOD_START("billing_period_start"),
+
+ @SerializedName("phase_start")
+ PHASE_START("phase_start");
+
+ @Getter(onMethod_ = {@Override})
+ private final String value;
+
+ EffectiveAt(String value) {
+ this.value = value;
+ }
+ }
+
public enum EndDate implements ApiRequestParams.EnumParam {
@SerializedName("now")
NOW("now");
diff --git a/src/main/java/com/stripe/param/SubscriptionUpdateParams.java b/src/main/java/com/stripe/param/SubscriptionUpdateParams.java
index 1b1e338119e..747315bdaa1 100644
--- a/src/main/java/com/stripe/param/SubscriptionUpdateParams.java
+++ b/src/main/java/com/stripe/param/SubscriptionUpdateParams.java
@@ -3083,23 +3083,11 @@ public enum Interval implements ApiRequestParams.EnumParam {
}
public enum Type implements ApiRequestParams.EnumParam {
- @SerializedName("amendment_end")
- AMENDMENT_END("amendment_end"),
-
@SerializedName("duration")
DURATION("duration"),
- @SerializedName("line_ends_at")
- LINE_ENDS_AT("line_ends_at"),
-
- @SerializedName("schedule_end")
- SCHEDULE_END("schedule_end"),
-
@SerializedName("timestamp")
- TIMESTAMP("timestamp"),
-
- @SerializedName("upcoming_invoice")
- UPCOMING_INVOICE("upcoming_invoice");
+ TIMESTAMP("timestamp");
@Getter(onMethod_ = {@Override})
private final String value;
@@ -3982,6 +3970,10 @@ public static class Item {
@SerializedName("clear_usage")
Boolean clearUsage;
+ /** The trial offer to apply to this subscription item. */
+ @SerializedName("current_trial")
+ CurrentTrial currentTrial;
+
/** A flag that, if set to {@code true}, will delete the specified item. */
@SerializedName("deleted")
Boolean deleted;
@@ -4048,6 +4040,7 @@ public static class Item {
private Item(
Object billingThresholds,
Boolean clearUsage,
+ CurrentTrial currentTrial,
Boolean deleted,
Object discounts,
Map extraParams,
@@ -4060,6 +4053,7 @@ private Item(
Object taxRates) {
this.billingThresholds = billingThresholds;
this.clearUsage = clearUsage;
+ this.currentTrial = currentTrial;
this.deleted = deleted;
this.discounts = discounts;
this.extraParams = extraParams;
@@ -4081,6 +4075,8 @@ public static class Builder {
private Boolean clearUsage;
+ private CurrentTrial currentTrial;
+
private Boolean deleted;
private Object discounts;
@@ -4106,6 +4102,7 @@ public SubscriptionUpdateParams.Item build() {
return new SubscriptionUpdateParams.Item(
this.billingThresholds,
this.clearUsage,
+ this.currentTrial,
this.deleted,
this.discounts,
this.extraParams,
@@ -4147,6 +4144,12 @@ public Builder setClearUsage(Boolean clearUsage) {
return this;
}
+ /** The trial offer to apply to this subscription item. */
+ public Builder setCurrentTrial(SubscriptionUpdateParams.Item.CurrentTrial currentTrial) {
+ this.currentTrial = currentTrial;
+ return this;
+ }
+
/** A flag that, if set to {@code true}, will delete the specified item. */
public Builder setDeleted(Boolean deleted) {
this.deleted = deleted;
@@ -4463,6 +4466,109 @@ public Builder setUsageGte(Long usageGte) {
}
}
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class CurrentTrial {
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+ * name in this param object. Effectively, this map is flattened to its parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /**
+ * Unix timestamp representing the end of the trial offer period. Required when the trial
+ * offer has {@code duration.type=timestamp}. Cannot be specified when {@code
+ * duration.type=relative}.
+ */
+ @SerializedName("trial_end")
+ Long trialEnd;
+
+ /** Required. The ID of the trial offer to apply to the subscription item. */
+ @SerializedName("trial_offer")
+ Object trialOffer;
+
+ private CurrentTrial(Map extraParams, Long trialEnd, Object trialOffer) {
+ this.extraParams = extraParams;
+ this.trialEnd = trialEnd;
+ this.trialOffer = trialOffer;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private Long trialEnd;
+
+ private Object trialOffer;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public SubscriptionUpdateParams.Item.CurrentTrial build() {
+ return new SubscriptionUpdateParams.Item.CurrentTrial(
+ this.extraParams, this.trialEnd, this.trialOffer);
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link SubscriptionUpdateParams.Item.CurrentTrial#extraParams} for the field
+ * documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link SubscriptionUpdateParams.Item.CurrentTrial#extraParams} for the field
+ * documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /**
+ * Unix timestamp representing the end of the trial offer period. Required when the trial
+ * offer has {@code duration.type=timestamp}. Cannot be specified when {@code
+ * duration.type=relative}.
+ */
+ public Builder setTrialEnd(Long trialEnd) {
+ this.trialEnd = trialEnd;
+ return this;
+ }
+
+ /**
+ * Required. The ID of the trial offer to apply to the subscription item.
+ */
+ public Builder setTrialOffer(String trialOffer) {
+ this.trialOffer = trialOffer;
+ return this;
+ }
+
+ /**
+ * Required. The ID of the trial offer to apply to the subscription item.
+ */
+ public Builder setTrialOffer(EmptyParam trialOffer) {
+ this.trialOffer = trialOffer;
+ return this;
+ }
+ }
+ }
+
@Getter
@EqualsAndHashCode(callSuper = false)
public static class Discount {
diff --git a/src/main/java/com/stripe/param/v2/billing/ActionServiceCreateParams.java b/src/main/java/com/stripe/param/v2/billing/ActionServiceCreateParams.java
index 2e7c2e2e600..a3b44c9d03e 100644
--- a/src/main/java/com/stripe/param/v2/billing/ActionServiceCreateParams.java
+++ b/src/main/java/com/stripe/param/v2/billing/ActionServiceCreateParams.java
@@ -175,7 +175,7 @@ public Builder setType(ActionServiceCreateParams.Type type) {
public static class CreditGrant {
/** Required. The amount of the credit grant. */
@SerializedName("amount")
- com.stripe.param.v2.billing.ActionServiceCreateParams.CreditGrant.Amount amount;
+ Amount amount;
/** Required. Defines the scope where the credit grant is applicable. */
@SerializedName("applicability_config")
@@ -210,7 +210,7 @@ public static class CreditGrant {
Long priority;
private CreditGrant(
- com.stripe.param.v2.billing.ActionServiceCreateParams.CreditGrant.Amount amount,
+ Amount amount,
ApplicabilityConfig applicabilityConfig,
Category category,
ExpiryConfig expiryConfig,
@@ -231,7 +231,7 @@ public static Builder builder() {
}
public static class Builder {
- private com.stripe.param.v2.billing.ActionServiceCreateParams.CreditGrant.Amount amount;
+ private Amount amount;
private ApplicabilityConfig applicabilityConfig;
@@ -346,7 +346,7 @@ public static class Amount {
/** The monetary amount of the credit grant. Required if {@code type} is {@code monetary}. */
@SerializedName("monetary")
- com.stripe.v2.Amount monetary;
+ Monetary monetary;
/**
* Required. The type of the credit grant amount. We currently support {@code
@@ -358,7 +358,7 @@ public static class Amount {
private Amount(
CustomPricingUnit customPricingUnit,
Map extraParams,
- com.stripe.v2.Amount monetary,
+ Monetary monetary,
Type type) {
this.customPricingUnit = customPricingUnit;
this.extraParams = extraParams;
@@ -375,7 +375,7 @@ public static class Builder {
private Map extraParams;
- private com.stripe.v2.Amount monetary;
+ private Monetary monetary;
private Type type;
@@ -426,7 +426,7 @@ public Builder putAllExtraParam(Map map) {
/**
* The monetary amount of the credit grant. Required if {@code type} is {@code monetary}.
*/
- public Builder setMonetary(com.stripe.v2.Amount monetary) {
+ public Builder setMonetary(ActionServiceCreateParams.CreditGrant.Amount.Monetary monetary) {
this.monetary = monetary;
return this;
}
@@ -535,6 +535,106 @@ public Builder setValue(String value) {
}
}
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Monetary {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its parent
+ * instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+
+ private Monetary(String currency, Map extraParams, Long value) {
+ this.currency = currency;
+ this.extraParams = extraParams;
+ this.value = value;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private String currency;
+
+ private Map extraParams;
+
+ private Long value;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public ActionServiceCreateParams.CreditGrant.Amount.Monetary build() {
+ return new ActionServiceCreateParams.CreditGrant.Amount.Monetary(
+ this.currency, this.extraParams, this.value);
+ }
+
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported currency.
+ */
+ public Builder setCurrency(String currency) {
+ this.currency = currency;
+ return this;
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link ActionServiceCreateParams.CreditGrant.Amount.Monetary#extraParams} for
+ * the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link ActionServiceCreateParams.CreditGrant.Amount.Monetary#extraParams} for
+ * the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ public Builder setValue(Long value) {
+ this.value = value;
+ return this;
+ }
+ }
+ }
+
public enum Type implements ApiRequestParams.EnumParam {
@SerializedName("custom_pricing_unit")
CUSTOM_PRICING_UNIT("custom_pricing_unit"),
@@ -869,7 +969,7 @@ public enum Category implements ApiRequestParams.EnumParam {
public static class CreditGrantPerTenant {
/** Required. The amount of the credit grant. */
@SerializedName("amount")
- com.stripe.param.v2.billing.ActionServiceCreateParams.CreditGrantPerTenant.Amount amount;
+ Amount amount;
/** Required. Defines the scope where the credit grant is applicable. */
@SerializedName("applicability_config")
@@ -908,7 +1008,7 @@ public static class CreditGrantPerTenant {
Long priority;
private CreditGrantPerTenant(
- com.stripe.param.v2.billing.ActionServiceCreateParams.CreditGrantPerTenant.Amount amount,
+ Amount amount,
ApplicabilityConfig applicabilityConfig,
Category category,
ExpiryConfig expiryConfig,
@@ -931,8 +1031,7 @@ public static Builder builder() {
}
public static class Builder {
- private com.stripe.param.v2.billing.ActionServiceCreateParams.CreditGrantPerTenant.Amount
- amount;
+ private Amount amount;
private ApplicabilityConfig applicabilityConfig;
@@ -1058,7 +1157,7 @@ public static class Amount {
/** The monetary amount of the credit grant. Required if {@code type} is {@code monetary}. */
@SerializedName("monetary")
- com.stripe.v2.Amount monetary;
+ Monetary monetary;
/**
* Required. The type of the credit grant amount. We currently support {@code
@@ -1070,7 +1169,7 @@ public static class Amount {
private Amount(
CustomPricingUnit customPricingUnit,
Map extraParams,
- com.stripe.v2.Amount monetary,
+ Monetary monetary,
Type type) {
this.customPricingUnit = customPricingUnit;
this.extraParams = extraParams;
@@ -1087,7 +1186,7 @@ public static class Builder {
private Map extraParams;
- private com.stripe.v2.Amount monetary;
+ private Monetary monetary;
private Type type;
@@ -1139,7 +1238,8 @@ public Builder putAllExtraParam(Map map) {
/**
* The monetary amount of the credit grant. Required if {@code type} is {@code monetary}.
*/
- public Builder setMonetary(com.stripe.v2.Amount monetary) {
+ public Builder setMonetary(
+ ActionServiceCreateParams.CreditGrantPerTenant.Amount.Monetary monetary) {
this.monetary = monetary;
return this;
}
@@ -1248,6 +1348,108 @@ public Builder setValue(String value) {
}
}
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Monetary {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported
+ * currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its parent
+ * instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+
+ private Monetary(String currency, Map extraParams, Long value) {
+ this.currency = currency;
+ this.extraParams = extraParams;
+ this.value = value;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private String currency;
+
+ private Map extraParams;
+
+ private Long value;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public ActionServiceCreateParams.CreditGrantPerTenant.Amount.Monetary build() {
+ return new ActionServiceCreateParams.CreditGrantPerTenant.Amount.Monetary(
+ this.currency, this.extraParams, this.value);
+ }
+
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported currency.
+ */
+ public Builder setCurrency(String currency) {
+ this.currency = currency;
+ return this;
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * ActionServiceCreateParams.CreditGrantPerTenant.Amount.Monetary#extraParams} for the
+ * field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * ActionServiceCreateParams.CreditGrantPerTenant.Amount.Monetary#extraParams} for the
+ * field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ public Builder setValue(Long value) {
+ this.value = value;
+ return this;
+ }
+ }
+ }
+
public enum Type implements ApiRequestParams.EnumParam {
@SerializedName("custom_pricing_unit")
CUSTOM_PRICING_UNIT("custom_pricing_unit"),
diff --git a/src/main/java/com/stripe/param/v2/billing/CollectionSettingCreateParams.java b/src/main/java/com/stripe/param/v2/billing/CollectionSettingCreateParams.java
index 216a38bbeb0..a4ae606600f 100644
--- a/src/main/java/com/stripe/param/v2/billing/CollectionSettingCreateParams.java
+++ b/src/main/java/com/stripe/param/v2/billing/CollectionSettingCreateParams.java
@@ -909,10 +909,10 @@ public static class Card {
/**
* An advanced option 3D Secure. We strongly recommend that you rely on our SCA Engine to
* automatically prompt your customers for authentication based on risk level and other requirements.
+ * href="https://docs.stripe.com/strong-customer-authentication">other requirements.
* However, if you wish to request 3D Secure based on logic from your own fraud engine,
* provide this option. Read our guide on manually
+ * href="https://docs.stripe.com/payments/3d-secure/authentication-flow#manual-three-ds">manually
* requesting 3D Secure for more information on how this configuration interacts with
* Radar and our SCA Engine.
*/
@@ -996,10 +996,10 @@ public Builder setNetwork(String network) {
/**
* An advanced option 3D Secure. We strongly recommend that you rely on our SCA Engine to
* automatically prompt your customers for authentication based on risk level and other
- * requirements. However, if you wish to request 3D Secure based on logic from your own
- * fraud engine, provide this option. Read our guide on manually
+ * href="https://docs.stripe.com/strong-customer-authentication">other requirements.
+ * However, if you wish to request 3D Secure based on logic from your own fraud engine,
+ * provide this option. Read our guide on manually
* requesting 3D Secure for more information on how this configuration interacts with
* Radar and our SCA Engine.
*/
diff --git a/src/main/java/com/stripe/param/v2/billing/CollectionSettingUpdateParams.java b/src/main/java/com/stripe/param/v2/billing/CollectionSettingUpdateParams.java
index e5b51c5d994..b4eb433b47e 100644
--- a/src/main/java/com/stripe/param/v2/billing/CollectionSettingUpdateParams.java
+++ b/src/main/java/com/stripe/param/v2/billing/CollectionSettingUpdateParams.java
@@ -972,10 +972,10 @@ public static class Card {
/**
* An advanced option 3D Secure. We strongly recommend that you rely on our SCA Engine to
* automatically prompt your customers for authentication based on risk level and other requirements.
+ * href="https://docs.stripe.com/strong-customer-authentication">other requirements.
* However, if you wish to request 3D Secure based on logic from your own fraud engine,
* provide this option. Read our guide on manually
+ * href="https://docs.stripe.com/payments/3d-secure/authentication-flow#manual-three-ds">manually
* requesting 3D Secure for more information on how this configuration interacts with
* Radar and our SCA Engine.
*/
@@ -1068,10 +1068,10 @@ public Builder setNetwork(EmptyParam network) {
/**
* An advanced option 3D Secure. We strongly recommend that you rely on our SCA Engine to
* automatically prompt your customers for authentication based on risk level and other
- * requirements. However, if you wish to request 3D Secure based on logic from your own
- * fraud engine, provide this option. Read our guide on manually
+ * href="https://docs.stripe.com/strong-customer-authentication">other requirements.
+ * However, if you wish to request 3D Secure based on logic from your own fraud engine,
+ * provide this option. Read our guide on manually
* requesting 3D Secure for more information on how this configuration interacts with
* Radar and our SCA Engine.
*/
diff --git a/src/main/java/com/stripe/param/v2/core/AccountCreateParams.java b/src/main/java/com/stripe/param/v2/core/AccountCreateParams.java
index b829c6b8b83..e6d8d970123 100644
--- a/src/main/java/com/stripe/param/v2/core/AccountCreateParams.java
+++ b/src/main/java/com/stripe/param/v2/core/AccountCreateParams.java
@@ -3,7 +3,6 @@
import com.google.gson.annotations.SerializedName;
import com.stripe.net.ApiRequestParams;
-import com.stripe.v2.Amount;
import java.time.Instant;
import java.util.ArrayList;
import java.util.HashMap;
@@ -15,6 +14,10 @@
@Getter
@EqualsAndHashCode(callSuper = false)
public class AccountCreateParams extends ApiRequestParams {
+ /** The account token generated by the account token api. */
+ @SerializedName("account_token")
+ String accountToken;
+
/**
* An Account Configuration which allows the Account to take on a key persona across Stripe
* products.
@@ -72,6 +75,7 @@ public class AccountCreateParams extends ApiRequestParams {
Map metadata;
private AccountCreateParams(
+ String accountToken,
Configuration configuration,
String contactEmail,
Dashboard dashboard,
@@ -81,6 +85,7 @@ private AccountCreateParams(
Identity identity,
List include,
Map metadata) {
+ this.accountToken = accountToken;
this.configuration = configuration;
this.contactEmail = contactEmail;
this.dashboard = dashboard;
@@ -97,6 +102,8 @@ public static Builder builder() {
}
public static class Builder {
+ private String accountToken;
+
private Configuration configuration;
private String contactEmail;
@@ -118,6 +125,7 @@ public static class Builder {
/** Finalize and obtain parameter instance from this builder. */
public AccountCreateParams build() {
return new AccountCreateParams(
+ this.accountToken,
this.configuration,
this.contactEmail,
this.dashboard,
@@ -129,6 +137,12 @@ public AccountCreateParams build() {
this.metadata);
}
+ /** The account token generated by the account token api. */
+ public Builder setAccountToken(String accountToken) {
+ this.accountToken = accountToken;
+ return this;
+ }
+
/**
* An Account Configuration which allows the Account to take on a key persona across Stripe
* products.
@@ -1810,9 +1824,9 @@ public static class AutomaticIndirectTax {
String ipAddress;
/**
- * The data source used to identify the customer's tax location - defaults to
- * 'identity_address'. Will only be used for automatic tax calculation on the customer's
- * Invoices and Subscriptions.
+ * The data source used to identify the customer's tax location - defaults to {@code
+ * identity_address}. Will only be used for automatic tax calculation on the customer's
+ * Invoices and Subscriptions. This behavior is now deprecated for new users.
*/
@SerializedName("location_source")
LocationSource locationSource;
@@ -1897,9 +1911,9 @@ public Builder setIpAddress(String ipAddress) {
}
/**
- * The data source used to identify the customer's tax location - defaults to
- * 'identity_address'. Will only be used for automatic tax calculation on the customer's
- * Invoices and Subscriptions.
+ * The data source used to identify the customer's tax location - defaults to {@code
+ * identity_address}. Will only be used for automatic tax calculation on the customer's
+ * Invoices and Subscriptions. This behavior is now deprecated for new users.
*/
public Builder setLocationSource(
AccountCreateParams.Configuration.Customer.AutomaticIndirectTax.LocationSource
@@ -2428,8 +2442,7 @@ public static class Capabilities {
/**
* Generates requirements for enabling automatic indirect tax calculation on this customer's
* invoices or subscriptions. Recommended to request this capability if planning to enable
- * automatic tax calculation on this customer's invoices or subscriptions. Uses the {@code
- * location_source} field.
+ * automatic tax calculation on this customer's invoices or subscriptions.
*/
@SerializedName("automatic_indirect_tax")
AutomaticIndirectTax automaticIndirectTax;
@@ -2469,7 +2482,7 @@ public AccountCreateParams.Configuration.Customer.Capabilities build() {
* Generates requirements for enabling automatic indirect tax calculation on this
* customer's invoices or subscriptions. Recommended to request this capability if
* planning to enable automatic tax calculation on this customer's invoices or
- * subscriptions. Uses the {@code location_source} field.
+ * subscriptions.
*/
public Builder setAutomaticIndirectTax(
AccountCreateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax
@@ -2882,6 +2895,10 @@ public static class Merchant {
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map extraParams;
+ /** Settings specific to Konbini payments on the account. */
+ @SerializedName("konbini_payments")
+ KonbiniPayments konbiniPayments;
+
/**
* The merchant category code for the Merchant Configuration. MCCs are used to classify
* businesses based on the goods or services they provide.
@@ -2889,6 +2906,10 @@ public static class Merchant {
@SerializedName("mcc")
String mcc;
+ /** Settings for the default text that appears on statements for language variations. */
+ @SerializedName("script_statement_descriptor")
+ ScriptStatementDescriptor scriptStatementDescriptor;
+
/** Statement descriptor. */
@SerializedName("statement_descriptor")
StatementDescriptor statementDescriptor;
@@ -2903,7 +2924,9 @@ private Merchant(
Capabilities capabilities,
CardPayments cardPayments,
Map extraParams,
+ KonbiniPayments konbiniPayments,
String mcc,
+ ScriptStatementDescriptor scriptStatementDescriptor,
StatementDescriptor statementDescriptor,
Support support) {
this.bacsDebitPayments = bacsDebitPayments;
@@ -2911,7 +2934,9 @@ private Merchant(
this.capabilities = capabilities;
this.cardPayments = cardPayments;
this.extraParams = extraParams;
+ this.konbiniPayments = konbiniPayments;
this.mcc = mcc;
+ this.scriptStatementDescriptor = scriptStatementDescriptor;
this.statementDescriptor = statementDescriptor;
this.support = support;
}
@@ -2931,8 +2956,12 @@ public static class Builder {
private Map extraParams;
+ private KonbiniPayments konbiniPayments;
+
private String mcc;
+ private ScriptStatementDescriptor scriptStatementDescriptor;
+
private StatementDescriptor statementDescriptor;
private Support support;
@@ -2945,7 +2974,9 @@ public AccountCreateParams.Configuration.Merchant build() {
this.capabilities,
this.cardPayments,
this.extraParams,
+ this.konbiniPayments,
this.mcc,
+ this.scriptStatementDescriptor,
this.statementDescriptor,
this.support);
}
@@ -3008,6 +3039,13 @@ public Builder putAllExtraParam(Map map) {
return this;
}
+ /** Settings specific to Konbini payments on the account. */
+ public Builder setKonbiniPayments(
+ AccountCreateParams.Configuration.Merchant.KonbiniPayments konbiniPayments) {
+ this.konbiniPayments = konbiniPayments;
+ return this;
+ }
+
/**
* The merchant category code for the Merchant Configuration. MCCs are used to classify
* businesses based on the goods or services they provide.
@@ -3017,6 +3055,14 @@ public Builder setMcc(String mcc) {
return this;
}
+ /** Settings for the default text that appears on statements for language variations. */
+ public Builder setScriptStatementDescriptor(
+ AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor
+ scriptStatementDescriptor) {
+ this.scriptStatementDescriptor = scriptStatementDescriptor;
+ return this;
+ }
+
/** Statement descriptor. */
public Builder setStatementDescriptor(
AccountCreateParams.Configuration.Merchant.StatementDescriptor statementDescriptor) {
@@ -7760,11 +7806,612 @@ public Builder setAvsFailure(Boolean avsFailure) {
}
/**
- * Whether Stripe automatically declines charges with an incorrect CVC. This setting
- * only applies when a CVC is provided and it fails bank verification.
+ * Whether Stripe automatically declines charges with an incorrect CVC. This setting
+ * only applies when a CVC is provided and it fails bank verification.
+ */
+ public Builder setCvcFailure(Boolean cvcFailure) {
+ this.cvcFailure = cvcFailure;
+ return this;
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.Merchant.CardPayments.DeclineOn#extraParams} for
+ * the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.Merchant.CardPayments.DeclineOn#extraParams} for
+ * the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+ }
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class KonbiniPayments {
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its parent
+ * instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /** Support for Konbini payments. */
+ @SerializedName("support")
+ Support support;
+
+ private KonbiniPayments(Map extraParams, Support support) {
+ this.extraParams = extraParams;
+ this.support = support;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private Support support;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.Merchant.KonbiniPayments build() {
+ return new AccountCreateParams.Configuration.Merchant.KonbiniPayments(
+ this.extraParams, this.support);
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link AccountCreateParams.Configuration.Merchant.KonbiniPayments#extraParams}
+ * for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link AccountCreateParams.Configuration.Merchant.KonbiniPayments#extraParams}
+ * for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /** Support for Konbini payments. */
+ public Builder setSupport(
+ AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support support) {
+ this.support = support;
+ return this;
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Support {
+ /** Support email address for Konbini payments. */
+ @SerializedName("email")
+ String email;
+
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its
+ * parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /** Support hours for Konbini payments. */
+ @SerializedName("hours")
+ Hours hours;
+
+ /** Support phone number for Konbini payments. */
+ @SerializedName("phone")
+ String phone;
+
+ private Support(
+ String email, Map extraParams, Hours hours, String phone) {
+ this.email = email;
+ this.extraParams = extraParams;
+ this.hours = hours;
+ this.phone = phone;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private String email;
+
+ private Map extraParams;
+
+ private Hours hours;
+
+ private String phone;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support build() {
+ return new AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support(
+ this.email, this.extraParams, this.hours, this.phone);
+ }
+
+ /** Support email address for Konbini payments. */
+ public Builder setEmail(String email) {
+ this.email = email;
+ return this;
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support#extraParams} for
+ * the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support#extraParams} for
+ * the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /** Support hours for Konbini payments. */
+ public Builder setHours(
+ AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support.Hours hours) {
+ this.hours = hours;
+ return this;
+ }
+
+ /** Support phone number for Konbini payments. */
+ public Builder setPhone(String phone) {
+ this.phone = phone;
+ return this;
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Hours {
+ /** Support hours end time (JST time of day) for in {@code HH:MM} format. */
+ @SerializedName("end_time")
+ String endTime;
+
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName}
+ * value. Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its
+ * parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /** Support hours start time (JST time of day) for in {@code HH:MM} format. */
+ @SerializedName("start_time")
+ String startTime;
+
+ private Hours(String endTime, Map extraParams, String startTime) {
+ this.endTime = endTime;
+ this.extraParams = extraParams;
+ this.startTime = startTime;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private String endTime;
+
+ private Map extraParams;
+
+ private String startTime;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support.Hours
+ build() {
+ return new AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support.Hours(
+ this.endTime, this.extraParams, this.startTime);
+ }
+
+ /** Support hours end time (JST time of day) for in {@code HH:MM} format. */
+ public Builder setEndTime(String endTime) {
+ this.endTime = endTime;
+ return this;
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support.Hours#extraParams}
+ * for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the
+ * first `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support.Hours#extraParams}
+ * for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /** Support hours start time (JST time of day) for in {@code HH:MM} format. */
+ public Builder setStartTime(String startTime) {
+ this.startTime = startTime;
+ return this;
+ }
+ }
+ }
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class ScriptStatementDescriptor {
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its parent
+ * instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /**
+ * The Kana variation of statement_descriptor used for charges in Japan. Japanese statement
+ * descriptors have special
+ * requirements.
+ */
+ @SerializedName("kana")
+ Kana kana;
+
+ /**
+ * The Kanji variation of statement_descriptor used for charges in Japan. Japanese statement
+ * descriptors have special
+ * requirements.
+ */
+ @SerializedName("kanji")
+ Kanji kanji;
+
+ private ScriptStatementDescriptor(Map extraParams, Kana kana, Kanji kanji) {
+ this.extraParams = extraParams;
+ this.kana = kana;
+ this.kanji = kanji;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private Kana kana;
+
+ private Kanji kanji;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor build() {
+ return new AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor(
+ this.extraParams, this.kana, this.kanji);
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor#extraParams} for
+ * the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor#extraParams} for
+ * the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /**
+ * The Kana variation of statement_descriptor used for charges in Japan. Japanese
+ * statement descriptors have special
+ * requirements.
+ */
+ public Builder setKana(
+ AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kana kana) {
+ this.kana = kana;
+ return this;
+ }
+
+ /**
+ * The Kanji variation of statement_descriptor used for charges in Japan. Japanese
+ * statement descriptors have special
+ * requirements.
+ */
+ public Builder setKanji(
+ AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kanji kanji) {
+ this.kanji = kanji;
+ return this;
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Kana {
+ /**
+ * The default text that appears on statements for non-card charges outside of Japan. For
+ * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as
+ * the statement descriptor prefix. In that case, if concatenating the statement
+ * descriptor suffix causes the combined statement descriptor to exceed 22 characters, we
+ * truncate the statement_descriptor text to limit the full descriptor to 22 characters.
+ * For more information about statement descriptors and their requirements, see the
+ * Merchant Configuration settings documentation.
+ */
+ @SerializedName("descriptor")
+ String descriptor;
+
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its
+ * parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /**
+ * Default text that appears on statements for card charges outside of Japan, prefixing
+ * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for
+ * the dynamic part of the descriptor, keep this text short. If you don’t specify this
+ * value, statement_descriptor is used as the prefix. For more information about statement
+ * descriptors and their requirements, see the Merchant Configuration settings
+ * documentation.
+ */
+ @SerializedName("prefix")
+ String prefix;
+
+ private Kana(String descriptor, Map extraParams, String prefix) {
+ this.descriptor = descriptor;
+ this.extraParams = extraParams;
+ this.prefix = prefix;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private String descriptor;
+
+ private Map extraParams;
+
+ private String prefix;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kana
+ build() {
+ return new AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kana(
+ this.descriptor, this.extraParams, this.prefix);
+ }
+
+ /**
+ * The default text that appears on statements for non-card charges outside of Japan.
+ * For card charges, if you don’t set a statement_descriptor_prefix, this text is also
+ * used as the statement descriptor prefix. In that case, if concatenating the statement
+ * descriptor suffix causes the combined statement descriptor to exceed 22 characters,
+ * we truncate the statement_descriptor text to limit the full descriptor to 22
+ * characters. For more information about statement descriptors and their requirements,
+ * see the Merchant Configuration settings documentation.
+ */
+ public Builder setDescriptor(String descriptor) {
+ this.descriptor = descriptor;
+ return this;
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kana#extraParams}
+ * for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kana#extraParams}
+ * for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /**
+ * Default text that appears on statements for card charges outside of Japan, prefixing
+ * any dynamic statement_descriptor_suffix specified on the charge. To maximize space
+ * for the dynamic part of the descriptor, keep this text short. If you don’t specify
+ * this value, statement_descriptor is used as the prefix. For more information about
+ * statement descriptors and their requirements, see the Merchant Configuration settings
+ * documentation.
+ */
+ public Builder setPrefix(String prefix) {
+ this.prefix = prefix;
+ return this;
+ }
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Kanji {
+ /**
+ * The default text that appears on statements for non-card charges outside of Japan. For
+ * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as
+ * the statement descriptor prefix. In that case, if concatenating the statement
+ * descriptor suffix causes the combined statement descriptor to exceed 22 characters, we
+ * truncate the statement_descriptor text to limit the full descriptor to 22 characters.
+ * For more information about statement descriptors and their requirements, see the
+ * Merchant Configuration settings documentation.
+ */
+ @SerializedName("descriptor")
+ String descriptor;
+
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its
+ * parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /**
+ * Default text that appears on statements for card charges outside of Japan, prefixing
+ * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for
+ * the dynamic part of the descriptor, keep this text short. If you don’t specify this
+ * value, statement_descriptor is used as the prefix. For more information about statement
+ * descriptors and their requirements, see the Merchant Configuration settings
+ * documentation.
+ */
+ @SerializedName("prefix")
+ String prefix;
+
+ private Kanji(String descriptor, Map extraParams, String prefix) {
+ this.descriptor = descriptor;
+ this.extraParams = extraParams;
+ this.prefix = prefix;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private String descriptor;
+
+ private Map extraParams;
+
+ private String prefix;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kanji
+ build() {
+ return new AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kanji(
+ this.descriptor, this.extraParams, this.prefix);
+ }
+
+ /**
+ * The default text that appears on statements for non-card charges outside of Japan.
+ * For card charges, if you don’t set a statement_descriptor_prefix, this text is also
+ * used as the statement descriptor prefix. In that case, if concatenating the statement
+ * descriptor suffix causes the combined statement descriptor to exceed 22 characters,
+ * we truncate the statement_descriptor text to limit the full descriptor to 22
+ * characters. For more information about statement descriptors and their requirements,
+ * see the Merchant Configuration settings documentation.
*/
- public Builder setCvcFailure(Boolean cvcFailure) {
- this.cvcFailure = cvcFailure;
+ public Builder setDescriptor(String descriptor) {
+ this.descriptor = descriptor;
return this;
}
@@ -7772,8 +8419,8 @@ public Builder setCvcFailure(Boolean cvcFailure) {
* Add a key/value pair to `extraParams` map. A map is initialized for the first
* `put/putAll` call, and subsequent calls add additional key/value pairs to the
* original map. See {@link
- * AccountCreateParams.Configuration.Merchant.CardPayments.DeclineOn#extraParams} for
- * the field documentation.
+ * AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kanji#extraParams}
+ * for the field documentation.
*/
public Builder putExtraParam(String key, Object value) {
if (this.extraParams == null) {
@@ -7787,8 +8434,8 @@ public Builder putExtraParam(String key, Object value) {
* Add all map key/value pairs to `extraParams` map. A map is initialized for the first
* `put/putAll` call, and subsequent calls add additional key/value pairs to the
* original map. See {@link
- * AccountCreateParams.Configuration.Merchant.CardPayments.DeclineOn#extraParams} for
- * the field documentation.
+ * AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kanji#extraParams}
+ * for the field documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
@@ -7797,6 +8444,19 @@ public Builder putAllExtraParam(Map map) {
this.extraParams.putAll(map);
return this;
}
+
+ /**
+ * Default text that appears on statements for card charges outside of Japan, prefixing
+ * any dynamic statement_descriptor_suffix specified on the charge. To maximize space
+ * for the dynamic part of the descriptor, keep this text short. If you don’t specify
+ * this value, statement_descriptor is used as the prefix. For more information about
+ * statement descriptors and their requirements, see the Merchant Configuration settings
+ * documentation.
+ */
+ public Builder setPrefix(String prefix) {
+ this.prefix = prefix;
+ return this;
+ }
}
}
}
@@ -9678,6 +10338,10 @@ public Builder setRequested(Boolean requested) {
@Getter
@EqualsAndHashCode(callSuper = false)
public static class HoldsCurrencies {
+ /** Can hold storage-type funds on Stripe in EUR. */
+ @SerializedName("eur")
+ Eur eur;
+
/**
* Map of extra parameters for custom features not available in this client library. The
* content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -9700,7 +10364,9 @@ public static class HoldsCurrencies {
@SerializedName("usdc")
Usdc usdc;
- private HoldsCurrencies(Map extraParams, Gbp gbp, Usd usd, Usdc usdc) {
+ private HoldsCurrencies(
+ Eur eur, Map extraParams, Gbp gbp, Usd usd, Usdc usdc) {
+ this.eur = eur;
this.extraParams = extraParams;
this.gbp = gbp;
this.usd = usd;
@@ -9712,6 +10378,8 @@ public static Builder builder() {
}
public static class Builder {
+ private Eur eur;
+
private Map extraParams;
private Gbp gbp;
@@ -9723,7 +10391,14 @@ public static class Builder {
/** Finalize and obtain parameter instance from this builder. */
public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies build() {
return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies(
- this.extraParams, this.gbp, this.usd, this.usdc);
+ this.eur, this.extraParams, this.gbp, this.usd, this.usdc);
+ }
+
+ /** Can hold storage-type funds on Stripe in EUR. */
+ public Builder setEur(
+ AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur eur) {
+ this.eur = eur;
+ return this;
}
/**
@@ -9778,6 +10453,88 @@ public Builder setUsdc(
}
}
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Eur {
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName}
+ * value. Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its
+ * parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /**
+ * Required. To request a new Capability for an account, pass true.
+ * There can be a delay before the requested Capability becomes active.
+ */
+ @SerializedName("requested")
+ Boolean requested;
+
+ private Eur(Map extraParams, Boolean requested) {
+ this.extraParams = extraParams;
+ this.requested = requested;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private Boolean requested;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur
+ build() {
+ return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies
+ .Eur(this.extraParams, this.requested);
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur#extraParams}
+ * for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the
+ * first `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur#extraParams}
+ * for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /**
+ * Required. To request a new Capability for an account, pass true.
+ * There can be a delay before the requested Capability becomes active.
+ */
+ public Builder setRequested(Boolean requested) {
+ this.requested = requested;
+ return this;
+ }
+ }
+ }
+
@Getter
@EqualsAndHashCode(callSuper = false)
public static class Gbp {
@@ -17114,7 +17871,8 @@ public AccountCreateParams.Identity.BusinessDetails.AnnualRevenue build() {
}
/** A non-negative integer representing the amount in the smallest currency unit. */
- public Builder setAmount(Amount amount) {
+ public Builder setAmount(
+ AccountCreateParams.Identity.BusinessDetails.AnnualRevenue.Amount amount) {
this.amount = amount;
return this;
}
@@ -17156,6 +17914,108 @@ public Builder setFiscalYearEnd(String fiscalYearEnd) {
return this;
}
}
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Amount {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its
+ * parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+
+ private Amount(String currency, Map extraParams, Long value) {
+ this.currency = currency;
+ this.extraParams = extraParams;
+ this.value = value;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private String currency;
+
+ private Map extraParams;
+
+ private Long value;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Identity.BusinessDetails.AnnualRevenue.Amount build() {
+ return new AccountCreateParams.Identity.BusinessDetails.AnnualRevenue.Amount(
+ this.currency, this.extraParams, this.value);
+ }
+
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported currency.
+ */
+ public Builder setCurrency(String currency) {
+ this.currency = currency;
+ return this;
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Identity.BusinessDetails.AnnualRevenue.Amount#extraParams} for
+ * the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Identity.BusinessDetails.AnnualRevenue.Amount#extraParams} for
+ * the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ public Builder setValue(Long value) {
+ this.value = value;
+ return this;
+ }
+ }
+ }
}
@Getter
@@ -18987,6 +19847,9 @@ public enum Type implements ApiRequestParams.EnumParam {
@SerializedName("ao_nif")
AO_NIF("ao_nif"),
+ @SerializedName("ar_cuit")
+ AR_CUIT("ar_cuit"),
+
@SerializedName("at_fn")
AT_FN("at_fn"),
@@ -19241,7 +20104,8 @@ public AccountCreateParams.Identity.BusinessDetails.MonthlyEstimatedRevenue buil
}
/** A non-negative integer representing the amount in the smallest currency unit. */
- public Builder setAmount(Amount amount) {
+ public Builder setAmount(
+ AccountCreateParams.Identity.BusinessDetails.MonthlyEstimatedRevenue.Amount amount) {
this.amount = amount;
return this;
}
@@ -19276,6 +20140,109 @@ public Builder putAllExtraParam(Map map) {
return this;
}
}
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Amount {
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported currency.
+ */
+ @SerializedName("currency")
+ String currency;
+
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its
+ * parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ @SerializedName("value")
+ Long value;
+
+ private Amount(String currency, Map extraParams, Long value) {
+ this.currency = currency;
+ this.extraParams = extraParams;
+ this.value = value;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private String currency;
+
+ private Map extraParams;
+
+ private Long value;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Identity.BusinessDetails.MonthlyEstimatedRevenue.Amount
+ build() {
+ return new AccountCreateParams.Identity.BusinessDetails.MonthlyEstimatedRevenue
+ .Amount(this.currency, this.extraParams, this.value);
+ }
+
+ /**
+ * Three-letter ISO currency
+ * code, in lowercase. Must be a supported currency.
+ */
+ public Builder setCurrency(String currency) {
+ this.currency = currency;
+ return this;
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Identity.BusinessDetails.MonthlyEstimatedRevenue.Amount#extraParams}
+ * for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Identity.BusinessDetails.MonthlyEstimatedRevenue.Amount#extraParams}
+ * for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /**
+ * A non-negative integer representing how much to charge in the smallest currency unit.
+ */
+ public Builder setValue(Long value) {
+ this.value = value;
+ return this;
+ }
+ }
+ }
}
@Getter
@@ -22218,6 +23185,9 @@ public enum Type implements ApiRequestParams.EnumParam {
@SerializedName("ao_nif")
AO_NIF("ao_nif"),
+ @SerializedName("ar_dni")
+ AR_DNI("ar_dni"),
+
@SerializedName("az_tin")
AZ_TIN("az_tin"),
@@ -23252,6 +24222,9 @@ public enum Include implements ApiRequestParams.EnumParam {
@SerializedName("defaults")
DEFAULTS("defaults"),
+ @SerializedName("future_requirements")
+ FUTURE_REQUIREMENTS("future_requirements"),
+
@SerializedName("identity")
IDENTITY("identity"),
diff --git a/src/main/java/com/stripe/param/v2/core/AccountRetrieveParams.java b/src/main/java/com/stripe/param/v2/core/AccountRetrieveParams.java
index 4284e06bfd1..eb6ab020790 100644
--- a/src/main/java/com/stripe/param/v2/core/AccountRetrieveParams.java
+++ b/src/main/java/com/stripe/param/v2/core/AccountRetrieveParams.java
@@ -118,6 +118,9 @@ public enum Include implements ApiRequestParams.EnumParam {
@SerializedName("defaults")
DEFAULTS("defaults"),
+ @SerializedName("future_requirements")
+ FUTURE_REQUIREMENTS("future_requirements"),
+
@SerializedName("identity")
IDENTITY("identity"),
diff --git a/src/main/java/com/stripe/param/v2/core/AccountTokenCreateParams.java b/src/main/java/com/stripe/param/v2/core/AccountTokenCreateParams.java
new file mode 100644
index 00000000000..b6910871de9
--- /dev/null
+++ b/src/main/java/com/stripe/param/v2/core/AccountTokenCreateParams.java
@@ -0,0 +1,10032 @@
+// File generated from our OpenAPI spec
+package com.stripe.param.v2.core;
+
+import com.google.gson.annotations.SerializedName;
+import com.stripe.net.ApiRequestParams;
+import com.stripe.param.common.EmptyParam;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+
+@Getter
+@EqualsAndHashCode(callSuper = false)
+public class AccountTokenCreateParams extends ApiRequestParams {
+ /**
+ * The default contact email address for the Account. Required when configuring the account as a
+ * merchant or recipient.
+ */
+ @SerializedName("contact_email")
+ String contactEmail;
+
+ /**
+ * A descriptive name for the Account. This name will be surfaced in the Stripe Dashboard and on
+ * any invoices sent to the Account.
+ */
+ @SerializedName("display_name")
+ String displayName;
+
+ /**
+ * Map of extra parameters for custom features not available in this client library. The content
+ * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each
+ * key/value pair is serialized as if the key is a root-level field (serialized) name in this
+ * param object. Effectively, this map is flattened to its parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /**
+ * Required. Information about the company, individual, and business represented
+ * by the Account.
+ */
+ @SerializedName("identity")
+ Identity identity;
+
+ private AccountTokenCreateParams(
+ String contactEmail, String displayName, Map extraParams, Identity identity) {
+ this.contactEmail = contactEmail;
+ this.displayName = displayName;
+ this.extraParams = extraParams;
+ this.identity = identity;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private String contactEmail;
+
+ private String displayName;
+
+ private Map extraParams;
+
+ private Identity identity;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountTokenCreateParams build() {
+ return new AccountTokenCreateParams(
+ this.contactEmail, this.displayName, this.extraParams, this.identity);
+ }
+
+ /**
+ * The default contact email address for the Account. Required when configuring the account as a
+ * merchant or recipient.
+ */
+ public Builder setContactEmail(String contactEmail) {
+ this.contactEmail = contactEmail;
+ return this;
+ }
+
+ /**
+ * A descriptive name for the Account. This name will be surfaced in the Stripe Dashboard and on
+ * any invoices sent to the Account.
+ */
+ public Builder setDisplayName(String displayName) {
+ this.displayName = displayName;
+ return this;
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll`
+ * call, and subsequent calls add additional key/value pairs to the original map. See {@link
+ * AccountTokenCreateParams#extraParams} for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
+ * See {@link AccountTokenCreateParams#extraParams} for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /**
+ * Required. Information about the company, individual, and business
+ * represented by the Account.
+ */
+ public Builder setIdentity(AccountTokenCreateParams.Identity identity) {
+ this.identity = identity;
+ return this;
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Identity {
+ /**
+ * Attestations from the identity's key people, e.g. owners, executives, directors,
+ * representatives.
+ */
+ @SerializedName("attestations")
+ Attestations attestations;
+
+ /** Information about the company or business. */
+ @SerializedName("business_details")
+ BusinessDetails businessDetails;
+
+ /** The entity type. */
+ @SerializedName("entity_type")
+ EntityType entityType;
+
+ /**
+ * Map of extra parameters for custom features not available in this client library. The content
+ * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each
+ * key/value pair is serialized as if the key is a root-level field (serialized) name in this
+ * param object. Effectively, this map is flattened to its parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /** Information about the person represented by the account. */
+ @SerializedName("individual")
+ Individual individual;
+
+ private Identity(
+ Attestations attestations,
+ BusinessDetails businessDetails,
+ EntityType entityType,
+ Map extraParams,
+ Individual individual) {
+ this.attestations = attestations;
+ this.businessDetails = businessDetails;
+ this.entityType = entityType;
+ this.extraParams = extraParams;
+ this.individual = individual;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Attestations attestations;
+
+ private BusinessDetails businessDetails;
+
+ private EntityType entityType;
+
+ private Map extraParams;
+
+ private Individual individual;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountTokenCreateParams.Identity build() {
+ return new AccountTokenCreateParams.Identity(
+ this.attestations,
+ this.businessDetails,
+ this.entityType,
+ this.extraParams,
+ this.individual);
+ }
+
+ /**
+ * Attestations from the identity's key people, e.g. owners, executives, directors,
+ * representatives.
+ */
+ public Builder setAttestations(AccountTokenCreateParams.Identity.Attestations attestations) {
+ this.attestations = attestations;
+ return this;
+ }
+
+ /** Information about the company or business. */
+ public Builder setBusinessDetails(
+ AccountTokenCreateParams.Identity.BusinessDetails businessDetails) {
+ this.businessDetails = businessDetails;
+ return this;
+ }
+
+ /** The entity type. */
+ public Builder setEntityType(AccountTokenCreateParams.Identity.EntityType entityType) {
+ this.entityType = entityType;
+ return this;
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll`
+ * call, and subsequent calls add additional key/value pairs to the original map. See {@link
+ * AccountTokenCreateParams.Identity#extraParams} for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
+ * See {@link AccountTokenCreateParams.Identity#extraParams} for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /** Information about the person represented by the account. */
+ public Builder setIndividual(AccountTokenCreateParams.Identity.Individual individual) {
+ this.individual = individual;
+ return this;
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Attestations {
+ /**
+ * This hash is used to attest that the directors information provided to Stripe is both
+ * current and correct; IP, date, and User Agent are expanded by Stripe.
+ */
+ @SerializedName("directorship_declaration")
+ DirectorshipDeclaration directorshipDeclaration;
+
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+ * name in this param object. Effectively, this map is flattened to its parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /**
+ * This hash is used to attest that the beneficial owner information provided to Stripe is
+ * both current and correct; IP, date, and User Agent are expanded by Stripe.
+ */
+ @SerializedName("ownership_declaration")
+ OwnershipDeclaration ownershipDeclaration;
+
+ /** Attestation that all Persons with a specific Relationship value have been provided. */
+ @SerializedName("persons_provided")
+ PersonsProvided personsProvided;
+
+ /**
+ * This hash is used to attest that the representative is authorized to act as the
+ * representative of their legal entity; IP, date, and User Agent are expanded by Stripe.
+ */
+ @SerializedName("representative_declaration")
+ RepresentativeDeclaration representativeDeclaration;
+
+ /** Attestations of accepted terms of service agreements. */
+ @SerializedName("terms_of_service")
+ TermsOfService termsOfService;
+
+ private Attestations(
+ DirectorshipDeclaration directorshipDeclaration,
+ Map extraParams,
+ OwnershipDeclaration ownershipDeclaration,
+ PersonsProvided personsProvided,
+ RepresentativeDeclaration representativeDeclaration,
+ TermsOfService termsOfService) {
+ this.directorshipDeclaration = directorshipDeclaration;
+ this.extraParams = extraParams;
+ this.ownershipDeclaration = ownershipDeclaration;
+ this.personsProvided = personsProvided;
+ this.representativeDeclaration = representativeDeclaration;
+ this.termsOfService = termsOfService;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private DirectorshipDeclaration directorshipDeclaration;
+
+ private Map extraParams;
+
+ private OwnershipDeclaration ownershipDeclaration;
+
+ private PersonsProvided personsProvided;
+
+ private RepresentativeDeclaration representativeDeclaration;
+
+ private TermsOfService termsOfService;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountTokenCreateParams.Identity.Attestations build() {
+ return new AccountTokenCreateParams.Identity.Attestations(
+ this.directorshipDeclaration,
+ this.extraParams,
+ this.ownershipDeclaration,
+ this.personsProvided,
+ this.representativeDeclaration,
+ this.termsOfService);
+ }
+
+ /**
+ * This hash is used to attest that the directors information provided to Stripe is both
+ * current and correct; IP, date, and User Agent are expanded by Stripe.
+ */
+ public Builder setDirectorshipDeclaration(
+ AccountTokenCreateParams.Identity.Attestations.DirectorshipDeclaration
+ directorshipDeclaration) {
+ this.directorshipDeclaration = directorshipDeclaration;
+ return this;
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link AccountTokenCreateParams.Identity.Attestations#extraParams} for the field
+ * documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link AccountTokenCreateParams.Identity.Attestations#extraParams} for the field
+ * documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /**
+ * This hash is used to attest that the beneficial owner information provided to Stripe is
+ * both current and correct; IP, date, and User Agent are expanded by Stripe.
+ */
+ public Builder setOwnershipDeclaration(
+ AccountTokenCreateParams.Identity.Attestations.OwnershipDeclaration
+ ownershipDeclaration) {
+ this.ownershipDeclaration = ownershipDeclaration;
+ return this;
+ }
+
+ /** Attestation that all Persons with a specific Relationship value have been provided. */
+ public Builder setPersonsProvided(
+ AccountTokenCreateParams.Identity.Attestations.PersonsProvided personsProvided) {
+ this.personsProvided = personsProvided;
+ return this;
+ }
+
+ /**
+ * This hash is used to attest that the representative is authorized to act as the
+ * representative of their legal entity; IP, date, and User Agent are expanded by Stripe.
+ */
+ public Builder setRepresentativeDeclaration(
+ AccountTokenCreateParams.Identity.Attestations.RepresentativeDeclaration
+ representativeDeclaration) {
+ this.representativeDeclaration = representativeDeclaration;
+ return this;
+ }
+
+ /** Attestations of accepted terms of service agreements. */
+ public Builder setTermsOfService(
+ AccountTokenCreateParams.Identity.Attestations.TermsOfService termsOfService) {
+ this.termsOfService = termsOfService;
+ return this;
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class DirectorshipDeclaration {
+ /** A boolean indicating if the directors information has been attested. */
+ @SerializedName("attested")
+ Boolean attested;
+
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its parent
+ * instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ private DirectorshipDeclaration(Boolean attested, Map extraParams) {
+ this.attested = attested;
+ this.extraParams = extraParams;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Boolean attested;
+
+ private Map extraParams;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountTokenCreateParams.Identity.Attestations.DirectorshipDeclaration build() {
+ return new AccountTokenCreateParams.Identity.Attestations.DirectorshipDeclaration(
+ this.attested, this.extraParams);
+ }
+
+ /** A boolean indicating if the directors information has been attested. */
+ public Builder setAttested(Boolean attested) {
+ this.attested = attested;
+ return this;
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * AccountTokenCreateParams.Identity.Attestations.DirectorshipDeclaration#extraParams} for
+ * the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * AccountTokenCreateParams.Identity.Attestations.DirectorshipDeclaration#extraParams} for
+ * the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class OwnershipDeclaration {
+ /** A boolean indicating if the beneficial owner information has been attested. */
+ @SerializedName("attested")
+ Boolean attested;
+
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its parent
+ * instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ private OwnershipDeclaration(Boolean attested, Map extraParams) {
+ this.attested = attested;
+ this.extraParams = extraParams;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Boolean attested;
+
+ private Map extraParams;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountTokenCreateParams.Identity.Attestations.OwnershipDeclaration build() {
+ return new AccountTokenCreateParams.Identity.Attestations.OwnershipDeclaration(
+ this.attested, this.extraParams);
+ }
+
+ /** A boolean indicating if the beneficial owner information has been attested. */
+ public Builder setAttested(Boolean attested) {
+ this.attested = attested;
+ return this;
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * AccountTokenCreateParams.Identity.Attestations.OwnershipDeclaration#extraParams} for
+ * the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * AccountTokenCreateParams.Identity.Attestations.OwnershipDeclaration#extraParams} for
+ * the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class PersonsProvided {
+ /**
+ * Whether the company’s directors have been provided. Set this Boolean to true after
+ * creating all the company’s directors with the Persons API.
+ */
+ @SerializedName("directors")
+ Boolean directors;
+
+ /**
+ * Whether the company’s executives have been provided. Set this Boolean to true after
+ * creating all the company’s executives with the Persons API.
+ */
+ @SerializedName("executives")
+ Boolean executives;
+
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its parent
+ * instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /**
+ * Whether the company’s owners have been provided. Set this Boolean to true after creating
+ * all the company’s owners with the Persons API.
+ */
+ @SerializedName("owners")
+ Boolean owners;
+
+ /** Reason for why the company is exempt from providing ownership information. */
+ @SerializedName("ownership_exemption_reason")
+ OwnershipExemptionReason ownershipExemptionReason;
+
+ private PersonsProvided(
+ Boolean directors,
+ Boolean executives,
+ Map extraParams,
+ Boolean owners,
+ OwnershipExemptionReason ownershipExemptionReason) {
+ this.directors = directors;
+ this.executives = executives;
+ this.extraParams = extraParams;
+ this.owners = owners;
+ this.ownershipExemptionReason = ownershipExemptionReason;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Boolean directors;
+
+ private Boolean executives;
+
+ private Map extraParams;
+
+ private Boolean owners;
+
+ private OwnershipExemptionReason ownershipExemptionReason;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountTokenCreateParams.Identity.Attestations.PersonsProvided build() {
+ return new AccountTokenCreateParams.Identity.Attestations.PersonsProvided(
+ this.directors,
+ this.executives,
+ this.extraParams,
+ this.owners,
+ this.ownershipExemptionReason);
+ }
+
+ /**
+ * Whether the company’s directors have been provided. Set this Boolean to true after
+ * creating all the company’s directors with the Persons API.
+ */
+ public Builder setDirectors(Boolean directors) {
+ this.directors = directors;
+ return this;
+ }
+
+ /**
+ * Whether the company’s executives have been provided. Set this Boolean to true after
+ * creating all the company’s executives with the Persons API.
+ */
+ public Builder setExecutives(Boolean executives) {
+ this.executives = executives;
+ return this;
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * AccountTokenCreateParams.Identity.Attestations.PersonsProvided#extraParams} for the
+ * field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * AccountTokenCreateParams.Identity.Attestations.PersonsProvided#extraParams} for the
+ * field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /**
+ * Whether the company’s owners have been provided. Set this Boolean to true after
+ * creating all the company’s owners with the Persons API.
+ */
+ public Builder setOwners(Boolean owners) {
+ this.owners = owners;
+ return this;
+ }
+
+ /** Reason for why the company is exempt from providing ownership information. */
+ public Builder setOwnershipExemptionReason(
+ AccountTokenCreateParams.Identity.Attestations.PersonsProvided
+ .OwnershipExemptionReason
+ ownershipExemptionReason) {
+ this.ownershipExemptionReason = ownershipExemptionReason;
+ return this;
+ }
+ }
+
+ public enum OwnershipExemptionReason implements ApiRequestParams.EnumParam {
+ @SerializedName("qualified_entity_exceeds_ownership_threshold")
+ QUALIFIED_ENTITY_EXCEEDS_OWNERSHIP_THRESHOLD(
+ "qualified_entity_exceeds_ownership_threshold"),
+
+ @SerializedName("qualifies_as_financial_institution")
+ QUALIFIES_AS_FINANCIAL_INSTITUTION("qualifies_as_financial_institution");
+
+ @Getter(onMethod_ = {@Override})
+ private final String value;
+
+ OwnershipExemptionReason(String value) {
+ this.value = value;
+ }
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class RepresentativeDeclaration {
+ /**
+ * A boolean indicating if the representative is authorized to act as the representative of
+ * their legal entity.
+ */
+ @SerializedName("attested")
+ Boolean attested;
+
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its parent
+ * instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ private RepresentativeDeclaration(Boolean attested, Map extraParams) {
+ this.attested = attested;
+ this.extraParams = extraParams;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Boolean attested;
+
+ private Map extraParams;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountTokenCreateParams.Identity.Attestations.RepresentativeDeclaration build() {
+ return new AccountTokenCreateParams.Identity.Attestations.RepresentativeDeclaration(
+ this.attested, this.extraParams);
+ }
+
+ /**
+ * A boolean indicating if the representative is authorized to act as the representative
+ * of their legal entity.
+ */
+ public Builder setAttested(Boolean attested) {
+ this.attested = attested;
+ return this;
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * AccountTokenCreateParams.Identity.Attestations.RepresentativeDeclaration#extraParams}
+ * for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * AccountTokenCreateParams.Identity.Attestations.RepresentativeDeclaration#extraParams}
+ * for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class TermsOfService {
+ /**
+ * Details on the Account's acceptance of the [Stripe Services Agreement]; IP, date, and
+ * User Agent are expanded by Stripe.
+ */
+ @SerializedName("account")
+ Account account;
+
+ /** Details on the Account's acceptance of Issuing-specific terms of service. */
+ @SerializedName("card_creator")
+ CardCreator cardCreator;
+
+ /**
+ * Details on the Account's acceptance of Crypto-storer-specific terms of service; IP, date,
+ * and User Agent are expanded by Stripe.
+ */
+ @SerializedName("crypto_storer")
+ CryptoStorer cryptoStorer;
+
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its parent
+ * instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /**
+ * Details on the Account's acceptance of Treasury-specific terms of service; IP, date, and
+ * User Agent are expanded by Stripe.
+ */
+ @SerializedName("storer")
+ Storer storer;
+
+ private TermsOfService(
+ Account account,
+ CardCreator cardCreator,
+ CryptoStorer cryptoStorer,
+ Map extraParams,
+ Storer storer) {
+ this.account = account;
+ this.cardCreator = cardCreator;
+ this.cryptoStorer = cryptoStorer;
+ this.extraParams = extraParams;
+ this.storer = storer;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Account account;
+
+ private CardCreator cardCreator;
+
+ private CryptoStorer cryptoStorer;
+
+ private Map extraParams;
+
+ private Storer storer;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountTokenCreateParams.Identity.Attestations.TermsOfService build() {
+ return new AccountTokenCreateParams.Identity.Attestations.TermsOfService(
+ this.account, this.cardCreator, this.cryptoStorer, this.extraParams, this.storer);
+ }
+
+ /**
+ * Details on the Account's acceptance of the [Stripe Services Agreement]; IP, date, and
+ * User Agent are expanded by Stripe.
+ */
+ public Builder setAccount(
+ AccountTokenCreateParams.Identity.Attestations.TermsOfService.Account account) {
+ this.account = account;
+ return this;
+ }
+
+ /** Details on the Account's acceptance of Issuing-specific terms of service. */
+ public Builder setCardCreator(
+ AccountTokenCreateParams.Identity.Attestations.TermsOfService.CardCreator
+ cardCreator) {
+ this.cardCreator = cardCreator;
+ return this;
+ }
+
+ /**
+ * Details on the Account's acceptance of Crypto-storer-specific terms of service; IP,
+ * date, and User Agent are expanded by Stripe.
+ */
+ public Builder setCryptoStorer(
+ AccountTokenCreateParams.Identity.Attestations.TermsOfService.CryptoStorer
+ cryptoStorer) {
+ this.cryptoStorer = cryptoStorer;
+ return this;
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * AccountTokenCreateParams.Identity.Attestations.TermsOfService#extraParams} for the
+ * field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * AccountTokenCreateParams.Identity.Attestations.TermsOfService#extraParams} for the
+ * field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /**
+ * Details on the Account's acceptance of Treasury-specific terms of service; IP, date,
+ * and User Agent are expanded by Stripe.
+ */
+ public Builder setStorer(
+ AccountTokenCreateParams.Identity.Attestations.TermsOfService.Storer storer) {
+ this.storer = storer;
+ return this;
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Account {
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its
+ * parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /** The boolean value indicating if the terms of service have been accepted. */
+ @SerializedName("shown_and_accepted")
+ Boolean shownAndAccepted;
+
+ private Account(Map extraParams, Boolean shownAndAccepted) {
+ this.extraParams = extraParams;
+ this.shownAndAccepted = shownAndAccepted;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private Boolean shownAndAccepted;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountTokenCreateParams.Identity.Attestations.TermsOfService.Account build() {
+ return new AccountTokenCreateParams.Identity.Attestations.TermsOfService.Account(
+ this.extraParams, this.shownAndAccepted);
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountTokenCreateParams.Identity.Attestations.TermsOfService.Account#extraParams}
+ * for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountTokenCreateParams.Identity.Attestations.TermsOfService.Account#extraParams}
+ * for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /** The boolean value indicating if the terms of service have been accepted. */
+ public Builder setShownAndAccepted(Boolean shownAndAccepted) {
+ this.shownAndAccepted = shownAndAccepted;
+ return this;
+ }
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class CardCreator {
+ /** Terms of service acceptances to create cards for commercial issuing use cases. */
+ @SerializedName("commercial")
+ Commercial commercial;
+
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its
+ * parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ private CardCreator(Commercial commercial, Map extraParams) {
+ this.commercial = commercial;
+ this.extraParams = extraParams;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Commercial commercial;
+
+ private Map extraParams;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountTokenCreateParams.Identity.Attestations.TermsOfService.CardCreator
+ build() {
+ return new AccountTokenCreateParams.Identity.Attestations.TermsOfService.CardCreator(
+ this.commercial, this.extraParams);
+ }
+
+ /** Terms of service acceptances to create cards for commercial issuing use cases. */
+ public Builder setCommercial(
+ AccountTokenCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial
+ commercial) {
+ this.commercial = commercial;
+ return this;
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountTokenCreateParams.Identity.Attestations.TermsOfService.CardCreator#extraParams}
+ * for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountTokenCreateParams.Identity.Attestations.TermsOfService.CardCreator#extraParams}
+ * for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Commercial {
+ /** Terms of service acceptances for Stripe commercial card issuing. */
+ @SerializedName("account_holder")
+ AccountHolder accountHolder;
+
+ /**
+ * Terms of service acceptances for commercial issuing cards with Celtic as BIN sponsor.
+ */
+ @SerializedName("celtic")
+ Celtic celtic;
+
+ /**
+ * Terms of service acceptances for commercial issuing cards with Cross River Bank as
+ * BIN sponsor.
+ */
+ @SerializedName("cross_river_bank")
+ CrossRiverBank crossRiverBank;
+
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName}
+ * value. Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its
+ * parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ private Commercial(
+ AccountHolder accountHolder,
+ Celtic celtic,
+ CrossRiverBank crossRiverBank,
+ Map extraParams) {
+ this.accountHolder = accountHolder;
+ this.celtic = celtic;
+ this.crossRiverBank = crossRiverBank;
+ this.extraParams = extraParams;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private AccountHolder accountHolder;
+
+ private Celtic celtic;
+
+ private CrossRiverBank crossRiverBank;
+
+ private Map extraParams;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountTokenCreateParams.Identity.Attestations.TermsOfService.CardCreator
+ .Commercial
+ build() {
+ return new AccountTokenCreateParams.Identity.Attestations.TermsOfService.CardCreator
+ .Commercial(
+ this.accountHolder, this.celtic, this.crossRiverBank, this.extraParams);
+ }
+
+ /** Terms of service acceptances for Stripe commercial card issuing. */
+ public Builder setAccountHolder(
+ AccountTokenCreateParams.Identity.Attestations.TermsOfService.CardCreator
+ .Commercial.AccountHolder
+ accountHolder) {
+ this.accountHolder = accountHolder;
+ return this;
+ }
+
+ /**
+ * Terms of service acceptances for commercial issuing cards with Celtic as BIN
+ * sponsor.
+ */
+ public Builder setCeltic(
+ AccountTokenCreateParams.Identity.Attestations.TermsOfService.CardCreator
+ .Commercial.Celtic
+ celtic) {
+ this.celtic = celtic;
+ return this;
+ }
+
+ /**
+ * Terms of service acceptances for commercial issuing cards with Cross River Bank as
+ * BIN sponsor.
+ */
+ public Builder setCrossRiverBank(
+ AccountTokenCreateParams.Identity.Attestations.TermsOfService.CardCreator
+ .Commercial.CrossRiverBank
+ crossRiverBank) {
+ this.crossRiverBank = crossRiverBank;
+ return this;
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountTokenCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial#extraParams}
+ * for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the
+ * first `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountTokenCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial#extraParams}
+ * for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class AccountHolder {
+ /**
+ * Map of extra parameters for custom features not available in this client library.
+ * The content in this map is not serialized under this field's
+ * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the
+ * key is a root-level field (serialized) name in this param object. Effectively, this
+ * map is flattened to its parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map