diff --git a/API_VERSION b/API_VERSION index 012d1278dbd..7fa3a2d3c56 100644 --- a/API_VERSION +++ b/API_VERSION @@ -1 +1 @@ -0de52cdca31a7c51c6d11187fc88ab23ea3a1c5b \ No newline at end of file +577fcb57736b925392ea563c0284df9002c75ac9 \ No newline at end of file diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index c6ee373b912..edaae7f4520 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v2031 \ No newline at end of file +v2099 \ No newline at end of file diff --git a/src/main/java/com/stripe/events/V2BillingBillSettingUpdatedEvent.java b/src/main/java/com/stripe/events/V2BillingBillSettingUpdatedEvent.java deleted file mode 100644 index 9efdc01d006..00000000000 --- a/src/main/java/com/stripe/events/V2BillingBillSettingUpdatedEvent.java +++ /dev/null @@ -1,36 +0,0 @@ -// File generated from our OpenAPI spec -package com.stripe.events; - -import com.google.gson.annotations.SerializedName; -import com.stripe.exception.StripeException; -import com.stripe.model.v2.billing.BillSetting; -import com.stripe.model.v2.core.Event; -import com.stripe.model.v2.core.Event.RelatedObject; -import java.time.Instant; -import lombok.Getter; -import lombok.Setter; - -@Getter -public final class V2BillingBillSettingUpdatedEvent extends Event { - /** Data for the v2.billing.bill_setting.updated event. */ - @SerializedName("data") - V2BillingBillSettingUpdatedEvent.EventData data; - - @Getter - @Setter - public static final class EventData { - /** Timestamp of when the object was updated. */ - @SerializedName("updated") - Instant updated; - } - - @SerializedName("related_object") - - /** Object containing the reference to API resource relevant to the event. */ - RelatedObject relatedObject; - - /** Retrieves the related object from the API. Make an API request on every call. */ - public BillSetting fetchRelatedObject() throws StripeException { - return (BillSetting) super.fetchRelatedObject(this.relatedObject); - } -} diff --git a/src/main/java/com/stripe/events/V2BillingBillSettingUpdatedEventNotification.java b/src/main/java/com/stripe/events/V2BillingBillSettingUpdatedEventNotification.java deleted file mode 100644 index 2ab8a832875..00000000000 --- a/src/main/java/com/stripe/events/V2BillingBillSettingUpdatedEventNotification.java +++ /dev/null @@ -1,27 +0,0 @@ -// File generated from our OpenAPI spec -package com.stripe.events; - -import com.google.gson.annotations.SerializedName; -import com.stripe.exception.StripeException; -import com.stripe.model.v2.billing.BillSetting; -import com.stripe.model.v2.core.Event.RelatedObject; -import com.stripe.model.v2.core.EventNotification; -import lombok.Getter; - -@Getter -public final class V2BillingBillSettingUpdatedEventNotification extends EventNotification { - @SerializedName("related_object") - - /** Object containing the reference to API resource relevant to the event. */ - RelatedObject relatedObject; - - /** Retrieves the related object from the API. Make an API request on every call. */ - public BillSetting fetchRelatedObject() throws StripeException { - return (BillSetting) super.fetchRelatedObject(this.relatedObject); - } - /** Retrieve the corresponding full event from the Stripe API. */ - @Override - public V2BillingBillSettingUpdatedEvent fetchEvent() throws StripeException { - return (V2BillingBillSettingUpdatedEvent) super.fetchEvent(); - } -} diff --git a/src/main/java/com/stripe/events/V2MoneyManagementTransactionCreatedEvent.java b/src/main/java/com/stripe/events/V2MoneyManagementTransactionCreatedEvent.java index cade559a382..834b719f513 100644 --- a/src/main/java/com/stripe/events/V2MoneyManagementTransactionCreatedEvent.java +++ b/src/main/java/com/stripe/events/V2MoneyManagementTransactionCreatedEvent.java @@ -7,9 +7,22 @@ import com.stripe.model.v2.core.Event.RelatedObject; import com.stripe.model.v2.moneymanagement.Transaction; import lombok.Getter; +import lombok.Setter; @Getter public final class V2MoneyManagementTransactionCreatedEvent extends Event { + /** Data for the v2.money_management.transaction.created event. */ + @SerializedName("data") + V2MoneyManagementTransactionCreatedEvent.EventData data; + + @Getter + @Setter + public static final class EventData { + /** Id of the v1 Transaction corresponding to this Transaction. */ + @SerializedName("v1_id") + String v1Id; + } + @SerializedName("related_object") /** Object containing the reference to API resource relevant to the event. */ diff --git a/src/main/java/com/stripe/examples/EventNotificationWebhookHandler.java b/src/main/java/com/stripe/examples/EventNotificationWebhookHandler.java index 7bc809e4266..728b786d83f 100644 --- a/src/main/java/com/stripe/examples/EventNotificationWebhookHandler.java +++ b/src/main/java/com/stripe/examples/EventNotificationWebhookHandler.java @@ -6,7 +6,6 @@ import com.stripe.events.V1BillingMeterErrorReportTriggeredEventNotification; import com.stripe.exception.StripeException; import com.stripe.model.billing.Meter; -import com.stripe.model.v2.core.Event; import com.stripe.model.v2.core.EventNotification; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; @@ -67,33 +66,39 @@ public void handle(HttpExchange exchange) throws IOException { String sigHeader = exchange.getRequestHeaders().getFirst("Stripe-Signature"); try { - EventNotification eventNotif = + EventNotification notif = client.parseEventNotification(webhookBody, sigHeader, WEBHOOK_SECRET); - // determine what sort of event you have - if (eventNotif instanceof V1BillingMeterErrorReportTriggeredEventNotification) { + if (notif instanceof V1BillingMeterErrorReportTriggeredEventNotification) { V1BillingMeterErrorReportTriggeredEventNotification eventNotification = - (V1BillingMeterErrorReportTriggeredEventNotification) eventNotif; + (V1BillingMeterErrorReportTriggeredEventNotification) notif; - // after casting, can fetch the related object (which is correctly typed) - Meter meter = eventNotification.fetchRelatedObject(); - System.out.println(meter.getId()); + // there's basic info about the related object in the notification + System.out.println( + "Meter w/ id " + eventNotification.getRelatedObject().getId() + " had a problem"); + // or you can fetch the full object form the API for more details + Meter meter = eventNotification.fetchRelatedObject(); + StringBuilder sb = new StringBuilder(); + sb.append("Meter ") + .append(meter.getDisplayName()) + .append(" (") + .append(meter.getId()) + .append(") had a problem"); + System.out.println(sb.toString()); + + // And you can always fetch the full event: V1BillingMeterErrorReportTriggeredEvent event = eventNotification.fetchEvent(); - System.out.println(event.getData().getDeveloperMessageSummary()); - - // add additional logic - } - // ... check other event types you know about - else if (eventNotif instanceof UnknownEventNotification) { - UnknownEventNotification unknownEvent = (UnknownEventNotification) eventNotif; - System.out.println("Received unknown event: " + unknownEvent.getId()); - // can keep matching on the "type" field - // other helper methods still work, but you'll have to handle types yourself + System.out.println("More info: " + event.getData().getDeveloperMessageSummary()); + } else if (notif instanceof UnknownEventNotification) { + // Events that were introduced after this SDK version release are + // represented as `UnknownEventNotification`s. + // They're valid, the SDK just doesn't have corresponding classes for them. + // You must match on the "type" property instead. + UnknownEventNotification unknownEvent = (UnknownEventNotification) notif; if (unknownEvent.getType().equals("some.new.event")) { - Event event = unknownEvent.fetchEvent(); - System.out.println(event.getReason()); - // handle + // you can still `.fetchEvent()` and `.fetchRelatedObject()`, but the latter may + // return `null` if that event type doesn't have a related object. } } diff --git a/src/main/java/com/stripe/exception/AlreadyCanceledException.java b/src/main/java/com/stripe/exception/AlreadyCanceledException.java index f0e2c0fe267..8afb343d196 100644 --- a/src/main/java/com/stripe/exception/AlreadyCanceledException.java +++ b/src/main/java/com/stripe/exception/AlreadyCanceledException.java @@ -6,7 +6,7 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** Information about the error that occurred. */ +/** Error returned when user tries to cancel an OutboundPayment that was already canceled. */ public final class AlreadyCanceledException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/exception/AlreadyExistsException.java b/src/main/java/com/stripe/exception/AlreadyExistsException.java index 24d496994c2..317c4407b9b 100644 --- a/src/main/java/com/stripe/exception/AlreadyExistsException.java +++ b/src/main/java/com/stripe/exception/AlreadyExistsException.java @@ -6,7 +6,7 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** Information about the error that occurred. */ +/** The resource already exists. */ public final class AlreadyExistsException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/exception/BlockedByStripeException.java b/src/main/java/com/stripe/exception/BlockedByStripeException.java index c62049f1617..9cbca500927 100644 --- a/src/main/java/com/stripe/exception/BlockedByStripeException.java +++ b/src/main/java/com/stripe/exception/BlockedByStripeException.java @@ -6,7 +6,7 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** Information about the error that occurred. */ +/** Returned when the bank account cannot be added due to previous suspicious activity. */ public final class BlockedByStripeException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/exception/ControlledByDashboardException.java b/src/main/java/com/stripe/exception/ControlledByDashboardException.java index 1326e4a1f4e..cac7b66e44b 100644 --- a/src/main/java/com/stripe/exception/ControlledByDashboardException.java +++ b/src/main/java/com/stripe/exception/ControlledByDashboardException.java @@ -6,7 +6,10 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** Information about the error that occurred. */ +/** + * Returned when the PayoutMethodBankAccount object is controlled by the Stripe Dashboard, and + * cannot be archived. + */ public final class ControlledByDashboardException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/exception/FeatureNotEnabledException.java b/src/main/java/com/stripe/exception/FeatureNotEnabledException.java index 5e77d0d93d1..a1e24a0e4d1 100644 --- a/src/main/java/com/stripe/exception/FeatureNotEnabledException.java +++ b/src/main/java/com/stripe/exception/FeatureNotEnabledException.java @@ -6,7 +6,7 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** Information about the error that occurred. */ +/** The user attempts to create an outbound flow from a closed Financial Account. */ public final class FeatureNotEnabledException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/exception/FinancialAccountNotOpenException.java b/src/main/java/com/stripe/exception/FinancialAccountNotOpenException.java index f9cc6c3b0be..66a745010d4 100644 --- a/src/main/java/com/stripe/exception/FinancialAccountNotOpenException.java +++ b/src/main/java/com/stripe/exception/FinancialAccountNotOpenException.java @@ -6,7 +6,6 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** Information about the error that occurred. */ public final class FinancialAccountNotOpenException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/exception/InsufficientFundsException.java b/src/main/java/com/stripe/exception/InsufficientFundsException.java index 2d477585167..e28c0065d0d 100644 --- a/src/main/java/com/stripe/exception/InsufficientFundsException.java +++ b/src/main/java/com/stripe/exception/InsufficientFundsException.java @@ -6,7 +6,10 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** Information about the error that occurred. */ +/** + * Error returned when the balance of provided financial account and balance type in the + * OutboundPayment/OutboundTransfer request does not have enough funds. + */ public final class InsufficientFundsException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/exception/InvalidPaymentMethodException.java b/src/main/java/com/stripe/exception/InvalidPaymentMethodException.java index 597a5e06fa2..320cee6e260 100644 --- a/src/main/java/com/stripe/exception/InvalidPaymentMethodException.java +++ b/src/main/java/com/stripe/exception/InvalidPaymentMethodException.java @@ -8,7 +8,10 @@ import com.stripe.net.StripeResponseGetter; import lombok.Getter; -/** Information about the error that occurred. */ +/** + * Returned in cases where the bank account provided is not valid (wrong format of account number or + * a routing number that does not correspond to a banking institution). + */ public final class InvalidPaymentMethodException extends ApiException { private static final long serialVersionUID = 2L; @Getter String invalidParam; diff --git a/src/main/java/com/stripe/exception/InvalidPayoutMethodException.java b/src/main/java/com/stripe/exception/InvalidPayoutMethodException.java index e10ea5a4a3c..1b92d726743 100644 --- a/src/main/java/com/stripe/exception/InvalidPayoutMethodException.java +++ b/src/main/java/com/stripe/exception/InvalidPayoutMethodException.java @@ -6,7 +6,7 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** Information about the error that occurred. */ +/** Returned in cases where the ID provided doesn't correspond to a valid payout method. */ public final class InvalidPayoutMethodException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/exception/NonZeroBalanceException.java b/src/main/java/com/stripe/exception/NonZeroBalanceException.java index 3f032e51c63..e9ffb6bc220 100644 --- a/src/main/java/com/stripe/exception/NonZeroBalanceException.java +++ b/src/main/java/com/stripe/exception/NonZeroBalanceException.java @@ -6,7 +6,7 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** Information about the error that occurred. */ +/** Error thrown if a user tries to close an account that has non-zero balances. */ public final class NonZeroBalanceException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/exception/NotCancelableException.java b/src/main/java/com/stripe/exception/NotCancelableException.java index 9f669ddcdc9..d1a93541b2e 100644 --- a/src/main/java/com/stripe/exception/NotCancelableException.java +++ b/src/main/java/com/stripe/exception/NotCancelableException.java @@ -6,7 +6,7 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** Information about the error that occurred. */ +/** Error returned when user tries to cancel an OutboundPayment that is not cancelable. */ public final class NotCancelableException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/exception/QuotaExceededException.java b/src/main/java/com/stripe/exception/QuotaExceededException.java index 9d568ac104d..8428fe11abb 100644 --- a/src/main/java/com/stripe/exception/QuotaExceededException.java +++ b/src/main/java/com/stripe/exception/QuotaExceededException.java @@ -6,7 +6,7 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** Information about the error that occurred. */ +/** Returned when attempting to update an archived card. */ public final class QuotaExceededException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/exception/RecipientNotNotifiableException.java b/src/main/java/com/stripe/exception/RecipientNotNotifiableException.java index 9e4ccfb2473..c6e7d2f6d93 100644 --- a/src/main/java/com/stripe/exception/RecipientNotNotifiableException.java +++ b/src/main/java/com/stripe/exception/RecipientNotNotifiableException.java @@ -6,7 +6,10 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** Information about the error that occurred. */ +/** + * Error returned when the user enables notifications in the OutboundPayment request, but an email + * is not set up on the recipient account. + */ public final class RecipientNotNotifiableException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/exception/TemporarySessionExpiredException.java b/src/main/java/com/stripe/exception/TemporarySessionExpiredException.java index 9a9977b273e..376c73a885b 100644 --- a/src/main/java/com/stripe/exception/TemporarySessionExpiredException.java +++ b/src/main/java/com/stripe/exception/TemporarySessionExpiredException.java @@ -6,7 +6,7 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** Information about the error that occurred. */ +/** The temporary session token has expired. */ public final class TemporarySessionExpiredException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/model/Account.java b/src/main/java/com/stripe/model/Account.java index 15e129a6dcd..eb11d409b51 100644 --- a/src/main/java/com/stripe/model/Account.java +++ b/src/main/java/com/stripe/model/Account.java @@ -1640,6 +1640,13 @@ public static class Company extends StripeObject { @SerializedName("registration_date") RegistrationDate registrationDate; + /** + * This hash is used to attest that the representative is authorized to act as the + * representative of their legal entity. + */ + @SerializedName("representative_declaration") + RepresentativeDeclaration representativeDeclaration; + /** * The category identifying the legal structure of the company or legal entity. Also available * for accounts where API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class RepresentativeDeclaration extends StripeObject { + /** The Unix timestamp marking when the representative declaration attestation was made. */ + @SerializedName("date") + Long date; + + /** The IP address from which the representative declaration attestation was made. */ + @SerializedName("ip") + String ip; + + /** + * The user-agent string from the browser where the representative declaration attestation was + * made. + */ + @SerializedName("user_agent") + String userAgent; + } + /** * For more details about Verification, please refer to the API Reference. @@ -2208,29 +2239,29 @@ public static class Errors extends StripeObject { * invalid_url_website_incomplete_terms_and_conditions}, {@code * invalid_url_website_incomplete_under_construction}, {@code invalid_url_website_other}, * {@code invalid_value_other}, {@code unsupported_business_type}, {@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_authorizer_authority}, {@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_data_not_found}, {@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_authorizer_authority}, {@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_legal_entity_structure_mismatch}, {@code verification_missing_directors}, @@ -2411,29 +2442,29 @@ public static class Errors extends StripeObject { * invalid_url_website_incomplete_terms_and_conditions}, {@code * invalid_url_website_incomplete_under_construction}, {@code invalid_url_website_other}, * {@code invalid_value_other}, {@code unsupported_business_type}, {@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_authorizer_authority}, {@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_data_not_found}, {@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_authorizer_authority}, {@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_legal_entity_structure_mismatch}, {@code verification_missing_directors}, diff --git a/src/main/java/com/stripe/model/BankAccount.java b/src/main/java/com/stripe/model/BankAccount.java index 5284ebe11fe..7431969d2d4 100644 --- a/src/main/java/com/stripe/model/BankAccount.java +++ b/src/main/java/com/stripe/model/BankAccount.java @@ -579,29 +579,29 @@ public static class Errors extends StripeObject { * invalid_url_website_incomplete_terms_and_conditions}, {@code * invalid_url_website_incomplete_under_construction}, {@code invalid_url_website_other}, * {@code invalid_value_other}, {@code unsupported_business_type}, {@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_authorizer_authority}, {@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_data_not_found}, {@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_authorizer_authority}, {@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_legal_entity_structure_mismatch}, {@code verification_missing_directors}, @@ -708,29 +708,29 @@ public static class Errors extends StripeObject { * invalid_url_website_incomplete_terms_and_conditions}, {@code * invalid_url_website_incomplete_under_construction}, {@code invalid_url_website_other}, * {@code invalid_value_other}, {@code unsupported_business_type}, {@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_authorizer_authority}, {@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_data_not_found}, {@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_authorizer_authority}, {@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_legal_entity_structure_mismatch}, {@code verification_missing_directors}, diff --git a/src/main/java/com/stripe/model/Capability.java b/src/main/java/com/stripe/model/Capability.java index 0b49c7c1f22..d7bf55d6cb2 100644 --- a/src/main/java/com/stripe/model/Capability.java +++ b/src/main/java/com/stripe/model/Capability.java @@ -273,29 +273,29 @@ public static class Errors extends StripeObject { * invalid_url_website_incomplete_terms_and_conditions}, {@code * invalid_url_website_incomplete_under_construction}, {@code invalid_url_website_other}, * {@code invalid_value_other}, {@code unsupported_business_type}, {@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_authorizer_authority}, {@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_data_not_found}, {@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_authorizer_authority}, {@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_legal_entity_structure_mismatch}, {@code verification_missing_directors}, @@ -459,29 +459,29 @@ public static class Errors extends StripeObject { * invalid_url_website_incomplete_terms_and_conditions}, {@code * invalid_url_website_incomplete_under_construction}, {@code invalid_url_website_other}, * {@code invalid_value_other}, {@code unsupported_business_type}, {@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_authorizer_authority}, {@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_data_not_found}, {@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_authorizer_authority}, {@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_legal_entity_structure_mismatch}, {@code verification_missing_directors}, diff --git a/src/main/java/com/stripe/model/Charge.java b/src/main/java/com/stripe/model/Charge.java index 847f58d9b32..1faa0ea3319 100644 --- a/src/main/java/com/stripe/model/Charge.java +++ b/src/main/java/com/stripe/model/Charge.java @@ -2768,7 +2768,7 @@ public static class Crypto extends StripeObject { /** * The blockchain network that the transaction was sent on. * - *
One of {@code base}, {@code ethereum}, or {@code polygon}. + *
One of {@code base}, {@code ethereum}, {@code polygon}, or {@code solana}.
*/
@SerializedName("network")
String network;
@@ -3802,7 +3802,11 @@ public static class Qris extends StripeObject {}
@Getter
@Setter
@EqualsAndHashCode(callSuper = false)
- public static class Rechnung extends StripeObject {}
+ public static class Rechnung extends StripeObject {
+ /** Payment portal URL. */
+ @SerializedName("payment_portal_url")
+ String paymentPortalUrl;
+ }
/**
* For more details about RevolutPay, please refer to the One of {@code acss_debit}, {@code affirm}, {@code afterpay_clearpay}, {@code alipay},
* {@code alma}, {@code amazon_pay}, {@code au_becs_debit}, {@code bacs_debit}, {@code
* bancontact}, {@code billie}, {@code blik}, {@code boleto}, {@code card}, {@code
- * card_present}, {@code cashapp}, {@code crypto}, {@code customer_balance}, {@code eps}, {@code
- * fpx}, {@code giropay}, {@code gopay}, {@code grabpay}, {@code id_bank_transfer}, {@code
- * ideal}, {@code interac_present}, {@code kakao_pay}, {@code klarna}, {@code konbini}, {@code
- * kr_card}, {@code link}, {@code mb_way}, {@code mobilepay}, {@code multibanco}, {@code
- * naver_pay}, {@code nz_bank_account}, {@code oxxo}, {@code p24}, {@code pay_by_bank}, {@code
- * payco}, {@code paynow}, {@code paypal}, {@code paypay}, {@code payto}, {@code pix}, {@code
- * promptpay}, {@code qris}, {@code rechnung}, {@code revolut_pay}, {@code samsung_pay}, {@code
- * satispay}, {@code sepa_debit}, {@code shopeepay}, {@code sofort}, {@code stripe_balance},
- * {@code swish}, {@code twint}, {@code us_bank_account}, {@code wechat_pay}, or {@code zip}.
+ * card_present}, {@code cashapp}, {@code crypto}, {@code custom}, {@code customer_balance},
+ * {@code eps}, {@code fpx}, {@code giropay}, {@code gopay}, {@code grabpay}, {@code
+ * id_bank_transfer}, {@code ideal}, {@code interac_present}, {@code kakao_pay}, {@code klarna},
+ * {@code konbini}, {@code kr_card}, {@code link}, {@code mb_way}, {@code mobilepay}, {@code
+ * multibanco}, {@code naver_pay}, {@code nz_bank_account}, {@code oxxo}, {@code p24}, {@code
+ * pay_by_bank}, {@code payco}, {@code paynow}, {@code paypal}, {@code paypay}, {@code payto},
+ * {@code pix}, {@code promptpay}, {@code qris}, {@code rechnung}, {@code revolut_pay}, {@code
+ * samsung_pay}, {@code satispay}, {@code sepa_debit}, {@code shopeepay}, {@code sofort}, {@code
+ * stripe_balance}, {@code swish}, {@code twint}, {@code us_bank_account}, {@code wechat_pay},
+ * or {@code zip}.
*/
@SerializedName("type")
String type;
diff --git a/src/main/java/com/stripe/model/CreditNote.java b/src/main/java/com/stripe/model/CreditNote.java
index de8eb46eb6b..3d4fb10eb12 100644
--- a/src/main/java/com/stripe/model/CreditNote.java
+++ b/src/main/java/com/stripe/model/CreditNote.java
@@ -743,12 +743,20 @@ public static class Refund extends StripeObject {
@SerializedName("amount_refunded")
Long amountRefunded;
+ /** The PaymentRecord refund details associated with this credit note refund. */
+ @SerializedName("payment_record_refund")
+ PaymentRecordRefund paymentRecordRefund;
+
/** ID of the refund. */
@SerializedName("refund")
@Getter(lombok.AccessLevel.NONE)
@Setter(lombok.AccessLevel.NONE)
ExpandableField One of {@code anrok}, {@code avalara}, {@code sphere}, or {@code stripe}.
+ */
+ @SerializedName("provider")
+ String provider;
+
/**
* For more details about Location, please refer to the API Reference.
diff --git a/src/main/java/com/stripe/model/CustomerSession.java b/src/main/java/com/stripe/model/CustomerSession.java
index 3992f240ad8..4659789cdb3 100644
--- a/src/main/java/com/stripe/model/CustomerSession.java
+++ b/src/main/java/com/stripe/model/CustomerSession.java
@@ -153,6 +153,17 @@ public static class Components extends StripeObject {
@SerializedName("buy_button")
BuyButton buyButton;
+ /** This hash contains whether the customer sheet is enabled and the features it supports. */
+ @SerializedName("customer_sheet")
+ CustomerSheet customerSheet;
+
+ /**
+ * This hash contains whether the mobile payment element is enabled and the features it
+ * supports.
+ */
+ @SerializedName("mobile_payment_element")
+ MobilePaymentElement mobilePaymentElement;
+
/** This hash contains whether the Payment Element is enabled and the features it supports. */
@SerializedName("payment_element")
PaymentElement paymentElement;
@@ -161,6 +172,10 @@ public static class Components extends StripeObject {
@SerializedName("pricing_table")
PricingTable pricingTable;
+ /** This hash contains whether the Tax ID Element is enabled and the features it supports. */
+ @SerializedName("tax_id_element")
+ TaxIdElement taxIdElement;
+
/** This hash contains whether the buy button is enabled. */
@Getter
@Setter
@@ -171,6 +186,144 @@ public static class BuyButton extends StripeObject {
Boolean enabled;
}
+ /** This hash contains whether the customer sheet is enabled and the features it supports. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class CustomerSheet extends StripeObject {
+ /** Whether the customer sheet is enabled. */
+ @SerializedName("enabled")
+ Boolean enabled;
+
+ /** This hash defines whether the customer sheet supports certain features. */
+ @SerializedName("features")
+ Features features;
+
+ /** This hash contains the features the customer sheet supports. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Features extends StripeObject {
+ /**
+ * A list of {@code
+ * allow_redisplay} values that controls which saved payment methods the customer sheet
+ * displays by filtering to only show payment methods with an {@code allow_redisplay} value
+ * that is present in this list.
+ *
+ * If not specified, defaults to ["always"]. In order to display all saved
+ * payment methods, specify ["always", "limited",
+ * "unspecified"].
+ */
+ @SerializedName("payment_method_allow_redisplay_filters")
+ List Allowing buyers to remove their saved payment methods impacts subscriptions that
+ * depend on that payment method. Removing the payment method detaches the {@code
+ * customer} object from that PaymentMethod.
+ *
+ * One of {@code disabled}, or {@code enabled}.
+ */
+ @SerializedName("payment_method_remove")
+ String paymentMethodRemove;
+ }
+ }
+
+ /**
+ * This hash contains whether the mobile payment element is enabled and the features it
+ * supports.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class MobilePaymentElement extends StripeObject {
+ /** Whether the mobile payment element is enabled. */
+ @SerializedName("enabled")
+ Boolean enabled;
+
+ /** This hash defines whether the mobile payment element supports certain features. */
+ @SerializedName("features")
+ Features features;
+
+ /** This hash contains the features the mobile payment element supports. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Features extends StripeObject {
+ /**
+ * A list of {@code
+ * allow_redisplay} values that controls which saved payment methods the mobile payment
+ * element displays by filtering to only show payment methods with an {@code
+ * allow_redisplay} value that is present in this list.
+ *
+ * If not specified, defaults to ["always"]. In order to display all saved
+ * payment methods, specify ["always", "limited",
+ * "unspecified"].
+ */
+ @SerializedName("payment_method_allow_redisplay_filters")
+ List One of {@code disabled}, or {@code enabled}.
+ */
+ @SerializedName("payment_method_redisplay")
+ String paymentMethodRedisplay;
+
+ /**
+ * Controls whether the mobile payment element displays the option to remove a saved payment
+ * method."
+ *
+ * Allowing buyers to remove their saved payment methods impacts subscriptions that
+ * depend on that payment method. Removing the payment method detaches the {@code
+ * customer} object from that PaymentMethod.
+ *
+ * One of {@code disabled}, or {@code enabled}.
+ */
+ @SerializedName("payment_method_remove")
+ String paymentMethodRemove;
+
+ /**
+ * Controls whether the mobile payment element displays a checkbox offering to save a new
+ * payment method.
+ *
+ * If a customer checks the box, the {@code
+ * allow_redisplay} value on the PaymentMethod is set to {@code 'always'} at
+ * confirmation time. For PaymentIntents, the {@code
+ * setup_future_usage} value is also set to the value defined in {@code
+ * payment_method_save_usage}.
+ *
+ * One of {@code disabled}, or {@code enabled}.
+ */
+ @SerializedName("payment_method_save")
+ String paymentMethodSave;
+
+ /**
+ * Allows overriding the value of allow_override when saving a new payment method when
+ * payment_method_save is set to disabled. Use values: "always",
+ * "limited", or "unspecified".
+ *
+ * If not specified, defaults to {@code nil} (no override value).
+ *
+ * One of {@code always}, {@code limited}, or {@code unspecified}.
+ */
+ @SerializedName("payment_method_save_allow_redisplay_override")
+ String paymentMethodSaveAllowRedisplayOverride;
+ }
+ }
+
/** This hash contains whether the Payment Element is enabled and the features it supports. */
@Getter
@Setter
@@ -277,6 +430,51 @@ public static class PricingTable extends StripeObject {
@SerializedName("enabled")
Boolean enabled;
}
+
+ /** This hash contains whether the Tax ID Element is enabled and the features it supports. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class TaxIdElement extends StripeObject {
+ /** Whether the Tax ID Element is enabled. */
+ @SerializedName("enabled")
+ Boolean enabled;
+
+ /** This hash defines whether the Tax ID Element supports certain features. */
+ @SerializedName("features")
+ Features features;
+
+ /** This hash defines whether the Tax ID Element supports certain features. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Features extends StripeObject {
+ /**
+ * Controls whether the Tax ID Element displays saved tax IDs for the customer. This
+ * parameter defaults to {@code disabled}.
+ *
+ * When enabled, the Tax ID Element will show existing tax IDs associated with the
+ * customer, allowing them to select from previously saved tax identification numbers.
+ *
+ * One of {@code disabled}, or {@code enabled}.
+ */
+ @SerializedName("tax_id_redisplay")
+ String taxIdRedisplay;
+
+ /**
+ * Controls whether the Tax ID Element allows merchants to save new tax IDs for their
+ * customer. This parameter defaults to {@code disabled}.
+ *
+ * When enabled, customers can enter and save new tax identification numbers during the
+ * payment flow, which will be stored securely and associated with their customer object for
+ * future use.
+ *
+ * One of {@code disabled}, or {@code enabled}.
+ */
+ @SerializedName("tax_id_save")
+ String taxIdSave;
+ }
+ }
}
@Override
diff --git a/src/main/java/com/stripe/model/File.java b/src/main/java/com/stripe/model/File.java
index 39b436af72a..f11567995b5 100644
--- a/src/main/java/com/stripe/model/File.java
+++ b/src/main/java/com/stripe/model/File.java
@@ -70,8 +70,9 @@ public class File extends ApiResource implements HasId {
* document_provider_identity_document}, {@code finance_report_run}, {@code
* financial_account_statement}, {@code identity_document}, {@code
* identity_document_downloadable}, {@code issuing_regulatory_reporting}, {@code pci_document},
- * {@code selfie}, {@code sigma_scheduled_query}, {@code tax_document_user_upload}, {@code
- * terminal_android_apk}, or {@code terminal_reader_splashscreen}.
+ * {@code platform_terms_of_service}, {@code selfie}, {@code sigma_scheduled_query}, {@code
+ * tax_document_user_upload}, {@code terminal_android_apk}, or {@code
+ * terminal_reader_splashscreen}.
*/
@SerializedName("purpose")
String purpose;
diff --git a/src/main/java/com/stripe/model/PaymentAttemptRecord.java b/src/main/java/com/stripe/model/PaymentAttemptRecord.java
index fe50e661329..d597a64705a 100644
--- a/src/main/java/com/stripe/model/PaymentAttemptRecord.java
+++ b/src/main/java/com/stripe/model/PaymentAttemptRecord.java
@@ -1666,7 +1666,7 @@ public static class Crypto extends StripeObject {
/**
* The blockchain network that the transaction was sent on.
*
- * One of {@code base}, {@code ethereum}, or {@code polygon}.
+ * One of {@code base}, {@code ethereum}, {@code polygon}, or {@code solana}.
*/
@SerializedName("network")
String network;
@@ -2721,7 +2721,11 @@ public static class Qris extends StripeObject {}
@Getter
@Setter
@EqualsAndHashCode(callSuper = false)
- public static class Rechnung extends StripeObject {}
+ public static class Rechnung extends StripeObject {
+ /** Payment portal URL. */
+ @SerializedName("payment_portal_url")
+ String paymentPortalUrl;
+ }
/**
* For more details about RevolutPay, please refer to the metadata;
+ @SerializedName("name_collection")
+ NameCollection nameCollection;
+
/**
* String representing the object's type. Objects of the same type share the same value.
*
@@ -1040,6 +1043,61 @@ public static class RenderingOptions extends StripeObject {
}
}
+ /**
+ * For more details about NameCollection, please refer to the API Reference.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class NameCollection extends StripeObject {
+ @SerializedName("business")
+ Business business;
+
+ @SerializedName("individual")
+ Individual individual;
+
+ /**
+ * For more details about Business, please refer to the API Reference.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Business extends StripeObject {
+ /** Indicates whether business name collection is enabled for the payment link. */
+ @SerializedName("enabled")
+ Boolean enabled;
+
+ /**
+ * Whether the customer is required to complete the field before checking out. Defaults to
+ * {@code false}.
+ */
+ @SerializedName("optional")
+ Boolean optional;
+ }
+
+ /**
+ * For more details about Individual, please refer to the API Reference.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Individual extends StripeObject {
+ /** Indicates whether individual name collection is enabled for the payment link. */
+ @SerializedName("enabled")
+ Boolean enabled;
+
+ /**
+ * Whether the customer is required to complete the field before checking out. Defaults to
+ * {@code false}.
+ */
+ @SerializedName("optional")
+ Boolean optional;
+ }
+ }
+
/**
* For more details about OptionalItem, please refer to the API Reference.
@@ -1433,6 +1491,7 @@ public void setResponseGetter(StripeResponseGetter responseGetter) {
trySetResponseGetter(customText, responseGetter);
trySetResponseGetter(invoiceCreation, responseGetter);
trySetResponseGetter(lineItems, responseGetter);
+ trySetResponseGetter(nameCollection, responseGetter);
trySetResponseGetter(onBehalfOf, responseGetter);
trySetResponseGetter(paymentIntentData, responseGetter);
trySetResponseGetter(phoneNumberCollection, responseGetter);
diff --git a/src/main/java/com/stripe/model/PaymentMethod.java b/src/main/java/com/stripe/model/PaymentMethod.java
index 19bdb4a6418..e9493807d2c 100644
--- a/src/main/java/com/stripe/model/PaymentMethod.java
+++ b/src/main/java/com/stripe/model/PaymentMethod.java
@@ -99,6 +99,9 @@ public class PaymentMethod extends ApiResource implements HasId, MetadataStore One of {@code acss_debit}, {@code affirm}, {@code afterpay_clearpay}, {@code alipay}, {@code
* alma}, {@code amazon_pay}, {@code au_becs_debit}, {@code bacs_debit}, {@code bancontact},
* {@code billie}, {@code blik}, {@code boleto}, {@code card}, {@code card_present}, {@code
- * cashapp}, {@code crypto}, {@code customer_balance}, {@code eps}, {@code fpx}, {@code giropay},
- * {@code gopay}, {@code grabpay}, {@code id_bank_transfer}, {@code ideal}, {@code
- * interac_present}, {@code kakao_pay}, {@code klarna}, {@code konbini}, {@code kr_card}, {@code
- * link}, {@code mb_way}, {@code mobilepay}, {@code multibanco}, {@code naver_pay}, {@code
+ * cashapp}, {@code crypto}, {@code custom}, {@code customer_balance}, {@code eps}, {@code fpx},
+ * {@code giropay}, {@code gopay}, {@code grabpay}, {@code id_bank_transfer}, {@code ideal},
+ * {@code interac_present}, {@code kakao_pay}, {@code klarna}, {@code konbini}, {@code kr_card},
+ * {@code link}, {@code mb_way}, {@code mobilepay}, {@code multibanco}, {@code naver_pay}, {@code
* nz_bank_account}, {@code oxxo}, {@code p24}, {@code pay_by_bank}, {@code payco}, {@code
* paynow}, {@code paypal}, {@code paypay}, {@code payto}, {@code pix}, {@code promptpay}, {@code
* qris}, {@code rechnung}, {@code revolut_pay}, {@code samsung_pay}, {@code satispay}, {@code
@@ -1849,6 +1852,44 @@ public static class Cashapp extends StripeObject {
@EqualsAndHashCode(callSuper = false)
public static class Crypto extends StripeObject {}
+ /**
+ * For more details about Custom, please refer to the API
+ * Reference.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Custom extends StripeObject {
+ /** Display name of the Dashboard-only CustomPaymentMethodType. */
+ @SerializedName("display_name")
+ String displayName;
+
+ /** Contains information about the Dashboard-only CustomPaymentMethodType logo. */
+ @SerializedName("logo")
+ Logo logo;
+
+ /** ID of the Dashboard-only CustomPaymentMethodType. Not expandable. */
+ @SerializedName("type")
+ String type;
+
+ /**
+ * For more details about Logo, please refer to the API
+ * Reference.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Logo extends StripeObject {
+ /** Content type of the Dashboard-only CustomPaymentMethodType logo. */
+ @SerializedName("content_type")
+ String contentType;
+
+ /** URL of the Dashboard-only CustomPaymentMethodType logo. */
+ @SerializedName("url")
+ String url;
+ }
+ }
+
/**
* For more details about CustomerBalance, please refer to the API Reference.
@@ -2835,6 +2876,7 @@ public void setResponseGetter(StripeResponseGetter responseGetter) {
trySetResponseGetter(cardPresent, responseGetter);
trySetResponseGetter(cashapp, responseGetter);
trySetResponseGetter(crypto, responseGetter);
+ trySetResponseGetter(custom, responseGetter);
trySetResponseGetter(customer, responseGetter);
trySetResponseGetter(customerBalance, responseGetter);
trySetResponseGetter(eps, responseGetter);
diff --git a/src/main/java/com/stripe/model/PaymentMethodConfiguration.java b/src/main/java/com/stripe/model/PaymentMethodConfiguration.java
index e95ad0a208b..73e5c3c2d20 100644
--- a/src/main/java/com/stripe/model/PaymentMethodConfiguration.java
+++ b/src/main/java/com/stripe/model/PaymentMethodConfiguration.java
@@ -108,6 +108,9 @@ public class PaymentMethodConfiguration extends ApiResource implements HasId {
@SerializedName("cashapp")
Cashapp cashapp;
+ @SerializedName("crypto")
+ Crypto crypto;
+
@SerializedName("customer_balance")
CustomerBalance customerBalance;
@@ -169,6 +172,9 @@ public class PaymentMethodConfiguration extends ApiResource implements HasId {
@SerializedName("livemode")
Boolean livemode;
+ @SerializedName("mb_way")
+ MbWay mbWay;
+
@SerializedName("mobilepay")
Mobilepay mobilepay;
@@ -1233,6 +1239,57 @@ public static class DisplayPreference extends StripeObject {
}
}
+ /**
+ * For more details about Crypto, please refer to the API
+ * Reference.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Crypto extends StripeObject {
+ /**
+ * Whether this payment method may be offered at checkout. True if {@code display_preference} is
+ * {@code on} and the payment method's capability is active.
+ */
+ @SerializedName("available")
+ Boolean available;
+
+ @SerializedName("display_preference")
+ DisplayPreference displayPreference;
+
+ /**
+ * For more details about DisplayPreference, please refer to the API Reference.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class DisplayPreference extends StripeObject {
+ /**
+ * For child configs, whether or not the account's preference will be observed. If {@code
+ * false}, the parent configuration's default is used.
+ */
+ @SerializedName("overridable")
+ Boolean overridable;
+
+ /**
+ * The account's display preference.
+ *
+ * One of {@code none}, {@code off}, or {@code on}.
+ */
+ @SerializedName("preference")
+ String preference;
+
+ /**
+ * The effective display preference value.
+ *
+ * One of {@code off}, or {@code on}.
+ */
+ @SerializedName("value")
+ String value;
+ }
+ }
+
/**
* For more details about CustomerBalance, please refer to the API Reference.
@@ -1998,6 +2055,57 @@ public static class DisplayPreference extends StripeObject {
}
}
+ /**
+ * For more details about MbWay, please refer to the API
+ * Reference.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class MbWay extends StripeObject {
+ /**
+ * Whether this payment method may be offered at checkout. True if {@code display_preference} is
+ * {@code on} and the payment method's capability is active.
+ */
+ @SerializedName("available")
+ Boolean available;
+
+ @SerializedName("display_preference")
+ DisplayPreference displayPreference;
+
+ /**
+ * For more details about DisplayPreference, please refer to the API Reference.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class DisplayPreference extends StripeObject {
+ /**
+ * For child configs, whether or not the account's preference will be observed. If {@code
+ * false}, the parent configuration's default is used.
+ */
+ @SerializedName("overridable")
+ Boolean overridable;
+
+ /**
+ * The account's display preference.
+ *
+ * One of {@code none}, {@code off}, or {@code on}.
+ */
+ @SerializedName("preference")
+ String preference;
+
+ /**
+ * The effective display preference value.
+ *
+ * One of {@code off}, or {@code on}.
+ */
+ @SerializedName("value")
+ String value;
+ }
+ }
+
/**
* For more details about Mobilepay, please refer to the API
* Reference.
@@ -3343,6 +3451,7 @@ public void setResponseGetter(StripeResponseGetter responseGetter) {
trySetResponseGetter(card, responseGetter);
trySetResponseGetter(cartesBancaires, responseGetter);
trySetResponseGetter(cashapp, responseGetter);
+ trySetResponseGetter(crypto, responseGetter);
trySetResponseGetter(customerBalance, responseGetter);
trySetResponseGetter(eps, responseGetter);
trySetResponseGetter(fpx, responseGetter);
@@ -3358,6 +3467,7 @@ public void setResponseGetter(StripeResponseGetter responseGetter) {
trySetResponseGetter(konbini, responseGetter);
trySetResponseGetter(krCard, responseGetter);
trySetResponseGetter(link, responseGetter);
+ trySetResponseGetter(mbWay, responseGetter);
trySetResponseGetter(mobilepay, responseGetter);
trySetResponseGetter(multibanco, responseGetter);
trySetResponseGetter(naverPay, responseGetter);
diff --git a/src/main/java/com/stripe/model/PaymentRecord.java b/src/main/java/com/stripe/model/PaymentRecord.java
index 4a59357d016..660d2fd45d7 100644
--- a/src/main/java/com/stripe/model/PaymentRecord.java
+++ b/src/main/java/com/stripe/model/PaymentRecord.java
@@ -15,6 +15,7 @@
import com.stripe.param.PaymentRecordReportPaymentAttemptInformationalParams;
import com.stripe.param.PaymentRecordReportPaymentAttemptParams;
import com.stripe.param.PaymentRecordReportPaymentParams;
+import com.stripe.param.PaymentRecordReportRefundParams;
import com.stripe.param.PaymentRecordRetrieveParams;
import java.util.List;
import java.util.Map;
@@ -423,6 +424,44 @@ public PaymentRecord reportPaymentAttemptInformational(
return getResponseGetter().request(request, PaymentRecord.class);
}
+ /** Report that the most recent payment attempt on the specified Payment Record was refunded. */
+ public PaymentRecord reportRefund(Map One of {@code base}, {@code ethereum}, or {@code polygon}.
+ * One of {@code base}, {@code ethereum}, {@code polygon}, or {@code solana}.
*/
@SerializedName("network")
String network;
@@ -2975,7 +3014,11 @@ public static class Qris extends StripeObject {}
@Getter
@Setter
@EqualsAndHashCode(callSuper = false)
- public static class Rechnung extends StripeObject {}
+ public static class Rechnung extends StripeObject {
+ /** Payment portal URL. */
+ @SerializedName("payment_portal_url")
+ String paymentPortalUrl;
+ }
/**
* For more details about RevolutPay, please refer to the API
+ * Reference.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Crypto extends StripeObject {
+ /** The transaction hash of the refund. */
+ @SerializedName("reference")
+ String reference;
+ }
+
/**
* For more details about CustomerCashBalance, please refer to the API Reference.
diff --git a/src/main/java/com/stripe/model/SetupIntent.java b/src/main/java/com/stripe/model/SetupIntent.java
index d77c78cba77..81e94bf8ba6 100644
--- a/src/main/java/com/stripe/model/SetupIntent.java
+++ b/src/main/java/com/stripe/model/SetupIntent.java
@@ -122,6 +122,10 @@ public class SetupIntent extends ApiResource implements HasId, MetadataStore If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to the
+ * Customer after the PaymentIntent is confirmed and the customer completes any required
+ * actions. If you don't provide a Customer, you can still attach the payment method to a
+ * Customer after the transaction completes.
+ *
+ * If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
+ * and attaches a generated_card
+ * payment method representing the card to the Customer instead.
+ *
+ * When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
+ * with regional legislation and network rules, such as SCA.
+ *
+ * Equal to {@code none}.
+ */
+ @SerializedName("setup_future_usage")
+ String setupFutureUsage;
+ }
+
/**
* For more details about UsBankAccount, please refer to the API Reference.
diff --git a/src/main/java/com/stripe/model/financialconnections/Account.java b/src/main/java/com/stripe/model/financialconnections/Account.java
index ee458fefc50..143a5aa6f3e 100644
--- a/src/main/java/com/stripe/model/financialconnections/Account.java
+++ b/src/main/java/com/stripe/model/financialconnections/Account.java
@@ -424,7 +424,7 @@ public static com.stripe.model.financialconnections.Account retrieve(
/**
* Subscribes to periodic refreshes of data associated with a Financial Connections {@code
- * Account}.
+ * Account}. When the account status is active, data is typically refreshed once a day.
*/
public com.stripe.model.financialconnections.Account subscribe(Map Equal to {@code simplified}.
+ */
+ @SerializedName("type")
+ String type;
+ }
+
/**
* For more details about Tz, please refer to the API
* Reference.
diff --git a/src/main/java/com/stripe/model/terminal/Configuration.java b/src/main/java/com/stripe/model/terminal/Configuration.java
index ea48c740df3..c01718d5c1e 100644
--- a/src/main/java/com/stripe/model/terminal/Configuration.java
+++ b/src/main/java/com/stripe/model/terminal/Configuration.java
@@ -444,6 +444,9 @@ public static class Tipping extends StripeObject {
@SerializedName("gbp")
Gbp gbp;
+ @SerializedName("gip")
+ Gip gip;
+
@SerializedName("hkd")
Hkd hkd;
@@ -696,6 +699,30 @@ public static class Gbp extends StripeObject {
Long smartTipThreshold;
}
+ /**
+ * For more details about Gip, please refer to the API
+ * Reference.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Gip extends StripeObject {
+ /** Fixed amounts displayed when collecting a tip. */
+ @SerializedName("fixed_amounts")
+ List One of {@code primary}, or {@code secondary}.
- */
+ /** The button style for the choice. Can be {@code primary} or {@code secondary}. */
@SerializedName("style")
String style;
- /** The text to be selected. */
+ /** The text to be selected. Maximum 30 characters. */
@SerializedName("text")
String text;
}
@@ -914,27 +1042,19 @@ public static class Text extends StripeObject {
@Setter
@EqualsAndHashCode(callSuper = false)
public static class Toggle extends StripeObject {
- /**
- * The toggle's default value
- *
- * One of {@code disabled}, or {@code enabled}.
- */
+ /** The toggle's default value. Can be {@code enabled} or {@code disabled}. */
@SerializedName("default_value")
String defaultValue;
- /** The toggle's description text. */
+ /** The toggle's description text. Maximum 50 characters. */
@SerializedName("description")
String description;
- /** The toggle's title text. */
+ /** The toggle's title text. Maximum 50 characters. */
@SerializedName("title")
String title;
- /**
- * The toggle's collected value
- *
- * One of {@code disabled}, or {@code enabled}.
- */
+ /** The toggle's collected value. Can be {@code enabled} or {@code disabled}. */
@SerializedName("value")
String value;
}
@@ -1348,12 +1468,13 @@ public static class RefundPaymentConfig extends StripeObject {
@Setter
@EqualsAndHashCode(callSuper = false)
public static class SetReaderDisplay extends StripeObject {
- /** Cart object to be displayed by the reader. */
+ /** Cart object to be displayed by the reader, including line items, amounts, and currency. */
@SerializedName("cart")
Cart cart;
/**
- * Type of information to be displayed by the reader.
+ * Type of information to be displayed by the reader. Only {@code cart} is currently
+ * supported.
*
* Equal to {@code cart}.
*/
diff --git a/src/main/java/com/stripe/model/v2/EventDataClassLookup.java b/src/main/java/com/stripe/model/v2/EventDataClassLookup.java
index 45ccf1be14d..75fe5e952fd 100644
--- a/src/main/java/com/stripe/model/v2/EventDataClassLookup.java
+++ b/src/main/java/com/stripe/model/v2/EventDataClassLookup.java
@@ -103,9 +103,6 @@ public final class EventDataClassLookup {
com.stripe.events.V1BillingMeterErrorReportTriggeredEvent.class);
eventClassLookup.put(
"v1.billing.meter.no_meter_found", com.stripe.events.V1BillingMeterNoMeterFoundEvent.class);
- eventClassLookup.put(
- "v2.billing.bill_setting.updated",
- com.stripe.events.V2BillingBillSettingUpdatedEvent.class);
eventClassLookup.put(
"v2.core.account.closed", com.stripe.events.V2CoreAccountClosedEvent.class);
eventClassLookup.put(
diff --git a/src/main/java/com/stripe/model/v2/EventNotificationClassLookup.java b/src/main/java/com/stripe/model/v2/EventNotificationClassLookup.java
index bb18ac069be..f8760c0b9b2 100644
--- a/src/main/java/com/stripe/model/v2/EventNotificationClassLookup.java
+++ b/src/main/java/com/stripe/model/v2/EventNotificationClassLookup.java
@@ -22,9 +22,6 @@ public final class EventNotificationClassLookup {
eventClassLookup.put(
"v1.billing.meter.no_meter_found",
com.stripe.events.V1BillingMeterNoMeterFoundEventNotification.class);
- eventClassLookup.put(
- "v2.billing.bill_setting.updated",
- com.stripe.events.V2BillingBillSettingUpdatedEventNotification.class);
eventClassLookup.put(
"v2.core.account.closed", com.stripe.events.V2CoreAccountClosedEventNotification.class);
eventClassLookup.put(
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 d2ee08750fe..206cc7eb82d 100644
--- a/src/main/java/com/stripe/model/v2/billing/Cadence.java
+++ b/src/main/java/com/stripe/model/v2/billing/Cadence.java
@@ -506,15 +506,15 @@ public static class Collection extends StripeObject {
@EqualsAndHashCode(callSuper = false)
public static class EmailDelivery extends StripeObject {
/**
- * Controls emails for when the payment is due. For example after the invoice is finilized
- * and transition to Open state.
+ * Controls emails for when the payment is due. For example after the invoice is finalized
+ * and transitions to Open state.
*/
@SerializedName("payment_due")
PaymentDue paymentDue;
/**
- * Controls emails for when the payment is due. For example after the invoice is finilized
- * and transition to Open state.
+ * Controls emails for when the payment is due. For example after the invoice is finalized
+ * and transitions to Open state.
*/
@Getter
@Setter
@@ -525,7 +525,7 @@ public static class PaymentDue extends StripeObject {
Boolean enabled;
/**
- * If true the payment link to hosted invocie page would be included in email and PDF of
+ * If true the payment link to hosted invoice page would be included in email and PDF of
* the invoice.
*/
@SerializedName("include_payment_link")
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 5825c0a88b5..5e699c71989 100644
--- a/src/main/java/com/stripe/model/v2/billing/CollectionSetting.java
+++ b/src/main/java/com/stripe/model/v2/billing/CollectionSetting.java
@@ -98,15 +98,15 @@ public class CollectionSetting extends StripeObject implements HasId {
@EqualsAndHashCode(callSuper = false)
public static class EmailDelivery extends StripeObject {
/**
- * Controls emails for when the payment is due. For example after the invoice is finilized and
- * transition to Open state.
+ * Controls emails for when the payment is due. For example after the invoice is finalized and
+ * transitions to Open state.
*/
@SerializedName("payment_due")
PaymentDue paymentDue;
/**
- * Controls emails for when the payment is due. For example after the invoice is finilized and
- * transition to Open state.
+ * Controls emails for when the payment is due. For example after the invoice is finalized and
+ * transitions to Open state.
*/
@Getter
@Setter
@@ -117,7 +117,7 @@ public static class PaymentDue extends StripeObject {
Boolean enabled;
/**
- * If true the payment link to hosted invocie page would be included in email and PDF of the
+ * If true the payment link to hosted invoice page would be included in email and PDF of the
* invoice.
*/
@SerializedName("include_payment_link")
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 d111fb5721c..2b620865a26 100644
--- a/src/main/java/com/stripe/model/v2/billing/CollectionSettingVersion.java
+++ b/src/main/java/com/stripe/model/v2/billing/CollectionSettingVersion.java
@@ -72,15 +72,15 @@ public class CollectionSettingVersion extends StripeObject implements HasId {
@EqualsAndHashCode(callSuper = false)
public static class EmailDelivery extends StripeObject {
/**
- * Controls emails for when the payment is due. For example after the invoice is finilized and
- * transition to Open state.
+ * Controls emails for when the payment is due. For example after the invoice is finalized and
+ * transitions to Open state.
*/
@SerializedName("payment_due")
PaymentDue paymentDue;
/**
- * Controls emails for when the payment is due. For example after the invoice is finilized and
- * transition to Open state.
+ * Controls emails for when the payment is due. For example after the invoice is finalized and
+ * transitions to Open state.
*/
@Getter
@Setter
@@ -91,7 +91,7 @@ public static class PaymentDue extends StripeObject {
Boolean enabled;
/**
- * If true the payment link to hosted invocie page would be included in email and PDF of the
+ * If true the payment link to hosted invoice page would be included in email and PDF of the
* invoice.
*/
@SerializedName("include_payment_link")
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 f4abbe9a3b7..ae678c427f9 100644
--- a/src/main/java/com/stripe/model/v2/core/Account.java
+++ b/src/main/java/com/stripe/model/v2/core/Account.java
@@ -28,6 +28,10 @@ public class Account extends StripeObject implements HasId {
@SerializedName("applied_configurations")
List One of {@code identity_address}, {@code ip_address}, or {@code shipping_address}.
+ * One of {@code identity_address}, {@code ip_address}, {@code payment_method}, or {@code
+ * shipping_address}.
*/
@SerializedName("location_source")
String locationSource;
@@ -3885,6 +3890,10 @@ public static class HoldsCurrencies extends StripeObject {
@SerializedName("gbp")
Gbp gbp;
+ /** Can hold storage-type funds on Stripe in USD. */
+ @SerializedName("usd")
+ Usd usd;
+
/** Can hold storage-type funds on Stripe in GBP. */
@Getter
@Setter
@@ -3940,6 +3949,62 @@ public static class StatusDetail extends StripeObject {
String resolution;
}
}
+
+ /** Can hold storage-type funds on Stripe in USD. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Usd 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 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 pull funds from an external source, owned by yourself, to a FinancialAccount. */
@@ -4402,7 +4467,8 @@ public static class Responsibilities extends StripeObject {
* A value indicating the responsible payer of a bundle of Stripe fees for pricing-control
* eligible products on this Account.
*
- * One of {@code application}, or {@code stripe}.
+ * One of {@code application}, {@code application_custom}, {@code application_express}, or
+ * {@code stripe}.
*/
@SerializedName("fees_collector")
String feesCollector;
@@ -4423,7 +4489,10 @@ public static class Responsibilities extends StripeObject {
@Setter
@EqualsAndHashCode(callSuper = false)
public static class Identity extends StripeObject {
- /** Attestations from the identity's key people, e.g. owners, executives, directors. */
+ /**
+ * Attestations from the identity's key people, e.g. owners, executives, directors,
+ * representatives.
+ */
@SerializedName("attestations")
Attestations attestations;
@@ -4455,7 +4524,10 @@ public static class Identity extends StripeObject {
@SerializedName("individual")
Individual individual;
- /** Attestations from the identity's key people, e.g. owners, executives, directors. */
+ /**
+ * Attestations from the identity's key people, e.g. owners, executives, directors,
+ * representatives.
+ */
@Getter
@Setter
@EqualsAndHashCode(callSuper = false)
@@ -4478,6 +4550,13 @@ public static class Attestations extends StripeObject {
@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.
+ */
+ @SerializedName("representative_declaration")
+ RepresentativeDeclaration representativeDeclaration;
+
/** Attestations of accepted terms of service agreements. */
@SerializedName("terms_of_service")
TermsOfService termsOfService;
@@ -4570,6 +4649,31 @@ public static class PersonsProvided extends StripeObject {
String ownershipExemptionReason;
}
+ /**
+ * This hash is used to attest that the representative is authorized to act as the
+ * representative of their legal entity.
+ */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class RepresentativeDeclaration extends StripeObject {
+ /**
+ * The time marking when the representative attestation was made. Represented as a RFC 3339
+ * date & time UTC value in millisecond precision, for example:
+ * 2022-09-18T13:22:18.123Z.
+ */
+ @SerializedName("date")
+ Instant date;
+
+ /** The IP address from which the representative attestation was made. */
+ @SerializedName("ip")
+ String ip;
+
+ /** The user agent of the browser from which the representative attestation was made. */
+ @SerializedName("user_agent")
+ String userAgent;
+ }
+
/** Attestations of accepted terms of service agreements. */
@Getter
@Setter
@@ -6151,8 +6255,8 @@ public static class RestrictsCapability extends StripeObject {
* cards}, {@code card_payments}, {@code cartes_bancaires_payments}, {@code
* cashapp_payments}, {@code eps_payments}, {@code financial_addresses.bank_accounts},
* {@code fpx_payments}, {@code gb_bank_transfer_payments}, {@code grabpay_payments},
- * {@code holds_currencies.gbp}, {@code ideal_payments}, {@code
- * inbound_transfers.financial_accounts}, {@code jcb_payments}, {@code
+ * {@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},
diff --git a/src/main/java/com/stripe/model/v2/core/vault/UsBankAccount.java b/src/main/java/com/stripe/model/v2/core/vault/UsBankAccount.java
index a2ac614c1c3..9dd736d44fc 100644
--- a/src/main/java/com/stripe/model/v2/core/vault/UsBankAccount.java
+++ b/src/main/java/com/stripe/model/v2/core/vault/UsBankAccount.java
@@ -72,4 +72,49 @@ public class UsBankAccount extends StripeObject implements HasId {
/** The ACH routing number of the bank account. */
@SerializedName("routing_number")
String routingNumber;
+
+ /** The bank account verification details. */
+ @SerializedName("verification")
+ Verification verification;
+
+ /** The bank account verification details. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Verification extends StripeObject {
+ /** The microdeposit verification details if the status is awaiting verification. */
+ @SerializedName("microdeposit_verification_details")
+ MicrodepositVerificationDetails microdepositVerificationDetails;
+
+ /**
+ * The bank account verification status.
+ *
+ * One of {@code awaiting_verification}, {@code unverified}, {@code verification_failed}, or
+ * {@code verified}.
+ */
+ @SerializedName("status")
+ String status;
+
+ /** The microdeposit verification details if the status is awaiting verification. */
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class MicrodepositVerificationDetails extends StripeObject {
+ /** Time when microdeposits will expire and have to be re-sent. */
+ @SerializedName("expires")
+ Instant expires;
+
+ /**
+ * Microdeposit type can be amounts or descriptor_type.
+ *
+ * One of {@code amounts}, or {@code descriptor_code}.
+ */
+ @SerializedName("microdeposit_type")
+ String microdepositType;
+
+ /** Time when microdeposits were sent. */
+ @SerializedName("sent")
+ Instant sent;
+ }
+ }
}
diff --git a/src/main/java/com/stripe/param/AccountCreateParams.java b/src/main/java/com/stripe/param/AccountCreateParams.java
index 5fd61455fb6..1022f5aa67e 100644
--- a/src/main/java/com/stripe/param/AccountCreateParams.java
+++ b/src/main/java/com/stripe/param/AccountCreateParams.java
@@ -8551,6 +8551,13 @@ public static class Company {
@SerializedName("registration_number")
String registrationNumber;
+ /**
+ * This hash is used to attest that the representative is authorized to act as the
+ * representative of their legal entity.
+ */
+ @SerializedName("representative_declaration")
+ RepresentativeDeclaration representativeDeclaration;
+
/**
* The category identifying the legal structure of the company or legal entity. See Business
@@ -8600,6 +8607,7 @@ private Company(
String phone,
Object registrationDate,
String registrationNumber,
+ RepresentativeDeclaration representativeDeclaration,
ApiRequestParams.EnumParam structure,
String taxId,
String taxIdRegistrar,
@@ -8623,6 +8631,7 @@ private Company(
this.phone = phone;
this.registrationDate = registrationDate;
this.registrationNumber = registrationNumber;
+ this.representativeDeclaration = representativeDeclaration;
this.structure = structure;
this.taxId = taxId;
this.taxIdRegistrar = taxIdRegistrar;
@@ -8671,6 +8680,8 @@ public static class Builder {
private String registrationNumber;
+ private RepresentativeDeclaration representativeDeclaration;
+
private ApiRequestParams.EnumParam structure;
private String taxId;
@@ -8702,6 +8713,7 @@ public AccountCreateParams.Company build() {
this.phone,
this.registrationDate,
this.registrationNumber,
+ this.representativeDeclaration,
this.structure,
this.taxId,
this.taxIdRegistrar,
@@ -8895,6 +8907,16 @@ public Builder setRegistrationNumber(String registrationNumber) {
return this;
}
+ /**
+ * This hash is used to attest that the representative is authorized to act as the
+ * representative of their legal entity.
+ */
+ public Builder setRepresentativeDeclaration(
+ AccountCreateParams.Company.RepresentativeDeclaration representativeDeclaration) {
+ this.representativeDeclaration = representativeDeclaration;
+ return this;
+ }
+
/**
* The category identifying the legal structure of the company or legal entity. See Business
@@ -9745,6 +9767,111 @@ public Builder setYear(Long year) {
}
}
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class RepresentativeDeclaration {
+ /** The Unix timestamp marking when the representative declaration attestation was made. */
+ @SerializedName("date")
+ Long date;
+
+ /**
+ * 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 If not specified, defaults to ["always"]. In order to display all saved
+ * payment methods, specify ["always", "limited",
+ * "unspecified"].
+ */
+ @SerializedName("payment_method_allow_redisplay_filters")
+ List<
+ CustomerSessionCreateParams.Components.CustomerSheet.Features
+ .PaymentMethodAllowRedisplayFilter>
+ paymentMethodAllowRedisplayFilters;
+
+ /**
+ * Controls whether the customer sheet displays the option to remove a saved payment
+ * method."
+ *
+ * Allowing buyers to remove their saved payment methods impacts subscriptions that
+ * depend on that payment method. Removing the payment method detaches the {@code
+ * customer} object from that PaymentMethod.
+ */
+ @SerializedName("payment_method_remove")
+ PaymentMethodRemove paymentMethodRemove;
+
+ private Features(
+ Map Allowing buyers to remove their saved payment methods impacts subscriptions that
+ * depend on that payment method. Removing the payment method detaches the {@code
+ * customer} object from that PaymentMethod.
+ */
+ public Builder setPaymentMethodRemove(
+ CustomerSessionCreateParams.Components.CustomerSheet.Features.PaymentMethodRemove
+ paymentMethodRemove) {
+ this.paymentMethodRemove = paymentMethodRemove;
+ return this;
+ }
+ }
+
+ public enum PaymentMethodAllowRedisplayFilter implements ApiRequestParams.EnumParam {
+ @SerializedName("always")
+ ALWAYS("always"),
+
+ @SerializedName("limited")
+ LIMITED("limited"),
+
+ @SerializedName("unspecified")
+ UNSPECIFIED("unspecified");
+
+ @Getter(onMethod_ = {@Override})
+ private final String value;
+
+ PaymentMethodAllowRedisplayFilter(String value) {
+ this.value = value;
+ }
+ }
+
+ public enum PaymentMethodRemove implements ApiRequestParams.EnumParam {
+ @SerializedName("disabled")
+ DISABLED("disabled"),
+
+ @SerializedName("enabled")
+ ENABLED("enabled");
+
+ @Getter(onMethod_ = {@Override})
+ private final String value;
+
+ PaymentMethodRemove(String value) {
+ this.value = value;
+ }
+ }
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class MobilePaymentElement {
+ /** Required. Whether the mobile payment element is enabled. */
+ @SerializedName("enabled")
+ Boolean enabled;
+
+ /**
+ * 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 If not specified, defaults to ["always"]. In order to display all saved
+ * payment methods, specify ["always", "limited",
+ * "unspecified"].
+ */
+ @SerializedName("payment_method_allow_redisplay_filters")
+ List<
+ CustomerSessionCreateParams.Components.MobilePaymentElement.Features
+ .PaymentMethodAllowRedisplayFilter>
+ paymentMethodAllowRedisplayFilters;
+
+ /** Controls whether or not the mobile payment element shows saved payment methods. */
+ @SerializedName("payment_method_redisplay")
+ PaymentMethodRedisplay paymentMethodRedisplay;
+
+ /**
+ * Controls whether the mobile payment element displays the option to remove a saved payment
+ * method."
+ *
+ * Allowing buyers to remove their saved payment methods impacts subscriptions that
+ * depend on that payment method. Removing the payment method detaches the {@code
+ * customer} object from that PaymentMethod.
+ */
+ @SerializedName("payment_method_remove")
+ PaymentMethodRemove paymentMethodRemove;
+
+ /**
+ * Controls whether the mobile payment element displays a checkbox offering to save a new
+ * payment method.
+ *
+ * If a customer checks the box, the {@code
+ * allow_redisplay} value on the PaymentMethod is set to {@code 'always'} at
+ * confirmation time. For PaymentIntents, the {@code
+ * setup_future_usage} value is also set to the value defined in {@code
+ * payment_method_save_usage}.
+ */
+ @SerializedName("payment_method_save")
+ PaymentMethodSave paymentMethodSave;
+
+ /**
+ * Allows overriding the value of allow_override when saving a new payment method when
+ * payment_method_save is set to disabled. Use values: "always",
+ * "limited", or "unspecified".
+ *
+ * If not specified, defaults to {@code nil} (no override value).
+ */
+ @SerializedName("payment_method_save_allow_redisplay_override")
+ PaymentMethodSaveAllowRedisplayOverride paymentMethodSaveAllowRedisplayOverride;
+
+ private Features(
+ Map Allowing buyers to remove their saved payment methods impacts subscriptions that
+ * depend on that payment method. Removing the payment method detaches the {@code
+ * customer} object from that PaymentMethod.
+ */
+ public Builder setPaymentMethodRemove(
+ CustomerSessionCreateParams.Components.MobilePaymentElement.Features
+ .PaymentMethodRemove
+ paymentMethodRemove) {
+ this.paymentMethodRemove = paymentMethodRemove;
+ return this;
+ }
+
+ /**
+ * Controls whether the mobile payment element displays a checkbox offering to save a new
+ * payment method.
+ *
+ * If a customer checks the box, the {@code
+ * allow_redisplay} value on the PaymentMethod is set to {@code 'always'} at
+ * confirmation time. For PaymentIntents, the {@code
+ * setup_future_usage} value is also set to the value defined in {@code
+ * payment_method_save_usage}.
+ */
+ public Builder setPaymentMethodSave(
+ CustomerSessionCreateParams.Components.MobilePaymentElement.Features.PaymentMethodSave
+ paymentMethodSave) {
+ this.paymentMethodSave = paymentMethodSave;
+ return this;
+ }
+
+ /**
+ * Allows overriding the value of allow_override when saving a new payment method when
+ * payment_method_save is set to disabled. Use values: "always",
+ * "limited", or "unspecified".
+ *
+ * If not specified, defaults to {@code nil} (no override value).
+ */
+ public Builder setPaymentMethodSaveAllowRedisplayOverride(
+ CustomerSessionCreateParams.Components.MobilePaymentElement.Features
+ .PaymentMethodSaveAllowRedisplayOverride
+ paymentMethodSaveAllowRedisplayOverride) {
+ this.paymentMethodSaveAllowRedisplayOverride = paymentMethodSaveAllowRedisplayOverride;
+ return this;
+ }
+ }
+
+ public enum PaymentMethodAllowRedisplayFilter implements ApiRequestParams.EnumParam {
+ @SerializedName("always")
+ ALWAYS("always"),
+
+ @SerializedName("limited")
+ LIMITED("limited"),
+
+ @SerializedName("unspecified")
+ UNSPECIFIED("unspecified");
+
+ @Getter(onMethod_ = {@Override})
+ private final String value;
+
+ PaymentMethodAllowRedisplayFilter(String value) {
+ this.value = value;
+ }
+ }
+
+ public enum PaymentMethodRedisplay implements ApiRequestParams.EnumParam {
+ @SerializedName("disabled")
+ DISABLED("disabled"),
+
+ @SerializedName("enabled")
+ ENABLED("enabled");
- private Map When enabled, the Tax ID Element will show existing tax IDs associated with the
+ * customer, allowing them to select from previously saved tax identification numbers.
+ */
+ @SerializedName("tax_id_redisplay")
+ TaxIdRedisplay taxIdRedisplay;
+
+ /**
+ * Controls whether the Tax ID Element allows merchants to save new tax IDs for their
+ * customer. This parameter defaults to {@code disabled}.
+ *
+ * When enabled, customers can enter and save new tax identification numbers during the
+ * payment flow, which will be stored securely and associated with their customer object for
+ * future use.
+ */
+ @SerializedName("tax_id_save")
+ TaxIdSave taxIdSave;
+
+ private Features(
+ Map When enabled, the Tax ID Element will show existing tax IDs associated with the
+ * customer, allowing them to select from previously saved tax identification numbers.
+ */
+ public Builder setTaxIdRedisplay(
+ CustomerSessionCreateParams.Components.TaxIdElement.Features.TaxIdRedisplay
+ taxIdRedisplay) {
+ this.taxIdRedisplay = taxIdRedisplay;
+ return this;
+ }
+
+ /**
+ * Controls whether the Tax ID Element allows merchants to save new tax IDs for their
+ * customer. This parameter defaults to {@code disabled}.
+ *
+ * When enabled, customers can enter and save new tax identification numbers during the
+ * payment flow, which will be stored securely and associated with their customer object
+ * for future use.
+ */
+ public Builder setTaxIdSave(
+ CustomerSessionCreateParams.Components.TaxIdElement.Features.TaxIdSave taxIdSave) {
+ this.taxIdSave = taxIdSave;
+ return this;
+ }
+ }
+
+ public enum TaxIdRedisplay implements ApiRequestParams.EnumParam {
+ @SerializedName("disabled")
+ DISABLED("disabled"),
+
+ @SerializedName("enabled")
+ ENABLED("enabled");
+
+ @Getter(onMethod_ = {@Override})
+ private final String value;
+
+ TaxIdRedisplay(String value) {
+ this.value = value;
+ }
+ }
+
+ public enum TaxIdSave implements ApiRequestParams.EnumParam {
+ @SerializedName("disabled")
+ DISABLED("disabled"),
+
+ @SerializedName("enabled")
+ ENABLED("enabled");
+
+ @Getter(onMethod_ = {@Override})
+ private final String value;
+
+ TaxIdSave(String value) {
+ this.value = value;
+ }
+ }
+ }
+ }
}
}
diff --git a/src/main/java/com/stripe/param/FileCreateParams.java b/src/main/java/com/stripe/param/FileCreateParams.java
index 55026b17719..665a984b1b9 100644
--- a/src/main/java/com/stripe/param/FileCreateParams.java
+++ b/src/main/java/com/stripe/param/FileCreateParams.java
@@ -361,6 +361,9 @@ public enum Purpose implements ApiRequestParams.EnumParam {
@SerializedName("pci_document")
PCI_DOCUMENT("pci_document"),
+ @SerializedName("platform_terms_of_service")
+ PLATFORM_TERMS_OF_SERVICE("platform_terms_of_service"),
+
@SerializedName("tax_document_user_upload")
TAX_DOCUMENT_USER_UPLOAD("tax_document_user_upload"),
diff --git a/src/main/java/com/stripe/param/FileListParams.java b/src/main/java/com/stripe/param/FileListParams.java
index ad1192cacea..f0085ee3138 100644
--- a/src/main/java/com/stripe/param/FileListParams.java
+++ b/src/main/java/com/stripe/param/FileListParams.java
@@ -363,6 +363,9 @@ public enum Purpose implements ApiRequestParams.EnumParam {
@SerializedName("pci_document")
PCI_DOCUMENT("pci_document"),
+ @SerializedName("platform_terms_of_service")
+ PLATFORM_TERMS_OF_SERVICE("platform_terms_of_service"),
+
@SerializedName("selfie")
SELFIE("selfie"),
diff --git a/src/main/java/com/stripe/param/PaymentAttemptRecordListParams.java b/src/main/java/com/stripe/param/PaymentAttemptRecordListParams.java
index 85a48339197..3a68f81ca90 100644
--- a/src/main/java/com/stripe/param/PaymentAttemptRecordListParams.java
+++ b/src/main/java/com/stripe/param/PaymentAttemptRecordListParams.java
@@ -37,12 +37,26 @@ public class PaymentAttemptRecordListParams extends ApiRequestParams {
@SerializedName("payment_record")
String paymentRecord;
+ /**
+ * A cursor for use in pagination. {@code starting_after} is an object ID that defines your place
+ * in the list. For instance, if you make a list request and receive 100 objects, ending with
+ * {@code obj_foo}, your subsequent call can include {@code starting_after=obj_foo} in order to
+ * fetch the next page of the list.
+ */
+ @SerializedName("starting_after")
+ String startingAfter;
+
private PaymentAttemptRecordListParams(
- List