diff --git a/CODEGEN_VERSION b/CODEGEN_VERSION index 615972a62aa..c2de4c469f4 100644 --- a/CODEGEN_VERSION +++ b/CODEGEN_VERSION @@ -1 +1 @@ -e83a2c042b6fd289e2c574f1db817b0aa55d8b0d \ No newline at end of file +7cf43862d86f7fc88238863dab58ade8fd03a366 \ No newline at end of file diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 74db2059d21..fd707ad7123 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v2413 \ No newline at end of file +v2439 \ No newline at end of file diff --git a/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationMerchantCapabilityStatusUpdatedEvent.java b/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationMerchantCapabilityStatusUpdatedEvent.java index 496ee5f989a..f3994c1f0b4 100644 --- a/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationMerchantCapabilityStatusUpdatedEvent.java +++ b/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationMerchantCapabilityStatusUpdatedEvent.java @@ -25,18 +25,19 @@ public static final class EventData { *

One of {@code ach_debit_payments}, {@code acss_debit_payments}, {@code affirm_payments}, * {@code afterpay_clearpay_payments}, {@code alma_payments}, {@code amazon_pay_payments}, * {@code au_becs_debit_payments}, {@code bacs_debit_payments}, {@code bancontact_payments}, - * {@code blik_payments}, {@code boleto_payments}, {@code card_payments}, {@code - * cartes_bancaires_payments}, {@code cashapp_payments}, {@code eps_payments}, {@code - * fpx_payments}, {@code gb_bank_transfer_payments}, {@code grabpay_payments}, {@code - * ideal_payments}, {@code jcb_payments}, {@code jp_bank_transfer_payments}, {@code - * kakao_pay_payments}, {@code klarna_payments}, {@code konbini_payments}, {@code - * kr_card_payments}, {@code link_payments}, {@code mobilepay_payments}, {@code - * multibanco_payments}, {@code mx_bank_transfer_payments}, {@code naver_pay_payments}, {@code - * oxxo_payments}, {@code p24_payments}, {@code payco_payments}, {@code paynow_payments}, {@code - * stripe_balance.payouts}, {@code pay_by_bank_payments}, {@code promptpay_payments}, {@code - * revolut_pay_payments}, {@code samsung_pay_payments}, {@code sepa_bank_transfer_payments}, - * {@code sepa_debit_payments}, {@code sunbit_payments}, {@code swish_payments}, {@code - * twint_payments}, {@code us_bank_transfer_payments}, or {@code zip_payments}. + * {@code blik_payments}, {@code blik_recurring_payments}, {@code boleto_payments}, {@code + * card_payments}, {@code cartes_bancaires_payments}, {@code cashapp_payments}, {@code + * eps_payments}, {@code fpx_payments}, {@code gb_bank_transfer_payments}, {@code + * grabpay_payments}, {@code ideal_payments}, {@code jcb_payments}, {@code + * jp_bank_transfer_payments}, {@code kakao_pay_payments}, {@code klarna_payments}, {@code + * konbini_payments}, {@code kr_card_payments}, {@code link_payments}, {@code + * mobilepay_payments}, {@code multibanco_payments}, {@code mx_bank_transfer_payments}, {@code + * naver_pay_payments}, {@code oxxo_payments}, {@code p24_payments}, {@code payco_payments}, + * {@code paynow_payments}, {@code stripe_balance.payouts}, {@code pay_by_bank_payments}, {@code + * promptpay_payments}, {@code revolut_pay_payments}, {@code samsung_pay_payments}, {@code + * sepa_bank_transfer_payments}, {@code sepa_debit_payments}, {@code sunbit_payments}, {@code + * swish_payments}, {@code twint_payments}, {@code us_bank_transfer_payments}, or {@code + * zip_payments}. */ @SerializedName("updated_capability") String updatedCapability; diff --git a/src/main/java/com/stripe/model/Account.java b/src/main/java/com/stripe/model/Account.java index af98be14b46..32551a12b10 100644 --- a/src/main/java/com/stripe/model/Account.java +++ b/src/main/java/com/stripe/model/Account.java @@ -1529,15 +1529,6 @@ public static class Capabilities extends StripeObject { @SerializedName("sepa_debit_payments") String sepaDebitPayments; - /** - * The status of the SeQura capability of the account, or whether the account can directly - * process SeQura payments. - * - *

One of {@code active}, {@code inactive}, or {@code pending}. - */ - @SerializedName("sequra_payments") - String sequraPayments; - /** * The status of the ShopeePay capability of the account, or whether the account can directly * process ShopeePay payments. @@ -2450,6 +2441,9 @@ public static class Errors extends StripeObject { @SerializedName("code") String code; + @SerializedName("details") + Details details; + /** * An informative message that indicates the error type and provides additional details about * the error. @@ -2463,6 +2457,19 @@ public static class Errors extends StripeObject { */ @SerializedName("requirement") String requirement; + + /** + * For more details about Details, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Details extends StripeObject { + /** The rejection code as received from our payment method partner. */ + @SerializedName("partner_rejection_code") + String partnerRejectionCode; + } } } @@ -2656,6 +2663,9 @@ public static class Errors extends StripeObject { @SerializedName("code") String code; + @SerializedName("details") + Details details; + /** * An informative message that indicates the error type and provides additional details about * the error. @@ -2669,6 +2679,19 @@ public static class Errors extends StripeObject { */ @SerializedName("requirement") String requirement; + + /** + * For more details about Details, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Details extends StripeObject { + /** The rejection code as received from our payment method partner. */ + @SerializedName("partner_rejection_code") + String partnerRejectionCode; + } } } diff --git a/src/main/java/com/stripe/model/AccountSession.java b/src/main/java/com/stripe/model/AccountSession.java index 85bc1286b47..3e5df395837 100644 --- a/src/main/java/com/stripe/model/AccountSession.java +++ b/src/main/java/com/stripe/model/AccountSession.java @@ -241,6 +241,9 @@ public static class Components extends StripeObject { @SerializedName("payment_disputes") PaymentDisputes paymentDisputes; + @SerializedName("payment_method_settings") + PaymentMethodSettings paymentMethodSettings; + @SerializedName("payments") Payments payments; @@ -1285,6 +1288,39 @@ public static class Features extends StripeObject { } } + /** + * For more details about PaymentMethodSettings, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PaymentMethodSettings extends StripeObject { + /** Whether the embedded component is enabled. */ + @SerializedName("enabled") + Boolean enabled; + + @SerializedName("features") + Features features; + + /** + * For more details about Features, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Features extends StripeObject { + /** + * Whether Stripe user authentication is disabled. This value can only be {@code true} for + * accounts where {@code controller.requirement_collection} is {@code application} for the + * account. This is {@code false} by default. + */ + @SerializedName("disable_stripe_user_authentication") + Boolean disableStripeUserAuthentication; + } + } + /** * For more details about Payments, please refer to the API Reference. diff --git a/src/main/java/com/stripe/model/BankAccount.java b/src/main/java/com/stripe/model/BankAccount.java index 81fb7cb504d..01b5f1738ca 100644 --- a/src/main/java/com/stripe/model/BankAccount.java +++ b/src/main/java/com/stripe/model/BankAccount.java @@ -618,6 +618,9 @@ public static class Errors extends StripeObject { @SerializedName("code") String code; + @SerializedName("details") + Details details; + /** * An informative message that indicates the error type and provides additional details about * the error. @@ -631,6 +634,19 @@ public static class Errors extends StripeObject { */ @SerializedName("requirement") String requirement; + + /** + * For more details about Details, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Details extends StripeObject { + /** The rejection code as received from our payment method partner. */ + @SerializedName("partner_rejection_code") + String partnerRejectionCode; + } } } @@ -747,6 +763,9 @@ public static class Errors extends StripeObject { @SerializedName("code") String code; + @SerializedName("details") + Details details; + /** * An informative message that indicates the error type and provides additional details about * the error. @@ -760,6 +779,19 @@ public static class Errors extends StripeObject { */ @SerializedName("requirement") String requirement; + + /** + * For more details about Details, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Details extends StripeObject { + /** The rejection code as received from our payment method partner. */ + @SerializedName("partner_rejection_code") + String partnerRejectionCode; + } } } diff --git a/src/main/java/com/stripe/model/Capability.java b/src/main/java/com/stripe/model/Capability.java index 52309cd75d6..1438f3ef1e6 100644 --- a/src/main/java/com/stripe/model/Capability.java +++ b/src/main/java/com/stripe/model/Capability.java @@ -313,6 +313,9 @@ public static class Errors extends StripeObject { @SerializedName("code") String code; + @SerializedName("details") + Details details; + /** * An informative message that indicates the error type and provides additional details about * the error. @@ -326,6 +329,19 @@ public static class Errors extends StripeObject { */ @SerializedName("requirement") String requirement; + + /** + * For more details about Details, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Details extends StripeObject { + /** The rejection code as received from our payment method partner. */ + @SerializedName("partner_rejection_code") + String partnerRejectionCode; + } } } @@ -539,6 +555,9 @@ public static class Errors extends StripeObject { @SerializedName("code") String code; + @SerializedName("details") + Details details; + /** * An informative message that indicates the error type and provides additional details about * the error. @@ -552,6 +571,19 @@ public static class Errors extends StripeObject { */ @SerializedName("requirement") String requirement; + + /** + * For more details about Details, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Details extends StripeObject { + /** The rejection code as received from our payment method partner. */ + @SerializedName("partner_rejection_code") + String partnerRejectionCode; + } } } diff --git a/src/main/java/com/stripe/model/Charge.java b/src/main/java/com/stripe/model/Charge.java index fe49ec6212c..802838205ea 100644 --- a/src/main/java/com/stripe/model/Charge.java +++ b/src/main/java/com/stripe/model/Charge.java @@ -1329,9 +1329,6 @@ public static class PaymentMethodDetails extends StripeObject { @SerializedName("sepa_debit") SepaDebit sepaDebit; - @SerializedName("sequra") - Sequra sequra; - @SerializedName("shopeepay") Shopeepay shopeepay; @@ -2513,7 +2510,14 @@ public static class GooglePay extends StripeObject {} @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Link extends StripeObject {} + public static class Link extends StripeObject { + /** + * The funding source + * group code applied to this Link payment at confirmation time. + */ + @SerializedName("funding_source_group") + String fundingSourceGroup; + } /** * For more details about Masterpass, please refer to the funding source + * group code applied to this Link payment at confirmation time. */ @SerializedName("funding_source_group") String fundingSourceGroup; @@ -4371,19 +4374,6 @@ public static class SepaDebit extends StripeObject { String mandate; } - /** - * For more details about Sequra, please refer to the API - * Reference. - */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class Sequra extends StripeObject { - /** The SeQura transaction ID associated with this payment. */ - @SerializedName("transaction_id") - String transactionId; - } - /** * For more details about Shopeepay, please refer to the API Reference. diff --git a/src/main/java/com/stripe/model/ConfirmationToken.java b/src/main/java/com/stripe/model/ConfirmationToken.java index c112680cb0f..36c7f606d71 100644 --- a/src/main/java/com/stripe/model/ConfirmationToken.java +++ b/src/main/java/com/stripe/model/ConfirmationToken.java @@ -455,9 +455,6 @@ public static class PaymentMethodPreview extends StripeObject { @SerializedName("sepa_debit") SepaDebit sepaDebit; - @SerializedName("sequra") - Sequra sequra; - @SerializedName("shopeepay") Shopeepay shopeepay; @@ -495,9 +492,9 @@ public static class PaymentMethodPreview extends StripeObject { * {@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 scalapay}, - * {@code sepa_debit}, {@code sequra}, {@code shopeepay}, {@code sofort}, {@code - * stripe_balance}, {@code sunbit}, {@code swish}, {@code tamara}, {@code twint}, {@code upi}, - * {@code us_bank_account}, {@code vipps}, {@code wechat_pay}, or {@code zip}. + * {@code sepa_debit}, {@code shopeepay}, {@code sofort}, {@code stripe_balance}, {@code + * sunbit}, {@code swish}, {@code tamara}, {@code twint}, {@code upi}, {@code us_bank_account}, + * {@code vipps}, {@code wechat_pay}, or {@code zip}. */ @SerializedName("type") String type; @@ -2568,15 +2565,6 @@ public void setSetupAttemptObject(SetupAttempt expandableObject) { } } - /** - * For more details about Sequra, please refer to the API - * Reference. - */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class Sequra extends StripeObject {} - /** * For more details about Shopeepay, please refer to the API Reference. diff --git a/src/main/java/com/stripe/model/CustomerTaxExemption.java b/src/main/java/com/stripe/model/CustomerTaxExemption.java new file mode 100644 index 00000000000..6012067d01d --- /dev/null +++ b/src/main/java/com/stripe/model/CustomerTaxExemption.java @@ -0,0 +1,246 @@ +// File generated from our OpenAPI spec +package com.stripe.model; + +import com.google.gson.annotations.SerializedName; +import com.stripe.exception.StripeException; +import com.stripe.net.ApiRequest; +import com.stripe.net.ApiRequestParams; +import com.stripe.net.ApiResource; +import com.stripe.net.BaseAddress; +import com.stripe.net.RequestOptions; +import com.stripe.net.StripeResponseGetter; +import com.stripe.param.CustomerTaxExemptionCreateParams; +import com.stripe.param.CustomerTaxExemptionListParams; +import com.stripe.param.CustomerTaxExemptionRetrieveParams; +import java.util.Map; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** Location specific customer tax exemptions. */ +@Getter +@Setter +@EqualsAndHashCode(callSuper = false) +public class CustomerTaxExemption extends ApiResource implements HasId { + @SerializedName("ca") + Ca ca; + + @SerializedName("country") + String country; + + @SerializedName("created") + Long created; + + @SerializedName("customer") + String customer; + + /** Present and true when the exemption has been deleted. */ + @SerializedName("deleted") + Boolean deleted; + + /** ISO 8601 date (YYYY-MM-DD) when the exemption becomes effective. */ + @SerializedName("effective_date") + String effectiveDate; + + /** ISO 8601 date (YYYY-MM-DD) when the exemption expires. */ + @SerializedName("expiration_date") + String expirationDate; + + @Getter(onMethod_ = {@Override}) + @SerializedName("id") + String id; + + @SerializedName("livemode") + Boolean livemode; + + @SerializedName("object") + String object; + + @SerializedName("us") + Us us; + + /** Create a location specific tax exemption for a customer. */ + public static CustomerTaxExemption create(String customer, Map params) + throws StripeException { + return create(customer, params, (RequestOptions) null); + } + + /** Create a location specific tax exemption for a customer. */ + public static CustomerTaxExemption create( + String customer, Map params, RequestOptions options) throws StripeException { + String path = + String.format("/v1/customers/%s/tax_exemptions", ApiResource.urlEncodeId(customer)); + ApiRequest request = + new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.POST, path, params, options); + return getGlobalResponseGetter().request(request, CustomerTaxExemption.class); + } + + /** Create a location specific tax exemption for a customer. */ + public static CustomerTaxExemption create( + String customer, CustomerTaxExemptionCreateParams params) throws StripeException { + return create(customer, params, (RequestOptions) null); + } + + /** Create a location specific tax exemption for a customer. */ + public static CustomerTaxExemption create( + String customer, CustomerTaxExemptionCreateParams params, RequestOptions options) + throws StripeException { + String path = + String.format("/v1/customers/%s/tax_exemptions", ApiResource.urlEncodeId(customer)); + ApiResource.checkNullTypedParams(path, params); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + path, + ApiRequestParams.paramsToMap(params), + options); + return getGlobalResponseGetter().request(request, CustomerTaxExemption.class); + } + + /** Delete a location specific tax exemption for a customer. */ + public CustomerTaxExemption delete() throws StripeException { + return delete((Map) null, (RequestOptions) null); + } + + /** Delete a location specific tax exemption for a customer. */ + public CustomerTaxExemption delete(RequestOptions options) throws StripeException { + return delete((Map) null, options); + } + + /** Delete a location specific tax exemption for a customer. */ + public CustomerTaxExemption delete(Map params) throws StripeException { + return delete(params, (RequestOptions) null); + } + + /** Delete a location specific tax exemption for a customer. */ + public CustomerTaxExemption delete(Map params, RequestOptions options) + throws StripeException { + String path = + String.format( + "/v1/customers/%s/tax_exemptions/%s", + ApiResource.urlEncodeId(this.getCustomer()), ApiResource.urlEncodeId(this.getId())); + ApiRequest request = + new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.DELETE, path, params, options); + return getResponseGetter().request(request, CustomerTaxExemption.class); + } + + /** List all location specific tax exemptions for a customer. */ + public static CustomerTaxExemptionCollection list(String customer, Map params) + throws StripeException { + return list(customer, params, (RequestOptions) null); + } + + /** List all location specific tax exemptions for a customer. */ + public static CustomerTaxExemptionCollection list( + String customer, Map params, RequestOptions options) throws StripeException { + String path = + String.format("/v1/customers/%s/tax_exemptions", ApiResource.urlEncodeId(customer)); + ApiRequest request = + new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.GET, path, params, options); + return getGlobalResponseGetter().request(request, CustomerTaxExemptionCollection.class); + } + + /** List all location specific tax exemptions for a customer. */ + public static CustomerTaxExemptionCollection list( + String customer, CustomerTaxExemptionListParams params) throws StripeException { + return list(customer, params, (RequestOptions) null); + } + + /** List all location specific tax exemptions for a customer. */ + public static CustomerTaxExemptionCollection list( + String customer, CustomerTaxExemptionListParams params, RequestOptions options) + throws StripeException { + String path = + String.format("/v1/customers/%s/tax_exemptions", ApiResource.urlEncodeId(customer)); + ApiResource.checkNullTypedParams(path, params); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.GET, + path, + ApiRequestParams.paramsToMap(params), + options); + return getGlobalResponseGetter().request(request, CustomerTaxExemptionCollection.class); + } + + /** Retrieve a location specific tax exemption for a customer. */ + public static CustomerTaxExemption retrieve(String customer, String id) throws StripeException { + return retrieve(customer, id, (Map) null, (RequestOptions) null); + } + + /** Retrieve a location specific tax exemption for a customer. */ + public static CustomerTaxExemption retrieve(String customer, String id, RequestOptions options) + throws StripeException { + return retrieve(customer, id, (Map) null, options); + } + + /** Retrieve a location specific tax exemption for a customer. */ + public static CustomerTaxExemption retrieve( + String customer, String id, Map params, RequestOptions options) + throws StripeException { + String path = + String.format( + "/v1/customers/%s/tax_exemptions/%s", + ApiResource.urlEncodeId(customer), ApiResource.urlEncodeId(id)); + ApiRequest request = + new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.GET, path, params, options); + return getGlobalResponseGetter().request(request, CustomerTaxExemption.class); + } + + /** Retrieve a location specific tax exemption for a customer. */ + public static CustomerTaxExemption retrieve( + String customer, String id, CustomerTaxExemptionRetrieveParams params, RequestOptions options) + throws StripeException { + String path = + String.format( + "/v1/customers/%s/tax_exemptions/%s", + ApiResource.urlEncodeId(customer), ApiResource.urlEncodeId(id)); + ApiResource.checkNullTypedParams(path, params); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.GET, + path, + ApiRequestParams.paramsToMap(params), + options); + return getGlobalResponseGetter().request(request, CustomerTaxExemption.class); + } + + /** + * For more details about Ca, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Ca extends StripeObject { + /** Two-letter Canadian province code (ISO 3166-2). Null for country-wide GST/HST exemptions. */ + @SerializedName("state") + String state; + + /** The type of Canadian tax (gst_hst, PST, QST, RST). */ + @SerializedName("tax_type") + String taxType; + } + + /** + * For more details about Us, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Us extends StripeObject { + /** Two-letter US state code (ISO 3166-2). */ + @SerializedName("state") + String state; + } + + @Override + public void setResponseGetter(StripeResponseGetter responseGetter) { + super.setResponseGetter(responseGetter); + trySetResponseGetter(ca, responseGetter); + trySetResponseGetter(us, responseGetter); + } +} diff --git a/src/main/java/com/stripe/model/CustomerTaxExemptionCollection.java b/src/main/java/com/stripe/model/CustomerTaxExemptionCollection.java new file mode 100644 index 00000000000..cb7f6ee06fc --- /dev/null +++ b/src/main/java/com/stripe/model/CustomerTaxExemptionCollection.java @@ -0,0 +1,4 @@ +// File generated from our OpenAPI spec +package com.stripe.model; + +public class CustomerTaxExemptionCollection extends StripeCollection {} diff --git a/src/main/java/com/stripe/model/Dispute.java b/src/main/java/com/stripe/model/Dispute.java index f23486932a3..293742f72ea 100644 --- a/src/main/java/com/stripe/model/Dispute.java +++ b/src/main/java/com/stripe/model/Dispute.java @@ -1307,7 +1307,7 @@ public static class Paypal extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class SmartDisputes extends StripeObject { - /** Evidence that could be provided to improve the SmartDisputes packet. */ + /** Evidence that could be provided to improve the Smart Disputes packet. */ @SerializedName("recommended_evidence") List> recommendedEvidence; diff --git a/src/main/java/com/stripe/model/EphemeralKey.java b/src/main/java/com/stripe/model/EphemeralKey.java index 15f830e636c..38aaee3def4 100644 --- a/src/main/java/com/stripe/model/EphemeralKey.java +++ b/src/main/java/com/stripe/model/EphemeralKey.java @@ -15,6 +15,13 @@ import lombok.Getter; import lombok.Setter; +/** + * Ephemeral keys give the SDKs (like Stripe's mobile SDKs and Issuing Elements) temporary, scoped + * access to a specific resource, such as a Customer, Issuing Card, or Identity VerificationSession, + * without exposing your secret API key. + * + *

