diff --git a/API_VERSION b/API_VERSION index dffa3a76a26..2f15c36285b 100644 --- a/API_VERSION +++ b/API_VERSION @@ -1 +1 @@ -6d15a7f20cb77c2c22091a30e499cb89d7e3248c \ No newline at end of file +a4d4c803dcbf205368dc65179c7eca4748aadaf7 \ No newline at end of file diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index dfd2783f161..e67a81ed1b3 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v2111 \ No newline at end of file +v2123 \ No newline at end of file diff --git a/src/main/java/com/stripe/ApiVersion.java b/src/main/java/com/stripe/ApiVersion.java index 933e22b0b18..ce6a6ab331b 100644 --- a/src/main/java/com/stripe/ApiVersion.java +++ b/src/main/java/com/stripe/ApiVersion.java @@ -2,6 +2,6 @@ package com.stripe; final class ApiVersion { - public static final String CURRENT = "2025-10-29.clover"; + public static final String CURRENT = "2025-11-17.clover"; public static final String CURRENT_MAJOR = "clover"; } diff --git a/src/main/java/com/stripe/model/BankAccount.java b/src/main/java/com/stripe/model/BankAccount.java index 5284ebe11fe..88c9e47a664 100644 --- a/src/main/java/com/stripe/model/BankAccount.java +++ b/src/main/java/com/stripe/model/BankAccount.java @@ -156,20 +156,24 @@ public class BankAccount extends ApiResource /** * For bank accounts, possible values are {@code new}, {@code validated}, {@code verified}, {@code - * verification_failed}, or {@code errored}. A bank account that hasn't had any activity or - * validation performed is {@code new}. If Stripe can determine that the bank account exists, its - * status will be {@code validated}. Note that there often isn’t enough information to know (e.g., - * for smaller credit unions), and the validation is not always run. If customer bank account - * verification has succeeded, the bank account status will be {@code verified}. If the - * verification failed for any reason, such as microdeposit failure, the status will be {@code - * verification_failed}. If a payout sent to this bank account fails, we'll set the status to - * {@code errored} and will not continue to send scheduled payouts until the bank * details are updated. * - *

For external accounts, possible values are {@code new}, {@code errored} and {@code - * verification_failed}. If a payout fails, the status is set to {@code errored} and scheduled - * payouts are stopped until account details are updated. In the US and India, if we can't For external accounts, possible values are {@code new}, {@code errored}, {@code + * verification_failed}, and {@code tokenized_account_number_deactivated}. If a payout fails, the + * status is set to {@code errored} and scheduled payouts are stopped until account details are + * updated. In the US and India, if we can't verify the * owner of the bank account, we'll set the status to {@code verification_failed}. Other * validations aren't run against external accounts because they're only used for payouts. This diff --git a/src/main/java/com/stripe/model/Charge.java b/src/main/java/com/stripe/model/Charge.java index c5c6e994c56..61efdda9ce5 100644 --- a/src/main/java/com/stripe/model/Charge.java +++ b/src/main/java/com/stripe/model/Charge.java @@ -2831,9 +2831,9 @@ public static class Grabpay extends StripeObject { public static class Ideal extends StripeObject { /** * The customer's bank. Can be one of {@code abn_amro}, {@code asn_bank}, {@code bunq}, {@code - * buut}, {@code handelsbanken}, {@code ing}, {@code knab}, {@code moneyou}, {@code n26}, - * {@code nn}, {@code rabobank}, {@code regiobank}, {@code revolut}, {@code sns_bank}, {@code - * triodos_bank}, {@code van_lanschot}, or {@code yoursafe}. + * buut}, {@code finom}, {@code handelsbanken}, {@code ing}, {@code knab}, {@code moneyou}, + * {@code n26}, {@code nn}, {@code rabobank}, {@code regiobank}, {@code revolut}, {@code + * sns_bank}, {@code triodos_bank}, {@code van_lanschot}, or {@code yoursafe}. */ @SerializedName("bank") String bank; @@ -2842,9 +2842,9 @@ public static class Ideal extends StripeObject { * The Bank Identifier Code of the customer's bank. * *

One of {@code ABNANL2A}, {@code ASNBNL21}, {@code BITSNL2A}, {@code BUNQNL2A}, {@code - * BUUTNL2A}, {@code FVLBNL22}, {@code HANDNL2A}, {@code INGBNL2A}, {@code KNABNL2H}, {@code - * MOYONL21}, {@code NNBANL2G}, {@code NTSBDEB1}, {@code RABONL2U}, {@code RBRBNL21}, {@code - * REVOIE23}, {@code REVOLT21}, {@code SNSBNL2A}, or {@code TRIONL2U}. + * BUUTNL2A}, {@code FNOMNL22}, {@code FVLBNL22}, {@code HANDNL2A}, {@code INGBNL2A}, {@code + * KNABNL2H}, {@code MOYONL21}, {@code NNBANL2G}, {@code NTSBDEB1}, {@code RABONL2U}, {@code + * RBRBNL21}, {@code REVOIE23}, {@code REVOLT21}, {@code SNSBNL2A}, or {@code TRIONL2U}. */ @SerializedName("bic") String bic; @@ -2865,6 +2865,10 @@ public static class Ideal extends StripeObject { @SerializedName("iban_last4") String ibanLast4; + /** Unique transaction ID generated by iDEAL. */ + @SerializedName("transaction_id") + String transactionId; + /** * Owner's verified full name. Values are verified or provided by iDEAL directly (if * supported) at the time of authorization or settlement. They cannot be set or mutated. diff --git a/src/main/java/com/stripe/model/ConfirmationToken.java b/src/main/java/com/stripe/model/ConfirmationToken.java index 8af3bf46de1..584558a4af0 100644 --- a/src/main/java/com/stripe/model/ConfirmationToken.java +++ b/src/main/java/com/stripe/model/ConfirmationToken.java @@ -1665,9 +1665,10 @@ public static class Grabpay extends StripeObject {} public static class Ideal extends StripeObject { /** * The customer's bank, if provided. Can be one of {@code abn_amro}, {@code asn_bank}, {@code - * bunq}, {@code buut}, {@code handelsbanken}, {@code ing}, {@code knab}, {@code moneyou}, - * {@code n26}, {@code nn}, {@code rabobank}, {@code regiobank}, {@code revolut}, {@code - * sns_bank}, {@code triodos_bank}, {@code van_lanschot}, or {@code yoursafe}. + * bunq}, {@code buut}, {@code finom}, {@code handelsbanken}, {@code ing}, {@code knab}, + * {@code moneyou}, {@code n26}, {@code nn}, {@code rabobank}, {@code regiobank}, {@code + * revolut}, {@code sns_bank}, {@code triodos_bank}, {@code van_lanschot}, or {@code + * yoursafe}. */ @SerializedName("bank") String bank; @@ -1676,9 +1677,9 @@ public static class Ideal extends StripeObject { * The Bank Identifier Code of the customer's bank, if the bank was provided. * *

One of {@code ABNANL2A}, {@code ASNBNL21}, {@code BITSNL2A}, {@code BUNQNL2A}, {@code - * BUUTNL2A}, {@code FVLBNL22}, {@code HANDNL2A}, {@code INGBNL2A}, {@code KNABNL2H}, {@code - * MOYONL21}, {@code NNBANL2G}, {@code NTSBDEB1}, {@code RABONL2U}, {@code RBRBNL21}, {@code - * REVOIE23}, {@code REVOLT21}, {@code SNSBNL2A}, or {@code TRIONL2U}. + * BUUTNL2A}, {@code FNOMNL22}, {@code FVLBNL22}, {@code HANDNL2A}, {@code INGBNL2A}, {@code + * KNABNL2H}, {@code MOYONL21}, {@code NNBANL2G}, {@code NTSBDEB1}, {@code RABONL2U}, {@code + * RBRBNL21}, {@code REVOIE23}, {@code REVOLT21}, {@code SNSBNL2A}, or {@code TRIONL2U}. */ @SerializedName("bic") String bic; @@ -2351,7 +2352,8 @@ public static class Blocked extends StripeObject { * *

One of {@code bank_account_closed}, {@code bank_account_frozen}, {@code * bank_account_invalid_details}, {@code bank_account_restricted}, {@code - * bank_account_unusable}, or {@code debit_not_authorized}. + * bank_account_unusable}, {@code debit_not_authorized}, or {@code + * tokenized_account_number_deactivated}. */ @SerializedName("reason") String reason; diff --git a/src/main/java/com/stripe/model/Event.java b/src/main/java/com/stripe/model/Event.java index 8f0b0911e4e..1f36c7d8289 100644 --- a/src/main/java/com/stripe/model/Event.java +++ b/src/main/java/com/stripe/model/Event.java @@ -129,12 +129,14 @@ public class Event extends ApiResource implements HasId { * customer.tax_id.created}, {@code customer.tax_id.deleted}, {@code customer.tax_id.updated}, * {@code customer.updated}, {@code customer_cash_balance_transaction.created}, {@code * entitlements.active_entitlement_summary.updated}, {@code file.created}, {@code + * financial_connections.account.account_numbers_updated}, {@code * financial_connections.account.created}, {@code financial_connections.account.deactivated}, * {@code financial_connections.account.disconnected}, {@code * financial_connections.account.reactivated}, {@code * financial_connections.account.refreshed_balance}, {@code * financial_connections.account.refreshed_ownership}, {@code * financial_connections.account.refreshed_transactions}, {@code + * financial_connections.account.upcoming_account_number_expiry}, {@code * identity.verification_session.canceled}, {@code identity.verification_session.created}, {@code * identity.verification_session.processing}, {@code identity.verification_session.redacted}, * {@code identity.verification_session.requires_input}, {@code diff --git a/src/main/java/com/stripe/model/EventDataClassLookup.java b/src/main/java/com/stripe/model/EventDataClassLookup.java index 7449b2bf619..7796bfcb3b7 100644 --- a/src/main/java/com/stripe/model/EventDataClassLookup.java +++ b/src/main/java/com/stripe/model/EventDataClassLookup.java @@ -174,6 +174,7 @@ public final class EventDataClassLookup { classLookup.put("scheduled_query_run", com.stripe.model.sigma.ScheduledQueryRun.class); + classLookup.put("tax.association", com.stripe.model.tax.Association.class); classLookup.put("tax.calculation", com.stripe.model.tax.Calculation.class); classLookup.put("tax.calculation_line_item", com.stripe.model.tax.CalculationLineItem.class); classLookup.put("tax.registration", com.stripe.model.tax.Registration.class); @@ -184,6 +185,7 @@ public final class EventDataClassLookup { classLookup.put("terminal.configuration", com.stripe.model.terminal.Configuration.class); classLookup.put("terminal.connection_token", com.stripe.model.terminal.ConnectionToken.class); classLookup.put("terminal.location", com.stripe.model.terminal.Location.class); + classLookup.put("terminal.onboarding_link", com.stripe.model.terminal.OnboardingLink.class); classLookup.put("terminal.reader", com.stripe.model.terminal.Reader.class); classLookup.put("test_helpers.test_clock", com.stripe.model.testhelpers.TestClock.class); diff --git a/src/main/java/com/stripe/model/PaymentAttemptRecord.java b/src/main/java/com/stripe/model/PaymentAttemptRecord.java index 9162a9c2ebf..6150fb3c665 100644 --- a/src/main/java/com/stripe/model/PaymentAttemptRecord.java +++ b/src/main/java/com/stripe/model/PaymentAttemptRecord.java @@ -567,7 +567,6 @@ public static class PaymentMethodDetails extends StripeObject { @SerializedName("type") String type; - /** Details of the US Bank Account used for this payment attempt. */ @SerializedName("us_bank_account") UsBankAccount usBankAccount; @@ -1795,9 +1794,9 @@ public static class Grabpay extends StripeObject { public static class Ideal extends StripeObject { /** * The customer's bank. Can be one of {@code abn_amro}, {@code asn_bank}, {@code bunq}, {@code - * buut}, {@code handelsbanken}, {@code ing}, {@code knab}, {@code moneyou}, {@code n26}, - * {@code nn}, {@code rabobank}, {@code regiobank}, {@code revolut}, {@code sns_bank}, {@code - * triodos_bank}, {@code van_lanschot}, or {@code yoursafe}. + * buut}, {@code finom}, {@code handelsbanken}, {@code ing}, {@code knab}, {@code moneyou}, + * {@code n26}, {@code nn}, {@code rabobank}, {@code regiobank}, {@code revolut}, {@code + * sns_bank}, {@code triodos_bank}, {@code van_lanschot}, or {@code yoursafe}. */ @SerializedName("bank") String bank; @@ -1806,9 +1805,9 @@ public static class Ideal extends StripeObject { * The Bank Identifier Code of the customer's bank. * *

One of {@code ABNANL2A}, {@code ASNBNL21}, {@code BITSNL2A}, {@code BUNQNL2A}, {@code - * BUUTNL2A}, {@code FVLBNL22}, {@code HANDNL2A}, {@code INGBNL2A}, {@code KNABNL2H}, {@code - * MOYONL21}, {@code NNBANL2G}, {@code NTSBDEB1}, {@code RABONL2U}, {@code RBRBNL21}, {@code - * REVOIE23}, {@code REVOLT21}, {@code SNSBNL2A}, or {@code TRIONL2U}. + * BUUTNL2A}, {@code FNOMNL22}, {@code FVLBNL22}, {@code HANDNL2A}, {@code INGBNL2A}, {@code + * KNABNL2H}, {@code MOYONL21}, {@code NNBANL2G}, {@code NTSBDEB1}, {@code RABONL2U}, {@code + * RBRBNL21}, {@code REVOIE23}, {@code REVOLT21}, {@code SNSBNL2A}, or {@code TRIONL2U}. */ @SerializedName("bic") String bic; @@ -1829,6 +1828,10 @@ public static class Ideal extends StripeObject { @SerializedName("iban_last4") String ibanLast4; + /** Unique transaction ID generated by iDEAL. */ + @SerializedName("transaction_id") + String transactionId; + /** * Owner's verified full name. Values are verified or provided by iDEAL directly (if * supported) at the time of authorization or settlement. They cannot be set or mutated. @@ -2871,14 +2874,27 @@ public static class Swish extends StripeObject { @EqualsAndHashCode(callSuper = false) public static class Twint extends StripeObject {} - /** Details of the US Bank Account used for this payment attempt. */ + /** + * For more details about UsBankAccount, please refer to the API Reference. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) public static class UsBankAccount extends StripeObject { + /** + * The type of entity that holds the account. This can be either 'individual' or 'company'. + * + *

One of {@code company}, or {@code individual}. + */ @SerializedName("account_holder_type") String accountHolderType; + /** + * The type of the bank account. This can be either 'checking' or 'savings'. + * + *

One of {@code checking}, or {@code savings}. + */ @SerializedName("account_type") String accountType; @@ -2903,11 +2919,11 @@ public static class UsBankAccount extends StripeObject { @Setter(lombok.AccessLevel.NONE) ExpandableField mandate; - /** Reference number to locate ACH payments with customer’s bank. */ + /** The ACH payment reference for this transaction. */ @SerializedName("payment_reference") String paymentReference; - /** Routing number of the bank account. */ + /** The routing number for the bank account. */ @SerializedName("routing_number") String routingNumber; diff --git a/src/main/java/com/stripe/model/PaymentIntent.java b/src/main/java/com/stripe/model/PaymentIntent.java index f252c6baa92..2c30a34f217 100644 --- a/src/main/java/com/stripe/model/PaymentIntent.java +++ b/src/main/java/com/stripe/model/PaymentIntent.java @@ -179,6 +179,9 @@ public class PaymentIntent extends ApiResource implements HasId, MetadataStore

excludedPaymentMethodTypes; + @SerializedName("hooks") + Hooks hooks; + /** Unique identifier for the object. */ @Getter(onMethod_ = {@Override}) @SerializedName("id") @@ -1638,6 +1641,43 @@ public static class AutomaticPaymentMethods extends StripeObject { Boolean enabled; } + /** + * For more details about Hooks, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Hooks extends StripeObject { + @SerializedName("inputs") + Inputs inputs; + + /** + * For more details about Inputs, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Inputs extends StripeObject { + @SerializedName("tax") + Tax tax; + + /** + * For more details about Tax, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Tax extends StripeObject { + /** The TaxCalculation id */ + @SerializedName("calculation") + String calculation; + } + } + } + /** * For more details about NextAction, please refer to the API Reference. @@ -5254,6 +5294,7 @@ public void setResponseGetter(StripeResponseGetter responseGetter) { trySetResponseGetter(application, responseGetter); trySetResponseGetter(automaticPaymentMethods, responseGetter); trySetResponseGetter(customer, responseGetter); + trySetResponseGetter(hooks, responseGetter); trySetResponseGetter(lastPaymentError, responseGetter); trySetResponseGetter(latestCharge, responseGetter); trySetResponseGetter(nextAction, responseGetter); diff --git a/src/main/java/com/stripe/model/PaymentMethod.java b/src/main/java/com/stripe/model/PaymentMethod.java index fa5e6cbe2c5..99162d462a9 100644 --- a/src/main/java/com/stripe/model/PaymentMethod.java +++ b/src/main/java/com/stripe/model/PaymentMethod.java @@ -1897,9 +1897,9 @@ public static class Grabpay extends StripeObject {} public static class Ideal extends StripeObject { /** * The customer's bank, if provided. Can be one of {@code abn_amro}, {@code asn_bank}, {@code - * bunq}, {@code buut}, {@code handelsbanken}, {@code ing}, {@code knab}, {@code moneyou}, - * {@code n26}, {@code nn}, {@code rabobank}, {@code regiobank}, {@code revolut}, {@code - * sns_bank}, {@code triodos_bank}, {@code van_lanschot}, or {@code yoursafe}. + * bunq}, {@code buut}, {@code finom}, {@code handelsbanken}, {@code ing}, {@code knab}, {@code + * moneyou}, {@code n26}, {@code nn}, {@code rabobank}, {@code regiobank}, {@code revolut}, + * {@code sns_bank}, {@code triodos_bank}, {@code van_lanschot}, or {@code yoursafe}. */ @SerializedName("bank") String bank; @@ -1908,9 +1908,9 @@ public static class Ideal extends StripeObject { * The Bank Identifier Code of the customer's bank, if the bank was provided. * *

One of {@code ABNANL2A}, {@code ASNBNL21}, {@code BITSNL2A}, {@code BUNQNL2A}, {@code - * BUUTNL2A}, {@code FVLBNL22}, {@code HANDNL2A}, {@code INGBNL2A}, {@code KNABNL2H}, {@code - * MOYONL21}, {@code NNBANL2G}, {@code NTSBDEB1}, {@code RABONL2U}, {@code RBRBNL21}, {@code - * REVOIE23}, {@code REVOLT21}, {@code SNSBNL2A}, or {@code TRIONL2U}. + * BUUTNL2A}, {@code FNOMNL22}, {@code FVLBNL22}, {@code HANDNL2A}, {@code INGBNL2A}, {@code + * KNABNL2H}, {@code MOYONL21}, {@code NNBANL2G}, {@code NTSBDEB1}, {@code RABONL2U}, {@code + * RBRBNL21}, {@code REVOIE23}, {@code REVOLT21}, {@code SNSBNL2A}, or {@code TRIONL2U}. */ @SerializedName("bic") String bic; @@ -2598,7 +2598,8 @@ public static class Blocked extends StripeObject { * *

One of {@code bank_account_closed}, {@code bank_account_frozen}, {@code * bank_account_invalid_details}, {@code bank_account_restricted}, {@code - * bank_account_unusable}, or {@code debit_not_authorized}. + * bank_account_unusable}, {@code debit_not_authorized}, or {@code + * tokenized_account_number_deactivated}. */ @SerializedName("reason") String reason; diff --git a/src/main/java/com/stripe/model/PaymentRecord.java b/src/main/java/com/stripe/model/PaymentRecord.java index 26756e7f90c..b8e6ec3a2a9 100644 --- a/src/main/java/com/stripe/model/PaymentRecord.java +++ b/src/main/java/com/stripe/model/PaymentRecord.java @@ -861,7 +861,6 @@ public static class PaymentMethodDetails extends StripeObject { @SerializedName("type") String type; - /** Details of the US Bank Account used for this payment attempt. */ @SerializedName("us_bank_account") UsBankAccount usBankAccount; @@ -2089,9 +2088,9 @@ public static class Grabpay extends StripeObject { public static class Ideal extends StripeObject { /** * The customer's bank. Can be one of {@code abn_amro}, {@code asn_bank}, {@code bunq}, {@code - * buut}, {@code handelsbanken}, {@code ing}, {@code knab}, {@code moneyou}, {@code n26}, - * {@code nn}, {@code rabobank}, {@code regiobank}, {@code revolut}, {@code sns_bank}, {@code - * triodos_bank}, {@code van_lanschot}, or {@code yoursafe}. + * buut}, {@code finom}, {@code handelsbanken}, {@code ing}, {@code knab}, {@code moneyou}, + * {@code n26}, {@code nn}, {@code rabobank}, {@code regiobank}, {@code revolut}, {@code + * sns_bank}, {@code triodos_bank}, {@code van_lanschot}, or {@code yoursafe}. */ @SerializedName("bank") String bank; @@ -2100,9 +2099,9 @@ public static class Ideal extends StripeObject { * The Bank Identifier Code of the customer's bank. * *

One of {@code ABNANL2A}, {@code ASNBNL21}, {@code BITSNL2A}, {@code BUNQNL2A}, {@code - * BUUTNL2A}, {@code FVLBNL22}, {@code HANDNL2A}, {@code INGBNL2A}, {@code KNABNL2H}, {@code - * MOYONL21}, {@code NNBANL2G}, {@code NTSBDEB1}, {@code RABONL2U}, {@code RBRBNL21}, {@code - * REVOIE23}, {@code REVOLT21}, {@code SNSBNL2A}, or {@code TRIONL2U}. + * BUUTNL2A}, {@code FNOMNL22}, {@code FVLBNL22}, {@code HANDNL2A}, {@code INGBNL2A}, {@code + * KNABNL2H}, {@code MOYONL21}, {@code NNBANL2G}, {@code NTSBDEB1}, {@code RABONL2U}, {@code + * RBRBNL21}, {@code REVOIE23}, {@code REVOLT21}, {@code SNSBNL2A}, or {@code TRIONL2U}. */ @SerializedName("bic") String bic; @@ -2123,6 +2122,10 @@ public static class Ideal extends StripeObject { @SerializedName("iban_last4") String ibanLast4; + /** Unique transaction ID generated by iDEAL. */ + @SerializedName("transaction_id") + String transactionId; + /** * Owner's verified full name. Values are verified or provided by iDEAL directly (if * supported) at the time of authorization or settlement. They cannot be set or mutated. @@ -3165,14 +3168,27 @@ public static class Swish extends StripeObject { @EqualsAndHashCode(callSuper = false) public static class Twint extends StripeObject {} - /** Details of the US Bank Account used for this payment attempt. */ + /** + * For more details about UsBankAccount, please refer to the API Reference. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) public static class UsBankAccount extends StripeObject { + /** + * The type of entity that holds the account. This can be either 'individual' or 'company'. + * + *

One of {@code company}, or {@code individual}. + */ @SerializedName("account_holder_type") String accountHolderType; + /** + * The type of the bank account. This can be either 'checking' or 'savings'. + * + *

One of {@code checking}, or {@code savings}. + */ @SerializedName("account_type") String accountType; @@ -3197,11 +3213,11 @@ public static class UsBankAccount extends StripeObject { @Setter(lombok.AccessLevel.NONE) ExpandableField mandate; - /** Reference number to locate ACH payments with customer’s bank. */ + /** The ACH payment reference for this transaction. */ @SerializedName("payment_reference") String paymentReference; - /** Routing number of the bank account. */ + /** The routing number for the bank account. */ @SerializedName("routing_number") String routingNumber; diff --git a/src/main/java/com/stripe/model/Refund.java b/src/main/java/com/stripe/model/Refund.java index 86641f8018f..c1791e6fae1 100644 --- a/src/main/java/com/stripe/model/Refund.java +++ b/src/main/java/com/stripe/model/Refund.java @@ -652,6 +652,9 @@ public static class DestinationDetails extends StripeObject { @SerializedName("klarna") Klarna klarna; + @SerializedName("mb_way") + MbWay mbWay; + @SerializedName("multibanco") Multibanco multibanco; @@ -685,6 +688,9 @@ public static class DestinationDetails extends StripeObject { @SerializedName("th_bank_transfer") ThBankTransfer thBankTransfer; + @SerializedName("twint") + Twint twint; + /** * The type of transaction-specific details of the payment method used in the refund (e.g., * {@code card}). An additional hash is included on {@code destination_details} with a name @@ -962,6 +968,26 @@ public static class JpBankTransfer extends StripeObject { @EqualsAndHashCode(callSuper = false) public static class Klarna extends StripeObject {} + /** + * For more details about MbWay, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class MbWay extends StripeObject { + /** The reference assigned to the refund. */ + @SerializedName("reference") + String reference; + + /** + * Status of the reference on the refund. This can be {@code pending}, {@code available} or + * {@code unavailable}. + */ + @SerializedName("reference_status") + String referenceStatus; + } + /** * For more details about Multibanco, please refer to the API Reference. @@ -1130,6 +1156,15 @@ public static class ThBankTransfer extends StripeObject { String referenceStatus; } + /** + * For more details about Twint, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Twint extends StripeObject {} + /** * For more details about UsBankTransfer, please refer to the API Reference. diff --git a/src/main/java/com/stripe/model/SetupAttempt.java b/src/main/java/com/stripe/model/SetupAttempt.java index 1127c8a5486..74986d7968c 100644 --- a/src/main/java/com/stripe/model/SetupAttempt.java +++ b/src/main/java/com/stripe/model/SetupAttempt.java @@ -788,9 +788,9 @@ public static class Cashapp extends StripeObject {} public static class Ideal extends StripeObject { /** * The customer's bank. Can be one of {@code abn_amro}, {@code asn_bank}, {@code bunq}, {@code - * buut}, {@code handelsbanken}, {@code ing}, {@code knab}, {@code moneyou}, {@code n26}, - * {@code nn}, {@code rabobank}, {@code regiobank}, {@code revolut}, {@code sns_bank}, {@code - * triodos_bank}, {@code van_lanschot}, or {@code yoursafe}. + * buut}, {@code finom}, {@code handelsbanken}, {@code ing}, {@code knab}, {@code moneyou}, + * {@code n26}, {@code nn}, {@code rabobank}, {@code regiobank}, {@code revolut}, {@code + * sns_bank}, {@code triodos_bank}, {@code van_lanschot}, or {@code yoursafe}. */ @SerializedName("bank") String bank; @@ -799,9 +799,9 @@ public static class Ideal extends StripeObject { * The Bank Identifier Code of the customer's bank. * *

One of {@code ABNANL2A}, {@code ASNBNL21}, {@code BITSNL2A}, {@code BUNQNL2A}, {@code - * BUUTNL2A}, {@code FVLBNL22}, {@code HANDNL2A}, {@code INGBNL2A}, {@code KNABNL2H}, {@code - * MOYONL21}, {@code NNBANL2G}, {@code NTSBDEB1}, {@code RABONL2U}, {@code RBRBNL21}, {@code - * REVOIE23}, {@code REVOLT21}, {@code SNSBNL2A}, or {@code TRIONL2U}. + * BUUTNL2A}, {@code FNOMNL22}, {@code FVLBNL22}, {@code HANDNL2A}, {@code INGBNL2A}, {@code + * KNABNL2H}, {@code MOYONL21}, {@code NNBANL2G}, {@code NTSBDEB1}, {@code RABONL2U}, {@code + * RBRBNL21}, {@code REVOIE23}, {@code REVOLT21}, {@code SNSBNL2A}, or {@code TRIONL2U}. */ @SerializedName("bic") String bic; diff --git a/src/main/java/com/stripe/model/billingportal/Configuration.java b/src/main/java/com/stripe/model/billingportal/Configuration.java index 917bad09db9..0b40cf7943f 100644 --- a/src/main/java/com/stripe/model/billingportal/Configuration.java +++ b/src/main/java/com/stripe/model/billingportal/Configuration.java @@ -365,6 +365,15 @@ public static class PaymentMethodUpdate extends StripeObject { /** Whether the feature is enabled. */ @SerializedName("enabled") Boolean enabled; + + /** + * The Payment Method + * Configuration to use for this portal session. When specified, customers will be able to + * update their payment method to one of the options specified by the payment method + * configuration. If not set, the default payment method configuration is used. + */ + @SerializedName("payment_method_configuration") + String paymentMethodConfiguration; } /** diff --git a/src/main/java/com/stripe/model/financialconnections/Account.java b/src/main/java/com/stripe/model/financialconnections/Account.java index 46ce0ad5ea6..2dc8a84c762 100644 --- a/src/main/java/com/stripe/model/financialconnections/Account.java +++ b/src/main/java/com/stripe/model/financialconnections/Account.java @@ -38,6 +38,10 @@ public class Account extends ApiResource implements HasId { @SerializedName("account_holder") AccountHolder accountHolder; + /** Details about the account numbers. */ + @SerializedName("account_numbers") + List accountNumbers; + /** The most recent information about the account's balance. */ @SerializedName("balance") Balance balance; @@ -575,6 +579,39 @@ public void setCustomerObject(Customer expandableObject) { } } + /** + * For more details about AccountNumber, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class AccountNumber extends StripeObject { + /** When the account number is expected to expire, if applicable. */ + @SerializedName("expected_expiry_date") + Long expectedExpiryDate; + + /** + * The type of account number associated with the account. + * + *

One of {@code account_number}, or {@code tokenized_account_number}. + */ + @SerializedName("identifier_type") + String identifierType; + + /** + * Whether the account number is currently active and usable for transactions. + * + *

One of {@code deactivated}, or {@code transactable}. + */ + @SerializedName("status") + String status; + + /** The payment networks that the account number can be used for. */ + @SerializedName("supported_networks") + List supportedNetworks; + } + /** * For more details about Balance, please refer to the API * Reference. diff --git a/src/main/java/com/stripe/model/issuing/Card.java b/src/main/java/com/stripe/model/issuing/Card.java index c2279b0a4a6..2c21195a2df 100644 --- a/src/main/java/com/stripe/model/issuing/Card.java +++ b/src/main/java/com/stripe/model/issuing/Card.java @@ -104,6 +104,13 @@ public class Card extends ApiResource implements HasId, MetadataStore { @SerializedName("last4") String last4; + /** + * Stripe’s assessment of whether this card’s details have been compromised. If this property + * isn't null, cancel and reissue the card to prevent fraudulent activity risk. + */ + @SerializedName("latest_fraud_warning") + LatestFraudWarning latestFraudWarning; + /** * Has the value {@code true} if the object exists in live mode or the value {@code false} if the * object exists in test mode. @@ -412,6 +419,30 @@ public Card update(CardUpdateParams params, RequestOptions options) throws Strip return getResponseGetter().request(request, Card.class); } + /** + * For more details about LatestFraudWarning, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class LatestFraudWarning extends StripeObject { + /** Timestamp of the most recent fraud warning. */ + @SerializedName("started_at") + Long startedAt; + + /** + * The type of fraud warning that most recently took place on this card. This field updates with + * every new fraud warning, so the value changes over time. If populated, cancel and reissue the + * card. + * + *

One of {@code card_testing_exposure}, {@code fraud_dispute_filed}, {@code + * third_party_reported}, or {@code user_indicated_fraud}. + */ + @SerializedName("type") + String type; + } + /** * For more details about Shipping, please refer to the API * Reference. @@ -1041,6 +1072,7 @@ public Card submitCard(CardSubmitCardParams params, RequestOptions options) public void setResponseGetter(StripeResponseGetter responseGetter) { super.setResponseGetter(responseGetter); trySetResponseGetter(cardholder, responseGetter); + trySetResponseGetter(latestFraudWarning, responseGetter); trySetResponseGetter(personalizationDesign, responseGetter); trySetResponseGetter(replacedBy, responseGetter); trySetResponseGetter(replacementFor, responseGetter); diff --git a/src/main/java/com/stripe/model/tax/Association.java b/src/main/java/com/stripe/model/tax/Association.java new file mode 100644 index 00000000000..ec28d2b0d1b --- /dev/null +++ b/src/main/java/com/stripe/model/tax/Association.java @@ -0,0 +1,147 @@ +// File generated from our OpenAPI spec +package com.stripe.model.tax; + +import com.google.gson.annotations.SerializedName; +import com.stripe.exception.StripeException; +import com.stripe.model.HasId; +import com.stripe.model.StripeObject; +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.param.tax.AssociationFindParams; +import java.util.List; +import java.util.Map; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** + * A Tax Association exposes the Tax Transactions that Stripe attempted to create on your behalf + * based on the PaymentIntent input. + */ +@Getter +@Setter +@EqualsAndHashCode(callSuper = false) +public class Association extends ApiResource implements HasId { + /** + * The Tax Calculation that was + * included in PaymentIntent. + */ + @SerializedName("calculation") + String calculation; + + /** Unique identifier for the object. */ + @Getter(onMethod_ = {@Override}) + @SerializedName("id") + String id; + + /** + * String representing the object's type. Objects of the same type share the same value. + * + *

Equal to {@code tax.association}. + */ + @SerializedName("object") + String object; + + /** + * The PaymentIntent that this + * Tax Association is tracking. + */ + @SerializedName("payment_intent") + String paymentIntent; + + /** Information about the tax transactions linked to this payment intent. */ + @SerializedName("tax_transaction_attempts") + List taxTransactionAttempts; + + /** Finds a tax association object by PaymentIntent id. */ + public static Association find(Map params) throws StripeException { + return find(params, (RequestOptions) null); + } + + /** Finds a tax association object by PaymentIntent id. */ + public static Association find(Map params, RequestOptions options) + throws StripeException { + String path = "/v1/tax/associations/find"; + ApiRequest request = + new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.GET, path, params, options); + return getGlobalResponseGetter().request(request, Association.class); + } + + /** Finds a tax association object by PaymentIntent id. */ + public static Association find(AssociationFindParams params) throws StripeException { + return find(params, (RequestOptions) null); + } + + /** Finds a tax association object by PaymentIntent id. */ + public static Association find(AssociationFindParams params, RequestOptions options) + throws StripeException { + String path = "/v1/tax/associations/find"; + ApiResource.checkNullTypedParams(path, params); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.GET, + path, + ApiRequestParams.paramsToMap(params), + options); + return getGlobalResponseGetter().request(request, Association.class); + } + + /** + * For more details about TaxTransactionAttempt, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class TaxTransactionAttempt extends StripeObject { + @SerializedName("committed") + Committed committed; + + @SerializedName("errored") + Errored errored; + + /** The source of the tax transaction attempt. This is either a refund or a payment intent. */ + @SerializedName("source") + String source; + + /** The status of the transaction attempt. This can be {@code errored} or {@code committed}. */ + @SerializedName("status") + String status; + + /** + * For more details about Committed, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Committed extends StripeObject { + /** The Tax Transaction. */ + @SerializedName("transaction") + String transaction; + } + + /** + * For more details about Errored, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Errored extends StripeObject { + /** + * Details on why we couldn't commit the tax transaction. + * + *

One of {@code another_payment_associated_with_calculation}, {@code calculation_expired}, + * {@code currency_mismatch}, {@code original_transaction_voided}, or {@code + * unique_reference_violation}. + */ + @SerializedName("reason") + String reason; + } + } +} diff --git a/src/main/java/com/stripe/model/terminal/OnboardingLink.java b/src/main/java/com/stripe/model/terminal/OnboardingLink.java new file mode 100644 index 00000000000..2ebaf0badc9 --- /dev/null +++ b/src/main/java/com/stripe/model/terminal/OnboardingLink.java @@ -0,0 +1,122 @@ +// File generated from our OpenAPI spec +package com.stripe.model.terminal; + +import com.google.gson.annotations.SerializedName; +import com.stripe.exception.StripeException; +import com.stripe.model.StripeObject; +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.terminal.OnboardingLinkCreateParams; +import java.util.Map; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** Returns redirect links used for onboarding onto Tap to Pay on iPhone. */ +@Getter +@Setter +@EqualsAndHashCode(callSuper = false) +public class OnboardingLink extends ApiResource { + /** Link type options associated with the current onboarding link object. */ + @SerializedName("link_options") + LinkOptions linkOptions; + + /** + * The type of link being generated. + * + *

Equal to {@code apple_terms_and_conditions}. + */ + @SerializedName("link_type") + String linkType; + + @SerializedName("object") + String object; + + /** Stripe account ID to generate the link for. */ + @SerializedName("on_behalf_of") + String onBehalfOf; + + /** The link passed back to the user for their onboarding. */ + @SerializedName("redirect_url") + String redirectUrl; + + /** + * Creates a new {@code OnboardingLink} object that contains a redirect_url used for onboarding + * onto Tap to Pay on iPhone. + */ + public static OnboardingLink create(Map params) throws StripeException { + return create(params, (RequestOptions) null); + } + + /** + * Creates a new {@code OnboardingLink} object that contains a redirect_url used for onboarding + * onto Tap to Pay on iPhone. + */ + public static OnboardingLink create(Map params, RequestOptions options) + throws StripeException { + String path = "/v1/terminal/onboarding_links"; + ApiRequest request = + new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.POST, path, params, options); + return getGlobalResponseGetter().request(request, OnboardingLink.class); + } + + /** + * Creates a new {@code OnboardingLink} object that contains a redirect_url used for onboarding + * onto Tap to Pay on iPhone. + */ + public static OnboardingLink create(OnboardingLinkCreateParams params) throws StripeException { + return create(params, (RequestOptions) null); + } + + /** + * Creates a new {@code OnboardingLink} object that contains a redirect_url used for onboarding + * onto Tap to Pay on iPhone. + */ + public static OnboardingLink create(OnboardingLinkCreateParams params, RequestOptions options) + throws StripeException { + String path = "/v1/terminal/onboarding_links"; + ApiResource.checkNullTypedParams(path, params); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + path, + ApiRequestParams.paramsToMap(params), + options); + return getGlobalResponseGetter().request(request, OnboardingLink.class); + } + + /** Link type options associated with the current onboarding link object. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class LinkOptions extends StripeObject { + /** The options associated with the Apple Terms and Conditions link type. */ + @SerializedName("apple_terms_and_conditions") + AppleTermsAndConditions appleTermsAndConditions; + + /** Options associated with the Apple Terms and Conditions link type. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class AppleTermsAndConditions extends StripeObject { + /** Whether the link should also support users relinking their Apple account. */ + @SerializedName("allow_relinking") + Boolean allowRelinking; + + /** The business name of the merchant accepting Apple's Terms and Conditions. */ + @SerializedName("merchant_display_name") + String merchantDisplayName; + } + } + + @Override + public void setResponseGetter(StripeResponseGetter responseGetter) { + super.setResponseGetter(responseGetter); + trySetResponseGetter(linkOptions, responseGetter); + } +} diff --git a/src/main/java/com/stripe/model/v2/core/Event.java b/src/main/java/com/stripe/model/v2/core/Event.java index 0d0963ecdfc..1c9b0fed797 100644 --- a/src/main/java/com/stripe/model/v2/core/Event.java +++ b/src/main/java/com/stripe/model/v2/core/Event.java @@ -14,6 +14,7 @@ import com.stripe.net.RequestOptions; import com.stripe.net.StripeResponseGetter; import java.time.Instant; +import java.util.Map; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.Setter; @@ -34,6 +35,10 @@ @Setter @EqualsAndHashCode(callSuper = false) public class Event extends StripeObject implements HasId, StripeActiveObject { + /** Before and after changes for the primary related object. */ + @SerializedName("changes") + Map changes; + /** Authentication context needed to fetch the event or related object. */ @SerializedName("context") String context; diff --git a/src/main/java/com/stripe/param/ConfirmationTokenCreateParams.java b/src/main/java/com/stripe/param/ConfirmationTokenCreateParams.java index 00c89595810..81fbe94c2cb 100644 --- a/src/main/java/com/stripe/param/ConfirmationTokenCreateParams.java +++ b/src/main/java/com/stripe/param/ConfirmationTokenCreateParams.java @@ -3314,6 +3314,9 @@ public enum Bank implements ApiRequestParams.EnumParam { @SerializedName("buut") BUUT("buut"), + @SerializedName("finom") + FINOM("finom"), + @SerializedName("handelsbanken") HANDELSBANKEN("handelsbanken"), diff --git a/src/main/java/com/stripe/param/CustomerBalanceTransactionCollectionListParams.java b/src/main/java/com/stripe/param/CustomerBalanceTransactionCollectionListParams.java index 7c68b8b5907..686751224ce 100644 --- a/src/main/java/com/stripe/param/CustomerBalanceTransactionCollectionListParams.java +++ b/src/main/java/com/stripe/param/CustomerBalanceTransactionCollectionListParams.java @@ -13,6 +13,10 @@ @Getter @EqualsAndHashCode(callSuper = false) public class CustomerBalanceTransactionCollectionListParams extends ApiRequestParams { + /** Only return customer balance transactions that were created during the given date interval. */ + @SerializedName("created") + Object created; + /** * 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 @@ -52,11 +56,13 @@ public class CustomerBalanceTransactionCollectionListParams extends ApiRequestPa String startingAfter; private CustomerBalanceTransactionCollectionListParams( + Object created, String endingBefore, List expand, Map extraParams, Long limit, String startingAfter) { + this.created = created; this.endingBefore = endingBefore; this.expand = expand; this.extraParams = extraParams; @@ -69,6 +75,8 @@ public static Builder builder() { } public static class Builder { + private Object created; + private String endingBefore; private List expand; @@ -82,7 +90,28 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public CustomerBalanceTransactionCollectionListParams build() { return new CustomerBalanceTransactionCollectionListParams( - this.endingBefore, this.expand, this.extraParams, this.limit, this.startingAfter); + this.created, + this.endingBefore, + this.expand, + this.extraParams, + this.limit, + this.startingAfter); + } + + /** + * Only return customer balance transactions that were created during the given date interval. + */ + public Builder setCreated(CustomerBalanceTransactionCollectionListParams.Created created) { + this.created = created; + return this; + } + + /** + * Only return customer balance transactions that were created during the given date interval. + */ + public Builder setCreated(Long created) { + this.created = created; + return this; } /** @@ -169,4 +198,115 @@ public Builder setStartingAfter(String startingAfter) { return this; } } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Created { + /** + * 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; + + /** Minimum value to filter by (exclusive). */ + @SerializedName("gt") + Long gt; + + /** Minimum value to filter by (inclusive). */ + @SerializedName("gte") + Long gte; + + /** Maximum value to filter by (exclusive). */ + @SerializedName("lt") + Long lt; + + /** Maximum value to filter by (inclusive). */ + @SerializedName("lte") + Long lte; + + private Created(Map extraParams, Long gt, Long gte, Long lt, Long lte) { + this.extraParams = extraParams; + this.gt = gt; + this.gte = gte; + this.lt = lt; + this.lte = lte; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Long gt; + + private Long gte; + + private Long lt; + + private Long lte; + + /** Finalize and obtain parameter instance from this builder. */ + public CustomerBalanceTransactionCollectionListParams.Created build() { + return new CustomerBalanceTransactionCollectionListParams.Created( + this.extraParams, this.gt, this.gte, this.lt, this.lte); + } + + /** + * 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 + * CustomerBalanceTransactionCollectionListParams.Created#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 CustomerBalanceTransactionCollectionListParams.Created#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Minimum value to filter by (exclusive). */ + public Builder setGt(Long gt) { + this.gt = gt; + return this; + } + + /** Minimum value to filter by (inclusive). */ + public Builder setGte(Long gte) { + this.gte = gte; + return this; + } + + /** Maximum value to filter by (exclusive). */ + public Builder setLt(Long lt) { + this.lt = lt; + return this; + } + + /** Maximum value to filter by (inclusive). */ + public Builder setLte(Long lte) { + this.lte = lte; + return this; + } + } + } } diff --git a/src/main/java/com/stripe/param/CustomerBalanceTransactionListParams.java b/src/main/java/com/stripe/param/CustomerBalanceTransactionListParams.java index 2177805074e..e2191f7e6da 100644 --- a/src/main/java/com/stripe/param/CustomerBalanceTransactionListParams.java +++ b/src/main/java/com/stripe/param/CustomerBalanceTransactionListParams.java @@ -13,6 +13,10 @@ @Getter @EqualsAndHashCode(callSuper = false) public class CustomerBalanceTransactionListParams extends ApiRequestParams { + /** Only return customer balance transactions that were created during the given date interval. */ + @SerializedName("created") + Object created; + /** * 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 @@ -52,11 +56,13 @@ public class CustomerBalanceTransactionListParams extends ApiRequestParams { String startingAfter; private CustomerBalanceTransactionListParams( + Object created, String endingBefore, List expand, Map extraParams, Long limit, String startingAfter) { + this.created = created; this.endingBefore = endingBefore; this.expand = expand; this.extraParams = extraParams; @@ -69,6 +75,8 @@ public static Builder builder() { } public static class Builder { + private Object created; + private String endingBefore; private List expand; @@ -82,7 +90,28 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public CustomerBalanceTransactionListParams build() { return new CustomerBalanceTransactionListParams( - this.endingBefore, this.expand, this.extraParams, this.limit, this.startingAfter); + this.created, + this.endingBefore, + this.expand, + this.extraParams, + this.limit, + this.startingAfter); + } + + /** + * Only return customer balance transactions that were created during the given date interval. + */ + public Builder setCreated(CustomerBalanceTransactionListParams.Created created) { + this.created = created; + return this; + } + + /** + * Only return customer balance transactions that were created during the given date interval. + */ + public Builder setCreated(Long created) { + this.created = created; + return this; } /** @@ -168,4 +197,114 @@ public Builder setStartingAfter(String startingAfter) { return this; } } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Created { + /** + * 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; + + /** Minimum value to filter by (exclusive). */ + @SerializedName("gt") + Long gt; + + /** Minimum value to filter by (inclusive). */ + @SerializedName("gte") + Long gte; + + /** Maximum value to filter by (exclusive). */ + @SerializedName("lt") + Long lt; + + /** Maximum value to filter by (inclusive). */ + @SerializedName("lte") + Long lte; + + private Created(Map extraParams, Long gt, Long gte, Long lt, Long lte) { + this.extraParams = extraParams; + this.gt = gt; + this.gte = gte; + this.lt = lt; + this.lte = lte; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Long gt; + + private Long gte; + + private Long lt; + + private Long lte; + + /** Finalize and obtain parameter instance from this builder. */ + public CustomerBalanceTransactionListParams.Created build() { + return new CustomerBalanceTransactionListParams.Created( + this.extraParams, this.gt, this.gte, this.lt, this.lte); + } + + /** + * 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 + * CustomerBalanceTransactionListParams.Created#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 CustomerBalanceTransactionListParams.Created#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Minimum value to filter by (exclusive). */ + public Builder setGt(Long gt) { + this.gt = gt; + return this; + } + + /** Minimum value to filter by (inclusive). */ + public Builder setGte(Long gte) { + this.gte = gte; + return this; + } + + /** Maximum value to filter by (exclusive). */ + public Builder setLt(Long lt) { + this.lt = lt; + return this; + } + + /** Maximum value to filter by (inclusive). */ + public Builder setLte(Long lte) { + this.lte = lte; + return this; + } + } + } } diff --git a/src/main/java/com/stripe/param/CustomerBalanceTransactionsParams.java b/src/main/java/com/stripe/param/CustomerBalanceTransactionsParams.java index 5bd309da028..cc2de9dd2d7 100644 --- a/src/main/java/com/stripe/param/CustomerBalanceTransactionsParams.java +++ b/src/main/java/com/stripe/param/CustomerBalanceTransactionsParams.java @@ -13,6 +13,10 @@ @Getter @EqualsAndHashCode(callSuper = false) public class CustomerBalanceTransactionsParams extends ApiRequestParams { + /** Only return customer balance transactions that were created during the given date interval. */ + @SerializedName("created") + Object created; + /** * 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 @@ -52,11 +56,13 @@ public class CustomerBalanceTransactionsParams extends ApiRequestParams { String startingAfter; private CustomerBalanceTransactionsParams( + Object created, String endingBefore, List expand, Map extraParams, Long limit, String startingAfter) { + this.created = created; this.endingBefore = endingBefore; this.expand = expand; this.extraParams = extraParams; @@ -69,6 +75,8 @@ public static Builder builder() { } public static class Builder { + private Object created; + private String endingBefore; private List expand; @@ -82,7 +90,28 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public CustomerBalanceTransactionsParams build() { return new CustomerBalanceTransactionsParams( - this.endingBefore, this.expand, this.extraParams, this.limit, this.startingAfter); + this.created, + this.endingBefore, + this.expand, + this.extraParams, + this.limit, + this.startingAfter); + } + + /** + * Only return customer balance transactions that were created during the given date interval. + */ + public Builder setCreated(CustomerBalanceTransactionsParams.Created created) { + this.created = created; + return this; + } + + /** + * Only return customer balance transactions that were created during the given date interval. + */ + public Builder setCreated(Long created) { + this.created = created; + return this; } /** @@ -168,4 +197,114 @@ public Builder setStartingAfter(String startingAfter) { return this; } } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Created { + /** + * 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; + + /** Minimum value to filter by (exclusive). */ + @SerializedName("gt") + Long gt; + + /** Minimum value to filter by (inclusive). */ + @SerializedName("gte") + Long gte; + + /** Maximum value to filter by (exclusive). */ + @SerializedName("lt") + Long lt; + + /** Maximum value to filter by (inclusive). */ + @SerializedName("lte") + Long lte; + + private Created(Map extraParams, Long gt, Long gte, Long lt, Long lte) { + this.extraParams = extraParams; + this.gt = gt; + this.gte = gte; + this.lt = lt; + this.lte = lte; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Long gt; + + private Long gte; + + private Long lt; + + private Long lte; + + /** Finalize and obtain parameter instance from this builder. */ + public CustomerBalanceTransactionsParams.Created build() { + return new CustomerBalanceTransactionsParams.Created( + this.extraParams, this.gt, this.gte, this.lt, this.lte); + } + + /** + * 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 + * CustomerBalanceTransactionsParams.Created#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 CustomerBalanceTransactionsParams.Created#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Minimum value to filter by (exclusive). */ + public Builder setGt(Long gt) { + this.gt = gt; + return this; + } + + /** Minimum value to filter by (inclusive). */ + public Builder setGte(Long gte) { + this.gte = gte; + return this; + } + + /** Maximum value to filter by (exclusive). */ + public Builder setLt(Long lt) { + this.lt = lt; + return this; + } + + /** Maximum value to filter by (inclusive). */ + public Builder setLte(Long lte) { + this.lte = lte; + return this; + } + } + } } diff --git a/src/main/java/com/stripe/param/InvoicePaymentListParams.java b/src/main/java/com/stripe/param/InvoicePaymentListParams.java index bfc2be62b7e..2a8bef332a1 100644 --- a/src/main/java/com/stripe/param/InvoicePaymentListParams.java +++ b/src/main/java/com/stripe/param/InvoicePaymentListParams.java @@ -13,6 +13,10 @@ @Getter @EqualsAndHashCode(callSuper = false) public class InvoicePaymentListParams extends ApiRequestParams { + /** Only return invoice payments that were created during the given date interval. */ + @SerializedName("created") + Object created; + /** * 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 @@ -64,6 +68,7 @@ public class InvoicePaymentListParams extends ApiRequestParams { Status status; private InvoicePaymentListParams( + Object created, String endingBefore, List expand, Map extraParams, @@ -72,6 +77,7 @@ private InvoicePaymentListParams( Payment payment, String startingAfter, Status status) { + this.created = created; this.endingBefore = endingBefore; this.expand = expand; this.extraParams = extraParams; @@ -87,6 +93,8 @@ public static Builder builder() { } public static class Builder { + private Object created; + private String endingBefore; private List expand; @@ -106,6 +114,7 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public InvoicePaymentListParams build() { return new InvoicePaymentListParams( + this.created, this.endingBefore, this.expand, this.extraParams, @@ -116,6 +125,18 @@ public InvoicePaymentListParams build() { this.status); } + /** Only return invoice payments that were created during the given date interval. */ + public Builder setCreated(InvoicePaymentListParams.Created created) { + this.created = created; + return this; + } + + /** Only return invoice payments that were created during the given date interval. */ + public Builder setCreated(Long created) { + this.created = created; + 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 @@ -218,6 +239,115 @@ public Builder setStatus(InvoicePaymentListParams.Status status) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Created { + /** + * 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; + + /** Minimum value to filter by (exclusive). */ + @SerializedName("gt") + Long gt; + + /** Minimum value to filter by (inclusive). */ + @SerializedName("gte") + Long gte; + + /** Maximum value to filter by (exclusive). */ + @SerializedName("lt") + Long lt; + + /** Maximum value to filter by (inclusive). */ + @SerializedName("lte") + Long lte; + + private Created(Map extraParams, Long gt, Long gte, Long lt, Long lte) { + this.extraParams = extraParams; + this.gt = gt; + this.gte = gte; + this.lt = lt; + this.lte = lte; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Long gt; + + private Long gte; + + private Long lt; + + private Long lte; + + /** Finalize and obtain parameter instance from this builder. */ + public InvoicePaymentListParams.Created build() { + return new InvoicePaymentListParams.Created( + this.extraParams, this.gt, this.gte, this.lt, this.lte); + } + + /** + * 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 + * InvoicePaymentListParams.Created#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 InvoicePaymentListParams.Created#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Minimum value to filter by (exclusive). */ + public Builder setGt(Long gt) { + this.gt = gt; + return this; + } + + /** Minimum value to filter by (inclusive). */ + public Builder setGte(Long gte) { + this.gte = gte; + return this; + } + + /** Maximum value to filter by (exclusive). */ + public Builder setLt(Long lt) { + this.lt = lt; + return this; + } + + /** Maximum value to filter by (inclusive). */ + public Builder setLte(Long lte) { + this.lte = lte; + return this; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Payment { diff --git a/src/main/java/com/stripe/param/PaymentIntentCaptureParams.java b/src/main/java/com/stripe/param/PaymentIntentCaptureParams.java index 59f171ab6c6..038551f6ef9 100644 --- a/src/main/java/com/stripe/param/PaymentIntentCaptureParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentCaptureParams.java @@ -58,6 +58,10 @@ public class PaymentIntentCaptureParams extends ApiRequestParams { @SerializedName("final_capture") Boolean finalCapture; + /** Automations to be run during the PaymentIntent lifecycle. */ + @SerializedName("hooks") + Hooks hooks; + /** * Set of key-value pairs that you can attach * to an object. This can be useful for storing additional information about the object in a @@ -109,6 +113,7 @@ private PaymentIntentCaptureParams( List expand, Map extraParams, Boolean finalCapture, + Hooks hooks, Object metadata, Object paymentDetails, String statementDescriptor, @@ -120,6 +125,7 @@ private PaymentIntentCaptureParams( this.expand = expand; this.extraParams = extraParams; this.finalCapture = finalCapture; + this.hooks = hooks; this.metadata = metadata; this.paymentDetails = paymentDetails; this.statementDescriptor = statementDescriptor; @@ -144,6 +150,8 @@ public static class Builder { private Boolean finalCapture; + private Hooks hooks; + private Object metadata; private Object paymentDetails; @@ -163,6 +171,7 @@ public PaymentIntentCaptureParams build() { this.expand, this.extraParams, this.finalCapture, + this.hooks, this.metadata, this.paymentDetails, this.statementDescriptor, @@ -261,6 +270,12 @@ public Builder setFinalCapture(Boolean finalCapture) { return this; } + /** Automations to be run during the PaymentIntent lifecycle. */ + public Builder setHooks(PaymentIntentCaptureParams.Hooks hooks) { + this.hooks = hooks; + return this; + } + /** * 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 @@ -1684,6 +1699,234 @@ public Builder setTotalTaxAmount(Long totalTaxAmount) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Hooks { + /** + * 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; + + /** Arguments passed in automations. */ + @SerializedName("inputs") + Inputs inputs; + + private Hooks(Map extraParams, Inputs inputs) { + this.extraParams = extraParams; + this.inputs = inputs; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Inputs inputs; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCaptureParams.Hooks build() { + return new PaymentIntentCaptureParams.Hooks(this.extraParams, this.inputs); + } + + /** + * 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 + * PaymentIntentCaptureParams.Hooks#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 PaymentIntentCaptureParams.Hooks#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Arguments passed in automations. */ + public Builder setInputs(PaymentIntentCaptureParams.Hooks.Inputs inputs) { + this.inputs = inputs; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Inputs { + /** + * 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; + + /** Tax arguments for automations. */ + @SerializedName("tax") + Tax tax; + + private Inputs(Map extraParams, Tax tax) { + this.extraParams = extraParams; + this.tax = tax; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Tax tax; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCaptureParams.Hooks.Inputs build() { + return new PaymentIntentCaptureParams.Hooks.Inputs(this.extraParams, this.tax); + } + + /** + * 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 PaymentIntentCaptureParams.Hooks.Inputs#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 PaymentIntentCaptureParams.Hooks.Inputs#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Tax arguments for automations. */ + public Builder setTax(PaymentIntentCaptureParams.Hooks.Inputs.Tax tax) { + this.tax = tax; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Tax { + /** + * Required. The TaxCalculation id + */ + @SerializedName("calculation") + Object calculation; + + /** + * 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 Tax(Object calculation, Map extraParams) { + this.calculation = calculation; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object calculation; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCaptureParams.Hooks.Inputs.Tax build() { + return new PaymentIntentCaptureParams.Hooks.Inputs.Tax( + this.calculation, this.extraParams); + } + + /** + * Required. The TaxCalculation id + */ + public Builder setCalculation(String calculation) { + this.calculation = calculation; + return this; + } + + /** + * Required. The TaxCalculation id + */ + public Builder setCalculation(EmptyParam calculation) { + this.calculation = calculation; + 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 PaymentIntentCaptureParams.Hooks.Inputs.Tax#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 PaymentIntentCaptureParams.Hooks.Inputs.Tax#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 PaymentDetails { diff --git a/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java b/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java index be80c26d41b..c3763295bee 100644 --- a/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java @@ -58,6 +58,10 @@ public class PaymentIntentConfirmParams extends ApiRequestParams { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** Automations to be run during the PaymentIntent lifecycle. */ + @SerializedName("hooks") + Hooks hooks; + /** ID of the mandate that's used for this payment. */ @SerializedName("mandate") String mandate; @@ -180,6 +184,7 @@ private PaymentIntentConfirmParams( Object excludedPaymentMethodTypes, List expand, Map extraParams, + Hooks hooks, String mandate, Object mandateData, Object offSession, @@ -201,6 +206,7 @@ private PaymentIntentConfirmParams( this.excludedPaymentMethodTypes = excludedPaymentMethodTypes; this.expand = expand; this.extraParams = extraParams; + this.hooks = hooks; this.mandate = mandate; this.mandateData = mandateData; this.offSession = offSession; @@ -236,6 +242,8 @@ public static class Builder { private Map extraParams; + private Hooks hooks; + private String mandate; private Object mandateData; @@ -274,6 +282,7 @@ public PaymentIntentConfirmParams build() { this.excludedPaymentMethodTypes, this.expand, this.extraParams, + this.hooks, this.mandate, this.mandateData, this.offSession, @@ -433,6 +442,12 @@ public Builder putAllExtraParam(Map map) { return this; } + /** Automations to be run during the PaymentIntent lifecycle. */ + public Builder setHooks(PaymentIntentConfirmParams.Hooks hooks) { + this.hooks = hooks; + return this; + } + /** ID of the mandate that's used for this payment. */ public Builder setMandate(String mandate) { this.mandate = mandate; @@ -1982,6 +1997,234 @@ public Builder setTotalTaxAmount(Long totalTaxAmount) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Hooks { + /** + * 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; + + /** Arguments passed in automations. */ + @SerializedName("inputs") + Inputs inputs; + + private Hooks(Map extraParams, Inputs inputs) { + this.extraParams = extraParams; + this.inputs = inputs; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Inputs inputs; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentConfirmParams.Hooks build() { + return new PaymentIntentConfirmParams.Hooks(this.extraParams, this.inputs); + } + + /** + * 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.Hooks#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.Hooks#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Arguments passed in automations. */ + public Builder setInputs(PaymentIntentConfirmParams.Hooks.Inputs inputs) { + this.inputs = inputs; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Inputs { + /** + * 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; + + /** Tax arguments for automations. */ + @SerializedName("tax") + Tax tax; + + private Inputs(Map extraParams, Tax tax) { + this.extraParams = extraParams; + this.tax = tax; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Tax tax; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentConfirmParams.Hooks.Inputs build() { + return new PaymentIntentConfirmParams.Hooks.Inputs(this.extraParams, this.tax); + } + + /** + * 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.Hooks.Inputs#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.Hooks.Inputs#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Tax arguments for automations. */ + public Builder setTax(PaymentIntentConfirmParams.Hooks.Inputs.Tax tax) { + this.tax = tax; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Tax { + /** + * Required. The TaxCalculation id + */ + @SerializedName("calculation") + Object calculation; + + /** + * 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 Tax(Object calculation, Map extraParams) { + this.calculation = calculation; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object calculation; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentConfirmParams.Hooks.Inputs.Tax build() { + return new PaymentIntentConfirmParams.Hooks.Inputs.Tax( + this.calculation, this.extraParams); + } + + /** + * Required. The TaxCalculation id + */ + public Builder setCalculation(String calculation) { + this.calculation = calculation; + return this; + } + + /** + * Required. The TaxCalculation id + */ + public Builder setCalculation(EmptyParam calculation) { + this.calculation = calculation; + 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.Hooks.Inputs.Tax#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.Hooks.Inputs.Tax#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 MandateData { @@ -5593,6 +5836,9 @@ public enum Bank implements ApiRequestParams.EnumParam { @SerializedName("buut") BUUT("buut"), + @SerializedName("finom") + FINOM("finom"), + @SerializedName("handelsbanken") HANDELSBANKEN("handelsbanken"), diff --git a/src/main/java/com/stripe/param/PaymentIntentCreateParams.java b/src/main/java/com/stripe/param/PaymentIntentCreateParams.java index f53ec480c20..020b4c15756 100644 --- a/src/main/java/com/stripe/param/PaymentIntentCreateParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentCreateParams.java @@ -136,6 +136,10 @@ public class PaymentIntentCreateParams extends ApiRequestParams { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** Automations to be run during the PaymentIntent lifecycle. */ + @SerializedName("hooks") + Hooks hooks; + /** * ID of the mandate that's used for this payment. This parameter can only be used with {@code @@ -341,6 +345,7 @@ private PaymentIntentCreateParams( List excludedPaymentMethodTypes, List expand, Map extraParams, + Hooks hooks, String mandate, Object mandateData, Map metadata, @@ -377,6 +382,7 @@ private PaymentIntentCreateParams( this.excludedPaymentMethodTypes = excludedPaymentMethodTypes; this.expand = expand; this.extraParams = extraParams; + this.hooks = hooks; this.mandate = mandate; this.mandateData = mandateData; this.metadata = metadata; @@ -435,6 +441,8 @@ public static class Builder { private Map extraParams; + private Hooks hooks; + private String mandate; private Object mandateData; @@ -495,6 +503,7 @@ public PaymentIntentCreateParams build() { this.excludedPaymentMethodTypes, this.expand, this.extraParams, + this.hooks, this.mandate, this.mandateData, this.metadata, @@ -730,6 +739,12 @@ public Builder putAllExtraParam(Map map) { return this; } + /** Automations to be run during the PaymentIntent lifecycle. */ + public Builder setHooks(PaymentIntentCreateParams.Hooks hooks) { + this.hooks = hooks; + return this; + } + /** * ID of the mandate that's used for this payment. This parameter can only be used with {@code @@ -2457,6 +2472,234 @@ public enum AllowRedirects implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Hooks { + /** + * 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; + + /** Arguments passed in automations. */ + @SerializedName("inputs") + Inputs inputs; + + private Hooks(Map extraParams, Inputs inputs) { + this.extraParams = extraParams; + this.inputs = inputs; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Inputs inputs; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCreateParams.Hooks build() { + return new PaymentIntentCreateParams.Hooks(this.extraParams, this.inputs); + } + + /** + * 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.Hooks#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.Hooks#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Arguments passed in automations. */ + public Builder setInputs(PaymentIntentCreateParams.Hooks.Inputs inputs) { + this.inputs = inputs; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Inputs { + /** + * 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; + + /** Tax arguments for automations. */ + @SerializedName("tax") + Tax tax; + + private Inputs(Map extraParams, Tax tax) { + this.extraParams = extraParams; + this.tax = tax; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Tax tax; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCreateParams.Hooks.Inputs build() { + return new PaymentIntentCreateParams.Hooks.Inputs(this.extraParams, this.tax); + } + + /** + * 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.Hooks.Inputs#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.Hooks.Inputs#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Tax arguments for automations. */ + public Builder setTax(PaymentIntentCreateParams.Hooks.Inputs.Tax tax) { + this.tax = tax; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Tax { + /** + * Required. The TaxCalculation id + */ + @SerializedName("calculation") + Object calculation; + + /** + * 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 Tax(Object calculation, Map extraParams) { + this.calculation = calculation; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object calculation; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCreateParams.Hooks.Inputs.Tax build() { + return new PaymentIntentCreateParams.Hooks.Inputs.Tax( + this.calculation, this.extraParams); + } + + /** + * Required. The TaxCalculation id + */ + public Builder setCalculation(String calculation) { + this.calculation = calculation; + return this; + } + + /** + * Required. The TaxCalculation id + */ + public Builder setCalculation(EmptyParam calculation) { + this.calculation = calculation; + 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.Hooks.Inputs.Tax#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.Hooks.Inputs.Tax#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 MandateData { @@ -6072,6 +6315,9 @@ public enum Bank implements ApiRequestParams.EnumParam { @SerializedName("buut") BUUT("buut"), + @SerializedName("finom") + FINOM("finom"), + @SerializedName("handelsbanken") HANDELSBANKEN("handelsbanken"), diff --git a/src/main/java/com/stripe/param/PaymentIntentIncrementAuthorizationParams.java b/src/main/java/com/stripe/param/PaymentIntentIncrementAuthorizationParams.java index bbe4dffec66..f5554e10234 100644 --- a/src/main/java/com/stripe/param/PaymentIntentIncrementAuthorizationParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentIncrementAuthorizationParams.java @@ -52,6 +52,10 @@ public class PaymentIntentIncrementAuthorizationParams extends ApiRequestParams @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** Automations to be run during the PaymentIntent lifecycle. */ + @SerializedName("hooks") + Hooks hooks; + /** * Set of key-value pairs that you can attach * to an object. This can be useful for storing additional information about the object in a @@ -90,6 +94,7 @@ private PaymentIntentIncrementAuthorizationParams( String description, List expand, Map extraParams, + Hooks hooks, Map metadata, PaymentDetails paymentDetails, String statementDescriptor, @@ -100,6 +105,7 @@ private PaymentIntentIncrementAuthorizationParams( this.description = description; this.expand = expand; this.extraParams = extraParams; + this.hooks = hooks; this.metadata = metadata; this.paymentDetails = paymentDetails; this.statementDescriptor = statementDescriptor; @@ -123,6 +129,8 @@ public static class Builder { private Map extraParams; + private Hooks hooks; + private Map metadata; private PaymentDetails paymentDetails; @@ -140,6 +148,7 @@ public PaymentIntentIncrementAuthorizationParams build() { this.description, this.expand, this.extraParams, + this.hooks, this.metadata, this.paymentDetails, this.statementDescriptor, @@ -233,6 +242,12 @@ public Builder putAllExtraParam(Map map) { return this; } + /** Automations to be run during the PaymentIntent lifecycle. */ + public Builder setHooks(PaymentIntentIncrementAuthorizationParams.Hooks hooks) { + this.hooks = hooks; + return this; + } + /** * 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 @@ -1640,6 +1655,236 @@ public Builder setTotalTaxAmount(Long totalTaxAmount) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Hooks { + /** + * 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; + + /** Arguments passed in automations. */ + @SerializedName("inputs") + Inputs inputs; + + private Hooks(Map extraParams, Inputs inputs) { + this.extraParams = extraParams; + this.inputs = inputs; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Inputs inputs; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentIncrementAuthorizationParams.Hooks build() { + return new PaymentIntentIncrementAuthorizationParams.Hooks(this.extraParams, this.inputs); + } + + /** + * 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 + * PaymentIntentIncrementAuthorizationParams.Hooks#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 PaymentIntentIncrementAuthorizationParams.Hooks#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Arguments passed in automations. */ + public Builder setInputs(PaymentIntentIncrementAuthorizationParams.Hooks.Inputs inputs) { + this.inputs = inputs; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Inputs { + /** + * 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; + + /** Tax arguments for automations. */ + @SerializedName("tax") + Tax tax; + + private Inputs(Map extraParams, Tax tax) { + this.extraParams = extraParams; + this.tax = tax; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Tax tax; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentIncrementAuthorizationParams.Hooks.Inputs build() { + return new PaymentIntentIncrementAuthorizationParams.Hooks.Inputs( + this.extraParams, this.tax); + } + + /** + * 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 PaymentIntentIncrementAuthorizationParams.Hooks.Inputs#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 PaymentIntentIncrementAuthorizationParams.Hooks.Inputs#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Tax arguments for automations. */ + public Builder setTax(PaymentIntentIncrementAuthorizationParams.Hooks.Inputs.Tax tax) { + this.tax = tax; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Tax { + /** + * Required. The TaxCalculation id + */ + @SerializedName("calculation") + Object calculation; + + /** + * 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 Tax(Object calculation, Map extraParams) { + this.calculation = calculation; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object calculation; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentIncrementAuthorizationParams.Hooks.Inputs.Tax build() { + return new PaymentIntentIncrementAuthorizationParams.Hooks.Inputs.Tax( + this.calculation, this.extraParams); + } + + /** + * Required. The TaxCalculation id + */ + public Builder setCalculation(String calculation) { + this.calculation = calculation; + return this; + } + + /** + * Required. The TaxCalculation id + */ + public Builder setCalculation(EmptyParam calculation) { + this.calculation = calculation; + 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 PaymentIntentIncrementAuthorizationParams.Hooks.Inputs.Tax#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 PaymentIntentIncrementAuthorizationParams.Hooks.Inputs.Tax#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 PaymentDetails { diff --git a/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java b/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java index 0dda380c7a8..bb478056734 100644 --- a/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java @@ -89,6 +89,10 @@ public class PaymentIntentUpdateParams extends ApiRequestParams { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** Automations to be run during the PaymentIntent lifecycle. */ + @SerializedName("hooks") + Hooks hooks; + /** * Set of key-value pairs that you can attach * to an object. This can be useful for storing additional information about the object in a @@ -228,6 +232,7 @@ private PaymentIntentUpdateParams( Object excludedPaymentMethodTypes, List expand, Map extraParams, + Hooks hooks, Object metadata, Object paymentDetails, Object paymentMethod, @@ -252,6 +257,7 @@ private PaymentIntentUpdateParams( this.excludedPaymentMethodTypes = excludedPaymentMethodTypes; this.expand = expand; this.extraParams = extraParams; + this.hooks = hooks; this.metadata = metadata; this.paymentDetails = paymentDetails; this.paymentMethod = paymentMethod; @@ -293,6 +299,8 @@ public static class Builder { private Map extraParams; + private Hooks hooks; + private Object metadata; private Object paymentDetails; @@ -334,6 +342,7 @@ public PaymentIntentUpdateParams build() { this.excludedPaymentMethodTypes, this.expand, this.extraParams, + this.hooks, this.metadata, this.paymentDetails, this.paymentMethod, @@ -577,6 +586,12 @@ public Builder putAllExtraParam(Map map) { return this; } + /** Automations to be run during the PaymentIntent lifecycle. */ + public Builder setHooks(PaymentIntentUpdateParams.Hooks hooks) { + this.hooks = hooks; + return this; + } + /** * 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 @@ -2303,6 +2318,234 @@ public Builder setTotalTaxAmount(Long totalTaxAmount) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Hooks { + /** + * 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; + + /** Arguments passed in automations. */ + @SerializedName("inputs") + Inputs inputs; + + private Hooks(Map extraParams, Inputs inputs) { + this.extraParams = extraParams; + this.inputs = inputs; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Inputs inputs; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentUpdateParams.Hooks build() { + return new PaymentIntentUpdateParams.Hooks(this.extraParams, this.inputs); + } + + /** + * 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.Hooks#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.Hooks#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Arguments passed in automations. */ + public Builder setInputs(PaymentIntentUpdateParams.Hooks.Inputs inputs) { + this.inputs = inputs; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Inputs { + /** + * 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; + + /** Tax arguments for automations. */ + @SerializedName("tax") + Tax tax; + + private Inputs(Map extraParams, Tax tax) { + this.extraParams = extraParams; + this.tax = tax; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Tax tax; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentUpdateParams.Hooks.Inputs build() { + return new PaymentIntentUpdateParams.Hooks.Inputs(this.extraParams, this.tax); + } + + /** + * 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.Hooks.Inputs#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.Hooks.Inputs#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Tax arguments for automations. */ + public Builder setTax(PaymentIntentUpdateParams.Hooks.Inputs.Tax tax) { + this.tax = tax; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Tax { + /** + * Required. The TaxCalculation id + */ + @SerializedName("calculation") + Object calculation; + + /** + * 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 Tax(Object calculation, Map extraParams) { + this.calculation = calculation; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object calculation; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentUpdateParams.Hooks.Inputs.Tax build() { + return new PaymentIntentUpdateParams.Hooks.Inputs.Tax( + this.calculation, this.extraParams); + } + + /** + * Required. The TaxCalculation id + */ + public Builder setCalculation(String calculation) { + this.calculation = calculation; + return this; + } + + /** + * Required. The TaxCalculation id + */ + public Builder setCalculation(EmptyParam calculation) { + this.calculation = calculation; + 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.Hooks.Inputs.Tax#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.Hooks.Inputs.Tax#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 PaymentDetails { @@ -5628,6 +5871,9 @@ public enum Bank implements ApiRequestParams.EnumParam { @SerializedName("buut") BUUT("buut"), + @SerializedName("finom") + FINOM("finom"), + @SerializedName("handelsbanken") HANDELSBANKEN("handelsbanken"), diff --git a/src/main/java/com/stripe/param/PaymentMethodCreateParams.java b/src/main/java/com/stripe/param/PaymentMethodCreateParams.java index da7e11fdb17..9808d903ed2 100644 --- a/src/main/java/com/stripe/param/PaymentMethodCreateParams.java +++ b/src/main/java/com/stripe/param/PaymentMethodCreateParams.java @@ -3458,6 +3458,9 @@ public enum Bank implements ApiRequestParams.EnumParam { @SerializedName("buut") BUUT("buut"), + @SerializedName("finom") + FINOM("finom"), + @SerializedName("handelsbanken") HANDELSBANKEN("handelsbanken"), diff --git a/src/main/java/com/stripe/param/SetupIntentConfirmParams.java b/src/main/java/com/stripe/param/SetupIntentConfirmParams.java index 4bcd9097ef6..9ec2a506642 100644 --- a/src/main/java/com/stripe/param/SetupIntentConfirmParams.java +++ b/src/main/java/com/stripe/param/SetupIntentConfirmParams.java @@ -3706,6 +3706,9 @@ public enum Bank implements ApiRequestParams.EnumParam { @SerializedName("buut") BUUT("buut"), + @SerializedName("finom") + FINOM("finom"), + @SerializedName("handelsbanken") HANDELSBANKEN("handelsbanken"), diff --git a/src/main/java/com/stripe/param/SetupIntentCreateParams.java b/src/main/java/com/stripe/param/SetupIntentCreateParams.java index d0d72cddfcb..d6941f506e7 100644 --- a/src/main/java/com/stripe/param/SetupIntentCreateParams.java +++ b/src/main/java/com/stripe/param/SetupIntentCreateParams.java @@ -4217,6 +4217,9 @@ public enum Bank implements ApiRequestParams.EnumParam { @SerializedName("buut") BUUT("buut"), + @SerializedName("finom") + FINOM("finom"), + @SerializedName("handelsbanken") HANDELSBANKEN("handelsbanken"), diff --git a/src/main/java/com/stripe/param/SetupIntentUpdateParams.java b/src/main/java/com/stripe/param/SetupIntentUpdateParams.java index 693ef09c43f..6408d4445fb 100644 --- a/src/main/java/com/stripe/param/SetupIntentUpdateParams.java +++ b/src/main/java/com/stripe/param/SetupIntentUpdateParams.java @@ -3674,6 +3674,9 @@ public enum Bank implements ApiRequestParams.EnumParam { @SerializedName("buut") BUUT("buut"), + @SerializedName("finom") + FINOM("finom"), + @SerializedName("handelsbanken") HANDELSBANKEN("handelsbanken"), diff --git a/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java b/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java index dc6aa7204ef..9387c1fb16e 100644 --- a/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java +++ b/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java @@ -633,7 +633,10 @@ public enum ApiVersion implements ApiRequestParams.EnumParam { VERSION_2025_09_30_CLOVER("2025-09-30.clover"), @SerializedName("2025-10-29.clover") - VERSION_2025_10_29_CLOVER("2025-10-29.clover"); + VERSION_2025_10_29_CLOVER("2025-10-29.clover"), + + @SerializedName("2025-11-17.clover") + VERSION_2025_11_17_CLOVER("2025-11-17.clover"); @Getter(onMethod_ = {@Override}) private final String value; @@ -861,6 +864,10 @@ public enum EnabledEvent implements ApiRequestParams.EnumParam { @SerializedName("file.created") FILE__CREATED("file.created"), + @SerializedName("financial_connections.account.account_numbers_updated") + FINANCIAL_CONNECTIONS__ACCOUNT__ACCOUNT_NUMBERS_UPDATED( + "financial_connections.account.account_numbers_updated"), + @SerializedName("financial_connections.account.created") FINANCIAL_CONNECTIONS__ACCOUNT__CREATED("financial_connections.account.created"), @@ -885,6 +892,10 @@ public enum EnabledEvent implements ApiRequestParams.EnumParam { FINANCIAL_CONNECTIONS__ACCOUNT__REFRESHED_TRANSACTIONS( "financial_connections.account.refreshed_transactions"), + @SerializedName("financial_connections.account.upcoming_account_number_expiry") + FINANCIAL_CONNECTIONS__ACCOUNT__UPCOMING_ACCOUNT_NUMBER_EXPIRY( + "financial_connections.account.upcoming_account_number_expiry"), + @SerializedName("identity.verification_session.canceled") IDENTITY__VERIFICATION_SESSION__CANCELED("identity.verification_session.canceled"), diff --git a/src/main/java/com/stripe/param/WebhookEndpointUpdateParams.java b/src/main/java/com/stripe/param/WebhookEndpointUpdateParams.java index 6065deb5fa2..79dd030613d 100644 --- a/src/main/java/com/stripe/param/WebhookEndpointUpdateParams.java +++ b/src/main/java/com/stripe/param/WebhookEndpointUpdateParams.java @@ -480,6 +480,10 @@ public enum EnabledEvent implements ApiRequestParams.EnumParam { @SerializedName("file.created") FILE__CREATED("file.created"), + @SerializedName("financial_connections.account.account_numbers_updated") + FINANCIAL_CONNECTIONS__ACCOUNT__ACCOUNT_NUMBERS_UPDATED( + "financial_connections.account.account_numbers_updated"), + @SerializedName("financial_connections.account.created") FINANCIAL_CONNECTIONS__ACCOUNT__CREATED("financial_connections.account.created"), @@ -504,6 +508,10 @@ public enum EnabledEvent implements ApiRequestParams.EnumParam { FINANCIAL_CONNECTIONS__ACCOUNT__REFRESHED_TRANSACTIONS( "financial_connections.account.refreshed_transactions"), + @SerializedName("financial_connections.account.upcoming_account_number_expiry") + FINANCIAL_CONNECTIONS__ACCOUNT__UPCOMING_ACCOUNT_NUMBER_EXPIRY( + "financial_connections.account.upcoming_account_number_expiry"), + @SerializedName("identity.verification_session.canceled") IDENTITY__VERIFICATION_SESSION__CANCELED("identity.verification_session.canceled"), diff --git a/src/main/java/com/stripe/param/issuing/AuthorizationCreateParams.java b/src/main/java/com/stripe/param/issuing/AuthorizationCreateParams.java index 88ea2baed99..38a837693dc 100644 --- a/src/main/java/com/stripe/param/issuing/AuthorizationCreateParams.java +++ b/src/main/java/com/stripe/param/issuing/AuthorizationCreateParams.java @@ -2612,6 +2612,10 @@ public static class RiskAssessment { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** Stripe’s assessment of this authorization’s likelihood to be fraudulent. */ + @SerializedName("fraud_risk") + FraudRisk fraudRisk; + /** * The dispute risk of the merchant (the seller on a purchase) on an authorization based on all * Stripe Issuing activity. @@ -2622,9 +2626,11 @@ public static class RiskAssessment { private RiskAssessment( CardTestingRisk cardTestingRisk, Map extraParams, + FraudRisk fraudRisk, MerchantDisputeRisk merchantDisputeRisk) { this.cardTestingRisk = cardTestingRisk; this.extraParams = extraParams; + this.fraudRisk = fraudRisk; this.merchantDisputeRisk = merchantDisputeRisk; } @@ -2637,12 +2643,14 @@ public static class Builder { private Map extraParams; + private FraudRisk fraudRisk; + private MerchantDisputeRisk merchantDisputeRisk; /** Finalize and obtain parameter instance from this builder. */ public AuthorizationCreateParams.RiskAssessment build() { return new AuthorizationCreateParams.RiskAssessment( - this.cardTestingRisk, this.extraParams, this.merchantDisputeRisk); + this.cardTestingRisk, this.extraParams, this.fraudRisk, this.merchantDisputeRisk); } /** Stripe's assessment of this authorization's likelihood of being card testing activity. */ @@ -2679,6 +2687,12 @@ public Builder putAllExtraParam(Map map) { return this; } + /** Stripe’s assessment of this authorization’s likelihood to be fraudulent. */ + public Builder setFraudRisk(AuthorizationCreateParams.RiskAssessment.FraudRisk fraudRisk) { + this.fraudRisk = fraudRisk; + return this; + } + /** * The dispute risk of the merchant (the seller on a purchase) on an authorization based on * all Stripe Issuing activity. @@ -2851,6 +2865,132 @@ public enum RiskLevel implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FraudRisk { + /** + * 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. Stripe’s assessment of the likelihood of fraud on an + * authorization. + */ + @SerializedName("level") + Level level; + + /** + * Stripe’s numerical model score assessing the likelihood of fraudulent activity. A higher + * score means a higher likelihood of fraudulent activity, and anything above 25 is considered + * high risk. + */ + @SerializedName("score") + BigDecimal score; + + private FraudRisk(Map extraParams, Level level, BigDecimal score) { + this.extraParams = extraParams; + this.level = level; + this.score = score; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Level level; + + private BigDecimal score; + + /** Finalize and obtain parameter instance from this builder. */ + public AuthorizationCreateParams.RiskAssessment.FraudRisk build() { + return new AuthorizationCreateParams.RiskAssessment.FraudRisk( + this.extraParams, this.level, this.score); + } + + /** + * 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 AuthorizationCreateParams.RiskAssessment.FraudRisk#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 AuthorizationCreateParams.RiskAssessment.FraudRisk#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. Stripe’s assessment of the likelihood of fraud on an + * authorization. + */ + public Builder setLevel(AuthorizationCreateParams.RiskAssessment.FraudRisk.Level level) { + this.level = level; + return this; + } + + /** + * Stripe’s numerical model score assessing the likelihood of fraudulent activity. A higher + * score means a higher likelihood of fraudulent activity, and anything above 25 is + * considered high risk. + */ + public Builder setScore(BigDecimal score) { + this.score = score; + return this; + } + } + + public enum Level implements ApiRequestParams.EnumParam { + @SerializedName("elevated") + ELEVATED("elevated"), + + @SerializedName("highest") + HIGHEST("highest"), + + @SerializedName("low") + LOW("low"), + + @SerializedName("normal") + NORMAL("normal"), + + @SerializedName("not_assessed") + NOT_ASSESSED("not_assessed"), + + @SerializedName("unknown") + UNKNOWN("unknown"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Level(String value) { + this.value = value; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class MerchantDisputeRisk { diff --git a/src/main/java/com/stripe/param/tax/AssociationFindParams.java b/src/main/java/com/stripe/param/tax/AssociationFindParams.java new file mode 100644 index 00000000000..772b96a0c5d --- /dev/null +++ b/src/main/java/com/stripe/param/tax/AssociationFindParams.java @@ -0,0 +1,120 @@ +// File generated from our OpenAPI spec +package com.stripe.param.tax; + +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 AssociationFindParams 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; + + /** + * Required. Valid PaymentIntent id + */ + @SerializedName("payment_intent") + String paymentIntent; + + private AssociationFindParams( + List expand, Map extraParams, String paymentIntent) { + this.expand = expand; + this.extraParams = extraParams; + this.paymentIntent = paymentIntent; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private List expand; + + private Map extraParams; + + private String paymentIntent; + + /** Finalize and obtain parameter instance from this builder. */ + public AssociationFindParams build() { + return new AssociationFindParams(this.expand, this.extraParams, this.paymentIntent); + } + + /** + * 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 + * AssociationFindParams#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 + * AssociationFindParams#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 + * AssociationFindParams#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 AssociationFindParams#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. Valid PaymentIntent id + */ + public Builder setPaymentIntent(String paymentIntent) { + this.paymentIntent = paymentIntent; + return this; + } + } +} diff --git a/src/main/java/com/stripe/param/tax/RegistrationCreateParams.java b/src/main/java/com/stripe/param/tax/RegistrationCreateParams.java index 52cfac9b0c1..3a272c23e08 100644 --- a/src/main/java/com/stripe/param/tax/RegistrationCreateParams.java +++ b/src/main/java/com/stripe/param/tax/RegistrationCreateParams.java @@ -15785,9 +15785,10 @@ public static class LocalAmusementTax { * Required. A FIPS code * representing the local jurisdiction. Supported FIPS codes are: {@code 14000} (Chicago), - * {@code 06613} (Bloomington), {@code 21696} (East Dundee), {@code 24582} (Evanston), - * {@code 45421} (Lynwood), {@code 48892} (Midlothian), {@code 64343} (River Grove), and - * {@code 68081} (Schiller Park). + * {@code 02154} (Arlington Heights), {@code 06613} (Bloomington), {@code 10906} (Campton + * Hills), {@code 21696} (East Dundee), {@code 24582} (Evanston), {@code 45421} (Lynwood), + * {@code 48892} (Midlothian), {@code 64343} (River Grove), and {@code 68081} (Schiller + * Park). */ @SerializedName("jurisdiction") String jurisdiction; @@ -15846,9 +15847,10 @@ public Builder putAllExtraParam(Map map) { * Required. A FIPS code * representing the local jurisdiction. Supported FIPS codes are: {@code 14000} (Chicago), - * {@code 06613} (Bloomington), {@code 21696} (East Dundee), {@code 24582} (Evanston), - * {@code 45421} (Lynwood), {@code 48892} (Midlothian), {@code 64343} (River Grove), and - * {@code 68081} (Schiller Park). + * {@code 02154} (Arlington Heights), {@code 06613} (Bloomington), {@code 10906} (Campton + * Hills), {@code 21696} (East Dundee), {@code 24582} (Evanston), {@code 45421} (Lynwood), + * {@code 48892} (Midlothian), {@code 64343} (River Grove), and {@code 68081} (Schiller + * Park). */ public Builder setJurisdiction(String jurisdiction) { this.jurisdiction = jurisdiction; diff --git a/src/main/java/com/stripe/param/terminal/OnboardingLinkCreateParams.java b/src/main/java/com/stripe/param/terminal/OnboardingLinkCreateParams.java new file mode 100644 index 00000000000..e0d2b2b5479 --- /dev/null +++ b/src/main/java/com/stripe/param/terminal/OnboardingLinkCreateParams.java @@ -0,0 +1,323 @@ +// File generated from our OpenAPI spec +package com.stripe.param.terminal; + +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 OnboardingLinkCreateParams 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; + + /** Required. Specific fields needed to generate the desired link type. */ + @SerializedName("link_options") + LinkOptions linkOptions; + + /** Required. The type of link being generated. */ + @SerializedName("link_type") + LinkType linkType; + + /** Stripe account ID to generate the link for. */ + @SerializedName("on_behalf_of") + String onBehalfOf; + + private OnboardingLinkCreateParams( + List expand, + Map extraParams, + LinkOptions linkOptions, + LinkType linkType, + String onBehalfOf) { + this.expand = expand; + this.extraParams = extraParams; + this.linkOptions = linkOptions; + this.linkType = linkType; + this.onBehalfOf = onBehalfOf; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private List expand; + + private Map extraParams; + + private LinkOptions linkOptions; + + private LinkType linkType; + + private String onBehalfOf; + + /** Finalize and obtain parameter instance from this builder. */ + public OnboardingLinkCreateParams build() { + return new OnboardingLinkCreateParams( + this.expand, this.extraParams, this.linkOptions, this.linkType, this.onBehalfOf); + } + + /** + * 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 + * OnboardingLinkCreateParams#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 + * OnboardingLinkCreateParams#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 + * OnboardingLinkCreateParams#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 OnboardingLinkCreateParams#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. Specific fields needed to generate the desired link type. */ + public Builder setLinkOptions(OnboardingLinkCreateParams.LinkOptions linkOptions) { + this.linkOptions = linkOptions; + return this; + } + + /** Required. The type of link being generated. */ + public Builder setLinkType(OnboardingLinkCreateParams.LinkType linkType) { + this.linkType = linkType; + return this; + } + + /** Stripe account ID to generate the link for. */ + public Builder setOnBehalfOf(String onBehalfOf) { + this.onBehalfOf = onBehalfOf; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class LinkOptions { + /** The options associated with the Apple Terms and Conditions link type. */ + @SerializedName("apple_terms_and_conditions") + AppleTermsAndConditions appleTermsAndConditions; + + /** + * 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 LinkOptions( + AppleTermsAndConditions appleTermsAndConditions, Map extraParams) { + this.appleTermsAndConditions = appleTermsAndConditions; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private AppleTermsAndConditions appleTermsAndConditions; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public OnboardingLinkCreateParams.LinkOptions build() { + return new OnboardingLinkCreateParams.LinkOptions( + this.appleTermsAndConditions, this.extraParams); + } + + /** The options associated with the Apple Terms and Conditions link type. */ + public Builder setAppleTermsAndConditions( + OnboardingLinkCreateParams.LinkOptions.AppleTermsAndConditions appleTermsAndConditions) { + this.appleTermsAndConditions = appleTermsAndConditions; + 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 + * OnboardingLinkCreateParams.LinkOptions#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 OnboardingLinkCreateParams.LinkOptions#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 AppleTermsAndConditions { + /** Whether the link should also support users relinking their Apple account. */ + @SerializedName("allow_relinking") + Boolean allowRelinking; + + /** + * 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 business name of the merchant accepting Apple's Terms and + * Conditions. + */ + @SerializedName("merchant_display_name") + String merchantDisplayName; + + private AppleTermsAndConditions( + Boolean allowRelinking, Map extraParams, String merchantDisplayName) { + this.allowRelinking = allowRelinking; + this.extraParams = extraParams; + this.merchantDisplayName = merchantDisplayName; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Boolean allowRelinking; + + private Map extraParams; + + private String merchantDisplayName; + + /** Finalize and obtain parameter instance from this builder. */ + public OnboardingLinkCreateParams.LinkOptions.AppleTermsAndConditions build() { + return new OnboardingLinkCreateParams.LinkOptions.AppleTermsAndConditions( + this.allowRelinking, this.extraParams, this.merchantDisplayName); + } + + /** Whether the link should also support users relinking their Apple account. */ + public Builder setAllowRelinking(Boolean allowRelinking) { + this.allowRelinking = allowRelinking; + 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 + * OnboardingLinkCreateParams.LinkOptions.AppleTermsAndConditions#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 + * OnboardingLinkCreateParams.LinkOptions.AppleTermsAndConditions#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 business name of the merchant accepting Apple's Terms and + * Conditions. + */ + public Builder setMerchantDisplayName(String merchantDisplayName) { + this.merchantDisplayName = merchantDisplayName; + return this; + } + } + } + } + + public enum LinkType implements ApiRequestParams.EnumParam { + @SerializedName("apple_terms_and_conditions") + APPLE_TERMS_AND_CONDITIONS("apple_terms_and_conditions"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + LinkType(String value) { + this.value = value; + } + } +} diff --git a/src/main/java/com/stripe/service/TaxService.java b/src/main/java/com/stripe/service/TaxService.java index 58b250a5063..1d5409dde43 100644 --- a/src/main/java/com/stripe/service/TaxService.java +++ b/src/main/java/com/stripe/service/TaxService.java @@ -9,6 +9,10 @@ public TaxService(StripeResponseGetter responseGetter) { super(responseGetter); } + public com.stripe.service.tax.AssociationService associations() { + return new com.stripe.service.tax.AssociationService(this.getResponseGetter()); + } + public com.stripe.service.tax.CalculationService calculations() { return new com.stripe.service.tax.CalculationService(this.getResponseGetter()); } diff --git a/src/main/java/com/stripe/service/TerminalService.java b/src/main/java/com/stripe/service/TerminalService.java index c1996484c08..467d19f458f 100644 --- a/src/main/java/com/stripe/service/TerminalService.java +++ b/src/main/java/com/stripe/service/TerminalService.java @@ -21,6 +21,10 @@ public com.stripe.service.terminal.LocationService locations() { return new com.stripe.service.terminal.LocationService(this.getResponseGetter()); } + public com.stripe.service.terminal.OnboardingLinkService onboardingLinks() { + return new com.stripe.service.terminal.OnboardingLinkService(this.getResponseGetter()); + } + public com.stripe.service.terminal.ReaderService readers() { return new com.stripe.service.terminal.ReaderService(this.getResponseGetter()); } diff --git a/src/main/java/com/stripe/service/tax/AssociationService.java b/src/main/java/com/stripe/service/tax/AssociationService.java new file mode 100644 index 00000000000..b10b004975c --- /dev/null +++ b/src/main/java/com/stripe/service/tax/AssociationService.java @@ -0,0 +1,37 @@ +// File generated from our OpenAPI spec +package com.stripe.service.tax; + +import com.stripe.exception.StripeException; +import com.stripe.model.tax.Association; +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.tax.AssociationFindParams; + +public final class AssociationService extends ApiService { + public AssociationService(StripeResponseGetter responseGetter) { + super(responseGetter); + } + + /** Finds a tax association object by PaymentIntent id. */ + public Association find(AssociationFindParams params) throws StripeException { + return find(params, (RequestOptions) null); + } + /** Finds a tax association object by PaymentIntent id. */ + public Association find(AssociationFindParams params, RequestOptions options) + throws StripeException { + String path = "/v1/tax/associations/find"; + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.GET, + path, + ApiRequestParams.paramsToMap(params), + options); + return this.request(request, Association.class); + } +} diff --git a/src/main/java/com/stripe/service/terminal/OnboardingLinkService.java b/src/main/java/com/stripe/service/terminal/OnboardingLinkService.java new file mode 100644 index 00000000000..72401a1f53b --- /dev/null +++ b/src/main/java/com/stripe/service/terminal/OnboardingLinkService.java @@ -0,0 +1,43 @@ +// File generated from our OpenAPI spec +package com.stripe.service.terminal; + +import com.stripe.exception.StripeException; +import com.stripe.model.terminal.OnboardingLink; +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.terminal.OnboardingLinkCreateParams; + +public final class OnboardingLinkService extends ApiService { + public OnboardingLinkService(StripeResponseGetter responseGetter) { + super(responseGetter); + } + + /** + * Creates a new {@code OnboardingLink} object that contains a redirect_url used for onboarding + * onto Tap to Pay on iPhone. + */ + public OnboardingLink create(OnboardingLinkCreateParams params) throws StripeException { + return create(params, (RequestOptions) null); + } + /** + * Creates a new {@code OnboardingLink} object that contains a redirect_url used for onboarding + * onto Tap to Pay on iPhone. + */ + public OnboardingLink create(OnboardingLinkCreateParams params, RequestOptions options) + throws StripeException { + String path = "/v1/terminal/onboarding_links"; + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + path, + ApiRequestParams.paramsToMap(params), + options); + return this.request(request, OnboardingLink.class); + } +} diff --git a/src/test/java/com/stripe/functional/GeneratedExamples.java b/src/test/java/com/stripe/functional/GeneratedExamples.java index 6eeab497786..8b1d3202870 100644 --- a/src/test/java/com/stripe/functional/GeneratedExamples.java +++ b/src/test/java/com/stripe/functional/GeneratedExamples.java @@ -3208,7 +3208,7 @@ public void testCoreEventsGetServices() throws StripeException { null, null, com.stripe.model.v2.core.Event.class, - "{\"context\":\"context\",\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"livemode\":true,\"object\":\"v2.core.event\",\"reason\":{\"type\":\"request\",\"request\":{\"id\":\"obj_123\",\"idempotency_key\":\"idempotency_key\"}},\"type\":\"type\"}"); + "{\"changes\":{\"int_key\":123,\"string_key\":\"value\",\"boolean_key\":true,\"object_key\":{\"object_int_key\":123,\"object_string_key\":\"value\",\"object_boolean_key\":true},\"array_key\":[1,2,3]},\"context\":\"context\",\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"livemode\":true,\"object\":\"v2.core.event\",\"reason\":{\"type\":\"request\",\"request\":{\"id\":\"obj_123\",\"idempotency_key\":\"idempotency_key\"}},\"type\":\"type\"}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.core.Event event = client.v2().core().events().retrieve("ll_123");