Related guides: Using Issuing Elements. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) diff --git a/src/main/java/com/stripe/model/EventDataClassLookup.java b/src/main/java/com/stripe/model/EventDataClassLookup.java index 4738e00a927..89313c97af9 100644 --- a/src/main/java/com/stripe/model/EventDataClassLookup.java +++ b/src/main/java/com/stripe/model/EventDataClassLookup.java @@ -44,6 +44,7 @@ public final class EventDataClassLookup { classLookup.put( "customer_cash_balance_transaction", com.stripe.model.CustomerCashBalanceTransaction.class); classLookup.put("customer_session", com.stripe.model.CustomerSession.class); + classLookup.put("customer_tax_exemption", com.stripe.model.CustomerTaxExemption.class); classLookup.put("discount", com.stripe.model.Discount.class); classLookup.put("dispute", com.stripe.model.Dispute.class); classLookup.put("ephemeral_key", com.stripe.model.EphemeralKey.class); diff --git a/src/main/java/com/stripe/model/Invoice.java b/src/main/java/com/stripe/model/Invoice.java index dd7a3882969..81bd9c946a3 100644 --- a/src/main/java/com/stripe/model/Invoice.java +++ b/src/main/java/com/stripe/model/Invoice.java @@ -2826,7 +2826,82 @@ public static class Bancontact extends StripeObject { @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Billie extends StripeObject {} + public static class Billie extends StripeObject { + @SerializedName("company_details") + CompanyDetails companyDetails; + + /** An identifier or reference that this payment corresponds to. */ + @SerializedName("reference") + String reference; + + /** + * For more details about CompanyDetails, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class CompanyDetails extends StripeObject { + @SerializedName("registered_address") + RegisteredAddress registeredAddress; + + /** Company or entity name. */ + @SerializedName("registered_name") + String registeredName; + + /** The official registration number for the given registration type. */ + @SerializedName("registration_number") + String registrationNumber; + + /** + * Type of registration the company or entity holds in their registered country. + * + *

One of {@code ch_ein}, {@code de_hrb}, {@code dk_cvr}, {@code es_cif}, {@code + * fi_tunnus}, {@code fr_siren}, {@code fr_siret}, {@code it_rea}, {@code nl_kvk}, {@code + * no_org_number}, {@code no_pno}, {@code se_org_number}, {@code se_pno}, or {@code + * uk_crn}. + */ + @SerializedName("registration_type") + String registrationType; + + /** VAT ID number. */ + @SerializedName("vat") + String vat; + + /** + * For more details about RegisteredAddress, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class RegisteredAddress extends StripeObject { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; + + /** Two-letter country code. */ + @SerializedName("country") + String country; + + /** Address line 1 (for example, street, PO Box, or company name). */ + @SerializedName("line1") + String line1; + + /** Address line 2 (for example, apartment, suite, unit, or building). */ + @SerializedName("line2") + String line2; + + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; + + /** State, county, province, or region. */ + @SerializedName("state") + String state; + } + } + } /** * For more details about Bizum, please refer to the API diff --git a/src/main/java/com/stripe/model/PaymentAttemptRecord.java b/src/main/java/com/stripe/model/PaymentAttemptRecord.java index bccfcd4624a..312ae3feea0 100644 --- a/src/main/java/com/stripe/model/PaymentAttemptRecord.java +++ b/src/main/java/com/stripe/model/PaymentAttemptRecord.java @@ -975,9 +975,6 @@ public static class PaymentMethodDetails extends StripeObject { @SerializedName("sepa_debit") SepaDebit sepaDebit; - @SerializedName("sequra") - Sequra sequra; - @SerializedName("shopeepay") Shopeepay shopeepay; @@ -3708,19 +3705,6 @@ public static class SepaDebit extends StripeObject { String mandate; } - /** - * For more details about Sequra, please refer to the API - * Reference. - */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class Sequra extends StripeObject { - /** The SeQura transaction ID associated with this payment. */ - @SerializedName("transaction_id") - String transactionId; - } - /** * For more details about Shopeepay, please refer to the API Reference. diff --git a/src/main/java/com/stripe/model/PaymentIntent.java b/src/main/java/com/stripe/model/PaymentIntent.java index 7d41e1f1ecb..ed4f762a0ac 100644 --- a/src/main/java/com/stripe/model/PaymentIntent.java +++ b/src/main/java/com/stripe/model/PaymentIntent.java @@ -5698,9 +5698,6 @@ public static class PaymentMethodOptions extends StripeObject { @SerializedName("sepa_debit") SepaDebit sepaDebit; - @SerializedName("sequra") - Sequra sequra; - @SerializedName("shopeepay") Shopeepay shopeepay; @@ -6165,6 +6162,80 @@ public static class Billie extends StripeObject { */ @SerializedName("capture_method") String captureMethod; + + @SerializedName("company_details") + CompanyDetails companyDetails; + + /** An identifier or reference that this payment corresponds to. */ + @SerializedName("reference") + String reference; + + /** + * For more details about CompanyDetails, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class CompanyDetails extends StripeObject { + @SerializedName("registered_address") + RegisteredAddress registeredAddress; + + /** Company or entity name. */ + @SerializedName("registered_name") + String registeredName; + + /** The official registration number for the given registration type. */ + @SerializedName("registration_number") + String registrationNumber; + + /** + * Type of registration the company or entity holds in their registered country. + * + *

One of {@code ch_ein}, {@code de_hrb}, {@code dk_cvr}, {@code es_cif}, {@code + * fi_tunnus}, {@code fr_siren}, {@code fr_siret}, {@code it_rea}, {@code nl_kvk}, {@code + * no_org_number}, {@code no_pno}, {@code se_org_number}, {@code se_pno}, or {@code uk_crn}. + */ + @SerializedName("registration_type") + String registrationType; + + /** VAT id number. */ + @SerializedName("vat") + String vat; + + /** + * For more details about RegisteredAddress, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class RegisteredAddress extends StripeObject { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; + + /** Two-letter country code. */ + @SerializedName("country") + String country; + + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + String line1; + + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + String line2; + + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; + + /** State, county, province, or region. */ + @SerializedName("state") + String state; + } + } } /** @@ -8617,47 +8688,6 @@ public static class MandateOptions extends StripeObject { } } - /** - * For more details about Sequra, please refer to the API - * Reference. - */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class Sequra extends StripeObject { - /** - * Controls when the funds will be captured from the customer's account. - * - *

Equal to {@code manual}. - */ - @SerializedName("capture_method") - String captureMethod; - - /** - * Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - *

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 Shopeepay, please refer to the API Reference. diff --git a/src/main/java/com/stripe/model/PaymentMethod.java b/src/main/java/com/stripe/model/PaymentMethod.java index 911174abeb1..5ee6a5c5f51 100644 --- a/src/main/java/com/stripe/model/PaymentMethod.java +++ b/src/main/java/com/stripe/model/PaymentMethod.java @@ -317,10 +317,10 @@ public class PaymentMethod extends ApiResource implements HasId, MetadataStore

params) throws StripeException { - return create(params, (RequestOptions) null); + /** List all the Payment Records for a given merchant. */ + public static PaymentRecordCollection list(Map params) throws StripeException { + return list(params, (RequestOptions) null); } - /** Report that the most recent payment attempt on the specified Payment Record was disputed. */ - public PaymentRecord create(Map params, RequestOptions options) + /** List all the Payment Records for a given merchant. */ + public static PaymentRecordCollection list(Map params, RequestOptions options) throws StripeException { - String path = - String.format( - "/v1/payment_records/%s/report_dispute", ApiResource.urlEncodeId(this.getId())); + String path = "/v1/payment_records"; ApiRequest request = - new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.POST, path, params, options); - return getResponseGetter().request(request, PaymentRecord.class); + new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.GET, path, params, options); + return getGlobalResponseGetter().request(request, PaymentRecordCollection.class); } - /** Report that the most recent payment attempt on the specified Payment Record was disputed. */ - public PaymentRecord create(PaymentRecordCreateParams params) throws StripeException { - return create(params, (RequestOptions) null); + /** List all the Payment Records for a given merchant. */ + public static PaymentRecordCollection list(PaymentRecordListParams params) + throws StripeException { + return list(params, (RequestOptions) null); } - /** Report that the most recent payment attempt on the specified Payment Record was disputed. */ - public PaymentRecord create(PaymentRecordCreateParams params, RequestOptions options) + /** List all the Payment Records for a given merchant. */ + public static PaymentRecordCollection list(PaymentRecordListParams params, RequestOptions options) throws StripeException { - String path = - String.format( - "/v1/payment_records/%s/report_dispute", ApiResource.urlEncodeId(this.getId())); + String path = "/v1/payment_records"; ApiResource.checkNullTypedParams(path, params); ApiRequest request = new ApiRequest( BaseAddress.API, - ApiResource.RequestMethod.POST, + ApiResource.RequestMethod.GET, path, ApiRequestParams.paramsToMap(params), options); - return getResponseGetter().request(request, PaymentRecord.class); + return getGlobalResponseGetter().request(request, PaymentRecordCollection.class); } - /** List all the Payment Records for a given merchant. */ - public static PaymentRecordCollection list(Map params) throws StripeException { - return list(params, (RequestOptions) null); + /** Report that the most recent payment attempt on the specified Payment Record was disputed. */ + public PaymentRecord reportDispute(Map params) throws StripeException { + return reportDispute(params, (RequestOptions) null); } - /** List all the Payment Records for a given merchant. */ - public static PaymentRecordCollection list(Map params, RequestOptions options) + /** Report that the most recent payment attempt on the specified Payment Record was disputed. */ + public PaymentRecord reportDispute(Map params, RequestOptions options) throws StripeException { - String path = "/v1/payment_records"; + String path = + String.format( + "/v1/payment_records/%s/report_dispute", ApiResource.urlEncodeId(this.getId())); ApiRequest request = - new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.GET, path, params, options); - return getGlobalResponseGetter().request(request, PaymentRecordCollection.class); + new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.POST, path, params, options); + return getResponseGetter().request(request, PaymentRecord.class); } - /** List all the Payment Records for a given merchant. */ - public static PaymentRecordCollection list(PaymentRecordListParams params) + /** Report that the most recent payment attempt on the specified Payment Record was disputed. */ + public PaymentRecord reportDispute(PaymentRecordReportDisputeParams params) throws StripeException { - return list(params, (RequestOptions) null); + return reportDispute(params, (RequestOptions) null); } - /** List all the Payment Records for a given merchant. */ - public static PaymentRecordCollection list(PaymentRecordListParams params, RequestOptions options) - throws StripeException { - String path = "/v1/payment_records"; + /** Report that the most recent payment attempt on the specified Payment Record was disputed. */ + public PaymentRecord reportDispute( + PaymentRecordReportDisputeParams params, RequestOptions options) throws StripeException { + String path = + String.format( + "/v1/payment_records/%s/report_dispute", ApiResource.urlEncodeId(this.getId())); ApiResource.checkNullTypedParams(path, params); ApiRequest request = new ApiRequest( BaseAddress.API, - ApiResource.RequestMethod.GET, + ApiResource.RequestMethod.POST, path, ApiRequestParams.paramsToMap(params), options); - return getGlobalResponseGetter().request(request, PaymentRecordCollection.class); + return getResponseGetter().request(request, PaymentRecord.class); } /** @@ -1049,9 +1050,6 @@ public static class PaymentMethodDetails extends StripeObject { @SerializedName("sepa_debit") SepaDebit sepaDebit; - @SerializedName("sequra") - Sequra sequra; - @SerializedName("shopeepay") Shopeepay shopeepay; @@ -3781,19 +3779,6 @@ public static class SepaDebit extends StripeObject { String mandate; } - /** - * For more details about Sequra, please refer to the API - * Reference. - */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class Sequra extends StripeObject { - /** The SeQura transaction ID associated with this payment. */ - @SerializedName("transaction_id") - String transactionId; - } - /** * For more details about Shopeepay, please refer to the API Reference. diff --git a/src/main/java/com/stripe/model/Person.java b/src/main/java/com/stripe/model/Person.java index 2790b552e92..c7ef0a8aacb 100644 --- a/src/main/java/com/stripe/model/Person.java +++ b/src/main/java/com/stripe/model/Person.java @@ -614,6 +614,9 @@ public static class Errors extends StripeObject { @SerializedName("code") String code; + @SerializedName("details") + Details details; + /** * An informative message that indicates the error type and provides additional details about * the error. @@ -627,6 +630,19 @@ public static class Errors extends StripeObject { */ @SerializedName("requirement") String requirement; + + /** + * For more details about Details, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Details extends StripeObject { + /** The rejection code as received from our payment method partner. */ + @SerializedName("partner_rejection_code") + String partnerRejectionCode; + } } } @@ -834,6 +850,9 @@ public static class Errors extends StripeObject { @SerializedName("code") String code; + @SerializedName("details") + Details details; + /** * An informative message that indicates the error type and provides additional details about * the error. @@ -847,6 +866,19 @@ public static class Errors extends StripeObject { */ @SerializedName("requirement") String requirement; + + /** + * For more details about Details, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Details extends StripeObject { + /** The rejection code as received from our payment method partner. */ + @SerializedName("partner_rejection_code") + String partnerRejectionCode; + } } } diff --git a/src/main/java/com/stripe/model/QuotePreviewInvoice.java b/src/main/java/com/stripe/model/QuotePreviewInvoice.java index cbadc342aee..6c69acc1b17 100644 --- a/src/main/java/com/stripe/model/QuotePreviewInvoice.java +++ b/src/main/java/com/stripe/model/QuotePreviewInvoice.java @@ -1620,7 +1620,82 @@ public static class Bancontact extends StripeObject { @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Billie extends StripeObject {} + public static class Billie extends StripeObject { + @SerializedName("company_details") + CompanyDetails companyDetails; + + /** An identifier or reference that this payment corresponds to. */ + @SerializedName("reference") + String reference; + + /** + * For more details about CompanyDetails, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class CompanyDetails extends StripeObject { + @SerializedName("registered_address") + RegisteredAddress registeredAddress; + + /** Company or entity name. */ + @SerializedName("registered_name") + String registeredName; + + /** The official registration number for the given registration type. */ + @SerializedName("registration_number") + String registrationNumber; + + /** + * Type of registration the company or entity holds in their registered country. + * + *

One of {@code ch_ein}, {@code de_hrb}, {@code dk_cvr}, {@code es_cif}, {@code + * fi_tunnus}, {@code fr_siren}, {@code fr_siret}, {@code it_rea}, {@code nl_kvk}, {@code + * no_org_number}, {@code no_pno}, {@code se_org_number}, {@code se_pno}, or {@code + * uk_crn}. + */ + @SerializedName("registration_type") + String registrationType; + + /** VAT ID number. */ + @SerializedName("vat") + String vat; + + /** + * For more details about RegisteredAddress, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class RegisteredAddress extends StripeObject { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; + + /** Two-letter country code. */ + @SerializedName("country") + String country; + + /** Address line 1 (for example, street, PO Box, or company name). */ + @SerializedName("line1") + String line1; + + /** Address line 2 (for example, apartment, suite, unit, or building). */ + @SerializedName("line2") + String line2; + + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; + + /** State, county, province, or region. */ + @SerializedName("state") + String state; + } + } + } /** * For more details about Bizum, please refer to the API diff --git a/src/main/java/com/stripe/model/Subscription.java b/src/main/java/com/stripe/model/Subscription.java index 39b4d932cfb..a633eff0ddf 100644 --- a/src/main/java/com/stripe/model/Subscription.java +++ b/src/main/java/com/stripe/model/Subscription.java @@ -2262,7 +2262,78 @@ public static class Bancontact extends StripeObject { @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Billie extends StripeObject {} + public static class Billie extends StripeObject { + @SerializedName("company_details") + CompanyDetails companyDetails; + + /** + * For more details about CompanyDetails, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class CompanyDetails extends StripeObject { + @SerializedName("registered_address") + RegisteredAddress registeredAddress; + + /** Company or entity name. */ + @SerializedName("registered_name") + String registeredName; + + /** The official registration number for the given registration type. */ + @SerializedName("registration_number") + String registrationNumber; + + /** + * Type of registration the company or entity holds in their registered country. + * + *

One of {@code ch_ein}, {@code de_hrb}, {@code dk_cvr}, {@code es_cif}, {@code + * fi_tunnus}, {@code fr_siren}, {@code fr_siret}, {@code it_rea}, {@code nl_kvk}, {@code + * no_org_number}, {@code no_pno}, {@code se_org_number}, {@code se_pno}, or {@code + * uk_crn}. + */ + @SerializedName("registration_type") + String registrationType; + + /** VAT ID number. */ + @SerializedName("vat") + String vat; + + /** + * For more details about RegisteredAddress, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class RegisteredAddress extends StripeObject { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; + + /** Two-letter country code. */ + @SerializedName("country") + String country; + + /** Address line 1 (for example, street, PO Box, or company name). */ + @SerializedName("line1") + String line1; + + /** Address line 2 (for example, apartment, suite, unit, or building). */ + @SerializedName("line2") + String line2; + + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; + + /** State, county, province, or region. */ + @SerializedName("state") + String state; + } + } + } /** * For more details about Bizum, please refer to the API diff --git a/src/main/java/com/stripe/model/checkout/Session.java b/src/main/java/com/stripe/model/checkout/Session.java index 25ee4b5be65..8dcfddf0202 100644 --- a/src/main/java/com/stripe/model/checkout/Session.java +++ b/src/main/java/com/stripe/model/checkout/Session.java @@ -1161,6 +1161,13 @@ public static class AutomaticTax extends StripeObject { @SerializedName("enabled") Boolean enabled; + /** + * How {@code automatic_tax} was set ({@code explicit}, {@code managed_payments}, or {@code + * tax_integration_configuration}) and why it may have been disabled. + */ + @SerializedName("enablement_details") + EnablementDetails enablementDetails; + /** * The account that's liable for tax. If set, the business address and tax registrations * required to perform the tax calculation are loaded from this account. The tax transaction is @@ -1181,6 +1188,48 @@ public static class AutomaticTax extends StripeObject { @SerializedName("status") String status; + /** + * For more details about EnablementDetails, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class EnablementDetails extends StripeObject { + /** + * Present when {@code source=tax_integration_configuration} and {@code + * automatic_tax[enabled]=false}. + */ + @SerializedName("integration_configuration_disabled_reason") + IntegrationConfigurationDisabledReason integrationConfigurationDisabledReason; + + /** + * How {@code automatic_tax} was set: {@code explicit}, {@code managed_payments}, or {@code + * tax_integration_configuration}. + * + *

One of {@code explicit}, {@code managed_payments}, or {@code + * tax_integration_configuration}. + */ + @SerializedName("source") + String source; + + /** + * For more details about IntegrationConfigurationDisabledReason, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class IntegrationConfigurationDisabledReason extends StripeObject { + /** + * The parameter that prevented {@code automatic_tax} from being enabled (e.g. {@code + * line_items[][tax_rates]}). + */ + @SerializedName("conflicting_field") + String conflictingField; + } + } + /** * For more details about Liability, please refer to the API Reference. @@ -2949,9 +2998,6 @@ public static class PaymentMethodOptions extends StripeObject { @SerializedName("sepa_debit") SepaDebit sepaDebit; - @SerializedName("sequra") - Sequra sequra; - @SerializedName("sofort") Sofort sofort; @@ -4849,23 +4895,6 @@ public static class MandateOptions extends StripeObject { } } - /** - * For more details about Sequra, please refer to the API - * Reference. - */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class Sequra extends StripeObject { - /** - * Controls when the funds will be captured from the customer's account. - * - *

Equal to {@code manual}. - */ - @SerializedName("capture_method") - String captureMethod; - } - /** * For more details about Sofort, please refer to the API * Reference. diff --git a/src/main/java/com/stripe/model/financialconnections/Transaction.java b/src/main/java/com/stripe/model/financialconnections/Transaction.java index eaecfe3c748..e404f375775 100644 --- a/src/main/java/com/stripe/model/financialconnections/Transaction.java +++ b/src/main/java/com/stripe/model/financialconnections/Transaction.java @@ -179,11 +179,12 @@ public static Transaction retrieve( @Setter @EqualsAndHashCode(callSuper = false) public static class Classification extends StripeObject { - /** Money movement classification labels for this transaction. */ + @SerializedName("credit") + Credit credit; + @SerializedName("money_movement") MoneyMovement moneyMovement; - /** Personal finance classification labels for this transaction. */ @SerializedName("personal_finance") PersonalFinance personalFinance; @@ -191,6 +192,31 @@ public static class Classification extends StripeObject { @SerializedName("type") String type; + /** + * For more details about Credit, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Credit extends StripeObject { + /** + * Stripe's confidence in this classification. + * + *

One of {@code high}, {@code low}, {@code medium}, or {@code very_high}. + */ + @SerializedName("confidence_level") + String confidenceLevel; + + /** The detailed category label for this transaction. */ + @SerializedName("detailed_label") + String detailedLabel; + + /** The primary category label for this transaction. */ + @SerializedName("primary_label") + String primaryLabel; + } + /** * For more details about MoneyMovement, please refer to the API Reference. diff --git a/src/main/java/com/stripe/model/issuing/Authorization.java b/src/main/java/com/stripe/model/issuing/Authorization.java index db67cfa4758..e62294728e8 100644 --- a/src/main/java/com/stripe/model/issuing/Authorization.java +++ b/src/main/java/com/stripe/model/issuing/Authorization.java @@ -217,6 +217,16 @@ public class Authorization extends ApiResource @SerializedName("pending_request") PendingRequest pendingRequest; + /** + * The point-of-sale initiation condition. This is null when the card network did not provide one. + * + *

One of {@code account_verification}, {@code card_not_present}, {@code card_present}, {@code + * e_commerce}, {@code key_entered_pos}, {@code other}, {@code pin_entered}, or {@code + * recurring_or_moto}. + */ + @SerializedName("pos_condition") + String posCondition; + /** * Redaction status of this authorization. If the authorization is not redacted, this field will * be null. diff --git a/src/main/java/com/stripe/model/issuing/Card.java b/src/main/java/com/stripe/model/issuing/Card.java index b64587603ea..f18579b2a4b 100644 --- a/src/main/java/com/stripe/model/issuing/Card.java +++ b/src/main/java/com/stripe/model/issuing/Card.java @@ -64,6 +64,9 @@ public class Card extends ApiResource implements HasId, MetadataStore { @SerializedName("created") Long created; + @SerializedName("crypto_wallet") + CryptoWallet cryptoWallet; + /** * Three-letter ISO currency code, * in lowercase. Supported currencies are {@code usd} in the US, {@code eur} in the EU, and {@code @@ -450,6 +453,35 @@ public Card update(CardUpdateParams params, RequestOptions options) throws Strip return getResponseGetter().request(request, Card.class); } + /** + * For more details about CryptoWallet, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class CryptoWallet extends StripeObject { + /** The public address of the wallet. */ + @SerializedName("address") + String address; + + /** The blockchain network the wallet is on. */ + @SerializedName("chain") + String chain; + + /** The cryptocurrency held in the wallet. */ + @SerializedName("currency") + String currency; + + /** + * The type of wallet (standard or bridge_wallet). + * + *

One of {@code bridge_wallet}, or {@code standard}. + */ + @SerializedName("type") + String type; + } + /** * For more details about LatestFraudWarning, please refer to the API Reference. @@ -1202,6 +1234,7 @@ public Card submitCard(CardSubmitCardParams params, RequestOptions options) public void setResponseGetter(StripeResponseGetter responseGetter) { super.setResponseGetter(responseGetter); trySetResponseGetter(cardholder, responseGetter); + trySetResponseGetter(cryptoWallet, responseGetter); trySetResponseGetter(latestFraudWarning, responseGetter); trySetResponseGetter(lifecycleControls, responseGetter); trySetResponseGetter(personalizationDesign, responseGetter); diff --git a/src/main/java/com/stripe/model/issuing/Cardholder.java b/src/main/java/com/stripe/model/issuing/Cardholder.java index 4f4c0badb50..e495980ad7f 100644 --- a/src/main/java/com/stripe/model/issuing/Cardholder.java +++ b/src/main/java/com/stripe/model/issuing/Cardholder.java @@ -378,7 +378,7 @@ public static class Individual extends StripeObject { public static class CardIssuing extends StripeObject { /** * Information about cardholder acceptance of Celtic Authorized User + * href="https://docs.stripe.com/issuing/compliance-us#issuing-terms">Authorized User * Terms. Required for cards backed by a Celtic program. */ @SerializedName("user_terms_acceptance") diff --git a/src/main/java/com/stripe/model/treasury/FinancialAccount.java b/src/main/java/com/stripe/model/treasury/FinancialAccount.java index 663fff6f770..ab1b4400392 100644 --- a/src/main/java/com/stripe/model/treasury/FinancialAccount.java +++ b/src/main/java/com/stripe/model/treasury/FinancialAccount.java @@ -26,9 +26,9 @@ import lombok.Setter; /** - * Stripe Treasury provides users with a container for money called a FinancialAccount that is - * separate from their Payments balance. FinancialAccounts serve as the source and destination of - * Treasury’s money movement APIs. + * Stripe Treasury for Platforms provides users with a container for money called a FinancialAccount + * that is separate from their Payments balance. FinancialAccounts serve as the source and + * destination of Treasury for Platform’s money movement APIs. */ @Getter @Setter 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 60af5d2b5d5..220c38ce724 100644 --- a/src/main/java/com/stripe/model/v2/core/Account.java +++ b/src/main/java/com/stripe/model/v2/core/Account.java @@ -2269,6 +2269,10 @@ public static class Capabilities extends StripeObject { @SerializedName("blik_payments") BlikPayments blikPayments; + /** Allow the merchant to process recurring BLIK payments. */ + @SerializedName("blik_recurring_payments") + BlikRecurringPayments blikRecurringPayments; + /** Allow the merchant to process Boleto payments. */ @SerializedName("boleto_payments") BoletoPayments boletoPayments; @@ -3361,6 +3365,101 @@ public static class StatusDetail extends StripeObject { } } + /** Allow the merchant to process recurring BLIK payments. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class BlikRecurringPayments extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List + statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * For more details about StatusDetail, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class StatusDetail extends StripeObject { + /** + * Machine-readable code explaining the reason for the Capability to be in its current + * status. + * + *

One of {@code determining_status}, {@code requirements_past_due}, {@code + * requirements_pending_verification}, {@code restricted_other}, {@code + * unsupported_business}, {@code unsupported_country}, or {@code + * unsupported_entity_type}. + */ + @SerializedName("code") + String code; + + /** + * Machine-readable code explaining how to make the Capability active. + * + *

One of {@code contact_stripe}, {@code no_resolution}, or {@code provide_info}. + */ + @SerializedName("resolution") + String resolution; + } + } + /** Allow the merchant to process Boleto payments. */ @Getter @Setter diff --git a/src/main/java/com/stripe/model/v2/iam/ActivityLog.java b/src/main/java/com/stripe/model/v2/iam/ActivityLog.java index 14e2cdf12ec..eef96bcf98a 100644 --- a/src/main/java/com/stripe/model/v2/iam/ActivityLog.java +++ b/src/main/java/com/stripe/model/v2/iam/ActivityLog.java @@ -53,8 +53,9 @@ public class ActivityLog extends StripeObject implements HasId { * The type of action that was performed. * *

One of {@code api_key_created}, {@code api_key_deleted}, {@code api_key_updated}, {@code - * api_key_viewed}, {@code user_invite_accepted}, {@code user_invite_created}, {@code - * user_invite_deleted}, {@code user_roles_deleted}, or {@code user_roles_updated}. + * api_key_viewed}, {@code user_access_started}, {@code user_invite_accepted}, {@code + * user_invite_created}, {@code user_invite_deleted}, {@code user_roles_deleted}, or {@code + * user_roles_updated}. */ @SerializedName("type") String type; @@ -114,11 +115,15 @@ public static class Details extends StripeObject { /** * The action group type of the activity log entry. * - *

One of {@code api_key}, {@code user_invite}, or {@code user_roles}. + *

One of {@code api_key}, {@code user_access}, {@code user_invite}, or {@code user_roles}. */ @SerializedName("type") String type; + /** Details of a user access action. */ + @SerializedName("user_access") + UserAccess userAccess; + /** Details of a user invite action. */ @SerializedName("user_invite") UserInvite userInvite; @@ -203,6 +208,194 @@ public static class Application extends StripeObject implements HasId { } } + /** Details of a user access action. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class UserAccess extends StripeObject { + /** Authentication details for the user access action. */ + @SerializedName("authentication") + Authentication authentication; + + /** Dashboard client details for the user access action. */ + @SerializedName("dashboard_client") + DashboardClient dashboardClient; + + /** Timestamp when the user access expires. */ + @SerializedName("expires_at") + Instant expiresAt; + + /** Network details for the user access action. */ + @SerializedName("network") + Network network; + + /** Risk details for the user access action. */ + @SerializedName("risk") + Risk risk; + + /** Roles associated with the user access action. */ + @SerializedName("roles") + List roles; + + /** Session fingerprint for the user access action. */ + @SerializedName("session_fingerprint") + String sessionFingerprint; + + /** + * Surface where the user access action started. + * + *

One of {@code dashboard}, or {@code express}. + */ + @SerializedName("surface") + String surface; + + /** Authentication details for the user access action. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Authentication extends StripeObject { + /** Primary authentication factor. */ + @SerializedName("primary_factor") + PrimaryFactor primaryFactor; + + /** Secondary authentication factors. */ + @SerializedName("secondary_factors") + List secondaryFactors; + + /** Primary authentication factor. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PrimaryFactor extends StripeObject { + /** SSO provider for the authentication factor. */ + @SerializedName("sso_provider") + String ssoProvider; + + /** + * Type of authentication factor. + * + *

One of {@code backup_code}, {@code email_code}, {@code oauth}, {@code passkey}, + * {@code password}, {@code phone_code}, {@code saml}, {@code sms}, {@code totp}, or + * {@code web_authn}. + */ + @SerializedName("type") + String type; + } + + /** + * For more details about SecondaryFactor, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class SecondaryFactor extends StripeObject { + /** SSO provider for the authentication factor. */ + @SerializedName("sso_provider") + String ssoProvider; + + /** + * Type of authentication factor. + * + *

One of {@code backup_code}, {@code email_code}, {@code oauth}, {@code passkey}, + * {@code password}, {@code phone_code}, {@code saml}, {@code sms}, {@code totp}, or + * {@code web_authn}. + */ + @SerializedName("type") + String type; + } + } + + /** Dashboard client details for the user access action. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class DashboardClient extends StripeObject { + /** Browser used for the user access action. */ + @SerializedName("browser") + String browser; + + /** Browser version used for the user access action. */ + @SerializedName("browser_version") + String browserVersion; + + /** Device type used for the user access action. */ + @SerializedName("device_type") + String deviceType; + + /** Operating system used for the user access action. */ + @SerializedName("os") + String os; + } + + /** Network details for the user access action. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Network extends StripeObject { + /** City for the user access action. */ + @SerializedName("city") + String city; + + /** Country for the user access action. */ + @SerializedName("country") + String country; + + /** IP address for the user access action. */ + @SerializedName("ip_address") + String ipAddress; + + /** Region for the user access action. */ + @SerializedName("region") + String region; + } + + /** Risk details for the user access action. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Risk extends StripeObject { + /** + * Risk level for the user access action. + * + *

One of {@code high}, {@code low}, or {@code medium}. + */ + @SerializedName("level") + String level; + + /** Risk signals for the user access action. */ + @SerializedName("signals") + List signals; + + /** + * For more details about Signal, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Signal extends StripeObject { + /** The user access action used a novel device. */ + @SerializedName("novel_device") + NovelDevice novelDevice; + + /** + * Type of risk signal. + * + *

Equal to {@code novel_device}. + */ + @SerializedName("type") + String type; + + /** The user access action used a novel device. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class NovelDevice extends StripeObject {} + } + } + } + /** Details of a user invite action. */ @Getter @Setter diff --git a/src/main/java/com/stripe/param/AccountSessionCreateParams.java b/src/main/java/com/stripe/param/AccountSessionCreateParams.java index 26479edb392..a583cc8813b 100644 --- a/src/main/java/com/stripe/param/AccountSessionCreateParams.java +++ b/src/main/java/com/stripe/param/AccountSessionCreateParams.java @@ -5499,7 +5499,7 @@ public static class PaymentMethodSettings { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** An empty list, because this embedded component has no features. */ + /** The list of features enabled in the embedded component. */ @SerializedName("features") Features features; @@ -5561,7 +5561,7 @@ public Builder putAllExtraParam(Map map) { return this; } - /** An empty list, because this embedded component has no features. */ + /** The list of features enabled in the embedded component. */ public Builder setFeatures( AccountSessionCreateParams.Components.PaymentMethodSettings.Features features) { this.features = features; diff --git a/src/main/java/com/stripe/param/ConfirmationTokenCreateParams.java b/src/main/java/com/stripe/param/ConfirmationTokenCreateParams.java index f3ff9e624c1..fb82c42f4e3 100644 --- a/src/main/java/com/stripe/param/ConfirmationTokenCreateParams.java +++ b/src/main/java/com/stripe/param/ConfirmationTokenCreateParams.java @@ -7436,9 +7436,6 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), - @SerializedName("sequra") - SEQURA("sequra"), - @SerializedName("shopeepay") SHOPEEPAY("shopeepay"), diff --git a/src/main/java/com/stripe/param/CustomerListPaymentMethodsParams.java b/src/main/java/com/stripe/param/CustomerListPaymentMethodsParams.java index ae044e53452..0fb3fc1aff5 100644 --- a/src/main/java/com/stripe/param/CustomerListPaymentMethodsParams.java +++ b/src/main/java/com/stripe/param/CustomerListPaymentMethodsParams.java @@ -399,9 +399,6 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), - @SerializedName("sequra") - SEQURA("sequra"), - @SerializedName("shopeepay") SHOPEEPAY("shopeepay"), diff --git a/src/main/java/com/stripe/param/CustomerPaymentMethodListParams.java b/src/main/java/com/stripe/param/CustomerPaymentMethodListParams.java index 39ecd19d61a..26d5a4a380c 100644 --- a/src/main/java/com/stripe/param/CustomerPaymentMethodListParams.java +++ b/src/main/java/com/stripe/param/CustomerPaymentMethodListParams.java @@ -399,9 +399,6 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), - @SerializedName("sequra") - SEQURA("sequra"), - @SerializedName("shopeepay") SHOPEEPAY("shopeepay"), diff --git a/src/main/java/com/stripe/param/CustomerTaxExemptionCreateParams.java b/src/main/java/com/stripe/param/CustomerTaxExemptionCreateParams.java new file mode 100644 index 00000000000..5adc5f49a1d --- /dev/null +++ b/src/main/java/com/stripe/param/CustomerTaxExemptionCreateParams.java @@ -0,0 +1,361 @@ +// File generated from our OpenAPI spec +package com.stripe.param; + +import com.google.gson.annotations.SerializedName; +import com.stripe.net.ApiRequestParams; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import lombok.EqualsAndHashCode; +import lombok.Getter; + +@Getter +@EqualsAndHashCode(callSuper = false) +public class CustomerTaxExemptionCreateParams extends ApiRequestParams { + /** Canada-specific exemption details. Required when country is CA; must be absent otherwise. */ + @SerializedName("ca") + Ca ca; + + /** Required. Two-letter ISO country code for the exemption location. */ + @SerializedName("country") + String country; + + /** + * Required. ISO 8601 date (YYYY-MM-DD) when the exemption becomes effective. + * Must be no more than one year after today's UTC date (inclusive). + */ + @SerializedName("effective_date") + String effectiveDate; + + /** Specifies which fields in the response should be expanded. */ + @SerializedName("expand") + List expand; + + /** ISO 8601 date (YYYY-MM-DD) when the exemption expires. */ + @SerializedName("expiration_date") + String expirationDate; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** US-specific exemption details. Required when country is US; must be absent otherwise. */ + @SerializedName("us") + Us us; + + private CustomerTaxExemptionCreateParams( + Ca ca, + String country, + String effectiveDate, + List expand, + String expirationDate, + Map extraParams, + Us us) { + this.ca = ca; + this.country = country; + this.effectiveDate = effectiveDate; + this.expand = expand; + this.expirationDate = expirationDate; + this.extraParams = extraParams; + this.us = us; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Ca ca; + + private String country; + + private String effectiveDate; + + private List expand; + + private String expirationDate; + + private Map extraParams; + + private Us us; + + /** Finalize and obtain parameter instance from this builder. */ + public CustomerTaxExemptionCreateParams build() { + return new CustomerTaxExemptionCreateParams( + this.ca, + this.country, + this.effectiveDate, + this.expand, + this.expirationDate, + this.extraParams, + this.us); + } + + /** Canada-specific exemption details. Required when country is CA; must be absent otherwise. */ + public Builder setCa(CustomerTaxExemptionCreateParams.Ca ca) { + this.ca = ca; + return this; + } + + /** Required. Two-letter ISO country code for the exemption location. */ + public Builder setCountry(String country) { + this.country = country; + return this; + } + + /** + * Required. ISO 8601 date (YYYY-MM-DD) when the exemption becomes effective. + * Must be no more than one year after today's UTC date (inclusive). + */ + public Builder setEffectiveDate(String effectiveDate) { + this.effectiveDate = effectiveDate; + return this; + } + + /** + * Add an element to `expand` list. A list is initialized for the first `add/addAll` call, and + * subsequent calls adds additional elements to the original list. See {@link + * CustomerTaxExemptionCreateParams#expand} for the field documentation. + */ + public Builder addExpand(String element) { + if (this.expand == null) { + this.expand = new ArrayList<>(); + } + this.expand.add(element); + return this; + } + + /** + * Add all elements to `expand` list. A list is initialized for the first `add/addAll` call, and + * subsequent calls adds additional elements to the original list. See {@link + * CustomerTaxExemptionCreateParams#expand} for the field documentation. + */ + public Builder addAllExpand(List elements) { + if (this.expand == null) { + this.expand = new ArrayList<>(); + } + this.expand.addAll(elements); + return this; + } + + /** ISO 8601 date (YYYY-MM-DD) when the exemption expires. */ + public Builder setExpirationDate(String expirationDate) { + this.expirationDate = expirationDate; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * CustomerTaxExemptionCreateParams#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link CustomerTaxExemptionCreateParams#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** US-specific exemption details. Required when country is US; must be absent otherwise. */ + public Builder setUs(CustomerTaxExemptionCreateParams.Us us) { + this.us = us; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Ca { + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Two-letter Canadian province code (ISO 3166-2). Required when tax_type is pst, qst, or rst. + */ + @SerializedName("state") + String state; + + /** Required. The type of Canadian tax (gst_hst, PST, QST, RST). */ + @SerializedName("tax_type") + TaxType taxType; + + private Ca(Map extraParams, String state, TaxType taxType) { + this.extraParams = extraParams; + this.state = state; + this.taxType = taxType; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private String state; + + private TaxType taxType; + + /** Finalize and obtain parameter instance from this builder. */ + public CustomerTaxExemptionCreateParams.Ca build() { + return new CustomerTaxExemptionCreateParams.Ca(this.extraParams, this.state, this.taxType); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * CustomerTaxExemptionCreateParams.Ca#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link CustomerTaxExemptionCreateParams.Ca#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Two-letter Canadian province code (ISO 3166-2). Required when tax_type is pst, qst, or rst. + */ + public Builder setState(String state) { + this.state = state; + return this; + } + + /** Required. The type of Canadian tax (gst_hst, PST, QST, RST). */ + public Builder setTaxType(CustomerTaxExemptionCreateParams.Ca.TaxType taxType) { + this.taxType = taxType; + return this; + } + } + + public enum TaxType implements ApiRequestParams.EnumParam { + @SerializedName("gst_hst") + GST_HST("gst_hst"), + + @SerializedName("pst") + PST("pst"), + + @SerializedName("qst") + QST("qst"), + + @SerializedName("rst") + RST("rst"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + TaxType(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Us { + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. Two-letter US state code (ISO 3166-2). */ + @SerializedName("state") + String state; + + private Us(Map extraParams, String state) { + this.extraParams = extraParams; + this.state = state; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private String state; + + /** Finalize and obtain parameter instance from this builder. */ + public CustomerTaxExemptionCreateParams.Us build() { + return new CustomerTaxExemptionCreateParams.Us(this.extraParams, this.state); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * CustomerTaxExemptionCreateParams.Us#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link CustomerTaxExemptionCreateParams.Us#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. Two-letter US state code (ISO 3166-2). */ + public Builder setState(String state) { + this.state = state; + return this; + } + } + } +} diff --git a/src/main/java/com/stripe/param/CustomerTaxExemptionListParams.java b/src/main/java/com/stripe/param/CustomerTaxExemptionListParams.java new file mode 100644 index 00000000000..a301f8be67a --- /dev/null +++ b/src/main/java/com/stripe/param/CustomerTaxExemptionListParams.java @@ -0,0 +1,190 @@ +// File generated from our OpenAPI spec +package com.stripe.param; + +import com.google.gson.annotations.SerializedName; +import com.stripe.net.ApiRequestParams; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import lombok.EqualsAndHashCode; +import lombok.Getter; + +@Getter +@EqualsAndHashCode(callSuper = false) +public class CustomerTaxExemptionListParams extends ApiRequestParams { + /** Filter by two-letter ISO country code (ISO 3166-1 alpha-2). */ + @SerializedName("country") + String country; + + /** + * A cursor for use in pagination. {@code ending_before} is an object ID that defines your place + * in the list. For instance, if you make a list request and receive 100 objects, starting with + * {@code obj_bar}, your subsequent call can include {@code ending_before=obj_bar} in order to + * fetch the previous page of the list. + */ + @SerializedName("ending_before") + String endingBefore; + + /** Specifies which fields in the response should be expanded. */ + @SerializedName("expand") + List expand; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * A limit on the number of objects to be returned. Limit can range between 1 and 100, and the + * default is 10. + */ + @SerializedName("limit") + Long limit; + + /** + * 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 CustomerTaxExemptionListParams( + String country, + String endingBefore, + List expand, + Map extraParams, + Long limit, + String startingAfter) { + this.country = country; + this.endingBefore = endingBefore; + this.expand = expand; + this.extraParams = extraParams; + this.limit = limit; + this.startingAfter = startingAfter; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String country; + + private String endingBefore; + + private List expand; + + private Map extraParams; + + private Long limit; + + private String startingAfter; + + /** Finalize and obtain parameter instance from this builder. */ + public CustomerTaxExemptionListParams build() { + return new CustomerTaxExemptionListParams( + this.country, + this.endingBefore, + this.expand, + this.extraParams, + this.limit, + this.startingAfter); + } + + /** Filter by two-letter ISO country code (ISO 3166-1 alpha-2). */ + public Builder setCountry(String country) { + this.country = country; + return this; + } + + /** + * A cursor for use in pagination. {@code ending_before} is an object ID that defines your place + * in the list. For instance, if you make a list request and receive 100 objects, starting with + * {@code obj_bar}, your subsequent call can include {@code ending_before=obj_bar} in order to + * fetch the previous page of the list. + */ + public Builder setEndingBefore(String endingBefore) { + this.endingBefore = endingBefore; + return this; + } + + /** + * Add an element to `expand` list. A list is initialized for the first `add/addAll` call, and + * subsequent calls adds additional elements to the original list. See {@link + * CustomerTaxExemptionListParams#expand} for the field documentation. + */ + public Builder addExpand(String element) { + if (this.expand == null) { + this.expand = new ArrayList<>(); + } + this.expand.add(element); + return this; + } + + /** + * Add all elements to `expand` list. A list is initialized for the first `add/addAll` call, and + * subsequent calls adds additional elements to the original list. See {@link + * CustomerTaxExemptionListParams#expand} for the field documentation. + */ + public Builder addAllExpand(List elements) { + if (this.expand == null) { + this.expand = new ArrayList<>(); + } + this.expand.addAll(elements); + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * CustomerTaxExemptionListParams#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link CustomerTaxExemptionListParams#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * A limit on the number of objects to be returned. Limit can range between 1 and 100, and the + * default is 10. + */ + public Builder setLimit(Long limit) { + this.limit = limit; + return this; + } + + /** + * 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. + */ + public Builder setStartingAfter(String startingAfter) { + this.startingAfter = startingAfter; + return this; + } + } +} diff --git a/src/main/java/com/stripe/param/CustomerTaxExemptionRetrieveParams.java b/src/main/java/com/stripe/param/CustomerTaxExemptionRetrieveParams.java new file mode 100644 index 00000000000..da64a5ac8d2 --- /dev/null +++ b/src/main/java/com/stripe/param/CustomerTaxExemptionRetrieveParams.java @@ -0,0 +1,100 @@ +// File generated from our OpenAPI spec +package com.stripe.param; + +import com.google.gson.annotations.SerializedName; +import com.stripe.net.ApiRequestParams; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import lombok.EqualsAndHashCode; +import lombok.Getter; + +@Getter +@EqualsAndHashCode(callSuper = false) +public class CustomerTaxExemptionRetrieveParams extends ApiRequestParams { + /** Specifies which fields in the response should be expanded. */ + @SerializedName("expand") + List expand; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private CustomerTaxExemptionRetrieveParams(List expand, Map extraParams) { + this.expand = expand; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private List expand; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public CustomerTaxExemptionRetrieveParams build() { + return new CustomerTaxExemptionRetrieveParams(this.expand, this.extraParams); + } + + /** + * Add an element to `expand` list. A list is initialized for the first `add/addAll` call, and + * subsequent calls adds additional elements to the original list. See {@link + * CustomerTaxExemptionRetrieveParams#expand} for the field documentation. + */ + public Builder addExpand(String element) { + if (this.expand == null) { + this.expand = new ArrayList<>(); + } + this.expand.add(element); + return this; + } + + /** + * Add all elements to `expand` list. A list is initialized for the first `add/addAll` call, and + * subsequent calls adds additional elements to the original list. See {@link + * CustomerTaxExemptionRetrieveParams#expand} for the field documentation. + */ + public Builder addAllExpand(List elements) { + if (this.expand == null) { + this.expand = new ArrayList<>(); + } + this.expand.addAll(elements); + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * CustomerTaxExemptionRetrieveParams#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link CustomerTaxExemptionRetrieveParams#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } +} diff --git a/src/main/java/com/stripe/param/InvoiceCreateParams.java b/src/main/java/com/stripe/param/InvoiceCreateParams.java index 2c7842f1d4b..f29a8923752 100644 --- a/src/main/java/com/stripe/param/InvoiceCreateParams.java +++ b/src/main/java/com/stripe/param/InvoiceCreateParams.java @@ -2288,6 +2288,13 @@ public static class PaymentMethodOptions { @SerializedName("bancontact") Object bancontact; + /** + * If paying by {@code billie}, this sub-hash contains details about the Billie payment method + * options to pass to the invoice’s PaymentIntent. + */ + @SerializedName("billie") + Object billie; + /** * If paying by {@code bizum}, this sub-hash contains details about the Bizum payment method * options to pass to the invoice’s PaymentIntent. @@ -2391,6 +2398,7 @@ public static class PaymentMethodOptions { private PaymentMethodOptions( Object acssDebit, Object bancontact, + Object billie, Object bizum, Object blik, Object card, @@ -2407,6 +2415,7 @@ private PaymentMethodOptions( Object wechatPay) { this.acssDebit = acssDebit; this.bancontact = bancontact; + this.billie = billie; this.bizum = bizum; this.blik = blik; this.card = card; @@ -2432,6 +2441,8 @@ public static class Builder { private Object bancontact; + private Object billie; + private Object bizum; private Object blik; @@ -2465,6 +2476,7 @@ public InvoiceCreateParams.PaymentSettings.PaymentMethodOptions build() { return new InvoiceCreateParams.PaymentSettings.PaymentMethodOptions( this.acssDebit, this.bancontact, + this.billie, this.bizum, this.blik, this.card, @@ -2519,6 +2531,25 @@ public Builder setBancontact(EmptyParam bancontact) { return this; } + /** + * If paying by {@code billie}, this sub-hash contains details about the Billie payment + * method options to pass to the invoice’s PaymentIntent. + */ + public Builder setBillie( + InvoiceCreateParams.PaymentSettings.PaymentMethodOptions.Billie billie) { + this.billie = billie; + return this; + } + + /** + * If paying by {@code billie}, this sub-hash contains details about the Billie payment + * method options to pass to the invoice’s PaymentIntent. + */ + public Builder setBillie(EmptyParam billie) { + this.billie = billie; + return this; + } + /** * If paying by {@code bizum}, this sub-hash contains details about the Bizum payment method * options to pass to the invoice’s PaymentIntent. @@ -3104,6 +3135,467 @@ public enum PreferredLanguage implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Billie { + /** Registration details about the buyer's organization. */ + @SerializedName("company_details") + Object companyDetails; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** An identifier or reference that this payment corresponds to. */ + @SerializedName("reference") + String reference; + + private Billie(Object companyDetails, Map extraParams, String reference) { + this.companyDetails = companyDetails; + this.extraParams = extraParams; + this.reference = reference; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object companyDetails; + + private Map extraParams; + + private String reference; + + /** Finalize and obtain parameter instance from this builder. */ + public InvoiceCreateParams.PaymentSettings.PaymentMethodOptions.Billie build() { + return new InvoiceCreateParams.PaymentSettings.PaymentMethodOptions.Billie( + this.companyDetails, this.extraParams, this.reference); + } + + /** Registration details about the buyer's organization. */ + public Builder setCompanyDetails( + InvoiceCreateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails + companyDetails) { + this.companyDetails = companyDetails; + return this; + } + + /** Registration details about the buyer's organization. */ + public Builder setCompanyDetails(EmptyParam companyDetails) { + this.companyDetails = companyDetails; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * InvoiceCreateParams.PaymentSettings.PaymentMethodOptions.Billie#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * InvoiceCreateParams.PaymentSettings.PaymentMethodOptions.Billie#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** An identifier or reference that this payment corresponds to. */ + public Builder setReference(String reference) { + this.reference = reference; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CompanyDetails { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** The address the company or entity is registered with. */ + @SerializedName("registered_address") + Object registeredAddress; + + /** Company or entity name. */ + @SerializedName("registered_name") + String registeredName; + + /** The official registration number for the given registration type. */ + @SerializedName("registration_number") + String registrationNumber; + + /** Type of registration the company or entity holds in their registered country. */ + @SerializedName("registration_type") + ApiRequestParams.EnumParam registrationType; + + /** VAT ID number. */ + @SerializedName("vat") + String vat; + + private CompanyDetails( + Map extraParams, + Object registeredAddress, + String registeredName, + String registrationNumber, + ApiRequestParams.EnumParam registrationType, + String vat) { + this.extraParams = extraParams; + this.registeredAddress = registeredAddress; + this.registeredName = registeredName; + this.registrationNumber = registrationNumber; + this.registrationType = registrationType; + this.vat = vat; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Object registeredAddress; + + private String registeredName; + + private String registrationNumber; + + private ApiRequestParams.EnumParam registrationType; + + private String vat; + + /** Finalize and obtain parameter instance from this builder. */ + public InvoiceCreateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails + build() { + return new InvoiceCreateParams.PaymentSettings.PaymentMethodOptions.Billie + .CompanyDetails( + this.extraParams, + this.registeredAddress, + this.registeredName, + this.registrationNumber, + this.registrationType, + this.vat); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * InvoiceCreateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * InvoiceCreateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** The address the company or entity is registered with. */ + public Builder setRegisteredAddress( + InvoiceCreateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails + .RegisteredAddress + registeredAddress) { + this.registeredAddress = registeredAddress; + return this; + } + + /** The address the company or entity is registered with. */ + public Builder setRegisteredAddress(EmptyParam registeredAddress) { + this.registeredAddress = registeredAddress; + return this; + } + + /** Company or entity name. */ + public Builder setRegisteredName(String registeredName) { + this.registeredName = registeredName; + return this; + } + + /** The official registration number for the given registration type. */ + public Builder setRegistrationNumber(String registrationNumber) { + this.registrationNumber = registrationNumber; + return this; + } + + /** Type of registration the company or entity holds in their registered country. */ + public Builder setRegistrationType( + InvoiceCreateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails + .RegistrationType + registrationType) { + this.registrationType = registrationType; + return this; + } + + /** Type of registration the company or entity holds in their registered country. */ + public Builder setRegistrationType(EmptyParam registrationType) { + this.registrationType = registrationType; + return this; + } + + /** VAT ID number. */ + public Builder setVat(String vat) { + this.vat = vat; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class RegisteredAddress { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; + + /** Two-letter country code. */ + @SerializedName("country") + String country; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Address line 1 (for example, street, PO Box, or company name). */ + @SerializedName("line1") + String line1; + + /** Address line 2 (for example, apartment, suite, unit, or building). */ + @SerializedName("line2") + String line2; + + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; + + /** State, county, province, or region. */ + @SerializedName("state") + String state; + + private RegisteredAddress( + String city, + String country, + Map extraParams, + String line1, + String line2, + String postalCode, + String state) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String city; + + private String country; + + private Map extraParams; + + private String line1; + + private String line2; + + private String postalCode; + + private String state; + + /** Finalize and obtain parameter instance from this builder. */ + public InvoiceCreateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails + .RegisteredAddress + build() { + return new InvoiceCreateParams.PaymentSettings.PaymentMethodOptions.Billie + .CompanyDetails.RegisteredAddress( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state); + } + + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } + + /** Two-letter country code. */ + public Builder setCountry(String country) { + this.country = country; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * InvoiceCreateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails.RegisteredAddress#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * InvoiceCreateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails.RegisteredAddress#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Address line 1 (for example, street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } + + /** Address line 2 (for example, apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } + + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } + + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } + } + } + + public enum RegistrationType implements ApiRequestParams.EnumParam { + @SerializedName("ch_ein") + CH_EIN("ch_ein"), + + @SerializedName("de_hrb") + DE_HRB("de_hrb"), + + @SerializedName("dk_cvr") + DK_CVR("dk_cvr"), + + @SerializedName("es_cif") + ES_CIF("es_cif"), + + @SerializedName("fi_tunnus") + FI_TUNNUS("fi_tunnus"), + + @SerializedName("fr_siren") + FR_SIREN("fr_siren"), + + @SerializedName("fr_siret") + FR_SIRET("fr_siret"), + + @SerializedName("it_rea") + IT_REA("it_rea"), + + @SerializedName("nl_kvk") + NL_KVK("nl_kvk"), + + @SerializedName("no_org_number") + NO_ORG_NUMBER("no_org_number"), + + @SerializedName("no_pno") + NO_PNO("no_pno"), + + @SerializedName("se_org_number") + SE_ORG_NUMBER("se_org_number"), + + @SerializedName("se_pno") + SE_PNO("se_pno"), + + @SerializedName("uk_crn") + UK_CRN("uk_crn"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + RegistrationType(String value) { + this.value = value; + } + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Bizum { diff --git a/src/main/java/com/stripe/param/InvoiceCreatePreviewParams.java b/src/main/java/com/stripe/param/InvoiceCreatePreviewParams.java index 8eb3adb92c4..9ee267e0457 100644 --- a/src/main/java/com/stripe/param/InvoiceCreatePreviewParams.java +++ b/src/main/java/com/stripe/param/InvoiceCreatePreviewParams.java @@ -10626,7 +10626,10 @@ public static class BillingSchedule { @SerializedName("applies_to") List appliesTo; - /** The end date for the billing schedule. */ + /** + * The end date for the billing schedule. You must not set this earlier than current period + * end for every applicable subscription item. + */ @SerializedName("bill_until") BillUntil billUntil; @@ -10707,7 +10710,10 @@ public Builder addAllAppliesTo( return this; } - /** The end date for the billing schedule. */ + /** + * The end date for the billing schedule. You must not set this earlier than current period + * end for every applicable subscription item. + */ public Builder setBillUntil( InvoiceCreatePreviewParams.ScheduleDetails.BillingSchedule.BillUntil billUntil) { this.billUntil = billUntil; @@ -18269,7 +18275,10 @@ public static class BillingSchedule { @SerializedName("applies_to") List appliesTo; - /** The end date for the billing schedule. */ + /** + * The end date for the billing schedule. You must not set this earlier than current period + * end for every applicable subscription item. + */ @SerializedName("bill_until") BillUntil billUntil; @@ -18351,7 +18360,10 @@ public Builder addAllAppliesTo( return this; } - /** The end date for the billing schedule. */ + /** + * The end date for the billing schedule. You must not set this earlier than current period + * end for every applicable subscription item. + */ public Builder setBillUntil( InvoiceCreatePreviewParams.SubscriptionDetails.BillingSchedule.BillUntil billUntil) { this.billUntil = billUntil; diff --git a/src/main/java/com/stripe/param/InvoiceUpdateParams.java b/src/main/java/com/stripe/param/InvoiceUpdateParams.java index b60a8109868..94139c8127e 100644 --- a/src/main/java/com/stripe/param/InvoiceUpdateParams.java +++ b/src/main/java/com/stripe/param/InvoiceUpdateParams.java @@ -2190,6 +2190,13 @@ public static class PaymentMethodOptions { @SerializedName("bancontact") Object bancontact; + /** + * If paying by {@code billie}, this sub-hash contains details about the Billie payment method + * options to pass to the invoice’s PaymentIntent. + */ + @SerializedName("billie") + Object billie; + /** * If paying by {@code bizum}, this sub-hash contains details about the Bizum payment method * options to pass to the invoice’s PaymentIntent. @@ -2293,6 +2300,7 @@ public static class PaymentMethodOptions { private PaymentMethodOptions( Object acssDebit, Object bancontact, + Object billie, Object bizum, Object blik, Object card, @@ -2309,6 +2317,7 @@ private PaymentMethodOptions( Object wechatPay) { this.acssDebit = acssDebit; this.bancontact = bancontact; + this.billie = billie; this.bizum = bizum; this.blik = blik; this.card = card; @@ -2334,6 +2343,8 @@ public static class Builder { private Object bancontact; + private Object billie; + private Object bizum; private Object blik; @@ -2367,6 +2378,7 @@ public InvoiceUpdateParams.PaymentSettings.PaymentMethodOptions build() { return new InvoiceUpdateParams.PaymentSettings.PaymentMethodOptions( this.acssDebit, this.bancontact, + this.billie, this.bizum, this.blik, this.card, @@ -2421,6 +2433,25 @@ public Builder setBancontact(EmptyParam bancontact) { return this; } + /** + * If paying by {@code billie}, this sub-hash contains details about the Billie payment + * method options to pass to the invoice’s PaymentIntent. + */ + public Builder setBillie( + InvoiceUpdateParams.PaymentSettings.PaymentMethodOptions.Billie billie) { + this.billie = billie; + return this; + } + + /** + * If paying by {@code billie}, this sub-hash contains details about the Billie payment + * method options to pass to the invoice’s PaymentIntent. + */ + public Builder setBillie(EmptyParam billie) { + this.billie = billie; + return this; + } + /** * If paying by {@code bizum}, this sub-hash contains details about the Bizum payment method * options to pass to the invoice’s PaymentIntent. @@ -3006,6 +3037,527 @@ public enum PreferredLanguage implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Billie { + /** Registration details about the buyer's organization. */ + @SerializedName("company_details") + Object companyDetails; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** An identifier or reference that this payment corresponds to. */ + @SerializedName("reference") + Object reference; + + private Billie(Object companyDetails, Map extraParams, Object reference) { + this.companyDetails = companyDetails; + this.extraParams = extraParams; + this.reference = reference; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object companyDetails; + + private Map extraParams; + + private Object reference; + + /** Finalize and obtain parameter instance from this builder. */ + public InvoiceUpdateParams.PaymentSettings.PaymentMethodOptions.Billie build() { + return new InvoiceUpdateParams.PaymentSettings.PaymentMethodOptions.Billie( + this.companyDetails, this.extraParams, this.reference); + } + + /** Registration details about the buyer's organization. */ + public Builder setCompanyDetails( + InvoiceUpdateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails + companyDetails) { + this.companyDetails = companyDetails; + return this; + } + + /** Registration details about the buyer's organization. */ + public Builder setCompanyDetails(EmptyParam companyDetails) { + this.companyDetails = companyDetails; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * InvoiceUpdateParams.PaymentSettings.PaymentMethodOptions.Billie#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * InvoiceUpdateParams.PaymentSettings.PaymentMethodOptions.Billie#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** An identifier or reference that this payment corresponds to. */ + public Builder setReference(String reference) { + this.reference = reference; + return this; + } + + /** An identifier or reference that this payment corresponds to. */ + public Builder setReference(EmptyParam reference) { + this.reference = reference; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CompanyDetails { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** The address the company or entity is registered with. */ + @SerializedName("registered_address") + Object registeredAddress; + + /** Company or entity name. */ + @SerializedName("registered_name") + Object registeredName; + + /** The official registration number for the given registration type. */ + @SerializedName("registration_number") + Object registrationNumber; + + /** Type of registration the company or entity holds in their registered country. */ + @SerializedName("registration_type") + ApiRequestParams.EnumParam registrationType; + + /** VAT ID number. */ + @SerializedName("vat") + Object vat; + + private CompanyDetails( + Map extraParams, + Object registeredAddress, + Object registeredName, + Object registrationNumber, + ApiRequestParams.EnumParam registrationType, + Object vat) { + this.extraParams = extraParams; + this.registeredAddress = registeredAddress; + this.registeredName = registeredName; + this.registrationNumber = registrationNumber; + this.registrationType = registrationType; + this.vat = vat; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Object registeredAddress; + + private Object registeredName; + + private Object registrationNumber; + + private ApiRequestParams.EnumParam registrationType; + + private Object vat; + + /** Finalize and obtain parameter instance from this builder. */ + public InvoiceUpdateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails + build() { + return new InvoiceUpdateParams.PaymentSettings.PaymentMethodOptions.Billie + .CompanyDetails( + this.extraParams, + this.registeredAddress, + this.registeredName, + this.registrationNumber, + this.registrationType, + this.vat); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * InvoiceUpdateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * InvoiceUpdateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** The address the company or entity is registered with. */ + public Builder setRegisteredAddress( + InvoiceUpdateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails + .RegisteredAddress + registeredAddress) { + this.registeredAddress = registeredAddress; + return this; + } + + /** The address the company or entity is registered with. */ + public Builder setRegisteredAddress(EmptyParam registeredAddress) { + this.registeredAddress = registeredAddress; + return this; + } + + /** Company or entity name. */ + public Builder setRegisteredName(String registeredName) { + this.registeredName = registeredName; + return this; + } + + /** Company or entity name. */ + public Builder setRegisteredName(EmptyParam registeredName) { + this.registeredName = registeredName; + return this; + } + + /** The official registration number for the given registration type. */ + public Builder setRegistrationNumber(String registrationNumber) { + this.registrationNumber = registrationNumber; + return this; + } + + /** The official registration number for the given registration type. */ + public Builder setRegistrationNumber(EmptyParam registrationNumber) { + this.registrationNumber = registrationNumber; + return this; + } + + /** Type of registration the company or entity holds in their registered country. */ + public Builder setRegistrationType( + InvoiceUpdateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails + .RegistrationType + registrationType) { + this.registrationType = registrationType; + return this; + } + + /** Type of registration the company or entity holds in their registered country. */ + public Builder setRegistrationType(EmptyParam registrationType) { + this.registrationType = registrationType; + return this; + } + + /** VAT ID number. */ + public Builder setVat(String vat) { + this.vat = vat; + return this; + } + + /** VAT ID number. */ + public Builder setVat(EmptyParam vat) { + this.vat = vat; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class RegisteredAddress { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + Object city; + + /** Two-letter country code. */ + @SerializedName("country") + Object country; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Address line 1 (for example, street, PO Box, or company name). */ + @SerializedName("line1") + Object line1; + + /** Address line 2 (for example, apartment, suite, unit, or building). */ + @SerializedName("line2") + Object line2; + + /** ZIP or postal code. */ + @SerializedName("postal_code") + Object postalCode; + + /** State, county, province, or region. */ + @SerializedName("state") + Object state; + + private RegisteredAddress( + Object city, + Object country, + Map extraParams, + Object line1, + Object line2, + Object postalCode, + Object state) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object city; + + private Object country; + + private Map extraParams; + + private Object line1; + + private Object line2; + + private Object postalCode; + + private Object state; + + /** Finalize and obtain parameter instance from this builder. */ + public InvoiceUpdateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails + .RegisteredAddress + build() { + return new InvoiceUpdateParams.PaymentSettings.PaymentMethodOptions.Billie + .CompanyDetails.RegisteredAddress( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state); + } + + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } + + /** City, district, suburb, town, or village. */ + public Builder setCity(EmptyParam city) { + this.city = city; + return this; + } + + /** Two-letter country code. */ + public Builder setCountry(String country) { + this.country = country; + return this; + } + + /** Two-letter country code. */ + public Builder setCountry(EmptyParam country) { + this.country = country; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * InvoiceUpdateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails.RegisteredAddress#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * InvoiceUpdateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails.RegisteredAddress#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Address line 1 (for example, street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } + + /** Address line 1 (for example, street, PO Box, or company name). */ + public Builder setLine1(EmptyParam line1) { + this.line1 = line1; + return this; + } + + /** Address line 2 (for example, apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } + + /** Address line 2 (for example, apartment, suite, unit, or building). */ + public Builder setLine2(EmptyParam line2) { + this.line2 = line2; + return this; + } + + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } + + /** ZIP or postal code. */ + public Builder setPostalCode(EmptyParam postalCode) { + this.postalCode = postalCode; + return this; + } + + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } + + /** State, county, province, or region. */ + public Builder setState(EmptyParam state) { + this.state = state; + return this; + } + } + } + + public enum RegistrationType implements ApiRequestParams.EnumParam { + @SerializedName("ch_ein") + CH_EIN("ch_ein"), + + @SerializedName("de_hrb") + DE_HRB("de_hrb"), + + @SerializedName("dk_cvr") + DK_CVR("dk_cvr"), + + @SerializedName("es_cif") + ES_CIF("es_cif"), + + @SerializedName("fi_tunnus") + FI_TUNNUS("fi_tunnus"), + + @SerializedName("fr_siren") + FR_SIREN("fr_siren"), + + @SerializedName("fr_siret") + FR_SIRET("fr_siret"), + + @SerializedName("it_rea") + IT_REA("it_rea"), + + @SerializedName("nl_kvk") + NL_KVK("nl_kvk"), + + @SerializedName("no_org_number") + NO_ORG_NUMBER("no_org_number"), + + @SerializedName("no_pno") + NO_PNO("no_pno"), + + @SerializedName("se_org_number") + SE_ORG_NUMBER("se_org_number"), + + @SerializedName("se_pno") + SE_PNO("se_pno"), + + @SerializedName("uk_crn") + UK_CRN("uk_crn"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + RegistrationType(String value) { + this.value = value; + } + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Bizum { diff --git a/src/main/java/com/stripe/param/PaymentAttemptRecordReportAuthorizedParams.java b/src/main/java/com/stripe/param/PaymentAttemptRecordReportAuthorizedParams.java index 7f6e7ac5860..9cf10081ca5 100644 --- a/src/main/java/com/stripe/param/PaymentAttemptRecordReportAuthorizedParams.java +++ b/src/main/java/com/stripe/param/PaymentAttemptRecordReportAuthorizedParams.java @@ -40,6 +40,14 @@ public class PaymentAttemptRecordReportAuthorizedParams extends ApiRequestParams @SerializedName("metadata") Object metadata; + /** Payment evaluations associated with this reported payment. */ + @SerializedName("payment_evaluations") + List paymentEvaluations; + + /** Information about the Payment Method debited for this payment. */ + @SerializedName("payment_method_details") + PaymentMethodDetails paymentMethodDetails; + /** Processor information for this payment. */ @SerializedName("processor_details") ProcessorDetails processorDetails; @@ -49,11 +57,15 @@ private PaymentAttemptRecordReportAuthorizedParams( List expand, Map extraParams, Object metadata, + List paymentEvaluations, + PaymentMethodDetails paymentMethodDetails, ProcessorDetails processorDetails) { this.authorizedAt = authorizedAt; this.expand = expand; this.extraParams = extraParams; this.metadata = metadata; + this.paymentEvaluations = paymentEvaluations; + this.paymentMethodDetails = paymentMethodDetails; this.processorDetails = processorDetails; } @@ -70,12 +82,22 @@ public static class Builder { private Object metadata; + private List paymentEvaluations; + + private PaymentMethodDetails paymentMethodDetails; + private ProcessorDetails processorDetails; /** Finalize and obtain parameter instance from this builder. */ public PaymentAttemptRecordReportAuthorizedParams build() { return new PaymentAttemptRecordReportAuthorizedParams( - this.authorizedAt, this.expand, this.extraParams, this.metadata, this.processorDetails); + this.authorizedAt, + this.expand, + this.extraParams, + this.metadata, + this.paymentEvaluations, + this.paymentMethodDetails, + this.processorDetails); } /** When the reported payment was authorized. Measured in seconds since the Unix epoch. */ @@ -187,6 +209,40 @@ public Builder setMetadata(Map metadata) { return this; } + /** + * Add an element to `paymentEvaluations` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * PaymentAttemptRecordReportAuthorizedParams#paymentEvaluations} for the field documentation. + */ + public Builder addPaymentEvaluation(String element) { + if (this.paymentEvaluations == null) { + this.paymentEvaluations = new ArrayList<>(); + } + this.paymentEvaluations.add(element); + return this; + } + + /** + * Add all elements to `paymentEvaluations` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. See + * {@link PaymentAttemptRecordReportAuthorizedParams#paymentEvaluations} for the field + * documentation. + */ + public Builder addAllPaymentEvaluation(List elements) { + if (this.paymentEvaluations == null) { + this.paymentEvaluations = new ArrayList<>(); + } + this.paymentEvaluations.addAll(elements); + return this; + } + + /** Information about the Payment Method debited for this payment. */ + public Builder setPaymentMethodDetails( + PaymentAttemptRecordReportAuthorizedParams.PaymentMethodDetails paymentMethodDetails) { + this.paymentMethodDetails = paymentMethodDetails; + return this; + } + /** Processor information for this payment. */ public Builder setProcessorDetails( PaymentAttemptRecordReportAuthorizedParams.ProcessorDetails processorDetails) { @@ -195,6 +251,368 @@ public Builder setProcessorDetails( } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PaymentMethodDetails { + /** Information about the card payment method used to make this payment. */ + @SerializedName("card") + Card card; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. The type of the payment method details. An additional hash is + * included on the payment_method_details with a name matching this value. It contains + * additional information specific to the type. + */ + @SerializedName("type") + Type type; + + private PaymentMethodDetails(Card card, Map extraParams, Type type) { + this.card = card; + this.extraParams = extraParams; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Card card; + + private Map extraParams; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentAttemptRecordReportAuthorizedParams.PaymentMethodDetails build() { + return new PaymentAttemptRecordReportAuthorizedParams.PaymentMethodDetails( + this.card, this.extraParams, this.type); + } + + /** Information about the card payment method used to make this payment. */ + public Builder setCard( + PaymentAttemptRecordReportAuthorizedParams.PaymentMethodDetails.Card card) { + this.card = card; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PaymentAttemptRecordReportAuthorizedParams.PaymentMethodDetails#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PaymentAttemptRecordReportAuthorizedParams.PaymentMethodDetails#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. The type of the payment method details. An additional hash is + * included on the payment_method_details with a name matching this value. It contains + * additional information specific to the type. + */ + public Builder setType( + PaymentAttemptRecordReportAuthorizedParams.PaymentMethodDetails.Type type) { + this.type = type; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Card { + /** Verification checks performed on the card. */ + @SerializedName("checks") + Checks checks; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private Card(Checks checks, Map extraParams) { + this.checks = checks; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Checks checks; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentAttemptRecordReportAuthorizedParams.PaymentMethodDetails.Card build() { + return new PaymentAttemptRecordReportAuthorizedParams.PaymentMethodDetails.Card( + this.checks, this.extraParams); + } + + /** Verification checks performed on the card. */ + public Builder setChecks( + PaymentAttemptRecordReportAuthorizedParams.PaymentMethodDetails.Card.Checks checks) { + this.checks = checks; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentAttemptRecordReportAuthorizedParams.PaymentMethodDetails.Card#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentAttemptRecordReportAuthorizedParams.PaymentMethodDetails.Card#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Checks { + /** The result of the check on the cardholder's address line 1. */ + @SerializedName("address_line1_check") + AddressLine1Check addressLine1Check; + + /** The result of the check on the cardholder's postal code. */ + @SerializedName("address_postal_code_check") + AddressPostalCodeCheck addressPostalCodeCheck; + + /** The result of the check on the card's CVC. */ + @SerializedName("cvc_check") + CvcCheck cvcCheck; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private Checks( + AddressLine1Check addressLine1Check, + AddressPostalCodeCheck addressPostalCodeCheck, + CvcCheck cvcCheck, + Map extraParams) { + this.addressLine1Check = addressLine1Check; + this.addressPostalCodeCheck = addressPostalCodeCheck; + this.cvcCheck = cvcCheck; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private AddressLine1Check addressLine1Check; + + private AddressPostalCodeCheck addressPostalCodeCheck; + + private CvcCheck cvcCheck; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentAttemptRecordReportAuthorizedParams.PaymentMethodDetails.Card.Checks + build() { + return new PaymentAttemptRecordReportAuthorizedParams.PaymentMethodDetails.Card.Checks( + this.addressLine1Check, + this.addressPostalCodeCheck, + this.cvcCheck, + this.extraParams); + } + + /** The result of the check on the cardholder's address line 1. */ + public Builder setAddressLine1Check( + PaymentAttemptRecordReportAuthorizedParams.PaymentMethodDetails.Card.Checks + .AddressLine1Check + addressLine1Check) { + this.addressLine1Check = addressLine1Check; + return this; + } + + /** The result of the check on the cardholder's postal code. */ + public Builder setAddressPostalCodeCheck( + PaymentAttemptRecordReportAuthorizedParams.PaymentMethodDetails.Card.Checks + .AddressPostalCodeCheck + addressPostalCodeCheck) { + this.addressPostalCodeCheck = addressPostalCodeCheck; + return this; + } + + /** The result of the check on the card's CVC. */ + public Builder setCvcCheck( + PaymentAttemptRecordReportAuthorizedParams.PaymentMethodDetails.Card.Checks.CvcCheck + cvcCheck) { + this.cvcCheck = cvcCheck; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentAttemptRecordReportAuthorizedParams.PaymentMethodDetails.Card.Checks#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentAttemptRecordReportAuthorizedParams.PaymentMethodDetails.Card.Checks#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + public enum AddressLine1Check implements ApiRequestParams.EnumParam { + @SerializedName("fail") + FAIL("fail"), + + @SerializedName("pass") + PASS("pass"), + + @SerializedName("unavailable") + UNAVAILABLE("unavailable"), + + @SerializedName("unchecked") + UNCHECKED("unchecked"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + AddressLine1Check(String value) { + this.value = value; + } + } + + public enum AddressPostalCodeCheck implements ApiRequestParams.EnumParam { + @SerializedName("fail") + FAIL("fail"), + + @SerializedName("pass") + PASS("pass"), + + @SerializedName("unavailable") + UNAVAILABLE("unavailable"), + + @SerializedName("unchecked") + UNCHECKED("unchecked"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + AddressPostalCodeCheck(String value) { + this.value = value; + } + } + + public enum CvcCheck implements ApiRequestParams.EnumParam { + @SerializedName("fail") + FAIL("fail"), + + @SerializedName("pass") + PASS("pass"), + + @SerializedName("unavailable") + UNAVAILABLE("unavailable"), + + @SerializedName("unchecked") + UNCHECKED("unchecked"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CvcCheck(String value) { + this.value = value; + } + } + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("card") + CARD("card"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class ProcessorDetails { diff --git a/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java b/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java index 342ac61bcbe..9f7ef6389dc 100644 --- a/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java @@ -23880,9 +23880,6 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), - @SerializedName("sequra") - SEQURA("sequra"), - @SerializedName("shopeepay") SHOPEEPAY("shopeepay"), @@ -28021,6 +28018,10 @@ public static class Billie { @SerializedName("capture_method") ApiRequestParams.EnumParam captureMethod; + /** Registration details about the buyer's organization. */ + @SerializedName("company_details") + Object companyDetails; + /** * 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. @@ -28030,9 +28031,19 @@ public static class Billie { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private Billie(ApiRequestParams.EnumParam captureMethod, Map extraParams) { + /** An identifier or reference that this payment corresponds to. */ + @SerializedName("reference") + String reference; + + private Billie( + ApiRequestParams.EnumParam captureMethod, + Object companyDetails, + Map extraParams, + String reference) { this.captureMethod = captureMethod; + this.companyDetails = companyDetails; this.extraParams = extraParams; + this.reference = reference; } public static Builder builder() { @@ -28042,12 +28053,16 @@ public static Builder builder() { public static class Builder { private ApiRequestParams.EnumParam captureMethod; + private Object companyDetails; + private Map extraParams; + private String reference; + /** Finalize and obtain parameter instance from this builder. */ public PaymentIntentConfirmParams.PaymentMethodOptions.Billie build() { return new PaymentIntentConfirmParams.PaymentMethodOptions.Billie( - this.captureMethod, this.extraParams); + this.captureMethod, this.companyDetails, this.extraParams, this.reference); } /** @@ -28081,6 +28096,19 @@ public Builder setCaptureMethod(EmptyParam captureMethod) { return this; } + /** Registration details about the buyer's organization. */ + public Builder setCompanyDetails( + PaymentIntentConfirmParams.PaymentMethodOptions.Billie.CompanyDetails companyDetails) { + this.companyDetails = companyDetails; + return this; + } + + /** Registration details about the buyer's organization. */ + public Builder setCompanyDetails(EmptyParam companyDetails) { + this.companyDetails = companyDetails; + return this; + } + /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original @@ -28108,6 +28136,374 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } + + /** An identifier or reference that this payment corresponds to. */ + public Builder setReference(String reference) { + this.reference = reference; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CompanyDetails { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** The address the company or entity is registered with. */ + @SerializedName("registered_address") + Object registeredAddress; + + /** Company or entity name. */ + @SerializedName("registered_name") + String registeredName; + + /** The official registration number for the given registration type. */ + @SerializedName("registration_number") + String registrationNumber; + + /** Type of registration the company or entity holds in their registered country. */ + @SerializedName("registration_type") + ApiRequestParams.EnumParam registrationType; + + /** VAT id number. */ + @SerializedName("vat") + String vat; + + private CompanyDetails( + Map extraParams, + Object registeredAddress, + String registeredName, + String registrationNumber, + ApiRequestParams.EnumParam registrationType, + String vat) { + this.extraParams = extraParams; + this.registeredAddress = registeredAddress; + this.registeredName = registeredName; + this.registrationNumber = registrationNumber; + this.registrationType = registrationType; + this.vat = vat; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Object registeredAddress; + + private String registeredName; + + private String registrationNumber; + + private ApiRequestParams.EnumParam registrationType; + + private String vat; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentConfirmParams.PaymentMethodOptions.Billie.CompanyDetails build() { + return new PaymentIntentConfirmParams.PaymentMethodOptions.Billie.CompanyDetails( + this.extraParams, + this.registeredAddress, + this.registeredName, + this.registrationNumber, + this.registrationType, + this.vat); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentIntentConfirmParams.PaymentMethodOptions.Billie.CompanyDetails#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentIntentConfirmParams.PaymentMethodOptions.Billie.CompanyDetails#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** The address the company or entity is registered with. */ + public Builder setRegisteredAddress( + PaymentIntentConfirmParams.PaymentMethodOptions.Billie.CompanyDetails + .RegisteredAddress + registeredAddress) { + this.registeredAddress = registeredAddress; + return this; + } + + /** The address the company or entity is registered with. */ + public Builder setRegisteredAddress(EmptyParam registeredAddress) { + this.registeredAddress = registeredAddress; + return this; + } + + /** Company or entity name. */ + public Builder setRegisteredName(String registeredName) { + this.registeredName = registeredName; + return this; + } + + /** The official registration number for the given registration type. */ + public Builder setRegistrationNumber(String registrationNumber) { + this.registrationNumber = registrationNumber; + return this; + } + + /** Type of registration the company or entity holds in their registered country. */ + public Builder setRegistrationType( + PaymentIntentConfirmParams.PaymentMethodOptions.Billie.CompanyDetails.RegistrationType + registrationType) { + this.registrationType = registrationType; + return this; + } + + /** Type of registration the company or entity holds in their registered country. */ + public Builder setRegistrationType(EmptyParam registrationType) { + this.registrationType = registrationType; + return this; + } + + /** VAT id number. */ + public Builder setVat(String vat) { + this.vat = vat; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class RegisteredAddress { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; + + /** Two-letter country code. */ + @SerializedName("country") + String country; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + String line1; + + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + String line2; + + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; + + /** State, county, province, or region. */ + @SerializedName("state") + String state; + + private RegisteredAddress( + String city, + String country, + Map extraParams, + String line1, + String line2, + String postalCode, + String state) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String city; + + private String country; + + private Map extraParams; + + private String line1; + + private String line2; + + private String postalCode; + + private String state; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentConfirmParams.PaymentMethodOptions.Billie.CompanyDetails + .RegisteredAddress + build() { + return new PaymentIntentConfirmParams.PaymentMethodOptions.Billie.CompanyDetails + .RegisteredAddress( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state); + } + + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } + + /** Two-letter country code. */ + public Builder setCountry(String country) { + this.country = country; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * PaymentIntentConfirmParams.PaymentMethodOptions.Billie.CompanyDetails.RegisteredAddress#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * PaymentIntentConfirmParams.PaymentMethodOptions.Billie.CompanyDetails.RegisteredAddress#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } + + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } + + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } + + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } + } + } + + public enum RegistrationType implements ApiRequestParams.EnumParam { + @SerializedName("ch_ein") + CH_EIN("ch_ein"), + + @SerializedName("de_hrb") + DE_HRB("de_hrb"), + + @SerializedName("dk_cvr") + DK_CVR("dk_cvr"), + + @SerializedName("es_cif") + ES_CIF("es_cif"), + + @SerializedName("fi_tunnus") + FI_TUNNUS("fi_tunnus"), + + @SerializedName("fr_siren") + FR_SIREN("fr_siren"), + + @SerializedName("fr_siret") + FR_SIRET("fr_siret"), + + @SerializedName("it_rea") + IT_REA("it_rea"), + + @SerializedName("nl_kvk") + NL_KVK("nl_kvk"), + + @SerializedName("no_org_number") + NO_ORG_NUMBER("no_org_number"), + + @SerializedName("no_pno") + NO_PNO("no_pno"), + + @SerializedName("se_org_number") + SE_ORG_NUMBER("se_org_number"), + + @SerializedName("se_pno") + SE_PNO("se_pno"), + + @SerializedName("uk_crn") + UK_CRN("uk_crn"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + RegistrationType(String value) { + this.value = value; + } + } } public enum CaptureMethod implements ApiRequestParams.EnumParam { @@ -51980,9 +52376,6 @@ public enum ExcludedPaymentMethodType implements ApiRequestParams.EnumParam { @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), - @SerializedName("sequra") - SEQURA("sequra"), - @SerializedName("shopeepay") SHOPEEPAY("shopeepay"), diff --git a/src/main/java/com/stripe/param/PaymentIntentCreateParams.java b/src/main/java/com/stripe/param/PaymentIntentCreateParams.java index d8359cf2e59..fbc7e080fb9 100644 --- a/src/main/java/com/stripe/param/PaymentIntentCreateParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentCreateParams.java @@ -24367,9 +24367,6 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), - @SerializedName("sequra") - SEQURA("sequra"), - @SerializedName("shopeepay") SHOPEEPAY("shopeepay"), @@ -28502,6 +28499,10 @@ public static class Billie { @SerializedName("capture_method") ApiRequestParams.EnumParam captureMethod; + /** Registration details about the buyer's organization. */ + @SerializedName("company_details") + Object companyDetails; + /** * 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. @@ -28511,9 +28512,19 @@ public static class Billie { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private Billie(ApiRequestParams.EnumParam captureMethod, Map extraParams) { + /** An identifier or reference that this payment corresponds to. */ + @SerializedName("reference") + String reference; + + private Billie( + ApiRequestParams.EnumParam captureMethod, + Object companyDetails, + Map extraParams, + String reference) { this.captureMethod = captureMethod; + this.companyDetails = companyDetails; this.extraParams = extraParams; + this.reference = reference; } public static Builder builder() { @@ -28523,12 +28534,16 @@ public static Builder builder() { public static class Builder { private ApiRequestParams.EnumParam captureMethod; + private Object companyDetails; + private Map extraParams; + private String reference; + /** Finalize and obtain parameter instance from this builder. */ public PaymentIntentCreateParams.PaymentMethodOptions.Billie build() { return new PaymentIntentCreateParams.PaymentMethodOptions.Billie( - this.captureMethod, this.extraParams); + this.captureMethod, this.companyDetails, this.extraParams, this.reference); } /** @@ -28562,6 +28577,19 @@ public Builder setCaptureMethod(EmptyParam captureMethod) { return this; } + /** Registration details about the buyer's organization. */ + public Builder setCompanyDetails( + PaymentIntentCreateParams.PaymentMethodOptions.Billie.CompanyDetails companyDetails) { + this.companyDetails = companyDetails; + return this; + } + + /** Registration details about the buyer's organization. */ + public Builder setCompanyDetails(EmptyParam companyDetails) { + this.companyDetails = companyDetails; + return this; + } + /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original @@ -28589,6 +28617,373 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } + + /** An identifier or reference that this payment corresponds to. */ + public Builder setReference(String reference) { + this.reference = reference; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CompanyDetails { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** The address the company or entity is registered with. */ + @SerializedName("registered_address") + Object registeredAddress; + + /** Company or entity name. */ + @SerializedName("registered_name") + String registeredName; + + /** The official registration number for the given registration type. */ + @SerializedName("registration_number") + String registrationNumber; + + /** Type of registration the company or entity holds in their registered country. */ + @SerializedName("registration_type") + ApiRequestParams.EnumParam registrationType; + + /** VAT id number. */ + @SerializedName("vat") + String vat; + + private CompanyDetails( + Map extraParams, + Object registeredAddress, + String registeredName, + String registrationNumber, + ApiRequestParams.EnumParam registrationType, + String vat) { + this.extraParams = extraParams; + this.registeredAddress = registeredAddress; + this.registeredName = registeredName; + this.registrationNumber = registrationNumber; + this.registrationType = registrationType; + this.vat = vat; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Object registeredAddress; + + private String registeredName; + + private String registrationNumber; + + private ApiRequestParams.EnumParam registrationType; + + private String vat; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCreateParams.PaymentMethodOptions.Billie.CompanyDetails build() { + return new PaymentIntentCreateParams.PaymentMethodOptions.Billie.CompanyDetails( + this.extraParams, + this.registeredAddress, + this.registeredName, + this.registrationNumber, + this.registrationType, + this.vat); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentIntentCreateParams.PaymentMethodOptions.Billie.CompanyDetails#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentIntentCreateParams.PaymentMethodOptions.Billie.CompanyDetails#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** The address the company or entity is registered with. */ + public Builder setRegisteredAddress( + PaymentIntentCreateParams.PaymentMethodOptions.Billie.CompanyDetails.RegisteredAddress + registeredAddress) { + this.registeredAddress = registeredAddress; + return this; + } + + /** The address the company or entity is registered with. */ + public Builder setRegisteredAddress(EmptyParam registeredAddress) { + this.registeredAddress = registeredAddress; + return this; + } + + /** Company or entity name. */ + public Builder setRegisteredName(String registeredName) { + this.registeredName = registeredName; + return this; + } + + /** The official registration number for the given registration type. */ + public Builder setRegistrationNumber(String registrationNumber) { + this.registrationNumber = registrationNumber; + return this; + } + + /** Type of registration the company or entity holds in their registered country. */ + public Builder setRegistrationType( + PaymentIntentCreateParams.PaymentMethodOptions.Billie.CompanyDetails.RegistrationType + registrationType) { + this.registrationType = registrationType; + return this; + } + + /** Type of registration the company or entity holds in their registered country. */ + public Builder setRegistrationType(EmptyParam registrationType) { + this.registrationType = registrationType; + return this; + } + + /** VAT id number. */ + public Builder setVat(String vat) { + this.vat = vat; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class RegisteredAddress { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; + + /** Two-letter country code. */ + @SerializedName("country") + String country; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + String line1; + + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + String line2; + + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; + + /** State, county, province, or region. */ + @SerializedName("state") + String state; + + private RegisteredAddress( + String city, + String country, + Map extraParams, + String line1, + String line2, + String postalCode, + String state) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String city; + + private String country; + + private Map extraParams; + + private String line1; + + private String line2; + + private String postalCode; + + private String state; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCreateParams.PaymentMethodOptions.Billie.CompanyDetails + .RegisteredAddress + build() { + return new PaymentIntentCreateParams.PaymentMethodOptions.Billie.CompanyDetails + .RegisteredAddress( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state); + } + + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } + + /** Two-letter country code. */ + public Builder setCountry(String country) { + this.country = country; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * PaymentIntentCreateParams.PaymentMethodOptions.Billie.CompanyDetails.RegisteredAddress#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * PaymentIntentCreateParams.PaymentMethodOptions.Billie.CompanyDetails.RegisteredAddress#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } + + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } + + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } + + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } + } + } + + public enum RegistrationType implements ApiRequestParams.EnumParam { + @SerializedName("ch_ein") + CH_EIN("ch_ein"), + + @SerializedName("de_hrb") + DE_HRB("de_hrb"), + + @SerializedName("dk_cvr") + DK_CVR("dk_cvr"), + + @SerializedName("es_cif") + ES_CIF("es_cif"), + + @SerializedName("fi_tunnus") + FI_TUNNUS("fi_tunnus"), + + @SerializedName("fr_siren") + FR_SIREN("fr_siren"), + + @SerializedName("fr_siret") + FR_SIRET("fr_siret"), + + @SerializedName("it_rea") + IT_REA("it_rea"), + + @SerializedName("nl_kvk") + NL_KVK("nl_kvk"), + + @SerializedName("no_org_number") + NO_ORG_NUMBER("no_org_number"), + + @SerializedName("no_pno") + NO_PNO("no_pno"), + + @SerializedName("se_org_number") + SE_ORG_NUMBER("se_org_number"), + + @SerializedName("se_pno") + SE_PNO("se_pno"), + + @SerializedName("uk_crn") + UK_CRN("uk_crn"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + RegistrationType(String value) { + this.value = value; + } + } } public enum CaptureMethod implements ApiRequestParams.EnumParam { @@ -52878,9 +53273,6 @@ public enum ExcludedPaymentMethodType implements ApiRequestParams.EnumParam { @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), - @SerializedName("sequra") - SEQURA("sequra"), - @SerializedName("shopeepay") SHOPEEPAY("shopeepay"), diff --git a/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java b/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java index 19c0f7a2831..b4d6ba51c03 100644 --- a/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java @@ -25542,9 +25542,6 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), - @SerializedName("sequra") - SEQURA("sequra"), - @SerializedName("shopeepay") SHOPEEPAY("shopeepay"), @@ -29734,6 +29731,10 @@ public static class Billie { @SerializedName("capture_method") ApiRequestParams.EnumParam captureMethod; + /** Registration details about the buyer's organization. */ + @SerializedName("company_details") + Object companyDetails; + /** * 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. @@ -29743,9 +29744,19 @@ public static class Billie { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private Billie(ApiRequestParams.EnumParam captureMethod, Map extraParams) { + /** An identifier or reference that this payment corresponds to. */ + @SerializedName("reference") + Object reference; + + private Billie( + ApiRequestParams.EnumParam captureMethod, + Object companyDetails, + Map extraParams, + Object reference) { this.captureMethod = captureMethod; + this.companyDetails = companyDetails; this.extraParams = extraParams; + this.reference = reference; } public static Builder builder() { @@ -29755,12 +29766,16 @@ public static Builder builder() { public static class Builder { private ApiRequestParams.EnumParam captureMethod; + private Object companyDetails; + private Map extraParams; + private Object reference; + /** Finalize and obtain parameter instance from this builder. */ public PaymentIntentUpdateParams.PaymentMethodOptions.Billie build() { return new PaymentIntentUpdateParams.PaymentMethodOptions.Billie( - this.captureMethod, this.extraParams); + this.captureMethod, this.companyDetails, this.extraParams, this.reference); } /** @@ -29794,6 +29809,19 @@ public Builder setCaptureMethod(EmptyParam captureMethod) { return this; } + /** Registration details about the buyer's organization. */ + public Builder setCompanyDetails( + PaymentIntentUpdateParams.PaymentMethodOptions.Billie.CompanyDetails companyDetails) { + this.companyDetails = companyDetails; + return this; + } + + /** Registration details about the buyer's organization. */ + public Builder setCompanyDetails(EmptyParam companyDetails) { + this.companyDetails = companyDetails; + return this; + } + /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original @@ -29821,6 +29849,433 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } + + /** An identifier or reference that this payment corresponds to. */ + public Builder setReference(String reference) { + this.reference = reference; + return this; + } + + /** An identifier or reference that this payment corresponds to. */ + public Builder setReference(EmptyParam reference) { + this.reference = reference; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CompanyDetails { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** The address the company or entity is registered with. */ + @SerializedName("registered_address") + Object registeredAddress; + + /** Company or entity name. */ + @SerializedName("registered_name") + Object registeredName; + + /** The official registration number for the given registration type. */ + @SerializedName("registration_number") + Object registrationNumber; + + /** Type of registration the company or entity holds in their registered country. */ + @SerializedName("registration_type") + ApiRequestParams.EnumParam registrationType; + + /** VAT id number. */ + @SerializedName("vat") + Object vat; + + private CompanyDetails( + Map extraParams, + Object registeredAddress, + Object registeredName, + Object registrationNumber, + ApiRequestParams.EnumParam registrationType, + Object vat) { + this.extraParams = extraParams; + this.registeredAddress = registeredAddress; + this.registeredName = registeredName; + this.registrationNumber = registrationNumber; + this.registrationType = registrationType; + this.vat = vat; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Object registeredAddress; + + private Object registeredName; + + private Object registrationNumber; + + private ApiRequestParams.EnumParam registrationType; + + private Object vat; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentUpdateParams.PaymentMethodOptions.Billie.CompanyDetails build() { + return new PaymentIntentUpdateParams.PaymentMethodOptions.Billie.CompanyDetails( + this.extraParams, + this.registeredAddress, + this.registeredName, + this.registrationNumber, + this.registrationType, + this.vat); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentIntentUpdateParams.PaymentMethodOptions.Billie.CompanyDetails#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentIntentUpdateParams.PaymentMethodOptions.Billie.CompanyDetails#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** The address the company or entity is registered with. */ + public Builder setRegisteredAddress( + PaymentIntentUpdateParams.PaymentMethodOptions.Billie.CompanyDetails.RegisteredAddress + registeredAddress) { + this.registeredAddress = registeredAddress; + return this; + } + + /** The address the company or entity is registered with. */ + public Builder setRegisteredAddress(EmptyParam registeredAddress) { + this.registeredAddress = registeredAddress; + return this; + } + + /** Company or entity name. */ + public Builder setRegisteredName(String registeredName) { + this.registeredName = registeredName; + return this; + } + + /** Company or entity name. */ + public Builder setRegisteredName(EmptyParam registeredName) { + this.registeredName = registeredName; + return this; + } + + /** The official registration number for the given registration type. */ + public Builder setRegistrationNumber(String registrationNumber) { + this.registrationNumber = registrationNumber; + return this; + } + + /** The official registration number for the given registration type. */ + public Builder setRegistrationNumber(EmptyParam registrationNumber) { + this.registrationNumber = registrationNumber; + return this; + } + + /** Type of registration the company or entity holds in their registered country. */ + public Builder setRegistrationType( + PaymentIntentUpdateParams.PaymentMethodOptions.Billie.CompanyDetails.RegistrationType + registrationType) { + this.registrationType = registrationType; + return this; + } + + /** Type of registration the company or entity holds in their registered country. */ + public Builder setRegistrationType(EmptyParam registrationType) { + this.registrationType = registrationType; + return this; + } + + /** VAT id number. */ + public Builder setVat(String vat) { + this.vat = vat; + return this; + } + + /** VAT id number. */ + public Builder setVat(EmptyParam vat) { + this.vat = vat; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class RegisteredAddress { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + Object city; + + /** Two-letter country code. */ + @SerializedName("country") + Object country; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + Object line1; + + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + Object line2; + + /** ZIP or postal code. */ + @SerializedName("postal_code") + Object postalCode; + + /** State, county, province, or region. */ + @SerializedName("state") + Object state; + + private RegisteredAddress( + Object city, + Object country, + Map extraParams, + Object line1, + Object line2, + Object postalCode, + Object state) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object city; + + private Object country; + + private Map extraParams; + + private Object line1; + + private Object line2; + + private Object postalCode; + + private Object state; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentUpdateParams.PaymentMethodOptions.Billie.CompanyDetails + .RegisteredAddress + build() { + return new PaymentIntentUpdateParams.PaymentMethodOptions.Billie.CompanyDetails + .RegisteredAddress( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state); + } + + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } + + /** City, district, suburb, town, or village. */ + public Builder setCity(EmptyParam city) { + this.city = city; + return this; + } + + /** Two-letter country code. */ + public Builder setCountry(String country) { + this.country = country; + return this; + } + + /** Two-letter country code. */ + public Builder setCountry(EmptyParam country) { + this.country = country; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * PaymentIntentUpdateParams.PaymentMethodOptions.Billie.CompanyDetails.RegisteredAddress#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * PaymentIntentUpdateParams.PaymentMethodOptions.Billie.CompanyDetails.RegisteredAddress#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } + + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(EmptyParam line1) { + this.line1 = line1; + return this; + } + + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } + + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(EmptyParam line2) { + this.line2 = line2; + return this; + } + + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } + + /** ZIP or postal code. */ + public Builder setPostalCode(EmptyParam postalCode) { + this.postalCode = postalCode; + return this; + } + + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } + + /** State, county, province, or region. */ + public Builder setState(EmptyParam state) { + this.state = state; + return this; + } + } + } + + public enum RegistrationType implements ApiRequestParams.EnumParam { + @SerializedName("ch_ein") + CH_EIN("ch_ein"), + + @SerializedName("de_hrb") + DE_HRB("de_hrb"), + + @SerializedName("dk_cvr") + DK_CVR("dk_cvr"), + + @SerializedName("es_cif") + ES_CIF("es_cif"), + + @SerializedName("fi_tunnus") + FI_TUNNUS("fi_tunnus"), + + @SerializedName("fr_siren") + FR_SIREN("fr_siren"), + + @SerializedName("fr_siret") + FR_SIRET("fr_siret"), + + @SerializedName("it_rea") + IT_REA("it_rea"), + + @SerializedName("nl_kvk") + NL_KVK("nl_kvk"), + + @SerializedName("no_org_number") + NO_ORG_NUMBER("no_org_number"), + + @SerializedName("no_pno") + NO_PNO("no_pno"), + + @SerializedName("se_org_number") + SE_ORG_NUMBER("se_org_number"), + + @SerializedName("se_pno") + SE_PNO("se_pno"), + + @SerializedName("uk_crn") + UK_CRN("uk_crn"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + RegistrationType(String value) { + this.value = value; + } + } } public enum CaptureMethod implements ApiRequestParams.EnumParam { @@ -54931,9 +55386,6 @@ public enum ExcludedPaymentMethodType implements ApiRequestParams.EnumParam { @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), - @SerializedName("sequra") - SEQURA("sequra"), - @SerializedName("shopeepay") SHOPEEPAY("shopeepay"), diff --git a/src/main/java/com/stripe/param/PaymentMethodCreateParams.java b/src/main/java/com/stripe/param/PaymentMethodCreateParams.java index 9e5607d1080..7d2981310ad 100644 --- a/src/main/java/com/stripe/param/PaymentMethodCreateParams.java +++ b/src/main/java/com/stripe/param/PaymentMethodCreateParams.java @@ -7521,9 +7521,6 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), - @SerializedName("sequra") - SEQURA("sequra"), - @SerializedName("shopeepay") SHOPEEPAY("shopeepay"), diff --git a/src/main/java/com/stripe/param/PaymentMethodListParams.java b/src/main/java/com/stripe/param/PaymentMethodListParams.java index bc69a0c1305..93a0b50991f 100644 --- a/src/main/java/com/stripe/param/PaymentMethodListParams.java +++ b/src/main/java/com/stripe/param/PaymentMethodListParams.java @@ -427,9 +427,6 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), - @SerializedName("sequra") - SEQURA("sequra"), - @SerializedName("shopeepay") SHOPEEPAY("shopeepay"), diff --git a/src/main/java/com/stripe/param/PaymentRecordCreateParams.java b/src/main/java/com/stripe/param/PaymentRecordReportDisputeParams.java similarity index 88% rename from src/main/java/com/stripe/param/PaymentRecordCreateParams.java rename to src/main/java/com/stripe/param/PaymentRecordReportDisputeParams.java index d238e341fb3..61d32856b2f 100644 --- a/src/main/java/com/stripe/param/PaymentRecordCreateParams.java +++ b/src/main/java/com/stripe/param/PaymentRecordReportDisputeParams.java @@ -13,7 +13,7 @@ @Getter @EqualsAndHashCode(callSuper = false) -public class PaymentRecordCreateParams extends ApiRequestParams { +public class PaymentRecordReportDisputeParams extends ApiRequestParams { /** * Required. The amount that has been lost to the customer due to disputes on * this payment. @@ -63,7 +63,7 @@ public class PaymentRecordCreateParams extends ApiRequestParams { @SerializedName("reason") Reason reason; - private PaymentRecordCreateParams( + private PaymentRecordReportDisputeParams( Amount amount, Closed closed, List expand, @@ -108,8 +108,8 @@ public static class Builder { private Reason reason; /** Finalize and obtain parameter instance from this builder. */ - public PaymentRecordCreateParams build() { - return new PaymentRecordCreateParams( + public PaymentRecordReportDisputeParams build() { + return new PaymentRecordReportDisputeParams( this.amount, this.closed, this.expand, @@ -125,13 +125,13 @@ public PaymentRecordCreateParams build() { * Required. The amount that has been lost to the customer due to disputes on * this payment. */ - public Builder setAmount(PaymentRecordCreateParams.Amount amount) { + public Builder setAmount(PaymentRecordReportDisputeParams.Amount amount) { this.amount = amount; return this; } /** Information about the dispute closing. */ - public Builder setClosed(PaymentRecordCreateParams.Closed closed) { + public Builder setClosed(PaymentRecordReportDisputeParams.Closed closed) { this.closed = closed; return this; } @@ -139,7 +139,7 @@ public Builder setClosed(PaymentRecordCreateParams.Closed closed) { /** * Add an element to `expand` list. A list is initialized for the first `add/addAll` call, and * subsequent calls adds additional elements to the original list. See {@link - * PaymentRecordCreateParams#expand} for the field documentation. + * PaymentRecordReportDisputeParams#expand} for the field documentation. */ public Builder addExpand(String element) { if (this.expand == null) { @@ -152,7 +152,7 @@ public Builder addExpand(String element) { /** * Add all elements to `expand` list. A list is initialized for the first `add/addAll` call, and * subsequent calls adds additional elements to the original list. See {@link - * PaymentRecordCreateParams#expand} for the field documentation. + * PaymentRecordReportDisputeParams#expand} for the field documentation. */ public Builder addAllExpand(List elements) { if (this.expand == null) { @@ -165,7 +165,7 @@ public Builder addAllExpand(List elements) { /** * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * PaymentRecordCreateParams#extraParams} for the field documentation. + * PaymentRecordReportDisputeParams#extraParams} for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -178,7 +178,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link PaymentRecordCreateParams#extraParams} for the field documentation. + * See {@link PaymentRecordReportDisputeParams#extraParams} for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -189,7 +189,7 @@ public Builder putAllExtraParam(Map map) { } /** Information about the dispute funding event. */ - public Builder setFunded(PaymentRecordCreateParams.Funded funded) { + public Builder setFunded(PaymentRecordReportDisputeParams.Funded funded) { this.funded = funded; return this; } @@ -203,7 +203,7 @@ public Builder setInitiatedAt(Long initiatedAt) { /** * Add a key/value pair to `metadata` map. A map is initialized for the first `put/putAll` call, * and subsequent calls add additional key/value pairs to the original map. See {@link - * PaymentRecordCreateParams#metadata} for the field documentation. + * PaymentRecordReportDisputeParams#metadata} for the field documentation. */ @SuppressWarnings("unchecked") public Builder putMetadata(String key, String value) { @@ -217,7 +217,7 @@ public Builder putMetadata(String key, String value) { /** * Add all map key/value pairs to `metadata` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link PaymentRecordCreateParams#metadata} for the field documentation. + * See {@link PaymentRecordReportDisputeParams#metadata} for the field documentation. */ @SuppressWarnings("unchecked") public Builder putAllMetadata(Map map) { @@ -252,13 +252,13 @@ public Builder setMetadata(Map metadata) { /** Required. Processor information for this payment. */ public Builder setProcessorDetails( - PaymentRecordCreateParams.ProcessorDetails processorDetails) { + PaymentRecordReportDisputeParams.ProcessorDetails processorDetails) { this.processorDetails = processorDetails; return this; } /** The reason the payment was disputed. */ - public Builder setReason(PaymentRecordCreateParams.Reason reason) { + public Builder setReason(PaymentRecordReportDisputeParams.Reason reason) { this.reason = reason; return this; } @@ -310,8 +310,9 @@ public static class Builder { private Long value; /** Finalize and obtain parameter instance from this builder. */ - public PaymentRecordCreateParams.Amount build() { - return new PaymentRecordCreateParams.Amount(this.currency, this.extraParams, this.value); + public PaymentRecordReportDisputeParams.Amount build() { + return new PaymentRecordReportDisputeParams.Amount( + this.currency, this.extraParams, this.value); } /** @@ -327,7 +328,7 @@ public Builder setCurrency(String currency) { /** * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * PaymentRecordCreateParams.Amount#extraParams} for the field documentation. + * PaymentRecordReportDisputeParams.Amount#extraParams} for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -340,7 +341,8 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link PaymentRecordCreateParams.Amount#extraParams} for the field documentation. + * See {@link PaymentRecordReportDisputeParams.Amount#extraParams} for the field + * documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -396,8 +398,8 @@ public static class Builder { private Map extraParams; /** Finalize and obtain parameter instance from this builder. */ - public PaymentRecordCreateParams.Closed build() { - return new PaymentRecordCreateParams.Closed(this.closedAt, this.extraParams); + public PaymentRecordReportDisputeParams.Closed build() { + return new PaymentRecordReportDisputeParams.Closed(this.closedAt, this.extraParams); } /** @@ -412,7 +414,7 @@ public Builder setClosedAt(Long closedAt) { /** * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * PaymentRecordCreateParams.Closed#extraParams} for the field documentation. + * PaymentRecordReportDisputeParams.Closed#extraParams} for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -425,7 +427,8 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link PaymentRecordCreateParams.Closed#extraParams} for the field documentation. + * See {@link PaymentRecordReportDisputeParams.Closed#extraParams} for the field + * documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -488,8 +491,8 @@ public static class Builder { private Type type; /** Finalize and obtain parameter instance from this builder. */ - public PaymentRecordCreateParams.Funded build() { - return new PaymentRecordCreateParams.Funded( + public PaymentRecordReportDisputeParams.Funded build() { + return new PaymentRecordReportDisputeParams.Funded( this.amount, this.extraParams, this.fundedAt, this.type); } @@ -497,7 +500,7 @@ public PaymentRecordCreateParams.Funded build() { * Required. The amount that has been lost to the customer due to disputes on * this payment. */ - public Builder setAmount(PaymentRecordCreateParams.Funded.Amount amount) { + public Builder setAmount(PaymentRecordReportDisputeParams.Funded.Amount amount) { this.amount = amount; return this; } @@ -505,7 +508,7 @@ public Builder setAmount(PaymentRecordCreateParams.Funded.Amount amount) { /** * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * PaymentRecordCreateParams.Funded#extraParams} for the field documentation. + * PaymentRecordReportDisputeParams.Funded#extraParams} for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -518,7 +521,8 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link PaymentRecordCreateParams.Funded#extraParams} for the field documentation. + * See {@link PaymentRecordReportDisputeParams.Funded#extraParams} for the field + * documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -538,7 +542,7 @@ public Builder setFundedAt(Long fundedAt) { } /** Required. The type of dispute funding event. */ - public Builder setType(PaymentRecordCreateParams.Funded.Type type) { + public Builder setType(PaymentRecordReportDisputeParams.Funded.Type type) { this.type = type; return this; } @@ -590,8 +594,8 @@ public static class Builder { private Long value; /** Finalize and obtain parameter instance from this builder. */ - public PaymentRecordCreateParams.Funded.Amount build() { - return new PaymentRecordCreateParams.Funded.Amount( + public PaymentRecordReportDisputeParams.Funded.Amount build() { + return new PaymentRecordReportDisputeParams.Funded.Amount( this.currency, this.extraParams, this.value); } @@ -608,7 +612,7 @@ public Builder setCurrency(String currency) { /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PaymentRecordCreateParams.Funded.Amount#extraParams} for the field + * map. See {@link PaymentRecordReportDisputeParams.Funded.Amount#extraParams} for the field * documentation. */ public Builder putExtraParam(String key, Object value) { @@ -622,7 +626,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PaymentRecordCreateParams.Funded.Amount#extraParams} for the field + * map. See {@link PaymentRecordReportDisputeParams.Funded.Amount#extraParams} for the field * documentation. */ public Builder putAllExtraParam(Map map) { @@ -700,13 +704,13 @@ public static class Builder { private Type type; /** Finalize and obtain parameter instance from this builder. */ - public PaymentRecordCreateParams.ProcessorDetails build() { - return new PaymentRecordCreateParams.ProcessorDetails( + public PaymentRecordReportDisputeParams.ProcessorDetails build() { + return new PaymentRecordReportDisputeParams.ProcessorDetails( this.custom, this.extraParams, this.type); } /** Information about the custom processor used to make this payment. */ - public Builder setCustom(PaymentRecordCreateParams.ProcessorDetails.Custom custom) { + public Builder setCustom(PaymentRecordReportDisputeParams.ProcessorDetails.Custom custom) { this.custom = custom; return this; } @@ -714,7 +718,7 @@ public Builder setCustom(PaymentRecordCreateParams.ProcessorDetails.Custom custo /** * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * PaymentRecordCreateParams.ProcessorDetails#extraParams} for the field documentation. + * PaymentRecordReportDisputeParams.ProcessorDetails#extraParams} for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -727,7 +731,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link PaymentRecordCreateParams.ProcessorDetails#extraParams} for the field + * See {@link PaymentRecordReportDisputeParams.ProcessorDetails#extraParams} for the field * documentation. */ public Builder putAllExtraParam(Map map) { @@ -743,7 +747,7 @@ public Builder putAllExtraParam(Map map) { * included on processor_details with a name matching this value. It contains additional * information specific to the processor. */ - public Builder setType(PaymentRecordCreateParams.ProcessorDetails.Type type) { + public Builder setType(PaymentRecordReportDisputeParams.ProcessorDetails.Type type) { this.type = type; return this; } @@ -783,8 +787,8 @@ public static class Builder { private Map extraParams; /** Finalize and obtain parameter instance from this builder. */ - public PaymentRecordCreateParams.ProcessorDetails.Custom build() { - return new PaymentRecordCreateParams.ProcessorDetails.Custom( + public PaymentRecordReportDisputeParams.ProcessorDetails.Custom build() { + return new PaymentRecordReportDisputeParams.ProcessorDetails.Custom( this.disputeReference, this.extraParams); } @@ -800,8 +804,8 @@ public Builder setDisputeReference(String disputeReference) { /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PaymentRecordCreateParams.ProcessorDetails.Custom#extraParams} for the - * field documentation. + * map. See {@link PaymentRecordReportDisputeParams.ProcessorDetails.Custom#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -814,8 +818,8 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PaymentRecordCreateParams.ProcessorDetails.Custom#extraParams} for the - * field documentation. + * map. See {@link PaymentRecordReportDisputeParams.ProcessorDetails.Custom#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { diff --git a/src/main/java/com/stripe/param/SetupIntentConfirmParams.java b/src/main/java/com/stripe/param/SetupIntentConfirmParams.java index a5cc17beabf..3cd9dfd553f 100644 --- a/src/main/java/com/stripe/param/SetupIntentConfirmParams.java +++ b/src/main/java/com/stripe/param/SetupIntentConfirmParams.java @@ -7865,9 +7865,6 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), - @SerializedName("sequra") - SEQURA("sequra"), - @SerializedName("shopeepay") SHOPEEPAY("shopeepay"), diff --git a/src/main/java/com/stripe/param/SetupIntentCreateParams.java b/src/main/java/com/stripe/param/SetupIntentCreateParams.java index c19a6ba4cbb..2aab90c55fd 100644 --- a/src/main/java/com/stripe/param/SetupIntentCreateParams.java +++ b/src/main/java/com/stripe/param/SetupIntentCreateParams.java @@ -8399,9 +8399,6 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), - @SerializedName("sequra") - SEQURA("sequra"), - @SerializedName("shopeepay") SHOPEEPAY("shopeepay"), @@ -14743,9 +14740,6 @@ public enum ExcludedPaymentMethodType implements ApiRequestParams.EnumParam { @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), - @SerializedName("sequra") - SEQURA("sequra"), - @SerializedName("shopeepay") SHOPEEPAY("shopeepay"), diff --git a/src/main/java/com/stripe/param/SetupIntentUpdateParams.java b/src/main/java/com/stripe/param/SetupIntentUpdateParams.java index 9100ac707fe..03ae620c217 100644 --- a/src/main/java/com/stripe/param/SetupIntentUpdateParams.java +++ b/src/main/java/com/stripe/param/SetupIntentUpdateParams.java @@ -8018,9 +8018,6 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), - @SerializedName("sequra") - SEQURA("sequra"), - @SerializedName("shopeepay") SHOPEEPAY("shopeepay"), @@ -14458,9 +14455,6 @@ public enum ExcludedPaymentMethodType implements ApiRequestParams.EnumParam { @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), - @SerializedName("sequra") - SEQURA("sequra"), - @SerializedName("shopeepay") SHOPEEPAY("shopeepay"), diff --git a/src/main/java/com/stripe/param/SubscriptionCreateParams.java b/src/main/java/com/stripe/param/SubscriptionCreateParams.java index 8d33d93fb85..1cd5f6ce041 100644 --- a/src/main/java/com/stripe/param/SubscriptionCreateParams.java +++ b/src/main/java/com/stripe/param/SubscriptionCreateParams.java @@ -76,7 +76,12 @@ public class SubscriptionCreateParams extends ApiRequestParams { @SerializedName("billing_mode") BillingMode billingMode; - /** Sets the billing schedules for the subscription. */ + /** + * An array of billing schedules, which allow you to bill customers in advance for multiple + * service periods. Requires flexible billing mode and API version 2026-05-27.dahlia or later. + * Learn more about prebilling. + */ @SerializedName("billing_schedules") List billingSchedules; @@ -2837,7 +2842,10 @@ public static class BillingSchedule { @SerializedName("applies_to") List appliesTo; - /** Required. The end date for the billing schedule. */ + /** + * Required. The end date for the billing schedule. You must not set this + * earlier than current period end for every applicable subscription item. + */ @SerializedName("bill_until") BillUntil billUntil; @@ -2914,7 +2922,10 @@ public Builder addAllAppliesTo( return this; } - /** Required. The end date for the billing schedule. */ + /** + * Required. The end date for the billing schedule. You must not set this + * earlier than current period end for every applicable subscription item. + */ public Builder setBillUntil(SubscriptionCreateParams.BillingSchedule.BillUntil billUntil) { this.billUntil = billUntil; return this; @@ -6493,6 +6504,13 @@ public static class PaymentMethodOptions { @SerializedName("bancontact") Object bancontact; + /** + * This sub-hash contains details about the Billie payment method options to pass to the + * invoice’s PaymentIntent. + */ + @SerializedName("billie") + Object billie; + /** * This sub-hash contains details about the Bizum payment method options to pass to the * invoice’s PaymentIntent. @@ -6596,6 +6614,7 @@ public static class PaymentMethodOptions { private PaymentMethodOptions( Object acssDebit, Object bancontact, + Object billie, Object bizum, Object blik, Object card, @@ -6612,6 +6631,7 @@ private PaymentMethodOptions( Object wechatPay) { this.acssDebit = acssDebit; this.bancontact = bancontact; + this.billie = billie; this.bizum = bizum; this.blik = blik; this.card = card; @@ -6637,6 +6657,8 @@ public static class Builder { private Object bancontact; + private Object billie; + private Object bizum; private Object blik; @@ -6670,6 +6692,7 @@ public SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions build() { return new SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions( this.acssDebit, this.bancontact, + this.billie, this.bizum, this.blik, this.card, @@ -6724,6 +6747,25 @@ public Builder setBancontact(EmptyParam bancontact) { return this; } + /** + * This sub-hash contains details about the Billie payment method options to pass to the + * invoice’s PaymentIntent. + */ + public Builder setBillie( + SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Billie billie) { + this.billie = billie; + return this; + } + + /** + * This sub-hash contains details about the Billie payment method options to pass to the + * invoice’s PaymentIntent. + */ + public Builder setBillie(EmptyParam billie) { + this.billie = billie; + return this; + } + /** * This sub-hash contains details about the Bizum payment method options to pass to the * invoice’s PaymentIntent. @@ -7319,6 +7361,455 @@ public enum PreferredLanguage implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Billie { + /** Registration details about the buyer's organization. */ + @SerializedName("company_details") + Object companyDetails; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private Billie(Object companyDetails, Map extraParams) { + this.companyDetails = companyDetails; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object companyDetails; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Billie build() { + return new SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Billie( + this.companyDetails, this.extraParams); + } + + /** Registration details about the buyer's organization. */ + public Builder setCompanyDetails( + SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails + companyDetails) { + this.companyDetails = companyDetails; + return this; + } + + /** Registration details about the buyer's organization. */ + public Builder setCompanyDetails(EmptyParam companyDetails) { + this.companyDetails = companyDetails; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Billie#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Billie#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CompanyDetails { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** The address the company or entity is registered with. */ + @SerializedName("registered_address") + Object registeredAddress; + + /** Company or entity name. */ + @SerializedName("registered_name") + String registeredName; + + /** The official registration number for the given registration type. */ + @SerializedName("registration_number") + String registrationNumber; + + /** Type of registration the company or entity holds in their registered country. */ + @SerializedName("registration_type") + ApiRequestParams.EnumParam registrationType; + + /** VAT ID number. */ + @SerializedName("vat") + String vat; + + private CompanyDetails( + Map extraParams, + Object registeredAddress, + String registeredName, + String registrationNumber, + ApiRequestParams.EnumParam registrationType, + String vat) { + this.extraParams = extraParams; + this.registeredAddress = registeredAddress; + this.registeredName = registeredName; + this.registrationNumber = registrationNumber; + this.registrationType = registrationType; + this.vat = vat; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Object registeredAddress; + + private String registeredName; + + private String registrationNumber; + + private ApiRequestParams.EnumParam registrationType; + + private String vat; + + /** Finalize and obtain parameter instance from this builder. */ + public SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Billie + .CompanyDetails + build() { + return new SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Billie + .CompanyDetails( + this.extraParams, + this.registeredAddress, + this.registeredName, + this.registrationNumber, + this.registrationType, + this.vat); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** The address the company or entity is registered with. */ + public Builder setRegisteredAddress( + SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails + .RegisteredAddress + registeredAddress) { + this.registeredAddress = registeredAddress; + return this; + } + + /** The address the company or entity is registered with. */ + public Builder setRegisteredAddress(EmptyParam registeredAddress) { + this.registeredAddress = registeredAddress; + return this; + } + + /** Company or entity name. */ + public Builder setRegisteredName(String registeredName) { + this.registeredName = registeredName; + return this; + } + + /** The official registration number for the given registration type. */ + public Builder setRegistrationNumber(String registrationNumber) { + this.registrationNumber = registrationNumber; + return this; + } + + /** Type of registration the company or entity holds in their registered country. */ + public Builder setRegistrationType( + SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails + .RegistrationType + registrationType) { + this.registrationType = registrationType; + return this; + } + + /** Type of registration the company or entity holds in their registered country. */ + public Builder setRegistrationType(EmptyParam registrationType) { + this.registrationType = registrationType; + return this; + } + + /** VAT ID number. */ + public Builder setVat(String vat) { + this.vat = vat; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class RegisteredAddress { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; + + /** Two-letter country code. */ + @SerializedName("country") + String country; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Address line 1 (for example, street, PO Box, or company name). */ + @SerializedName("line1") + String line1; + + /** Address line 2 (for example, apartment, suite, unit, or building). */ + @SerializedName("line2") + String line2; + + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; + + /** State, county, province, or region. */ + @SerializedName("state") + String state; + + private RegisteredAddress( + String city, + String country, + Map extraParams, + String line1, + String line2, + String postalCode, + String state) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String city; + + private String country; + + private Map extraParams; + + private String line1; + + private String line2; + + private String postalCode; + + private String state; + + /** Finalize and obtain parameter instance from this builder. */ + public SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Billie + .CompanyDetails.RegisteredAddress + build() { + return new SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Billie + .CompanyDetails.RegisteredAddress( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state); + } + + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } + + /** Two-letter country code. */ + public Builder setCountry(String country) { + this.country = country; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails.RegisteredAddress#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails.RegisteredAddress#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Address line 1 (for example, street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } + + /** Address line 2 (for example, apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } + + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } + + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } + } + } + + public enum RegistrationType implements ApiRequestParams.EnumParam { + @SerializedName("ch_ein") + CH_EIN("ch_ein"), + + @SerializedName("de_hrb") + DE_HRB("de_hrb"), + + @SerializedName("dk_cvr") + DK_CVR("dk_cvr"), + + @SerializedName("es_cif") + ES_CIF("es_cif"), + + @SerializedName("fi_tunnus") + FI_TUNNUS("fi_tunnus"), + + @SerializedName("fr_siren") + FR_SIREN("fr_siren"), + + @SerializedName("fr_siret") + FR_SIRET("fr_siret"), + + @SerializedName("it_rea") + IT_REA("it_rea"), + + @SerializedName("nl_kvk") + NL_KVK("nl_kvk"), + + @SerializedName("no_org_number") + NO_ORG_NUMBER("no_org_number"), + + @SerializedName("no_pno") + NO_PNO("no_pno"), + + @SerializedName("se_org_number") + SE_ORG_NUMBER("se_org_number"), + + @SerializedName("se_pno") + SE_PNO("se_pno"), + + @SerializedName("uk_crn") + UK_CRN("uk_crn"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + RegistrationType(String value) { + this.value = value; + } + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Bizum { diff --git a/src/main/java/com/stripe/param/SubscriptionScheduleCreateParams.java b/src/main/java/com/stripe/param/SubscriptionScheduleCreateParams.java index 592c5f4660b..4500fe97cf9 100644 --- a/src/main/java/com/stripe/param/SubscriptionScheduleCreateParams.java +++ b/src/main/java/com/stripe/param/SubscriptionScheduleCreateParams.java @@ -680,7 +680,10 @@ public static class BillingSchedule { @SerializedName("applies_to") List appliesTo; - /** Required. The end date for the billing schedule. */ + /** + * Required. The end date for the billing schedule. You must not set this + * earlier than current period end for every applicable subscription item. + */ @SerializedName("bill_until") BillUntil billUntil; @@ -758,7 +761,10 @@ public Builder addAllAppliesTo( return this; } - /** Required. The end date for the billing schedule. */ + /** + * Required. The end date for the billing schedule. You must not set this + * earlier than current period end for every applicable subscription item. + */ public Builder setBillUntil( SubscriptionScheduleCreateParams.BillingSchedule.BillUntil billUntil) { this.billUntil = billUntil; diff --git a/src/main/java/com/stripe/param/SubscriptionScheduleUpdateParams.java b/src/main/java/com/stripe/param/SubscriptionScheduleUpdateParams.java index 1b9343f3c24..dc15f25c8ff 100644 --- a/src/main/java/com/stripe/param/SubscriptionScheduleUpdateParams.java +++ b/src/main/java/com/stripe/param/SubscriptionScheduleUpdateParams.java @@ -438,7 +438,10 @@ public static class BillingSchedule { @SerializedName("applies_to") List appliesTo; - /** The end date for the billing schedule. */ + /** + * The end date for the billing schedule. You must not set this earlier than current period end + * for every applicable subscription item. + */ @SerializedName("bill_until") BillUntil billUntil; @@ -516,7 +519,10 @@ public Builder addAllAppliesTo( return this; } - /** The end date for the billing schedule. */ + /** + * The end date for the billing schedule. You must not set this earlier than current period + * end for every applicable subscription item. + */ public Builder setBillUntil( SubscriptionScheduleUpdateParams.BillingSchedule.BillUntil billUntil) { this.billUntil = billUntil; diff --git a/src/main/java/com/stripe/param/SubscriptionUpdateParams.java b/src/main/java/com/stripe/param/SubscriptionUpdateParams.java index 5b1cf8570c4..1298ba622f3 100644 --- a/src/main/java/com/stripe/param/SubscriptionUpdateParams.java +++ b/src/main/java/com/stripe/param/SubscriptionUpdateParams.java @@ -58,7 +58,12 @@ public class SubscriptionUpdateParams extends ApiRequestParams { @SerializedName("billing_cycle_anchor") BillingCycleAnchor billingCycleAnchor; - /** Sets the billing schedules for the subscription. */ + /** + * An array of billing schedules, which allow you to bill customers in advance for multiple + * service periods. Requires flexible billing mode and API version 2026-05-27.dahlia or later. + * Learn more about prebilling. + */ @SerializedName("billing_schedules") Object billingSchedules; @@ -590,13 +595,23 @@ public Builder addAllBillingSchedule(Listprebilling. + */ public Builder setBillingSchedules(EmptyParam billingSchedules) { this.billingSchedules = billingSchedules; return this; } - /** Sets the billing schedules for the subscription. */ + /** + * An array of billing schedules, which allow you to bill customers in advance for multiple + * service periods. Requires flexible billing mode and API version 2026-05-27.dahlia or later. + * Learn more about prebilling. + */ public Builder setBillingSchedules( List billingSchedules) { this.billingSchedules = billingSchedules; @@ -2602,7 +2617,10 @@ public static class BillingSchedule { @SerializedName("applies_to") List appliesTo; - /** The end date for the billing schedule. */ + /** + * The end date for the billing schedule. You must not set this earlier than current period end + * for every applicable subscription item. + */ @SerializedName("bill_until") BillUntil billUntil; @@ -2679,7 +2697,10 @@ public Builder addAllAppliesTo( return this; } - /** The end date for the billing schedule. */ + /** + * The end date for the billing schedule. You must not set this earlier than current period + * end for every applicable subscription item. + */ public Builder setBillUntil(SubscriptionUpdateParams.BillingSchedule.BillUntil billUntil) { this.billUntil = billUntil; return this; @@ -6622,6 +6643,13 @@ public static class PaymentMethodOptions { @SerializedName("bancontact") Object bancontact; + /** + * This sub-hash contains details about the Billie payment method options to pass to the + * invoice’s PaymentIntent. + */ + @SerializedName("billie") + Object billie; + /** * This sub-hash contains details about the Bizum payment method options to pass to the * invoice’s PaymentIntent. @@ -6725,6 +6753,7 @@ public static class PaymentMethodOptions { private PaymentMethodOptions( Object acssDebit, Object bancontact, + Object billie, Object bizum, Object blik, Object card, @@ -6741,6 +6770,7 @@ private PaymentMethodOptions( Object wechatPay) { this.acssDebit = acssDebit; this.bancontact = bancontact; + this.billie = billie; this.bizum = bizum; this.blik = blik; this.card = card; @@ -6766,6 +6796,8 @@ public static class Builder { private Object bancontact; + private Object billie; + private Object bizum; private Object blik; @@ -6799,6 +6831,7 @@ public SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions build() { return new SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions( this.acssDebit, this.bancontact, + this.billie, this.bizum, this.blik, this.card, @@ -6853,6 +6886,25 @@ public Builder setBancontact(EmptyParam bancontact) { return this; } + /** + * This sub-hash contains details about the Billie payment method options to pass to the + * invoice’s PaymentIntent. + */ + public Builder setBillie( + SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Billie billie) { + this.billie = billie; + return this; + } + + /** + * This sub-hash contains details about the Billie payment method options to pass to the + * invoice’s PaymentIntent. + */ + public Builder setBillie(EmptyParam billie) { + this.billie = billie; + return this; + } + /** * This sub-hash contains details about the Bizum payment method options to pass to the * invoice’s PaymentIntent. @@ -7448,6 +7500,509 @@ public enum PreferredLanguage implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Billie { + /** Registration details about the buyer's organization. */ + @SerializedName("company_details") + Object companyDetails; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private Billie(Object companyDetails, Map extraParams) { + this.companyDetails = companyDetails; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object companyDetails; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Billie build() { + return new SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Billie( + this.companyDetails, this.extraParams); + } + + /** Registration details about the buyer's organization. */ + public Builder setCompanyDetails( + SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails + companyDetails) { + this.companyDetails = companyDetails; + return this; + } + + /** Registration details about the buyer's organization. */ + public Builder setCompanyDetails(EmptyParam companyDetails) { + this.companyDetails = companyDetails; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Billie#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Billie#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CompanyDetails { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** The address the company or entity is registered with. */ + @SerializedName("registered_address") + Object registeredAddress; + + /** Company or entity name. */ + @SerializedName("registered_name") + Object registeredName; + + /** The official registration number for the given registration type. */ + @SerializedName("registration_number") + Object registrationNumber; + + /** Type of registration the company or entity holds in their registered country. */ + @SerializedName("registration_type") + ApiRequestParams.EnumParam registrationType; + + /** VAT ID number. */ + @SerializedName("vat") + Object vat; + + private CompanyDetails( + Map extraParams, + Object registeredAddress, + Object registeredName, + Object registrationNumber, + ApiRequestParams.EnumParam registrationType, + Object vat) { + this.extraParams = extraParams; + this.registeredAddress = registeredAddress; + this.registeredName = registeredName; + this.registrationNumber = registrationNumber; + this.registrationType = registrationType; + this.vat = vat; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Object registeredAddress; + + private Object registeredName; + + private Object registrationNumber; + + private ApiRequestParams.EnumParam registrationType; + + private Object vat; + + /** Finalize and obtain parameter instance from this builder. */ + public SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Billie + .CompanyDetails + build() { + return new SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Billie + .CompanyDetails( + this.extraParams, + this.registeredAddress, + this.registeredName, + this.registrationNumber, + this.registrationType, + this.vat); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** The address the company or entity is registered with. */ + public Builder setRegisteredAddress( + SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails + .RegisteredAddress + registeredAddress) { + this.registeredAddress = registeredAddress; + return this; + } + + /** The address the company or entity is registered with. */ + public Builder setRegisteredAddress(EmptyParam registeredAddress) { + this.registeredAddress = registeredAddress; + return this; + } + + /** Company or entity name. */ + public Builder setRegisteredName(String registeredName) { + this.registeredName = registeredName; + return this; + } + + /** Company or entity name. */ + public Builder setRegisteredName(EmptyParam registeredName) { + this.registeredName = registeredName; + return this; + } + + /** The official registration number for the given registration type. */ + public Builder setRegistrationNumber(String registrationNumber) { + this.registrationNumber = registrationNumber; + return this; + } + + /** The official registration number for the given registration type. */ + public Builder setRegistrationNumber(EmptyParam registrationNumber) { + this.registrationNumber = registrationNumber; + return this; + } + + /** Type of registration the company or entity holds in their registered country. */ + public Builder setRegistrationType( + SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails + .RegistrationType + registrationType) { + this.registrationType = registrationType; + return this; + } + + /** Type of registration the company or entity holds in their registered country. */ + public Builder setRegistrationType(EmptyParam registrationType) { + this.registrationType = registrationType; + return this; + } + + /** VAT ID number. */ + public Builder setVat(String vat) { + this.vat = vat; + return this; + } + + /** VAT ID number. */ + public Builder setVat(EmptyParam vat) { + this.vat = vat; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class RegisteredAddress { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + Object city; + + /** Two-letter country code. */ + @SerializedName("country") + Object country; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Address line 1 (for example, street, PO Box, or company name). */ + @SerializedName("line1") + Object line1; + + /** Address line 2 (for example, apartment, suite, unit, or building). */ + @SerializedName("line2") + Object line2; + + /** ZIP or postal code. */ + @SerializedName("postal_code") + Object postalCode; + + /** State, county, province, or region. */ + @SerializedName("state") + Object state; + + private RegisteredAddress( + Object city, + Object country, + Map extraParams, + Object line1, + Object line2, + Object postalCode, + Object state) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object city; + + private Object country; + + private Map extraParams; + + private Object line1; + + private Object line2; + + private Object postalCode; + + private Object state; + + /** Finalize and obtain parameter instance from this builder. */ + public SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Billie + .CompanyDetails.RegisteredAddress + build() { + return new SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Billie + .CompanyDetails.RegisteredAddress( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state); + } + + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } + + /** City, district, suburb, town, or village. */ + public Builder setCity(EmptyParam city) { + this.city = city; + return this; + } + + /** Two-letter country code. */ + public Builder setCountry(String country) { + this.country = country; + return this; + } + + /** Two-letter country code. */ + public Builder setCountry(EmptyParam country) { + this.country = country; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails.RegisteredAddress#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Billie.CompanyDetails.RegisteredAddress#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Address line 1 (for example, street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } + + /** Address line 1 (for example, street, PO Box, or company name). */ + public Builder setLine1(EmptyParam line1) { + this.line1 = line1; + return this; + } + + /** Address line 2 (for example, apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } + + /** Address line 2 (for example, apartment, suite, unit, or building). */ + public Builder setLine2(EmptyParam line2) { + this.line2 = line2; + return this; + } + + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } + + /** ZIP or postal code. */ + public Builder setPostalCode(EmptyParam postalCode) { + this.postalCode = postalCode; + return this; + } + + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } + + /** State, county, province, or region. */ + public Builder setState(EmptyParam state) { + this.state = state; + return this; + } + } + } + + public enum RegistrationType implements ApiRequestParams.EnumParam { + @SerializedName("ch_ein") + CH_EIN("ch_ein"), + + @SerializedName("de_hrb") + DE_HRB("de_hrb"), + + @SerializedName("dk_cvr") + DK_CVR("dk_cvr"), + + @SerializedName("es_cif") + ES_CIF("es_cif"), + + @SerializedName("fi_tunnus") + FI_TUNNUS("fi_tunnus"), + + @SerializedName("fr_siren") + FR_SIREN("fr_siren"), + + @SerializedName("fr_siret") + FR_SIRET("fr_siret"), + + @SerializedName("it_rea") + IT_REA("it_rea"), + + @SerializedName("nl_kvk") + NL_KVK("nl_kvk"), + + @SerializedName("no_org_number") + NO_ORG_NUMBER("no_org_number"), + + @SerializedName("no_pno") + NO_PNO("no_pno"), + + @SerializedName("se_org_number") + SE_ORG_NUMBER("se_org_number"), + + @SerializedName("se_pno") + SE_PNO("se_pno"), + + @SerializedName("uk_crn") + UK_CRN("uk_crn"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + RegistrationType(String value) { + this.value = value; + } + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Bizum { diff --git a/src/main/java/com/stripe/param/billingportal/SessionCreateParams.java b/src/main/java/com/stripe/param/billingportal/SessionCreateParams.java index 849b3d85468..7e31eda799a 100644 --- a/src/main/java/com/stripe/param/billingportal/SessionCreateParams.java +++ b/src/main/java/com/stripe/param/billingportal/SessionCreateParams.java @@ -275,6 +275,10 @@ public static class FlowData { @SerializedName("subscription_cancel") SubscriptionCancel subscriptionCancel; + /** Configuration when {@code flow_data.type=subscription_pause}. */ + @SerializedName("subscription_pause") + SubscriptionPause subscriptionPause; + /** Configuration when {@code flow_data.type=subscription_update}. */ @SerializedName("subscription_update") SubscriptionUpdate subscriptionUpdate; @@ -291,12 +295,14 @@ private FlowData( AfterCompletion afterCompletion, Map extraParams, SubscriptionCancel subscriptionCancel, + SubscriptionPause subscriptionPause, SubscriptionUpdate subscriptionUpdate, SubscriptionUpdateConfirm subscriptionUpdateConfirm, Type type) { this.afterCompletion = afterCompletion; this.extraParams = extraParams; this.subscriptionCancel = subscriptionCancel; + this.subscriptionPause = subscriptionPause; this.subscriptionUpdate = subscriptionUpdate; this.subscriptionUpdateConfirm = subscriptionUpdateConfirm; this.type = type; @@ -313,6 +319,8 @@ public static class Builder { private SubscriptionCancel subscriptionCancel; + private SubscriptionPause subscriptionPause; + private SubscriptionUpdate subscriptionUpdate; private SubscriptionUpdateConfirm subscriptionUpdateConfirm; @@ -325,6 +333,7 @@ public SessionCreateParams.FlowData build() { this.afterCompletion, this.extraParams, this.subscriptionCancel, + this.subscriptionPause, this.subscriptionUpdate, this.subscriptionUpdateConfirm, this.type); @@ -370,6 +379,13 @@ public Builder setSubscriptionCancel( return this; } + /** Configuration when {@code flow_data.type=subscription_pause}. */ + public Builder setSubscriptionPause( + SessionCreateParams.FlowData.SubscriptionPause subscriptionPause) { + this.subscriptionPause = subscriptionPause; + return this; + } + /** Configuration when {@code flow_data.type=subscription_update}. */ public Builder setSubscriptionUpdate( SessionCreateParams.FlowData.SubscriptionUpdate subscriptionUpdate) { @@ -928,6 +944,78 @@ public enum Type implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class SubscriptionPause { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. The ID of the subscription to be paused. */ + @SerializedName("subscription") + String subscription; + + private SubscriptionPause(Map extraParams, String subscription) { + this.extraParams = extraParams; + this.subscription = subscription; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private String subscription; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionCreateParams.FlowData.SubscriptionPause build() { + return new SessionCreateParams.FlowData.SubscriptionPause( + this.extraParams, this.subscription); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionCreateParams.FlowData.SubscriptionPause#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionCreateParams.FlowData.SubscriptionPause#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. The ID of the subscription to be paused. */ + public Builder setSubscription(String subscription) { + this.subscription = subscription; + return this; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class SubscriptionUpdate { @@ -1369,12 +1457,18 @@ public Builder setQuantity(Long quantity) { } public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("customer_update") + CUSTOMER_UPDATE("customer_update"), + @SerializedName("payment_method_update") PAYMENT_METHOD_UPDATE("payment_method_update"), @SerializedName("subscription_cancel") SUBSCRIPTION_CANCEL("subscription_cancel"), + @SerializedName("subscription_pause") + SUBSCRIPTION_PAUSE("subscription_pause"), + @SerializedName("subscription_update") SUBSCRIPTION_UPDATE("subscription_update"), diff --git a/src/main/java/com/stripe/param/identity/VerificationSessionCreateParams.java b/src/main/java/com/stripe/param/identity/VerificationSessionCreateParams.java index b4eb084fcb1..72fd33c7292 100644 --- a/src/main/java/com/stripe/param/identity/VerificationSessionCreateParams.java +++ b/src/main/java/com/stripe/param/identity/VerificationSessionCreateParams.java @@ -79,6 +79,10 @@ public class VerificationSessionCreateParams extends ApiRequestParams { @SerializedName("type") Type type; + /** Details on the user's consent to Stripe Terms of Service and Privacy Policy. */ + @SerializedName("user_consent") + UserConsent userConsent; + /** * The ID of a verification flow from the Dashboard. See * https://docs.stripe.com/identity/verification-flows. @@ -99,6 +103,7 @@ private VerificationSessionCreateParams( RelatedPerson relatedPerson, String returnUrl, Type type, + UserConsent userConsent, String verificationFlow) { this.clientReferenceId = clientReferenceId; this.confirm = confirm; @@ -112,6 +117,7 @@ private VerificationSessionCreateParams( this.relatedPerson = relatedPerson; this.returnUrl = returnUrl; this.type = type; + this.userConsent = userConsent; this.verificationFlow = verificationFlow; } @@ -144,6 +150,8 @@ public static class Builder { private Type type; + private UserConsent userConsent; + private String verificationFlow; /** Finalize and obtain parameter instance from this builder. */ @@ -161,6 +169,7 @@ public VerificationSessionCreateParams build() { this.relatedPerson, this.returnUrl, this.type, + this.userConsent, this.verificationFlow); } @@ -304,6 +313,12 @@ public Builder setType(VerificationSessionCreateParams.Type type) { return this; } + /** Details on the user's consent to Stripe Terms of Service and Privacy Policy. */ + public Builder setUserConsent(VerificationSessionCreateParams.UserConsent userConsent) { + this.userConsent = userConsent; + return this; + } + /** * The ID of a verification flow from the Dashboard. See * https://docs.stripe.com/identity/verification-flows. @@ -771,6 +786,105 @@ public Builder setPerson(String person) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class UserConsent { + /** Required. The time at which the user gave consent, as a Unix timestamp. */ + @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 extraParams; + + /** Required. The IP address of the user when they gave consent. */ + @SerializedName("ip") + String ip; + + /** The user agent of the browser or device the user used to give consent. */ + @SerializedName("user_agent") + String userAgent; + + private UserConsent(Long date, Map extraParams, String ip, String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Long date; + + private Map extraParams; + + private String ip; + + private String userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public VerificationSessionCreateParams.UserConsent build() { + return new VerificationSessionCreateParams.UserConsent( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * Required. The time at which the user gave consent, as a Unix timestamp. + */ + public Builder setDate(Long date) { + this.date = date; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * VerificationSessionCreateParams.UserConsent#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link VerificationSessionCreateParams.UserConsent#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. The IP address of the user when they gave consent. */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** The user agent of the browser or device the user used to give consent. */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + public enum Type implements ApiRequestParams.EnumParam { @SerializedName("document") DOCUMENT("document"), diff --git a/src/main/java/com/stripe/param/identity/VerificationSessionUpdateParams.java b/src/main/java/com/stripe/param/identity/VerificationSessionUpdateParams.java index f636a0c496f..b44297ded13 100644 --- a/src/main/java/com/stripe/param/identity/VerificationSessionUpdateParams.java +++ b/src/main/java/com/stripe/param/identity/VerificationSessionUpdateParams.java @@ -55,6 +55,10 @@ public class VerificationSessionUpdateParams extends ApiRequestParams { @SerializedName("type") Type type; + /** Details on the user's consent to Stripe Terms of Service and Privacy Policy. */ + @SerializedName("user_consent") + UserConsent userConsent; + private VerificationSessionUpdateParams( Boolean confirm, List expand, @@ -62,7 +66,8 @@ private VerificationSessionUpdateParams( Map metadata, Options options, ProvidedDetails providedDetails, - Type type) { + Type type, + UserConsent userConsent) { this.confirm = confirm; this.expand = expand; this.extraParams = extraParams; @@ -70,6 +75,7 @@ private VerificationSessionUpdateParams( this.options = options; this.providedDetails = providedDetails; this.type = type; + this.userConsent = userConsent; } public static Builder builder() { @@ -91,6 +97,8 @@ public static class Builder { private Type type; + private UserConsent userConsent; + /** Finalize and obtain parameter instance from this builder. */ public VerificationSessionUpdateParams build() { return new VerificationSessionUpdateParams( @@ -100,7 +108,8 @@ public VerificationSessionUpdateParams build() { this.metadata, this.options, this.providedDetails, - this.type); + this.type, + this.userConsent); } /** Confirm and submit the provided details for verification. */ @@ -208,6 +217,12 @@ public Builder setType(VerificationSessionUpdateParams.Type type) { this.type = type; return this; } + + /** Details on the user's consent to Stripe Terms of Service and Privacy Policy. */ + public Builder setUserConsent(VerificationSessionUpdateParams.UserConsent userConsent) { + this.userConsent = userConsent; + return this; + } } @Getter @@ -583,6 +598,117 @@ public Builder setPhone(EmptyParam phone) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class UserConsent { + /** Required. The time at which the user gave consent, as a Unix timestamp. */ + @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 extraParams; + + /** Required. The IP address of the user when they gave consent. */ + @SerializedName("ip") + Object ip; + + /** The user agent of the browser or device the user used to give consent. */ + @SerializedName("user_agent") + Object userAgent; + + private UserConsent(Long date, Map extraParams, Object ip, Object userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Long date; + + private Map extraParams; + + private Object ip; + + private Object userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public VerificationSessionUpdateParams.UserConsent build() { + return new VerificationSessionUpdateParams.UserConsent( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * Required. The time at which the user gave consent, as a Unix timestamp. + */ + public Builder setDate(Long date) { + this.date = date; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * VerificationSessionUpdateParams.UserConsent#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link VerificationSessionUpdateParams.UserConsent#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. The IP address of the user when they gave consent. */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** Required. The IP address of the user when they gave consent. */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** The user agent of the browser or device the user used to give consent. */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** The user agent of the browser or device the user used to give consent. */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + public enum Type implements ApiRequestParams.EnumParam { @SerializedName("document") DOCUMENT("document"), diff --git a/src/main/java/com/stripe/param/issuing/AuthorizationCreateParams.java b/src/main/java/com/stripe/param/issuing/AuthorizationCreateParams.java index ff96ec0daf1..87c7e4637f9 100644 --- a/src/main/java/com/stripe/param/issuing/AuthorizationCreateParams.java +++ b/src/main/java/com/stripe/param/issuing/AuthorizationCreateParams.java @@ -111,6 +111,10 @@ public class AuthorizationCreateParams extends ApiRequestParams { @SerializedName("network_data") NetworkData networkData; + /** The point-of-sale initiation condition for this test authorization. */ + @SerializedName("pos_condition") + PosCondition posCondition; + /** Stripe’s assessment of the fraud risk for this authorization. */ @SerializedName("risk_assessment") RiskAssessment riskAssessment; @@ -146,6 +150,7 @@ private AuthorizationCreateParams( String merchantCurrency, MerchantData merchantData, NetworkData networkData, + PosCondition posCondition, RiskAssessment riskAssessment, VerificationData verificationData, Wallet wallet) { @@ -165,6 +170,7 @@ private AuthorizationCreateParams( this.merchantCurrency = merchantCurrency; this.merchantData = merchantData; this.networkData = networkData; + this.posCondition = posCondition; this.riskAssessment = riskAssessment; this.verificationData = verificationData; this.wallet = wallet; @@ -207,6 +213,8 @@ public static class Builder { private NetworkData networkData; + private PosCondition posCondition; + private RiskAssessment riskAssessment; private VerificationData verificationData; @@ -232,6 +240,7 @@ public AuthorizationCreateParams build() { this.merchantCurrency, this.merchantData, this.networkData, + this.posCondition, this.riskAssessment, this.verificationData, this.wallet); @@ -407,6 +416,12 @@ public Builder setNetworkData(AuthorizationCreateParams.NetworkData networkData) return this; } + /** The point-of-sale initiation condition for this test authorization. */ + public Builder setPosCondition(AuthorizationCreateParams.PosCondition posCondition) { + this.posCondition = posCondition; + return this; + } + /** Stripe’s assessment of the fraud risk for this authorization. */ public Builder setRiskAssessment(AuthorizationCreateParams.RiskAssessment riskAssessment) { this.riskAssessment = riskAssessment; @@ -3925,6 +3940,39 @@ public enum FraudDisputabilityLikelihood implements ApiRequestParams.EnumParam { } } + public enum PosCondition implements ApiRequestParams.EnumParam { + @SerializedName("account_verification") + ACCOUNT_VERIFICATION("account_verification"), + + @SerializedName("card_not_present") + CARD_NOT_PRESENT("card_not_present"), + + @SerializedName("card_present") + CARD_PRESENT("card_present"), + + @SerializedName("e_commerce") + E_COMMERCE("e_commerce"), + + @SerializedName("key_entered_pos") + KEY_ENTERED_POS("key_entered_pos"), + + @SerializedName("other") + OTHER("other"), + + @SerializedName("pin_entered") + PIN_ENTERED("pin_entered"), + + @SerializedName("recurring_or_moto") + RECURRING_OR_MOTO("recurring_or_moto"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + PosCondition(String value) { + this.value = value; + } + } + public enum Wallet implements ApiRequestParams.EnumParam { @SerializedName("apple_pay") APPLE_PAY("apple_pay"), diff --git a/src/main/java/com/stripe/param/issuing/CardCreateParams.java b/src/main/java/com/stripe/param/issuing/CardCreateParams.java index 1685f991461..c4483e24973 100644 --- a/src/main/java/com/stripe/param/issuing/CardCreateParams.java +++ b/src/main/java/com/stripe/param/issuing/CardCreateParams.java @@ -21,6 +21,10 @@ public class CardCreateParams extends ApiRequestParams { @SerializedName("cardholder") String cardholder; + /** The crypto wallet to attach this card to for Bridge integration. */ + @SerializedName("crypto_wallet") + CryptoWallet cryptoWallet; + /** Required. The currency for the card. */ @SerializedName("currency") String currency; @@ -132,6 +136,7 @@ public class CardCreateParams extends ApiRequestParams { private CardCreateParams( String cardholder, + CryptoWallet cryptoWallet, String currency, Long expMonth, Long expYear, @@ -151,6 +156,7 @@ private CardCreateParams( Status status, Type type) { this.cardholder = cardholder; + this.cryptoWallet = cryptoWallet; this.currency = currency; this.expMonth = expMonth; this.expYear = expYear; @@ -178,6 +184,8 @@ public static Builder builder() { public static class Builder { private String cardholder; + private CryptoWallet cryptoWallet; + private String currency; private Long expMonth; @@ -218,6 +226,7 @@ public static class Builder { public CardCreateParams build() { return new CardCreateParams( this.cardholder, + this.cryptoWallet, this.currency, this.expMonth, this.expYear, @@ -247,6 +256,12 @@ public Builder setCardholder(String cardholder) { return this; } + /** The crypto wallet to attach this card to for Bridge integration. */ + public Builder setCryptoWallet(CardCreateParams.CryptoWallet cryptoWallet) { + this.cryptoWallet = cryptoWallet; + return this; + } + /** Required. The currency for the card. */ public Builder setCurrency(String currency) { this.currency = currency; @@ -450,6 +465,131 @@ public Builder setType(CardCreateParams.Type type) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CryptoWallet { + /** The public address of the crypto wallet. */ + @SerializedName("address") + String address; + + /** Required. The blockchain network the wallet is on. */ + @SerializedName("chain") + String chain; + + /** Required. The cryptocurrency held in the wallet. */ + @SerializedName("currency") + String currency; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** The type of wallet (standard or bridge_wallet). */ + @SerializedName("type") + Type type; + + private CryptoWallet( + String address, String chain, String currency, Map extraParams, Type type) { + this.address = address; + this.chain = chain; + this.currency = currency; + this.extraParams = extraParams; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String address; + + private String chain; + + private String currency; + + private Map extraParams; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public CardCreateParams.CryptoWallet build() { + return new CardCreateParams.CryptoWallet( + this.address, this.chain, this.currency, this.extraParams, this.type); + } + + /** The public address of the crypto wallet. */ + public Builder setAddress(String address) { + this.address = address; + return this; + } + + /** Required. The blockchain network the wallet is on. */ + public Builder setChain(String chain) { + this.chain = chain; + return this; + } + + /** Required. The cryptocurrency held in the wallet. */ + public Builder setCurrency(String currency) { + this.currency = currency; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * CardCreateParams.CryptoWallet#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link CardCreateParams.CryptoWallet#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** The type of wallet (standard or bridge_wallet). */ + public Builder setType(CardCreateParams.CryptoWallet.Type type) { + this.type = type; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("bridge_wallet") + BRIDGE_WALLET("bridge_wallet"), + + @SerializedName("standard") + STANDARD("standard"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class LifecycleControls { diff --git a/src/main/java/com/stripe/param/issuing/CardUpdateParams.java b/src/main/java/com/stripe/param/issuing/CardUpdateParams.java index dfccd0ed6cc..e3e0793390b 100644 --- a/src/main/java/com/stripe/param/issuing/CardUpdateParams.java +++ b/src/main/java/com/stripe/param/issuing/CardUpdateParams.java @@ -18,6 +18,10 @@ public class CardUpdateParams extends ApiRequestParams { @SerializedName("cancellation_reason") CancellationReason cancellationReason; + /** Updates the cryptocurrency used to fund this card's existing crypto wallet. */ + @SerializedName("crypto_wallet") + CryptoWallet cryptoWallet; + /** Specifies which fields in the response should be expanded. */ @SerializedName("expand") List expand; @@ -74,6 +78,7 @@ public class CardUpdateParams extends ApiRequestParams { private CardUpdateParams( CancellationReason cancellationReason, + CryptoWallet cryptoWallet, List expand, Map extraParams, Object metadata, @@ -84,6 +89,7 @@ private CardUpdateParams( SpendingControls spendingControls, Status status) { this.cancellationReason = cancellationReason; + this.cryptoWallet = cryptoWallet; this.expand = expand; this.extraParams = extraParams; this.metadata = metadata; @@ -102,6 +108,8 @@ public static Builder builder() { public static class Builder { private CancellationReason cancellationReason; + private CryptoWallet cryptoWallet; + private List expand; private Map extraParams; @@ -124,6 +132,7 @@ public static class Builder { public CardUpdateParams build() { return new CardUpdateParams( this.cancellationReason, + this.cryptoWallet, this.expand, this.extraParams, this.metadata, @@ -141,6 +150,12 @@ public Builder setCancellationReason(CardUpdateParams.CancellationReason cancell return this; } + /** Updates the cryptocurrency used to fund this card's existing crypto wallet. */ + public Builder setCryptoWallet(CardUpdateParams.CryptoWallet cryptoWallet) { + this.cryptoWallet = cryptoWallet; + return this; + } + /** * Add an element to `expand` list. A list is initialized for the first `add/addAll` call, and * subsequent calls adds additional elements to the original list. See {@link @@ -299,6 +314,93 @@ public Builder setStatus(CardUpdateParams.Status status) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CryptoWallet { + /** + * Required. Updates the crypto wallet's funding currency for subsequent card + * movements. This doesn't convert existing balances or change the wallet's address, chain, or + * type. + */ + @SerializedName("currency") + Object currency; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private CryptoWallet(Object currency, Map extraParams) { + this.currency = currency; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object currency; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public CardUpdateParams.CryptoWallet build() { + return new CardUpdateParams.CryptoWallet(this.currency, this.extraParams); + } + + /** + * Required. Updates the crypto wallet's funding currency for subsequent card + * movements. This doesn't convert existing balances or change the wallet's address, chain, or + * type. + */ + public Builder setCurrency(String currency) { + this.currency = currency; + return this; + } + + /** + * Required. Updates the crypto wallet's funding currency for subsequent card + * movements. This doesn't convert existing balances or change the wallet's address, chain, or + * type. + */ + public Builder setCurrency(EmptyParam currency) { + this.currency = currency; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * CardUpdateParams.CryptoWallet#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link CardUpdateParams.CryptoWallet#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Pin { diff --git a/src/main/java/com/stripe/param/issuing/CardholderCreateParams.java b/src/main/java/com/stripe/param/issuing/CardholderCreateParams.java index e8fd6e7a4d8..1cd59ac4eeb 100644 --- a/src/main/java/com/stripe/param/issuing/CardholderCreateParams.java +++ b/src/main/java/com/stripe/param/issuing/CardholderCreateParams.java @@ -828,7 +828,7 @@ public static class CardIssuing { /** * Information about cardholder acceptance of Celtic Authorized User + * href="https://docs.stripe.com/issuing/compliance-us#issuing-terms">Authorized User * Terms. Required for cards backed by a Celtic program. */ @SerializedName("user_terms_acceptance") @@ -885,7 +885,7 @@ public Builder putAllExtraParam(Map map) { /** * Information about cardholder acceptance of Celtic Authorized User + * href="https://docs.stripe.com/issuing/compliance-us#issuing-terms">Authorized User * Terms. Required for cards backed by a Celtic program. */ public Builder setUserTermsAcceptance( diff --git a/src/main/java/com/stripe/param/issuing/CardholderUpdateParams.java b/src/main/java/com/stripe/param/issuing/CardholderUpdateParams.java index eca05b5efa8..0865d2ecc23 100644 --- a/src/main/java/com/stripe/param/issuing/CardholderUpdateParams.java +++ b/src/main/java/com/stripe/param/issuing/CardholderUpdateParams.java @@ -875,7 +875,7 @@ public static class CardIssuing { /** * Information about cardholder acceptance of Celtic Authorized User + * href="https://docs.stripe.com/issuing/compliance-us#issuing-terms">Authorized User * Terms. Required for cards backed by a Celtic program. */ @SerializedName("user_terms_acceptance") @@ -932,7 +932,7 @@ public Builder putAllExtraParam(Map map) { /** * Information about cardholder acceptance of Celtic Authorized User + * href="https://docs.stripe.com/issuing/compliance-us#issuing-terms">Authorized User * Terms. Required for cards backed by a Celtic program. */ public Builder setUserTermsAcceptance( diff --git a/src/main/java/com/stripe/param/v2/core/AccountCreateParams.java b/src/main/java/com/stripe/param/v2/core/AccountCreateParams.java index b05d9749ee4..e08c36e97e1 100644 --- a/src/main/java/com/stripe/param/v2/core/AccountCreateParams.java +++ b/src/main/java/com/stripe/param/v2/core/AccountCreateParams.java @@ -7173,6 +7173,10 @@ public static class Capabilities { @SerializedName("blik_payments") BlikPayments blikPayments; + /** Allow the merchant to process recurring BLIK payments. */ + @SerializedName("blik_recurring_payments") + BlikRecurringPayments blikRecurringPayments; + /** Allow the merchant to process Boleto payments. */ @SerializedName("boleto_payments") BoletoPayments boletoPayments; @@ -7334,6 +7338,7 @@ private Capabilities( BacsDebitPayments bacsDebitPayments, BancontactPayments bancontactPayments, BlikPayments blikPayments, + BlikRecurringPayments blikRecurringPayments, BoletoPayments boletoPayments, CardPayments cardPayments, CartesBancairesPayments cartesBancairesPayments, @@ -7380,6 +7385,7 @@ private Capabilities( this.bacsDebitPayments = bacsDebitPayments; this.bancontactPayments = bancontactPayments; this.blikPayments = blikPayments; + this.blikRecurringPayments = blikRecurringPayments; this.boletoPayments = boletoPayments; this.cardPayments = cardPayments; this.cartesBancairesPayments = cartesBancairesPayments; @@ -7443,6 +7449,8 @@ public static class Builder { private BlikPayments blikPayments; + private BlikRecurringPayments blikRecurringPayments; + private BoletoPayments boletoPayments; private CardPayments cardPayments; @@ -7528,6 +7536,7 @@ public AccountCreateParams.Configuration.Merchant.Capabilities build() { this.bacsDebitPayments, this.bancontactPayments, this.blikPayments, + this.blikRecurringPayments, this.boletoPayments, this.cardPayments, this.cartesBancairesPayments, @@ -7644,6 +7653,14 @@ public Builder setBlikPayments( return this; } + /** Allow the merchant to process recurring BLIK payments. */ + public Builder setBlikRecurringPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.BlikRecurringPayments + blikRecurringPayments) { + this.blikRecurringPayments = blikRecurringPayments; + return this; + } + /** Allow the merchant to process Boleto payments. */ public Builder setBoletoPayments( AccountCreateParams.Configuration.Merchant.Capabilities.BoletoPayments @@ -10497,6 +10514,263 @@ public Builder setRequested(Boolean requested) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BlikRecurringPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private BlikRecurringPayments( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.BlikRecurringPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities + .BlikRecurringPayments(this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.BlikRecurringPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.BlikRecurringPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + public Builder setProtections( + AccountCreateParams.Configuration.Merchant.Capabilities.BlikRecurringPayments + .Protections + protections) { + this.protections = protections; + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Protections { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.BlikRecurringPayments + .Protections + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities + .BlikRecurringPayments.Protections(this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.BlikRecurringPayments.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.BlikRecurringPayments.Protections#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.Merchant.Capabilities.BlikRecurringPayments + .Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. To request a protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.BlikRecurringPayments + .Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities + .BlikRecurringPayments.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.BlikRecurringPayments.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.BlikRecurringPayments.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. To request a protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class BoletoPayments { diff --git a/src/main/java/com/stripe/param/v2/core/AccountUpdateParams.java b/src/main/java/com/stripe/param/v2/core/AccountUpdateParams.java index f9bb1bab8c8..96aaddef774 100644 --- a/src/main/java/com/stripe/param/v2/core/AccountUpdateParams.java +++ b/src/main/java/com/stripe/param/v2/core/AccountUpdateParams.java @@ -7506,6 +7506,10 @@ public static class Capabilities { @SerializedName("blik_payments") BlikPayments blikPayments; + /** Allow the merchant to process recurring BLIK payments. */ + @SerializedName("blik_recurring_payments") + BlikRecurringPayments blikRecurringPayments; + /** Allow the merchant to process Boleto payments. */ @SerializedName("boleto_payments") BoletoPayments boletoPayments; @@ -7667,6 +7671,7 @@ private Capabilities( BacsDebitPayments bacsDebitPayments, BancontactPayments bancontactPayments, BlikPayments blikPayments, + BlikRecurringPayments blikRecurringPayments, BoletoPayments boletoPayments, CardPayments cardPayments, CartesBancairesPayments cartesBancairesPayments, @@ -7713,6 +7718,7 @@ private Capabilities( this.bacsDebitPayments = bacsDebitPayments; this.bancontactPayments = bancontactPayments; this.blikPayments = blikPayments; + this.blikRecurringPayments = blikRecurringPayments; this.boletoPayments = boletoPayments; this.cardPayments = cardPayments; this.cartesBancairesPayments = cartesBancairesPayments; @@ -7776,6 +7782,8 @@ public static class Builder { private BlikPayments blikPayments; + private BlikRecurringPayments blikRecurringPayments; + private BoletoPayments boletoPayments; private CardPayments cardPayments; @@ -7861,6 +7869,7 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities build() { this.bacsDebitPayments, this.bancontactPayments, this.blikPayments, + this.blikRecurringPayments, this.boletoPayments, this.cardPayments, this.cartesBancairesPayments, @@ -7977,6 +7986,14 @@ public Builder setBlikPayments( return this; } + /** Allow the merchant to process recurring BLIK payments. */ + public Builder setBlikRecurringPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.BlikRecurringPayments + blikRecurringPayments) { + this.blikRecurringPayments = blikRecurringPayments; + return this; + } + /** Allow the merchant to process Boleto payments. */ public Builder setBoletoPayments( AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments @@ -10830,6 +10847,263 @@ public Builder setRequested(Boolean requested) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BlikRecurringPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private BlikRecurringPayments( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.BlikRecurringPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities + .BlikRecurringPayments(this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.BlikRecurringPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.BlikRecurringPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + public Builder setProtections( + AccountUpdateParams.Configuration.Merchant.Capabilities.BlikRecurringPayments + .Protections + protections) { + this.protections = protections; + return this; + } + + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Protections { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.BlikRecurringPayments + .Protections + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities + .BlikRecurringPayments.Protections(this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.BlikRecurringPayments.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.BlikRecurringPayments.Protections#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.Merchant.Capabilities.BlikRecurringPayments + .Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. To request a protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.BlikRecurringPayments + .Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities + .BlikRecurringPayments.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.BlikRecurringPayments.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.BlikRecurringPayments.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. To request a protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class BoletoPayments { diff --git a/src/main/java/com/stripe/param/v2/iam/ActivityLogListParams.java b/src/main/java/com/stripe/param/v2/iam/ActivityLogListParams.java index 66105f56bec..98b642cbbe8 100644 --- a/src/main/java/com/stripe/param/v2/iam/ActivityLogListParams.java +++ b/src/main/java/com/stripe/param/v2/iam/ActivityLogListParams.java @@ -162,6 +162,9 @@ public enum Action implements ApiRequestParams.EnumParam { @SerializedName("api_key_viewed") API_KEY_VIEWED("api_key_viewed"), + @SerializedName("user_access_started") + USER_ACCESS_STARTED("user_access_started"), + @SerializedName("user_invite_accepted") USER_INVITE_ACCEPTED("user_invite_accepted"), @@ -189,6 +192,9 @@ public enum ActionGroup implements ApiRequestParams.EnumParam { @SerializedName("api_key") API_KEY("api_key"), + @SerializedName("user_access") + USER_ACCESS("user_access"), + @SerializedName("user_invite") USER_INVITE("user_invite"), diff --git a/src/main/java/com/stripe/service/CustomerService.java b/src/main/java/com/stripe/service/CustomerService.java index 748ede5a583..f3d461e47b4 100644 --- a/src/main/java/com/stripe/service/CustomerService.java +++ b/src/main/java/com/stripe/service/CustomerService.java @@ -364,6 +364,10 @@ public com.stripe.service.CustomerPaymentSourceService paymentSources() { return new com.stripe.service.CustomerPaymentSourceService(this.getResponseGetter()); } + public com.stripe.service.CustomerTaxExemptionService taxExemptions() { + return new com.stripe.service.CustomerTaxExemptionService(this.getResponseGetter()); + } + public com.stripe.service.CustomerTaxIdService taxIds() { return new com.stripe.service.CustomerTaxIdService(this.getResponseGetter()); } diff --git a/src/main/java/com/stripe/service/CustomerTaxExemptionService.java b/src/main/java/com/stripe/service/CustomerTaxExemptionService.java new file mode 100644 index 00000000000..38c89bf3a17 --- /dev/null +++ b/src/main/java/com/stripe/service/CustomerTaxExemptionService.java @@ -0,0 +1,121 @@ +// File generated from our OpenAPI spec +package com.stripe.service; + +import com.google.gson.reflect.TypeToken; +import com.stripe.exception.StripeException; +import com.stripe.model.CustomerTaxExemption; +import com.stripe.model.StripeCollection; +import com.stripe.net.ApiRequest; +import com.stripe.net.ApiRequestParams; +import com.stripe.net.ApiResource; +import com.stripe.net.ApiService; +import com.stripe.net.BaseAddress; +import com.stripe.net.RequestOptions; +import com.stripe.net.StripeResponseGetter; +import com.stripe.param.CustomerTaxExemptionCreateParams; +import com.stripe.param.CustomerTaxExemptionListParams; +import com.stripe.param.CustomerTaxExemptionRetrieveParams; + +public final class CustomerTaxExemptionService extends ApiService { + public CustomerTaxExemptionService(StripeResponseGetter responseGetter) { + super(responseGetter); + } + + /** Delete a location specific tax exemption for a customer. */ + public CustomerTaxExemption delete(String customer, String id) throws StripeException { + return delete(customer, id, (RequestOptions) null); + } + /** Delete a location specific tax exemption for a customer. */ + public CustomerTaxExemption delete(String customer, String id, RequestOptions options) + throws StripeException { + String path = + String.format( + "/v1/customers/%s/tax_exemptions/%s", + ApiResource.urlEncodeId(customer), ApiResource.urlEncodeId(id)); + ApiRequest request = + new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.DELETE, path, null, options); + return this.request(request, CustomerTaxExemption.class); + } + /** Retrieve a location specific tax exemption for a customer. */ + public CustomerTaxExemption retrieve( + String customer, String id, CustomerTaxExemptionRetrieveParams params) + throws StripeException { + return retrieve(customer, id, params, (RequestOptions) null); + } + /** Retrieve a location specific tax exemption for a customer. */ + public CustomerTaxExemption retrieve(String customer, String id, RequestOptions options) + throws StripeException { + return retrieve(customer, id, (CustomerTaxExemptionRetrieveParams) null, options); + } + /** Retrieve a location specific tax exemption for a customer. */ + public CustomerTaxExemption retrieve(String customer, String id) throws StripeException { + return retrieve(customer, id, (CustomerTaxExemptionRetrieveParams) null, (RequestOptions) null); + } + /** Retrieve a location specific tax exemption for a customer. */ + public CustomerTaxExemption retrieve( + String customer, String id, CustomerTaxExemptionRetrieveParams params, RequestOptions options) + throws StripeException { + String path = + String.format( + "/v1/customers/%s/tax_exemptions/%s", + ApiResource.urlEncodeId(customer), ApiResource.urlEncodeId(id)); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.GET, + path, + ApiRequestParams.paramsToMap(params), + options); + return this.request(request, CustomerTaxExemption.class); + } + /** List all location specific tax exemptions for a customer. */ + public StripeCollection list( + String customer, CustomerTaxExemptionListParams params) throws StripeException { + return list(customer, params, (RequestOptions) null); + } + /** List all location specific tax exemptions for a customer. */ + public StripeCollection list(String customer, RequestOptions options) + throws StripeException { + return list(customer, (CustomerTaxExemptionListParams) null, options); + } + /** List all location specific tax exemptions for a customer. */ + public StripeCollection list(String customer) throws StripeException { + return list(customer, (CustomerTaxExemptionListParams) null, (RequestOptions) null); + } + /** List all location specific tax exemptions for a customer. */ + public StripeCollection list( + String customer, CustomerTaxExemptionListParams params, RequestOptions options) + throws StripeException { + String path = + String.format("/v1/customers/%s/tax_exemptions", ApiResource.urlEncodeId(customer)); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.GET, + path, + ApiRequestParams.paramsToMap(params), + options); + return this.request( + request, new TypeToken>() {}.getType()); + } + /** Create a location specific tax exemption for a customer. */ + public CustomerTaxExemption create(String customer, CustomerTaxExemptionCreateParams params) + throws StripeException { + return create(customer, params, (RequestOptions) null); + } + /** Create a location specific tax exemption for a customer. */ + public CustomerTaxExemption create( + String customer, CustomerTaxExemptionCreateParams params, RequestOptions options) + throws StripeException { + String path = + String.format("/v1/customers/%s/tax_exemptions", ApiResource.urlEncodeId(customer)); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + path, + ApiRequestParams.paramsToMap(params), + options); + return this.request(request, CustomerTaxExemption.class); + } +} diff --git a/src/main/java/com/stripe/service/PaymentRecordService.java b/src/main/java/com/stripe/service/PaymentRecordService.java index 682a4b00d5a..a0e5e656b3d 100644 --- a/src/main/java/com/stripe/service/PaymentRecordService.java +++ b/src/main/java/com/stripe/service/PaymentRecordService.java @@ -13,8 +13,8 @@ import com.stripe.net.BaseAddress; import com.stripe.net.RequestOptions; import com.stripe.net.StripeResponseGetter; -import com.stripe.param.PaymentRecordCreateParams; import com.stripe.param.PaymentRecordListParams; +import com.stripe.param.PaymentRecordReportDisputeParams; import com.stripe.param.PaymentRecordReportPaymentAttemptCanceledParams; import com.stripe.param.PaymentRecordReportPaymentAttemptFailedParams; import com.stripe.param.PaymentRecordReportPaymentAttemptGuaranteedParams; @@ -116,11 +116,13 @@ public StripeSearchResult search( return this.request(request, new TypeToken>() {}.getType()); } /** Report that the most recent payment attempt on the specified Payment Record was disputed. */ - public PaymentRecord create(String id, PaymentRecordCreateParams params) throws StripeException { - return create(id, params, (RequestOptions) null); + public PaymentRecord reportDispute(String id, PaymentRecordReportDisputeParams params) + throws StripeException { + return reportDispute(id, params, (RequestOptions) null); } /** Report that the most recent payment attempt on the specified Payment Record was disputed. */ - public PaymentRecord create(String id, PaymentRecordCreateParams params, RequestOptions options) + public PaymentRecord reportDispute( + String id, PaymentRecordReportDisputeParams params, RequestOptions options) throws StripeException { String path = String.format("/v1/payment_records/%s/report_dispute", ApiResource.urlEncodeId(id)); diff --git a/src/test/java/com/stripe/functional/GeneratedExamples.java b/src/test/java/com/stripe/functional/GeneratedExamples.java index d78cb0a2533..d21cc9722d4 100644 --- a/src/test/java/com/stripe/functional/GeneratedExamples.java +++ b/src/test/java/com/stripe/functional/GeneratedExamples.java @@ -29512,7 +29512,7 @@ public void testV2IamActivityLogGetServices() throws StripeException { new TypeToken< com.stripe.model.v2.StripeCollection< com.stripe.model.v2.iam.ActivityLog>>() {}.getType(), - "{\"data\":[{\"object\":\"v2.iam.activity_log\",\"actor\":{\"type\":\"api_key\"},\"context\":\"context\",\"created\":\"1970-01-12T21:42:34.472Z\",\"details\":{\"type\":\"api_key\"},\"id\":\"obj_123\",\"livemode\":true,\"type\":\"api_key_created\"}],\"next_page_url\":null,\"previous_page_url\":null}"); + "{\"data\":[{\"object\":\"v2.iam.activity_log\",\"actor\":{\"type\":\"api_key\"},\"context\":\"context\",\"created\":\"1970-01-12T21:42:34.472Z\",\"details\":{\"type\":\"user_invite\"},\"id\":\"obj_123\",\"livemode\":true,\"type\":\"api_key_created\"}],\"next_page_url\":null,\"previous_page_url\":null}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.iam.ActivityLogListParams params = @@ -29538,7 +29538,7 @@ public void testV2IamActivityLogGet2Services() throws StripeException { null, null, com.stripe.model.v2.iam.ActivityLog.class, - "{\"object\":\"v2.iam.activity_log\",\"actor\":{\"type\":\"api_key\"},\"context\":\"context\",\"created\":\"1970-01-12T21:42:34.472Z\",\"details\":{\"type\":\"api_key\"},\"id\":\"obj_123\",\"livemode\":true,\"type\":\"api_key_created\"}"); + "{\"object\":\"v2.iam.activity_log\",\"actor\":{\"type\":\"api_key\"},\"context\":\"context\",\"created\":\"1970-01-12T21:42:34.472Z\",\"details\":{\"type\":\"user_invite\"},\"id\":\"obj_123\",\"livemode\":true,\"type\":\"api_key_created\"}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.iam.ActivityLog activityLog =