diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 8f166ae2e06..846b7ef3283 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1268 \ No newline at end of file +v1278 \ No newline at end of file diff --git a/src/main/java/com/stripe/model/Account.java b/src/main/java/com/stripe/model/Account.java index aa90f203959..a05aafa5d93 100644 --- a/src/main/java/com/stripe/model/Account.java +++ b/src/main/java/com/stripe/model/Account.java @@ -64,7 +64,7 @@ public class Account extends ApiResource implements MetadataStore, Paym @SerializedName("capabilities") Capabilities capabilities; - /** Whether the account can create live charges. */ + /** Whether the account can process charges. */ @SerializedName("charges_enabled") Boolean chargesEnabled; @@ -120,6 +120,10 @@ public class Account extends ApiResource implements MetadataStore, Paym @SerializedName("future_requirements") FutureRequirements futureRequirements; + /** The groups associated with the account. */ + @SerializedName("groups") + Groups groups; + /** Unique identifier for the object. */ @Getter(onMethod_ = {@Override}) @SerializedName("id") @@ -159,7 +163,7 @@ public class Account extends ApiResource implements MetadataStore, Paym @SerializedName("object") String object; - /** Whether Stripe can send payouts to this account. */ + /** Whether the funds in this account can be paid out. */ @SerializedName("payouts_enabled") Boolean payoutsEnabled; @@ -1877,6 +1881,19 @@ public static class Errors extends StripeObject { } } + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Groups extends StripeObject { + /** + * The group the account is in to determine their payments pricing, and null if the account is + * on customized pricing. See + * the Platform pricing tool documentation for details. + */ + @SerializedName("payments_pricing") + String paymentsPricing; + } + @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -2575,6 +2592,7 @@ public void setResponseGetter(StripeResponseGetter responseGetter) { trySetResponseGetter(controller, responseGetter); trySetResponseGetter(externalAccounts, responseGetter); trySetResponseGetter(futureRequirements, responseGetter); + trySetResponseGetter(groups, responseGetter); trySetResponseGetter(individual, responseGetter); trySetResponseGetter(requirements, responseGetter); trySetResponseGetter(riskControls, responseGetter); diff --git a/src/main/java/com/stripe/model/AccountSession.java b/src/main/java/com/stripe/model/AccountSession.java index 622c97b9c1c..1f9ba9514cf 100644 --- a/src/main/java/com/stripe/model/AccountSession.java +++ b/src/main/java/com/stripe/model/AccountSession.java @@ -179,11 +179,22 @@ public static class AccountManagement extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class Features extends StripeObject { + /** + * Disables Stripe user authentication for this embedded component. This feature can only be + * false for accounts where you’re responsible for collecting updated information when + * requirements are due or change, like custom accounts. The default value for this feature + * is {@code false} when {@code external_account_collection} is enabled and {@code true} + * otherwise. + */ + @SerializedName("disable_stripe_user_authentication") + Boolean disableStripeUserAuthentication; + /** * Whether to allow platforms to control bank account collection for their connected - * accounts. This feature can only be false for custom accounts (or accounts where the - * platform is compliance owner). Otherwise, bank account collection is determined by - * compliance requirements. + * accounts. This feature can only be false for accounts where you’re responsible for + * collecting updated information when requirements are due or change, like custom accounts. + * Otherwise, bank account collection is determined by compliance requirements. The default + * value for this feature is {@code true}. */ @SerializedName("external_account_collection") Boolean externalAccountCollection; @@ -205,11 +216,22 @@ public static class AccountOnboarding extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class Features extends StripeObject { + /** + * Disables Stripe user authentication for this embedded component. This feature can only be + * false for accounts where you’re responsible for collecting updated information when + * requirements are due or change, like custom accounts. The default value for this feature + * is {@code false} when {@code external_account_collection} is enabled and {@code true} + * otherwise. + */ + @SerializedName("disable_stripe_user_authentication") + Boolean disableStripeUserAuthentication; + /** * Whether to allow platforms to control bank account collection for their connected - * accounts. This feature can only be false for custom accounts (or accounts where the - * platform is compliance owner). Otherwise, bank account collection is determined by - * compliance requirements. + * accounts. This feature can only be false for accounts where you’re responsible for + * collecting updated information when requirements are due or change, like custom accounts. + * Otherwise, bank account collection is determined by compliance requirements. The default + * value for this feature is {@code true}. */ @SerializedName("external_account_collection") Boolean externalAccountCollection; @@ -231,6 +253,16 @@ public static class Balances extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class Features extends StripeObject { + /** + * Disables Stripe user authentication for this embedded component. This feature can only be + * false for accounts where you’re responsible for collecting updated information when + * requirements are due or change, like custom accounts. The default value for this feature + * is {@code false} when {@code external_account_collection} is enabled and {@code true} + * otherwise. + */ + @SerializedName("disable_stripe_user_authentication") + Boolean disableStripeUserAuthentication; + /** * Whether to allow payout schedule to be changed. Default {@code true} when Stripe owns * Loss Liability, default {@code false} otherwise. @@ -240,9 +272,10 @@ public static class Features extends StripeObject { /** * Whether to allow platforms to control bank account collection for their connected - * accounts. This feature can only be false for custom accounts (or accounts where the - * platform is compliance owner). Otherwise, bank account collection is determined by - * compliance requirements. + * accounts. This feature can only be false for accounts where you’re responsible for + * collecting updated information when requirements are due or change, like custom accounts. + * Otherwise, bank account collection is determined by compliance requirements. The default + * value for this feature is {@code true}. */ @SerializedName("external_account_collection") Boolean externalAccountCollection; @@ -346,11 +379,22 @@ public static class NotificationBanner extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class Features extends StripeObject { + /** + * Disables Stripe user authentication for this embedded component. This feature can only be + * false for accounts where you’re responsible for collecting updated information when + * requirements are due or change, like custom accounts. The default value for this feature + * is {@code false} when {@code external_account_collection} is enabled and {@code true} + * otherwise. + */ + @SerializedName("disable_stripe_user_authentication") + Boolean disableStripeUserAuthentication; + /** * Whether to allow platforms to control bank account collection for their connected - * accounts. This feature can only be false for custom accounts (or accounts where the - * platform is compliance owner). Otherwise, bank account collection is determined by - * compliance requirements. + * accounts. This feature can only be false for accounts where you’re responsible for + * collecting updated information when requirements are due or change, like custom accounts. + * Otherwise, bank account collection is determined by compliance requirements. The default + * value for this feature is {@code true}. */ @SerializedName("external_account_collection") Boolean externalAccountCollection; @@ -456,6 +500,16 @@ public static class Payouts extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class Features extends StripeObject { + /** + * Disables Stripe user authentication for this embedded component. This feature can only be + * false for accounts where you’re responsible for collecting updated information when + * requirements are due or change, like custom accounts. The default value for this feature + * is {@code false} when {@code external_account_collection} is enabled and {@code true} + * otherwise. + */ + @SerializedName("disable_stripe_user_authentication") + Boolean disableStripeUserAuthentication; + /** * Whether to allow payout schedule to be changed. Default {@code true} when Stripe owns * Loss Liability, default {@code false} otherwise. @@ -465,9 +519,10 @@ public static class Features extends StripeObject { /** * Whether to allow platforms to control bank account collection for their connected - * accounts. This feature can only be false for custom accounts (or accounts where the - * platform is compliance owner). Otherwise, bank account collection is determined by - * compliance requirements. + * accounts. This feature can only be false for accounts where you’re responsible for + * collecting updated information when requirements are due or change, like custom accounts. + * Otherwise, bank account collection is determined by compliance requirements. The default + * value for this feature is {@code true}. */ @SerializedName("external_account_collection") Boolean externalAccountCollection; diff --git a/src/main/java/com/stripe/model/Charge.java b/src/main/java/com/stripe/model/Charge.java index ebf0a046d32..8ce76f9955f 100644 --- a/src/main/java/com/stripe/model/Charge.java +++ b/src/main/java/com/stripe/model/Charge.java @@ -1177,12 +1177,18 @@ public static class PaymentMethodDetails extends StripeObject { @SerializedName("interac_present") InteracPresent interacPresent; + @SerializedName("kakao_pay") + KakaoPay kakaoPay; + @SerializedName("klarna") Klarna klarna; @SerializedName("konbini") Konbini konbini; + @SerializedName("kr_card") + KrCard krCard; + @SerializedName("link") Link link; @@ -1195,12 +1201,18 @@ public static class PaymentMethodDetails extends StripeObject { @SerializedName("multibanco") Multibanco multibanco; + @SerializedName("naver_pay") + NaverPay naverPay; + @SerializedName("oxxo") Oxxo oxxo; @SerializedName("p24") P24 p24; + @SerializedName("payco") + Payco payco; + @SerializedName("paynow") Paynow paynow; @@ -1222,6 +1234,9 @@ public static class PaymentMethodDetails extends StripeObject { @SerializedName("revolut_pay") RevolutPay revolutPay; + @SerializedName("samsung_pay") + SamsungPay samsungPay; + @SerializedName("sepa_credit_transfer") SepaCreditTransfer sepaCreditTransfer; @@ -2682,6 +2697,15 @@ public static class Receipt extends StripeObject { } } + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class KakaoPay extends StripeObject { + /** A unique identifier for the buyer as determined by the local payment processor. */ + @SerializedName("buyer_id") + String buyerId; + } + @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -2755,6 +2779,31 @@ public static class Store extends StripeObject { } } + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class KrCard extends StripeObject { + /** + * The local credit or debit card brand. + * + *

One of {@code bc}, {@code citi}, {@code hana}, {@code hyundai}, {@code jeju}, {@code + * jeonbuk}, {@code kakaobank}, {@code kbank}, {@code kdbbank}, {@code kookmin}, {@code + * kwangju}, {@code lotte}, {@code mg}, {@code nh}, {@code post}, {@code samsung}, {@code + * savingsbank}, {@code shinhan}, {@code shinhyup}, {@code suhyup}, {@code tossbank}, or + * {@code woori}. + */ + @SerializedName("brand") + String brand; + + /** A unique identifier for the buyer as determined by the local payment processor. */ + @SerializedName("buyer_id") + String buyerId; + + /** The last four digits of the card. This may not be present for American Express cards. */ + @SerializedName("last4") + String last4; + } + @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -2819,6 +2868,15 @@ public static class Multibanco extends StripeObject { String reference; } + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class NaverPay extends StripeObject { + /** A unique identifier for the buyer as determined by the local payment processor. */ + @SerializedName("buyer_id") + String buyerId; + } + @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -2858,6 +2916,15 @@ public static class P24 extends StripeObject { String verifiedName; } + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Payco extends StripeObject { + /** A unique identifier for the buyer as determined by the local payment processor. */ + @SerializedName("buyer_id") + String buyerId; + } + @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -2997,6 +3064,15 @@ public static class Rechnung extends StripeObject {} @EqualsAndHashCode(callSuper = false) public static class RevolutPay extends StripeObject {} + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class SamsungPay extends StripeObject { + /** A unique identifier for the buyer as determined by the local payment processor. */ + @SerializedName("buyer_id") + String buyerId; + } + @Getter @Setter @EqualsAndHashCode(callSuper = false) diff --git a/src/main/java/com/stripe/model/ConfirmationToken.java b/src/main/java/com/stripe/model/ConfirmationToken.java index 87d188be1f0..40eeee30569 100644 --- a/src/main/java/com/stripe/model/ConfirmationToken.java +++ b/src/main/java/com/stripe/model/ConfirmationToken.java @@ -307,12 +307,18 @@ public static class PaymentMethodPreview extends StripeObject { @SerializedName("interac_present") InteracPresent interacPresent; + @SerializedName("kakao_pay") + KakaoPay kakaoPay; + @SerializedName("klarna") Klarna klarna; @SerializedName("konbini") Konbini konbini; + @SerializedName("kr_card") + KrCard krCard; + @SerializedName("link") Link link; @@ -325,12 +331,18 @@ public static class PaymentMethodPreview extends StripeObject { @SerializedName("multibanco") Multibanco multibanco; + @SerializedName("naver_pay") + NaverPay naverPay; + @SerializedName("oxxo") Oxxo oxxo; @SerializedName("p24") P24 p24; + @SerializedName("payco") + Payco payco; + @SerializedName("paynow") Paynow paynow; @@ -352,6 +364,9 @@ public static class PaymentMethodPreview extends StripeObject { @SerializedName("revolut_pay") RevolutPay revolutPay; + @SerializedName("samsung_pay") + SamsungPay samsungPay; + @SerializedName("sepa_debit") SepaDebit sepaDebit; @@ -373,11 +388,12 @@ public static class PaymentMethodPreview extends StripeObject { * {@code amazon_pay}, {@code au_becs_debit}, {@code bacs_debit}, {@code bancontact}, {@code * blik}, {@code boleto}, {@code card}, {@code card_present}, {@code cashapp}, {@code * customer_balance}, {@code eps}, {@code fpx}, {@code giropay}, {@code grabpay}, {@code ideal}, - * {@code interac_present}, {@code klarna}, {@code konbini}, {@code link}, {@code mb_way}, - * {@code mobilepay}, {@code multibanco}, {@code oxxo}, {@code p24}, {@code paynow}, {@code - * paypal}, {@code payto}, {@code pix}, {@code promptpay}, {@code rechnung}, {@code - * revolut_pay}, {@code sepa_debit}, {@code sofort}, {@code swish}, {@code twint}, {@code - * us_bank_account}, {@code wechat_pay}, or {@code zip}. + * {@code interac_present}, {@code kakao_pay}, {@code klarna}, {@code konbini}, {@code kr_card}, + * {@code link}, {@code mb_way}, {@code mobilepay}, {@code multibanco}, {@code naver_pay}, + * {@code oxxo}, {@code p24}, {@code payco}, {@code paynow}, {@code paypal}, {@code payto}, + * {@code pix}, {@code promptpay}, {@code rechnung}, {@code revolut_pay}, {@code samsung_pay}, + * {@code sepa_debit}, {@code sofort}, {@code swish}, {@code twint}, {@code us_bank_account}, + * {@code wechat_pay}, or {@code zip}. */ @SerializedName("type") String type; @@ -1491,6 +1507,11 @@ public static class Networks extends StripeObject { } } + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class KakaoPay extends StripeObject {} + @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1522,6 +1543,27 @@ public static class Dob extends StripeObject { @EqualsAndHashCode(callSuper = false) public static class Konbini extends StripeObject {} + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class KrCard extends StripeObject { + /** + * The local credit or debit card brand. + * + *

One of {@code bc}, {@code citi}, {@code hana}, {@code hyundai}, {@code jeju}, {@code + * jeonbuk}, {@code kakaobank}, {@code kbank}, {@code kdbbank}, {@code kookmin}, {@code + * kwangju}, {@code lotte}, {@code mg}, {@code nh}, {@code post}, {@code samsung}, {@code + * savingsbank}, {@code shinhan}, {@code shinhyup}, {@code suhyup}, {@code tossbank}, or + * {@code woori}. + */ + @SerializedName("brand") + String brand; + + /** The last four digits of the card. This may not be present for American Express cards. */ + @SerializedName("last4") + String last4; + } + @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1551,6 +1593,19 @@ public static class Mobilepay extends StripeObject {} @EqualsAndHashCode(callSuper = false) public static class Multibanco extends StripeObject {} + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class NaverPay extends StripeObject { + /** + * Whether to fund this transaction with Naver Pay points or a card. + * + *

One of {@code card}, or {@code points}. + */ + @SerializedName("funding") + String funding; + } + @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1575,6 +1630,11 @@ public static class P24 extends StripeObject { String bank; } + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Payco extends StripeObject {} + @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1667,6 +1727,11 @@ public static class Dob extends StripeObject { @EqualsAndHashCode(callSuper = false) public static class RevolutPay extends StripeObject {} + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class SamsungPay extends StripeObject {} + @Getter @Setter @EqualsAndHashCode(callSuper = false) diff --git a/src/main/java/com/stripe/model/Event.java b/src/main/java/com/stripe/model/Event.java index 1cc030db510..06ef168d453 100644 --- a/src/main/java/com/stripe/model/Event.java +++ b/src/main/java/com/stripe/model/Event.java @@ -194,9 +194,9 @@ public class Event extends ApiResource implements HasId { * quote.accepted}, {@code quote.accepting}, {@code quote.canceled}, {@code quote.created}, {@code * quote.draft}, {@code quote.finalized}, {@code quote.reestimate_failed}, {@code * quote.reestimated}, {@code quote.stale}, {@code radar.early_fraud_warning.created}, {@code - * radar.early_fraud_warning.updated}, {@code refund.created}, {@code refund.updated}, {@code - * reporting.report_run.failed}, {@code reporting.report_run.succeeded}, {@code - * reporting.report_type.updated}, {@code review.closed}, {@code review.opened}, {@code + * radar.early_fraud_warning.updated}, {@code refund.created}, {@code refund.failed}, {@code + * refund.updated}, {@code reporting.report_run.failed}, {@code reporting.report_run.succeeded}, + * {@code reporting.report_type.updated}, {@code review.closed}, {@code review.opened}, {@code * setup_intent.canceled}, {@code setup_intent.created}, {@code setup_intent.requires_action}, * {@code setup_intent.setup_failed}, {@code setup_intent.succeeded}, {@code * sigma.scheduled_query_run.created}, {@code source.canceled}, {@code source.chargeable}, {@code diff --git a/src/main/java/com/stripe/model/Invoice.java b/src/main/java/com/stripe/model/Invoice.java index cfc2242900e..09f89bf0c23 100644 --- a/src/main/java/com/stripe/model/Invoice.java +++ b/src/main/java/com/stripe/model/Invoice.java @@ -640,6 +640,10 @@ public class Invoice extends ApiResource implements HasId, MetadataStore totalMarginAmounts; + /** + * Contains pretax credit amounts (ex: discount, credit grants, etc) that apply to this invoice. + * This is a combined list of total_pretax_credit_amounts across all invoice line items. + */ @SerializedName("total_pretax_credit_amounts") List totalPretaxCreditAmounts; @@ -2591,7 +2595,8 @@ public static class CustomerTaxId extends StripeObject { * cl_tin}, {@code sa_vat}, {@code id_npwp}, {@code my_frp}, {@code il_vat}, {@code ge_vat}, * {@code ua_vat}, {@code is_vat}, {@code bg_uic}, {@code hu_tin}, {@code si_tin}, {@code * ke_pin}, {@code tr_tin}, {@code eg_tin}, {@code ph_tin}, {@code bh_vat}, {@code kz_bin}, - * {@code ng_tin}, {@code om_vat}, {@code de_stn}, {@code ch_uid}, or {@code unknown}. + * {@code ng_tin}, {@code om_vat}, {@code de_stn}, {@code ch_uid}, {@code tz_vat}, {@code + * uz_vat}, {@code uz_tin}, {@code md_vat}, {@code ma_vat}, {@code by_tin}, or {@code unknown}. */ @SerializedName("type") String type; diff --git a/src/main/java/com/stripe/model/InvoiceLineItem.java b/src/main/java/com/stripe/model/InvoiceLineItem.java index f07b68a6773..05320ad18da 100644 --- a/src/main/java/com/stripe/model/InvoiceLineItem.java +++ b/src/main/java/com/stripe/model/InvoiceLineItem.java @@ -131,6 +131,9 @@ public class InvoiceLineItem extends ApiResource implements HasId, MetadataStore @SerializedName("plan") Plan plan; + /** + * Contains pretax credit amounts (ex: discount, credit grants, etc) that apply to this line item. + */ @SerializedName("pretax_credit_amounts") List pretaxCreditAmounts; diff --git a/src/main/java/com/stripe/model/Mandate.java b/src/main/java/com/stripe/model/Mandate.java index f7c19ab2a67..8014c4d80a5 100644 --- a/src/main/java/com/stripe/model/Mandate.java +++ b/src/main/java/com/stripe/model/Mandate.java @@ -204,6 +204,12 @@ public static class PaymentMethodDetails extends StripeObject { @SerializedName("cashapp") Cashapp cashapp; + @SerializedName("kakao_pay") + KakaoPay kakaoPay; + + @SerializedName("kr_card") + KrCard krCard; + @SerializedName("link") Link link; @@ -319,6 +325,16 @@ public static class Card extends StripeObject {} @EqualsAndHashCode(callSuper = false) public static class Cashapp extends StripeObject {} + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class KakaoPay extends StripeObject {} + + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class KrCard extends StripeObject {} + @Getter @Setter @EqualsAndHashCode(callSuper = false) diff --git a/src/main/java/com/stripe/model/Order.java b/src/main/java/com/stripe/model/Order.java index 80f01bfc9e2..d79b25240e6 100644 --- a/src/main/java/com/stripe/model/Order.java +++ b/src/main/java/com/stripe/model/Order.java @@ -1368,6 +1368,10 @@ public static class Paypal extends StripeObject { @SerializedName("capture_method") String captureMethod; + /** The line items purchased by the customer. */ + @SerializedName("line_items") + List lineItems; + /** Preferred locale of the PayPal checkout page that the customer is redirected to. */ @SerializedName("preferred_locale") String preferredLocale; @@ -1421,6 +1425,73 @@ public static class Paypal extends StripeObject { */ @SerializedName("subsellers") List subsellers; + + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class LineItem extends StripeObject { + /** + * Type of the line item. + * + *

One of {@code digital_goods}, {@code donation}, or {@code physical_goods}. + */ + @SerializedName("category") + String category; + + /** Description of the line item. */ + @SerializedName("description") + String description; + + /** Descriptive name of the line item. */ + @SerializedName("name") + String name; + + /** Quantity of the line item. Cannot be a negative number. */ + @SerializedName("quantity") + Long quantity; + + /** Client facing stock keeping unit, article number or similar. */ + @SerializedName("sku") + String sku; + + /** + * The Stripe account ID of the connected account that sells the item. This is only + * needed when using Separate + * Charges and Transfers. + */ + @SerializedName("sold_by") + String soldBy; + + @SerializedName("tax") + Tax tax; + + /** + * Price for a single unit of the line item in minor units. Cannot be a negative number. + */ + @SerializedName("unit_amount") + Long unitAmount; + + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Tax extends StripeObject { + /** + * The tax for a single unit of the line item in minor units. Cannot be a negative + * number. + */ + @SerializedName("amount") + Long amount; + + /** + * The tax behavior for the line item. + * + *

One of {@code exclusive}, or {@code inclusive}. + */ + @SerializedName("behavior") + String behavior; + } + } } @Getter @@ -1717,8 +1788,9 @@ public static class TaxId extends StripeObject { * ae_trn}, {@code cl_tin}, {@code sa_vat}, {@code id_npwp}, {@code my_frp}, {@code il_vat}, * {@code ge_vat}, {@code ua_vat}, {@code is_vat}, {@code bg_uic}, {@code hu_tin}, {@code * si_tin}, {@code ke_pin}, {@code tr_tin}, {@code eg_tin}, {@code ph_tin}, {@code bh_vat}, - * {@code kz_bin}, {@code ng_tin}, {@code om_vat}, {@code de_stn}, {@code ch_uid}, or {@code - * unknown}. + * {@code kz_bin}, {@code ng_tin}, {@code om_vat}, {@code de_stn}, {@code ch_uid}, {@code + * tz_vat}, {@code uz_vat}, {@code uz_tin}, {@code md_vat}, {@code ma_vat}, {@code by_tin}, or + * {@code unknown}. */ @SerializedName("type") String type; diff --git a/src/main/java/com/stripe/model/PaymentIntent.java b/src/main/java/com/stripe/model/PaymentIntent.java index e3c1935ec40..805ecfbe691 100644 --- a/src/main/java/com/stripe/model/PaymentIntent.java +++ b/src/main/java/com/stripe/model/PaymentIntent.java @@ -2813,12 +2813,18 @@ public static class PaymentMethodOptions extends StripeObject { @SerializedName("interac_present") InteracPresent interacPresent; + @SerializedName("kakao_pay") + KakaoPay kakaoPay; + @SerializedName("klarna") Klarna klarna; @SerializedName("konbini") Konbini konbini; + @SerializedName("kr_card") + KrCard krCard; + @SerializedName("link") Link link; @@ -2831,12 +2837,18 @@ public static class PaymentMethodOptions extends StripeObject { @SerializedName("multibanco") Multibanco multibanco; + @SerializedName("naver_pay") + NaverPay naverPay; + @SerializedName("oxxo") Oxxo oxxo; @SerializedName("p24") P24 p24; + @SerializedName("payco") + Payco payco; + @SerializedName("paynow") Paynow paynow; @@ -2858,6 +2870,9 @@ public static class PaymentMethodOptions extends StripeObject { @SerializedName("revolut_pay") RevolutPay revolutPay; + @SerializedName("samsung_pay") + SamsungPay samsungPay; + @SerializedName("sepa_debit") SepaDebit sepaDebit; @@ -3903,6 +3918,43 @@ public static class Ideal extends StripeObject { @EqualsAndHashCode(callSuper = false) public static class InteracPresent extends StripeObject {} + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class KakaoPay extends StripeObject { + /** + * Controls when the funds will be captured from the customer's account. + * + *

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

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to the + * Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates + * and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you comply + * with regional legislation and network rules, such as SCA. + * + *

One of {@code none}, or {@code off_session}. + */ + @SerializedName("setup_future_usage") + String setupFutureUsage; + } + @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -4003,6 +4055,43 @@ public static class Konbini extends StripeObject { String setupFutureUsage; } + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class KrCard extends StripeObject { + /** + * Controls when the funds will be captured from the customer's account. + * + *

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

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to the + * Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates + * and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you comply + * with regional legislation and network rules, such as SCA. + * + *

One of {@code none}, or {@code off_session}. + */ + @SerializedName("setup_future_usage") + String setupFutureUsage; + } + @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -4140,6 +4229,19 @@ public static class Multibanco extends StripeObject { String setupFutureUsage; } + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class NaverPay extends StripeObject { + /** + * Controls when the funds will be captured from the customer's account. + * + *

Equal to {@code manual}. + */ + @SerializedName("capture_method") + String captureMethod; + } + @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -4206,6 +4308,19 @@ public static class P24 extends StripeObject { String setupFutureUsage; } + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Payco extends StripeObject { + /** + * Controls when the funds will be captured from the customer's account. + * + *

Equal to {@code manual}. + */ + @SerializedName("capture_method") + String captureMethod; + } + @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -4247,6 +4362,10 @@ public static class Paypal extends StripeObject { @SerializedName("capture_method") String captureMethod; + /** The line items purchased by the customer. */ + @SerializedName("line_items") + List lineItems; + /** Preferred locale of the PayPal checkout page that the customer is redirected to. */ @SerializedName("preferred_locale") String preferredLocale; @@ -4299,6 +4418,70 @@ public static class Paypal extends StripeObject { */ @SerializedName("subsellers") List subsellers; + + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class LineItem extends StripeObject { + /** + * Type of the line item. + * + *

One of {@code digital_goods}, {@code donation}, or {@code physical_goods}. + */ + @SerializedName("category") + String category; + + /** Description of the line item. */ + @SerializedName("description") + String description; + + /** Descriptive name of the line item. */ + @SerializedName("name") + String name; + + /** Quantity of the line item. Cannot be a negative number. */ + @SerializedName("quantity") + Long quantity; + + /** Client facing stock keeping unit, article number or similar. */ + @SerializedName("sku") + String sku; + + /** + * The Stripe account ID of the connected account that sells the item. This is only needed + * when using Separate Charges + * and Transfers. + */ + @SerializedName("sold_by") + String soldBy; + + @SerializedName("tax") + Tax tax; + + /** Price for a single unit of the line item in minor units. Cannot be a negative number. */ + @SerializedName("unit_amount") + Long unitAmount; + + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Tax extends StripeObject { + /** + * The tax for a single unit of the line item in minor units. Cannot be a negative number. + */ + @SerializedName("amount") + Long amount; + + /** + * The tax behavior for the line item. + * + *

One of {@code exclusive}, or {@code inclusive}. + */ + @SerializedName("behavior") + String behavior; + } + } } @Getter @@ -4495,6 +4678,19 @@ public static class RevolutPay extends StripeObject { String setupFutureUsage; } + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class SamsungPay extends StripeObject { + /** + * Controls when the funds will be captured from the customer's account. + * + *

Equal to {@code manual}. + */ + @SerializedName("capture_method") + String captureMethod; + } + @Getter @Setter @EqualsAndHashCode(callSuper = false) diff --git a/src/main/java/com/stripe/model/PaymentMethod.java b/src/main/java/com/stripe/model/PaymentMethod.java index b3d51689f49..d3e1abf6e4e 100644 --- a/src/main/java/com/stripe/model/PaymentMethod.java +++ b/src/main/java/com/stripe/model/PaymentMethod.java @@ -125,12 +125,18 @@ public class PaymentMethod extends ApiResource implements HasId, MetadataStore

One of {@code bc}, {@code citi}, {@code hana}, {@code hyundai}, {@code jeju}, {@code + * jeonbuk}, {@code kakaobank}, {@code kbank}, {@code kdbbank}, {@code kookmin}, {@code + * kwangju}, {@code lotte}, {@code mg}, {@code nh}, {@code post}, {@code samsung}, {@code + * savingsbank}, {@code shinhan}, {@code shinhyup}, {@code suhyup}, {@code tossbank}, or {@code + * woori}. + */ + @SerializedName("brand") + String brand; + + /** The last four digits of the card. This may not be present for American Express cards. */ + @SerializedName("last4") + String last4; + } + @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1776,6 +1818,19 @@ public static class Mobilepay extends StripeObject {} @EqualsAndHashCode(callSuper = false) public static class Multibanco extends StripeObject {} + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class NaverPay extends StripeObject { + /** + * Whether to fund this transaction with Naver Pay points or a card. + * + *

One of {@code card}, or {@code points}. + */ + @SerializedName("funding") + String funding; + } + @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1800,6 +1855,11 @@ public static class P24 extends StripeObject { String bank; } + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Payco extends StripeObject {} + @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1909,6 +1969,11 @@ public static class Dob extends StripeObject { @EqualsAndHashCode(callSuper = false) public static class RevolutPay extends StripeObject {} + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class SamsungPay extends StripeObject {} + @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -2150,14 +2215,18 @@ public void setResponseGetter(StripeResponseGetter responseGetter) { trySetResponseGetter(grabpay, responseGetter); trySetResponseGetter(ideal, responseGetter); trySetResponseGetter(interacPresent, responseGetter); + trySetResponseGetter(kakaoPay, responseGetter); trySetResponseGetter(klarna, responseGetter); trySetResponseGetter(konbini, responseGetter); + trySetResponseGetter(krCard, responseGetter); trySetResponseGetter(link, responseGetter); trySetResponseGetter(mbWay, responseGetter); trySetResponseGetter(mobilepay, responseGetter); trySetResponseGetter(multibanco, responseGetter); + trySetResponseGetter(naverPay, responseGetter); trySetResponseGetter(oxxo, responseGetter); trySetResponseGetter(p24, responseGetter); + trySetResponseGetter(payco, responseGetter); trySetResponseGetter(paynow, responseGetter); trySetResponseGetter(paypal, responseGetter); trySetResponseGetter(payto, responseGetter); @@ -2166,6 +2235,7 @@ public void setResponseGetter(StripeResponseGetter responseGetter) { trySetResponseGetter(radarOptions, responseGetter); trySetResponseGetter(rechnung, responseGetter); trySetResponseGetter(revolutPay, responseGetter); + trySetResponseGetter(samsungPay, responseGetter); trySetResponseGetter(sepaDebit, responseGetter); trySetResponseGetter(sofort, responseGetter); trySetResponseGetter(swish, responseGetter); diff --git a/src/main/java/com/stripe/model/Person.java b/src/main/java/com/stripe/model/Person.java index aa3d5d2fae0..d91b347ac6d 100644 --- a/src/main/java/com/stripe/model/Person.java +++ b/src/main/java/com/stripe/model/Person.java @@ -93,10 +93,7 @@ public class Person extends ApiResource implements HasId, MetadataStore @SerializedName("future_requirements") FutureRequirements futureRequirements; - /** - * The person's gender (International regulations require either "male" or - * "female"). - */ + /** The person's gender. */ @SerializedName("gender") String gender; diff --git a/src/main/java/com/stripe/model/QuotePreviewInvoice.java b/src/main/java/com/stripe/model/QuotePreviewInvoice.java index 7cf51c1ae99..dc7da4aa2af 100644 --- a/src/main/java/com/stripe/model/QuotePreviewInvoice.java +++ b/src/main/java/com/stripe/model/QuotePreviewInvoice.java @@ -585,6 +585,10 @@ public class QuotePreviewInvoice extends ApiResource implements HasId { @SerializedName("total_margin_amounts") List totalMarginAmounts; + /** + * Contains pretax credit amounts (ex: discount, credit grants, etc) that apply to this invoice. + * This is a combined list of total_pretax_credit_amounts across all invoice line items. + */ @SerializedName("total_pretax_credit_amounts") List totalPretaxCreditAmounts; @@ -1103,7 +1107,8 @@ public static class CustomerTaxId extends StripeObject { * cl_tin}, {@code sa_vat}, {@code id_npwp}, {@code my_frp}, {@code il_vat}, {@code ge_vat}, * {@code ua_vat}, {@code is_vat}, {@code bg_uic}, {@code hu_tin}, {@code si_tin}, {@code * ke_pin}, {@code tr_tin}, {@code eg_tin}, {@code ph_tin}, {@code bh_vat}, {@code kz_bin}, - * {@code ng_tin}, {@code om_vat}, {@code de_stn}, {@code ch_uid}, or {@code unknown}. + * {@code ng_tin}, {@code om_vat}, {@code de_stn}, {@code ch_uid}, {@code tz_vat}, {@code + * uz_vat}, {@code uz_tin}, {@code md_vat}, {@code ma_vat}, {@code by_tin}, or {@code unknown}. */ @SerializedName("type") String type; diff --git a/src/main/java/com/stripe/model/SetupAttempt.java b/src/main/java/com/stripe/model/SetupAttempt.java index 42fe6bd80aa..5d8fa55d44d 100644 --- a/src/main/java/com/stripe/model/SetupAttempt.java +++ b/src/main/java/com/stripe/model/SetupAttempt.java @@ -294,9 +294,15 @@ public static class PaymentMethodDetails extends StripeObject { @SerializedName("ideal") Ideal ideal; + @SerializedName("kakao_pay") + KakaoPay kakaoPay; + @SerializedName("klarna") Klarna klarna; + @SerializedName("kr_card") + KrCard krCard; + @SerializedName("link") Link link; @@ -797,11 +803,21 @@ public void setGeneratedSepaDebitMandateObject(Mandate expandableObject) { } } + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class KakaoPay extends StripeObject {} + @Getter @Setter @EqualsAndHashCode(callSuper = false) public static class Klarna extends StripeObject {} + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class KrCard extends StripeObject {} + @Getter @Setter @EqualsAndHashCode(callSuper = false) diff --git a/src/main/java/com/stripe/model/StripeError.java b/src/main/java/com/stripe/model/StripeError.java index 2cbbd68fa97..bce4a7b9111 100644 --- a/src/main/java/com/stripe/model/StripeError.java +++ b/src/main/java/com/stripe/model/StripeError.java @@ -78,22 +78,23 @@ public class StripeError extends StripeObject { * payment_method_provider_decline}, {@code payment_method_provider_timeout}, {@code * payment_method_unactivated}, {@code payment_method_unexpected_state}, {@code * payment_method_unsupported_type}, {@code payout_reconciliation_not_ready}, {@code - * payouts_limit_exceeded}, {@code payouts_not_allowed}, {@code platform_account_required}, {@code - * platform_api_key_expired}, {@code postal_code_invalid}, {@code processing_error}, {@code - * product_inactive}, {@code progressive_onboarding_limit_exceeded}, {@code rate_limit}, {@code - * refer_to_customer}, {@code refund_disputed_payment}, {@code resource_already_exists}, {@code - * resource_missing}, {@code return_intent_already_processed}, {@code routing_number_invalid}, - * {@code secret_key_required}, {@code sensitive_data_access_expired}, {@code - * sepa_unsupported_account}, {@code setup_attempt_failed}, {@code - * setup_intent_authentication_failure}, {@code setup_intent_invalid_parameter}, {@code - * setup_intent_mandate_invalid}, {@code setup_intent_setup_attempt_expired}, {@code - * setup_intent_unexpected_state}, {@code shipping_address_invalid}, {@code - * shipping_calculation_failed}, {@code sku_inactive}, {@code state_unsupported}, {@code - * status_transition_invalid}, {@code stripe_tax_inactive}, {@code tax_id_invalid}, {@code - * taxes_calculation_failed}, {@code terminal_location_country_unsupported}, {@code - * terminal_reader_busy}, {@code terminal_reader_collected_data_invalid}, {@code - * terminal_reader_hardware_fault}, {@code terminal_reader_invalid_location_for_activation}, - * {@code terminal_reader_invalid_location_for_payment}, {@code terminal_reader_offline}, {@code + * payout_statement_descriptor_profanity}, {@code payouts_limit_exceeded}, {@code + * payouts_not_allowed}, {@code platform_account_required}, {@code platform_api_key_expired}, + * {@code postal_code_invalid}, {@code processing_error}, {@code product_inactive}, {@code + * progressive_onboarding_limit_exceeded}, {@code rate_limit}, {@code refer_to_customer}, {@code + * refund_disputed_payment}, {@code resource_already_exists}, {@code resource_missing}, {@code + * return_intent_already_processed}, {@code routing_number_invalid}, {@code secret_key_required}, + * {@code sensitive_data_access_expired}, {@code sepa_unsupported_account}, {@code + * setup_attempt_failed}, {@code setup_intent_authentication_failure}, {@code + * setup_intent_invalid_parameter}, {@code setup_intent_mandate_invalid}, {@code + * setup_intent_setup_attempt_expired}, {@code setup_intent_unexpected_state}, {@code + * shipping_address_invalid}, {@code shipping_calculation_failed}, {@code sku_inactive}, {@code + * state_unsupported}, {@code status_transition_invalid}, {@code stripe_tax_inactive}, {@code + * tax_id_invalid}, {@code taxes_calculation_failed}, {@code + * terminal_location_country_unsupported}, {@code terminal_reader_busy}, {@code + * terminal_reader_collected_data_invalid}, {@code terminal_reader_hardware_fault}, {@code + * terminal_reader_invalid_location_for_activation}, {@code + * terminal_reader_invalid_location_for_payment}, {@code terminal_reader_offline}, {@code * terminal_reader_timeout}, {@code testmode_charges_only}, {@code tls_version_unsupported}, * {@code token_already_used}, {@code token_card_network_invalid}, {@code token_in_use}, {@code * transfer_source_balance_parameters_mismatch}, {@code transfers_not_allowed}, or {@code diff --git a/src/main/java/com/stripe/model/TaxId.java b/src/main/java/com/stripe/model/TaxId.java index 671b44bedb2..e1b4287dc45 100644 --- a/src/main/java/com/stripe/model/TaxId.java +++ b/src/main/java/com/stripe/model/TaxId.java @@ -75,17 +75,18 @@ public class TaxId extends ApiResource implements HasId { /** * Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, {@code ar_cuit}, {@code au_abn}, * {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj}, {@code - * br_cpf}, {@code ca_bn}, {@code ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code - * ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, - * {@code co_nit}, {@code cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, - * {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code - * hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code - * is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code - * kz_bin}, {@code li_uid}, {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code - * ng_tin}, {@code no_vat}, {@code no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, - * {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, - * {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, - * {@code tw_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code ve_rif}, {@code vn_tin}, + * br_cpf}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code ca_pst_bc}, {@code + * ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, + * {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, + * {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code + * ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code + * in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code + * kr_brn}, {@code kz_bin}, {@code li_uid}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc}, {@code + * my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, + * {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, + * {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code si_tin}, + * {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, + * {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif}, {@code vn_tin}, * or {@code za_vat}. Note that some legacy tax IDs have type {@code unknown} */ @SerializedName("type") diff --git a/src/main/java/com/stripe/model/TaxRate.java b/src/main/java/com/stripe/model/TaxRate.java index a3d8ec92d4b..2e2f6797c35 100644 --- a/src/main/java/com/stripe/model/TaxRate.java +++ b/src/main/java/com/stripe/model/TaxRate.java @@ -8,6 +8,7 @@ import com.stripe.net.ApiResource; import com.stripe.net.BaseAddress; import com.stripe.net.RequestOptions; +import com.stripe.net.StripeResponseGetter; import com.stripe.param.TaxRateCreateParams; import com.stripe.param.TaxRateListParams; import com.stripe.param.TaxRateRetrieveParams; @@ -73,6 +74,14 @@ public class TaxRate extends ApiResource implements HasId, MetadataStoreOne of {@code flat_amount}, or {@code percentage}. + */ + @SerializedName("rate_type") + String rateType; + /** * ISO 3166-2 subdivision code, without * country prefix. For example, "NY" for New York, United States. @@ -141,8 +159,8 @@ public class TaxRate extends ApiResource implements HasId, MetadataStoreOne of {@code amusement_tax}, {@code communications_tax}, {@code gst}, {@code hst}, {@code - * igst}, {@code jct}, {@code lease_tax}, {@code pst}, {@code qst}, {@code rst}, {@code - * sales_tax}, or {@code vat}. + * igst}, {@code jct}, {@code lease_tax}, {@code pst}, {@code qst}, {@code retail_delivery_fee}, + * {@code rst}, {@code sales_tax}, or {@code vat}. */ @SerializedName("tax_type") String taxType; @@ -294,4 +312,33 @@ public TaxRate update(TaxRateUpdateParams params, RequestOptions options) throws options); return getResponseGetter().request(request, TaxRate.class); } + + /** + * The amount of the tax rate when the {@code rate_type`` is }flat_amount{@code . Tax rates with + * }rate_type{@code }percentage{@code can vary based on the transaction, resulting in this field + * being}null`. This field exposes the amount and currency of the flat tax rate. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class FlatAmount extends StripeObject { + /** + * Amount of the tax when the {@code rate_type} is {@code flat_amount}. This positive integer + * represents how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 + * or 100 to charge ¥100, a zero-decimal currency). The amount value supports up to eight digits + * (e.g., a value of 99999999 for a USD charge of $999,999.99). + */ + @SerializedName("amount") + Long amount; + + /** Three-letter ISO currency code, in lowercase. */ + @SerializedName("currency") + String currency; + } + + @Override + public void setResponseGetter(StripeResponseGetter responseGetter) { + super.setResponseGetter(responseGetter); + trySetResponseGetter(flatAmount, responseGetter); + } } diff --git a/src/main/java/com/stripe/model/UsageRecordSummary.java b/src/main/java/com/stripe/model/UsageRecordSummary.java index 308b49b681d..fde46919361 100644 --- a/src/main/java/com/stripe/model/UsageRecordSummary.java +++ b/src/main/java/com/stripe/model/UsageRecordSummary.java @@ -6,6 +6,10 @@ import lombok.Getter; import lombok.Setter; +/** + * A usage record summary represents an aggregated view of how much usage was accrued for a + * subscription item within a subscription billing period. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) diff --git a/src/main/java/com/stripe/model/billing/CreditGrant.java b/src/main/java/com/stripe/model/billing/CreditGrant.java index 183537ad1ad..e3b95a180a6 100644 --- a/src/main/java/com/stripe/model/billing/CreditGrant.java +++ b/src/main/java/com/stripe/model/billing/CreditGrant.java @@ -49,7 +49,7 @@ public class CreditGrant extends ApiResource implements HasId, MetadataStore metadata; - /** A descriptive name shown in dashboard and on invoices. */ + /** A descriptive name shown in dashboard. */ @SerializedName("name") String name; diff --git a/src/main/java/com/stripe/model/billing/Meter.java b/src/main/java/com/stripe/model/billing/Meter.java index cea7e1dbb7d..77145c27a52 100644 --- a/src/main/java/com/stripe/model/billing/Meter.java +++ b/src/main/java/com/stripe/model/billing/Meter.java @@ -28,6 +28,9 @@ * you might create a billing meter to track the number of API calls made by a particular user. You * can then attach the billing meter to a price and attach the price to a subscription to charge the * user for the number of API calls they make. + * + *

Related guide: Usage based + * billing */ @Getter @Setter diff --git a/src/main/java/com/stripe/model/checkout/Session.java b/src/main/java/com/stripe/model/checkout/Session.java index 7c72e5cfca3..39841d756c0 100644 --- a/src/main/java/com/stripe/model/checkout/Session.java +++ b/src/main/java/com/stripe/model/checkout/Session.java @@ -958,8 +958,9 @@ public static class TaxId extends StripeObject { * ae_trn}, {@code cl_tin}, {@code sa_vat}, {@code id_npwp}, {@code my_frp}, {@code il_vat}, * {@code ge_vat}, {@code ua_vat}, {@code is_vat}, {@code bg_uic}, {@code hu_tin}, {@code * si_tin}, {@code ke_pin}, {@code tr_tin}, {@code eg_tin}, {@code ph_tin}, {@code bh_vat}, - * {@code kz_bin}, {@code ng_tin}, {@code om_vat}, {@code de_stn}, {@code ch_uid}, or {@code - * unknown}. + * {@code kz_bin}, {@code ng_tin}, {@code om_vat}, {@code de_stn}, {@code ch_uid}, {@code + * tz_vat}, {@code uz_vat}, {@code uz_tin}, {@code md_vat}, {@code ma_vat}, {@code by_tin}, or + * {@code unknown}. */ @SerializedName("type") String type; @@ -1314,8 +1315,9 @@ public static class TaxId extends StripeObject { * ae_trn}, {@code cl_tin}, {@code sa_vat}, {@code id_npwp}, {@code my_frp}, {@code il_vat}, * {@code ge_vat}, {@code ua_vat}, {@code is_vat}, {@code bg_uic}, {@code hu_tin}, {@code * si_tin}, {@code ke_pin}, {@code tr_tin}, {@code eg_tin}, {@code ph_tin}, {@code bh_vat}, - * {@code kz_bin}, {@code ng_tin}, {@code om_vat}, {@code de_stn}, {@code ch_uid}, or {@code - * unknown}. + * {@code kz_bin}, {@code ng_tin}, {@code om_vat}, {@code de_stn}, {@code ch_uid}, {@code + * tz_vat}, {@code uz_vat}, {@code uz_tin}, {@code md_vat}, {@code ma_vat}, {@code by_tin}, or + * {@code unknown}. */ @SerializedName("type") String type; diff --git a/src/main/java/com/stripe/model/forwarding/Request.java b/src/main/java/com/stripe/model/forwarding/Request.java index 2268a0c2b8c..da156f4c7e6 100644 --- a/src/main/java/com/stripe/model/forwarding/Request.java +++ b/src/main/java/com/stripe/model/forwarding/Request.java @@ -59,6 +59,14 @@ public class Request extends ApiResource implements HasId { @SerializedName("livemode") Boolean livemode; + /** + * Set of key-value pairs that you can attach + * to an object. This can be useful for storing additional information about the object in a + * structured format. + */ + @SerializedName("metadata") + Map metadata; + /** * String representing the object's type. Objects of the same type share the same value. * diff --git a/src/main/java/com/stripe/model/issuing/Authorization.java b/src/main/java/com/stripe/model/issuing/Authorization.java index 4dfc1614565..66c89e17d3e 100644 --- a/src/main/java/com/stripe/model/issuing/Authorization.java +++ b/src/main/java/com/stripe/model/issuing/Authorization.java @@ -192,7 +192,7 @@ public class Authorization extends ApiResource /** * The current status of the authorization in its lifecycle. * - *

One of {@code closed}, {@code pending}, or {@code reversed}. + *

One of {@code closed}, {@code expired}, {@code pending}, or {@code reversed}. */ @SerializedName("status") String status; diff --git a/src/main/java/com/stripe/model/issuing/Card.java b/src/main/java/com/stripe/model/issuing/Card.java index f2d347c7c5c..6fe50e1255a 100644 --- a/src/main/java/com/stripe/model/issuing/Card.java +++ b/src/main/java/com/stripe/model/issuing/Card.java @@ -21,6 +21,7 @@ import com.stripe.param.issuing.CardRetrieveParams; import com.stripe.param.issuing.CardReturnCardParams; import com.stripe.param.issuing.CardShipCardParams; +import com.stripe.param.issuing.CardSubmitCardParams; import com.stripe.param.issuing.CardUpdateParams; import java.util.List; import java.util.Map; @@ -929,6 +930,74 @@ public Card shipCard(CardShipCardParams params, RequestOptions options) throws S options); return resource.getResponseGetter().request(request, Card.class); } + + /** + * Updates the shipping status of the specified Issuing {@code Card} object to {@code + * submitted}. This method is only available with Stripe Version ‘2024-09-30.acacia’ or above. + */ + public Card submitCard() throws StripeException { + return submitCard((Map) null, (RequestOptions) null); + } + + /** + * Updates the shipping status of the specified Issuing {@code Card} object to {@code + * submitted}. This method is only available with Stripe Version ‘2024-09-30.acacia’ or above. + */ + public Card submitCard(RequestOptions options) throws StripeException { + return submitCard((Map) null, options); + } + + /** + * Updates the shipping status of the specified Issuing {@code Card} object to {@code + * submitted}. This method is only available with Stripe Version ‘2024-09-30.acacia’ or above. + */ + public Card submitCard(Map params) throws StripeException { + return submitCard(params, (RequestOptions) null); + } + + /** + * Updates the shipping status of the specified Issuing {@code Card} object to {@code + * submitted}. This method is only available with Stripe Version ‘2024-09-30.acacia’ or above. + */ + public Card submitCard(Map params, RequestOptions options) + throws StripeException { + String path = + String.format( + "/v1/test_helpers/issuing/cards/%s/shipping/submit", + ApiResource.urlEncodeId(this.resource.getId())); + ApiRequest request = + new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.POST, path, params, options); + return resource.getResponseGetter().request(request, Card.class); + } + + /** + * Updates the shipping status of the specified Issuing {@code Card} object to {@code + * submitted}. This method is only available with Stripe Version ‘2024-09-30.acacia’ or above. + */ + public Card submitCard(CardSubmitCardParams params) throws StripeException { + return submitCard(params, (RequestOptions) null); + } + + /** + * Updates the shipping status of the specified Issuing {@code Card} object to {@code + * submitted}. This method is only available with Stripe Version ‘2024-09-30.acacia’ or above. + */ + public Card submitCard(CardSubmitCardParams params, RequestOptions options) + throws StripeException { + String path = + String.format( + "/v1/test_helpers/issuing/cards/%s/shipping/submit", + ApiResource.urlEncodeId(this.resource.getId())); + ApiResource.checkNullTypedParams(path, params); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + path, + ApiRequestParams.paramsToMap(params), + options); + return resource.getResponseGetter().request(request, Card.class); + } } @Override diff --git a/src/main/java/com/stripe/model/tax/Calculation.java b/src/main/java/com/stripe/model/tax/Calculation.java index f5b5be7a0ce..5bc25ae36e2 100644 --- a/src/main/java/com/stripe/model/tax/Calculation.java +++ b/src/main/java/com/stripe/model/tax/Calculation.java @@ -320,8 +320,9 @@ public static class TaxId extends StripeObject { * ae_trn}, {@code cl_tin}, {@code sa_vat}, {@code id_npwp}, {@code my_frp}, {@code il_vat}, * {@code ge_vat}, {@code ua_vat}, {@code is_vat}, {@code bg_uic}, {@code hu_tin}, {@code * si_tin}, {@code ke_pin}, {@code tr_tin}, {@code eg_tin}, {@code ph_tin}, {@code bh_vat}, - * {@code kz_bin}, {@code ng_tin}, {@code om_vat}, {@code de_stn}, {@code ch_uid}, or {@code - * unknown}. + * {@code kz_bin}, {@code ng_tin}, {@code om_vat}, {@code de_stn}, {@code ch_uid}, {@code + * tz_vat}, {@code uz_vat}, {@code uz_tin}, {@code md_vat}, {@code ma_vat}, {@code by_tin}, or + * {@code unknown}. */ @SerializedName("type") String type; @@ -524,8 +525,8 @@ public static class TaxRateDetails extends StripeObject { * The tax type, such as {@code vat} or {@code sales_tax}. * *

One of {@code amusement_tax}, {@code communications_tax}, {@code gst}, {@code hst}, - * {@code igst}, {@code jct}, {@code lease_tax}, {@code pst}, {@code qst}, {@code rst}, - * {@code sales_tax}, or {@code vat}. + * {@code igst}, {@code jct}, {@code lease_tax}, {@code pst}, {@code qst}, {@code + * retail_delivery_fee}, {@code rst}, {@code sales_tax}, or {@code vat}. */ @SerializedName("tax_type") String taxType; @@ -582,10 +583,28 @@ public static class TaxRateDetails extends StripeObject { @SerializedName("country") String country; + /** + * The amount of the tax rate when the {@code rate_type} is {@code flat_amount}. Tax rates + * with {@code rate_type} {@code percentage} can vary based on the transaction, resulting in + * this field being {@code null}. This field exposes the amount and currency of the flat tax + * rate. + */ + @SerializedName("flat_amount") + FlatAmount flatAmount; + /** The tax rate percentage as a string. For example, 8.5% is represented as {@code "8.5"}. */ @SerializedName("percentage_decimal") String percentageDecimal; + /** + * Indicates the type of tax rate applied to the taxable amount. This value can be {@code + * null} when no tax applies to the location. + * + *

One of {@code flat_amount}, or {@code percentage}. + */ + @SerializedName("rate_type") + String rateType; + /** State, county, province, or region. */ @SerializedName("state") String state; @@ -594,11 +613,34 @@ public static class TaxRateDetails extends StripeObject { * The tax type, such as {@code vat} or {@code sales_tax}. * *

One of {@code amusement_tax}, {@code communications_tax}, {@code gst}, {@code hst}, - * {@code igst}, {@code jct}, {@code lease_tax}, {@code pst}, {@code qst}, {@code rst}, {@code - * sales_tax}, or {@code vat}. + * {@code igst}, {@code jct}, {@code lease_tax}, {@code pst}, {@code qst}, {@code + * retail_delivery_fee}, {@code rst}, {@code sales_tax}, or {@code vat}. */ @SerializedName("tax_type") String taxType; + + /** + * The amount of the tax rate when the {@code rate_type`` is }flat_amount{@code . Tax rates + * with }rate_type{@code }percentage{@code can vary based on the transaction, resulting in + * this field being}null`. This field exposes the amount and currency of the flat tax rate. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class FlatAmount extends StripeObject { + /** + * Amount of the tax when the {@code rate_type} is {@code flat_amount}. This positive + * integer represents how much to charge in the smallest currency unit (e.g., 100 cents to + * charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The amount value supports + * up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). + */ + @SerializedName("amount") + Long amount; + + /** Three-letter ISO currency code, in lowercase. */ + @SerializedName("currency") + String currency; + } } } diff --git a/src/main/java/com/stripe/model/tax/CalculationLineItem.java b/src/main/java/com/stripe/model/tax/CalculationLineItem.java index 6282ea7e160..c97b81689b8 100644 --- a/src/main/java/com/stripe/model/tax/CalculationLineItem.java +++ b/src/main/java/com/stripe/model/tax/CalculationLineItem.java @@ -186,8 +186,8 @@ public static class TaxRateDetails extends StripeObject { * The tax type, such as {@code vat} or {@code sales_tax}. * *

One of {@code amusement_tax}, {@code communications_tax}, {@code gst}, {@code hst}, - * {@code igst}, {@code jct}, {@code lease_tax}, {@code pst}, {@code qst}, {@code rst}, {@code - * sales_tax}, or {@code vat}. + * {@code igst}, {@code jct}, {@code lease_tax}, {@code pst}, {@code qst}, {@code + * retail_delivery_fee}, {@code rst}, {@code sales_tax}, or {@code vat}. */ @SerializedName("tax_type") String taxType; diff --git a/src/main/java/com/stripe/model/tax/Registration.java b/src/main/java/com/stripe/model/tax/Registration.java index 280d7e594b7..828c60b3988 100644 --- a/src/main/java/com/stripe/model/tax/Registration.java +++ b/src/main/java/com/stripe/model/tax/Registration.java @@ -269,6 +269,9 @@ public static class CountryOptions extends StripeObject { @SerializedName("bh") Bh bh; + @SerializedName("by") + By by; + @SerializedName("ca") Ca ca; @@ -281,6 +284,9 @@ public static class CountryOptions extends StripeObject { @SerializedName("co") Co co; + @SerializedName("cr") + Cr cr; + @SerializedName("cy") Cy cy; @@ -293,6 +299,9 @@ public static class CountryOptions extends StripeObject { @SerializedName("dk") Dk dk; + @SerializedName("ec") + Ec ec; + @SerializedName("ee") Ee ee; @@ -356,6 +365,12 @@ public static class CountryOptions extends StripeObject { @SerializedName("lv") Lv lv; + @SerializedName("ma") + Ma ma; + + @SerializedName("md") + Md md; + @SerializedName("mt") Mt mt; @@ -389,6 +404,12 @@ public static class CountryOptions extends StripeObject { @SerializedName("ro") Ro ro; + @SerializedName("rs") + Rs rs; + + @SerializedName("ru") + Ru ru; + @SerializedName("sa") Sa sa; @@ -410,9 +431,15 @@ public static class CountryOptions extends StripeObject { @SerializedName("tr") Tr tr; + @SerializedName("tz") + Tz tz; + @SerializedName("us") Us us; + @SerializedName("uz") + Uz uz; + @SerializedName("vn") Vn vn; @@ -545,6 +572,19 @@ public static class Bh extends StripeObject { String type; } + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class By extends StripeObject { + /** + * Type of registration in {@code country}. + * + *

Equal to {@code simplified}. + */ + @SerializedName("type") + String type; + } + @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -612,6 +652,19 @@ public static class Co extends StripeObject { String type; } + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Cr extends StripeObject { + /** + * Type of registration in {@code country}. + * + *

Equal to {@code simplified}. + */ + @SerializedName("type") + String type; + } + @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -728,6 +781,19 @@ public static class Standard extends StripeObject { } } + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Ec extends StripeObject { + /** + * Type of registration in {@code country}. + * + *

Equal to {@code simplified}. + */ + @SerializedName("type") + String type; + } + @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1193,6 +1259,32 @@ public static class Standard extends StripeObject { } } + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Ma extends StripeObject { + /** + * Type of registration in {@code country}. + * + *

Equal to {@code simplified}. + */ + @SerializedName("type") + String type; + } + + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Md extends StripeObject { + /** + * Type of registration in {@code country}. + * + *

Equal to {@code simplified}. + */ + @SerializedName("type") + String type; + } + @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1416,6 +1508,32 @@ public static class Standard extends StripeObject { } } + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Rs extends StripeObject { + /** + * Type of registration in {@code country}. + * + *

Equal to {@code standard}. + */ + @SerializedName("type") + String type; + } + + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Ru extends StripeObject { + /** + * Type of registration in {@code country}. + * + *

Equal to {@code simplified}. + */ + @SerializedName("type") + String type; + } + @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1555,6 +1673,19 @@ public static class Tr extends StripeObject { String type; } + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Tz extends StripeObject { + /** + * Type of registration in {@code country}. + * + *

Equal to {@code simplified}. + */ + @SerializedName("type") + String type; + } + @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1579,7 +1710,7 @@ public static class Us extends StripeObject { * Type of registration in the US. * *

One of {@code local_amusement_tax}, {@code local_lease_tax}, {@code - * state_communications_tax}, or {@code state_sales_tax}. + * state_communications_tax}, {@code state_retail_delivery_fee}, or {@code state_sales_tax}. */ @SerializedName("type") String type; @@ -1639,6 +1770,19 @@ public static class Election extends StripeObject { } } + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Uz extends StripeObject { + /** + * Type of registration in {@code country}. + * + *

Equal to {@code simplified}. + */ + @SerializedName("type") + String type; + } + @Getter @Setter @EqualsAndHashCode(callSuper = false) diff --git a/src/main/java/com/stripe/model/tax/Transaction.java b/src/main/java/com/stripe/model/tax/Transaction.java index b2da288292a..0c76f16c409 100644 --- a/src/main/java/com/stripe/model/tax/Transaction.java +++ b/src/main/java/com/stripe/model/tax/Transaction.java @@ -365,8 +365,9 @@ public static class TaxId extends StripeObject { * ae_trn}, {@code cl_tin}, {@code sa_vat}, {@code id_npwp}, {@code my_frp}, {@code il_vat}, * {@code ge_vat}, {@code ua_vat}, {@code is_vat}, {@code bg_uic}, {@code hu_tin}, {@code * si_tin}, {@code ke_pin}, {@code tr_tin}, {@code eg_tin}, {@code ph_tin}, {@code bh_vat}, - * {@code kz_bin}, {@code ng_tin}, {@code om_vat}, {@code de_stn}, {@code ch_uid}, or {@code - * unknown}. + * {@code kz_bin}, {@code ng_tin}, {@code om_vat}, {@code de_stn}, {@code ch_uid}, {@code + * tz_vat}, {@code uz_vat}, {@code uz_tin}, {@code md_vat}, {@code ma_vat}, {@code by_tin}, or + * {@code unknown}. */ @SerializedName("type") String type; @@ -581,8 +582,8 @@ public static class TaxRateDetails extends StripeObject { * The tax type, such as {@code vat} or {@code sales_tax}. * *

One of {@code amusement_tax}, {@code communications_tax}, {@code gst}, {@code hst}, - * {@code igst}, {@code jct}, {@code lease_tax}, {@code pst}, {@code qst}, {@code rst}, - * {@code sales_tax}, or {@code vat}. + * {@code igst}, {@code jct}, {@code lease_tax}, {@code pst}, {@code qst}, {@code + * retail_delivery_fee}, {@code rst}, {@code sales_tax}, or {@code vat}. */ @SerializedName("tax_type") String taxType; diff --git a/src/main/java/com/stripe/model/treasury/FinancialAccount.java b/src/main/java/com/stripe/model/treasury/FinancialAccount.java index 54cff69becd..7604a20393a 100644 --- a/src/main/java/com/stripe/model/treasury/FinancialAccount.java +++ b/src/main/java/com/stripe/model/treasury/FinancialAccount.java @@ -115,7 +115,7 @@ public class FinancialAccount extends ApiResource List restrictedFeatures; /** - * The enum specifying what state the account is in. + * Status of this FinancialAccount. * *

One of {@code closed}, or {@code open}. */ diff --git a/src/main/java/com/stripe/param/AccountCreateParams.java b/src/main/java/com/stripe/param/AccountCreateParams.java index db58ceccc56..1b7a8e1375d 100644 --- a/src/main/java/com/stripe/param/AccountCreateParams.java +++ b/src/main/java/com/stripe/param/AccountCreateParams.java @@ -131,6 +131,13 @@ public class AccountCreateParams extends ApiRequestParams { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** + * A hash of account group type to tokens. These are account groups this account should be added + * to + */ + @SerializedName("groups") + Groups groups; + /** * Information about the person represented by the account. This field is null unless {@code * business_type} is set to {@code individual}. Once you create an expand, String externalAccount, Map extraParams, + Groups groups, Individual individual, Object metadata, RiskControls riskControls, @@ -215,6 +223,7 @@ private AccountCreateParams( this.expand = expand; this.externalAccount = externalAccount; this.extraParams = extraParams; + this.groups = groups; this.individual = individual; this.metadata = metadata; this.riskControls = riskControls; @@ -254,6 +263,8 @@ public static class Builder { private Map extraParams; + private Groups groups; + private Individual individual; private Object metadata; @@ -282,6 +293,7 @@ public AccountCreateParams build() { this.expand, this.externalAccount, this.extraParams, + this.groups, this.individual, this.metadata, this.riskControls, @@ -470,6 +482,15 @@ public Builder putAllExtraParam(Map map) { return this; } + /** + * A hash of account group type to tokens. These are account groups this account should be added + * to + */ + public Builder setGroups(AccountCreateParams.Groups groups) { + this.groups = groups; + return this; + } + /** * Information about the person represented by the account. This field is null unless {@code * business_type} is set to {@code individual}. Once you create an elements) { } } + @Getter + public static class Groups { + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * The group the account is in to determine their payments pricing, and null if the account is + * on customized pricing. See + * the Platform pricing tool documentation for details. + */ + @SerializedName("payments_pricing") + Object paymentsPricing; + + private Groups(Map extraParams, Object paymentsPricing) { + this.extraParams = extraParams; + this.paymentsPricing = paymentsPricing; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Object paymentsPricing; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Groups build() { + return new AccountCreateParams.Groups(this.extraParams, this.paymentsPricing); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * AccountCreateParams.Groups#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link AccountCreateParams.Groups#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * The group the account is in to determine their payments pricing, and null if the account is + * on customized pricing. See + * the Platform pricing tool documentation for details. + */ + public Builder setPaymentsPricing(String paymentsPricing) { + this.paymentsPricing = paymentsPricing; + return this; + } + + /** + * The group the account is in to determine their payments pricing, and null if the account is + * on customized pricing. See + * the Platform pricing tool documentation for details. + */ + public Builder setPaymentsPricing(EmptyParam paymentsPricing) { + this.paymentsPricing = paymentsPricing; + return this; + } + } + } + @Getter public static class Individual { /** The individual's primary address. */ @@ -8948,10 +9055,7 @@ public static class Individual { @SerializedName("full_name_aliases") Object fullNameAliases; - /** - * The individual's gender (International regulations require either "male" or - * "female"). - */ + /** The individual's gender. */ @SerializedName("gender") String gender; @@ -9281,10 +9385,7 @@ public Builder setFullNameAliases(List fullNameAliases) { return this; } - /** - * The individual's gender (International regulations require either "male" or - * "female"). - */ + /** The individual's gender. */ public Builder setGender(String gender) { this.gender = gender; return this; diff --git a/src/main/java/com/stripe/param/AccountSessionCreateParams.java b/src/main/java/com/stripe/param/AccountSessionCreateParams.java index ba717f005e8..3c385ee9da6 100644 --- a/src/main/java/com/stripe/param/AccountSessionCreateParams.java +++ b/src/main/java/com/stripe/param/AccountSessionCreateParams.java @@ -651,11 +651,21 @@ public Builder setFeatures( @Getter public static class Features { + /** + * Disables Stripe user authentication for this embedded component. This feature can only be + * false for accounts where you’re responsible for collecting updated information when + * requirements are due or change, like custom accounts. The default value for this feature + * is {@code false} when {@code external_account_collection} is enabled and true otherwise. + */ + @SerializedName("disable_stripe_user_authentication") + Boolean disableStripeUserAuthentication; + /** * Whether to allow platforms to control bank account collection for their connected - * accounts. This feature can only be false for custom accounts (or accounts where the - * platform is compliance owner). Otherwise, bank account collection is determined by - * compliance requirements. + * accounts. This feature can only be false for accounts where you’re responsible for + * collecting updated information when requirements are due or change, like custom accounts. + * Otherwise, bank account collection is determined by compliance requirements. The default + * value for this feature is {@code true}. */ @SerializedName("external_account_collection") Boolean externalAccountCollection; @@ -670,7 +680,11 @@ public static class Features { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private Features(Boolean externalAccountCollection, Map extraParams) { + private Features( + Boolean disableStripeUserAuthentication, + Boolean externalAccountCollection, + Map extraParams) { + this.disableStripeUserAuthentication = disableStripeUserAuthentication; this.externalAccountCollection = externalAccountCollection; this.extraParams = extraParams; } @@ -680,6 +694,8 @@ public static Builder builder() { } public static class Builder { + private Boolean disableStripeUserAuthentication; + private Boolean externalAccountCollection; private Map extraParams; @@ -687,14 +703,30 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountSessionCreateParams.Components.AccountManagement.Features build() { return new AccountSessionCreateParams.Components.AccountManagement.Features( - this.externalAccountCollection, this.extraParams); + this.disableStripeUserAuthentication, + this.externalAccountCollection, + this.extraParams); + } + + /** + * Disables Stripe user authentication for this embedded component. This feature can only + * be false for accounts where you’re responsible for collecting updated information when + * requirements are due or change, like custom accounts. The default value for this + * feature is {@code false} when {@code external_account_collection} is enabled and true + * otherwise. + */ + public Builder setDisableStripeUserAuthentication( + Boolean disableStripeUserAuthentication) { + this.disableStripeUserAuthentication = disableStripeUserAuthentication; + return this; } /** * Whether to allow platforms to control bank account collection for their connected - * accounts. This feature can only be false for custom accounts (or accounts where the - * platform is compliance owner). Otherwise, bank account collection is determined by - * compliance requirements. + * accounts. This feature can only be false for accounts where you’re responsible for + * collecting updated information when requirements are due or change, like custom + * accounts. Otherwise, bank account collection is determined by compliance requirements. + * The default value for this feature is {@code true}. */ public Builder setExternalAccountCollection(Boolean externalAccountCollection) { this.externalAccountCollection = externalAccountCollection; @@ -821,11 +853,21 @@ public Builder setFeatures( @Getter public static class Features { + /** + * Disables Stripe user authentication for this embedded component. This feature can only be + * false for accounts where you’re responsible for collecting updated information when + * requirements are due or change, like custom accounts. The default value for this feature + * is {@code false} when {@code external_account_collection} is enabled and true otherwise. + */ + @SerializedName("disable_stripe_user_authentication") + Boolean disableStripeUserAuthentication; + /** * Whether to allow platforms to control bank account collection for their connected - * accounts. This feature can only be false for custom accounts (or accounts where the - * platform is compliance owner). Otherwise, bank account collection is determined by - * compliance requirements. + * accounts. This feature can only be false for accounts where you’re responsible for + * collecting updated information when requirements are due or change, like custom accounts. + * Otherwise, bank account collection is determined by compliance requirements. The default + * value for this feature is {@code true}. */ @SerializedName("external_account_collection") Boolean externalAccountCollection; @@ -840,7 +882,11 @@ public static class Features { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private Features(Boolean externalAccountCollection, Map extraParams) { + private Features( + Boolean disableStripeUserAuthentication, + Boolean externalAccountCollection, + Map extraParams) { + this.disableStripeUserAuthentication = disableStripeUserAuthentication; this.externalAccountCollection = externalAccountCollection; this.extraParams = extraParams; } @@ -850,6 +896,8 @@ public static Builder builder() { } public static class Builder { + private Boolean disableStripeUserAuthentication; + private Boolean externalAccountCollection; private Map extraParams; @@ -857,14 +905,30 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountSessionCreateParams.Components.AccountOnboarding.Features build() { return new AccountSessionCreateParams.Components.AccountOnboarding.Features( - this.externalAccountCollection, this.extraParams); + this.disableStripeUserAuthentication, + this.externalAccountCollection, + this.extraParams); + } + + /** + * Disables Stripe user authentication for this embedded component. This feature can only + * be false for accounts where you’re responsible for collecting updated information when + * requirements are due or change, like custom accounts. The default value for this + * feature is {@code false} when {@code external_account_collection} is enabled and true + * otherwise. + */ + public Builder setDisableStripeUserAuthentication( + Boolean disableStripeUserAuthentication) { + this.disableStripeUserAuthentication = disableStripeUserAuthentication; + return this; } /** * Whether to allow platforms to control bank account collection for their connected - * accounts. This feature can only be false for custom accounts (or accounts where the - * platform is compliance owner). Otherwise, bank account collection is determined by - * compliance requirements. + * accounts. This feature can only be false for accounts where you’re responsible for + * collecting updated information when requirements are due or change, like custom + * accounts. Otherwise, bank account collection is determined by compliance requirements. + * The default value for this feature is {@code true}. */ public Builder setExternalAccountCollection(Boolean externalAccountCollection) { this.externalAccountCollection = externalAccountCollection; @@ -1376,6 +1440,16 @@ public Builder setFeatures( @Getter public static class Features { + /** + * Disables Stripe user authentication for this embedded component. This feature can only be + * false for accounts where you’re responsible for collecting updated information when + * requirements are due or change, like custom accounts. The default value for this feature + * is {@code false} when {@code external_account_collection} is enabled and {@code true} + * otherwise. + */ + @SerializedName("disable_stripe_user_authentication") + Boolean disableStripeUserAuthentication; + /** * Whether to allow payout schedule to be changed. Default {@code true} when Stripe owns * Loss Liability, default {@code false} otherwise. @@ -1385,9 +1459,10 @@ public static class Features { /** * Whether to allow platforms to control bank account collection for their connected - * accounts. This feature can only be false for custom accounts (or accounts where the - * platform is compliance owner). Otherwise, bank account collection is determined by - * compliance requirements. + * accounts. This feature can only be false for accounts where you’re responsible for + * collecting updated information when requirements are due or change, like custom accounts. + * Otherwise, bank account collection is determined by compliance requirements. The default + * value for this feature is {@code true}. */ @SerializedName("external_account_collection") Boolean externalAccountCollection; @@ -1417,11 +1492,13 @@ public static class Features { Boolean standardPayouts; private Features( + Boolean disableStripeUserAuthentication, Boolean editPayoutSchedule, Boolean externalAccountCollection, Map extraParams, Boolean instantPayouts, Boolean standardPayouts) { + this.disableStripeUserAuthentication = disableStripeUserAuthentication; this.editPayoutSchedule = editPayoutSchedule; this.externalAccountCollection = externalAccountCollection; this.extraParams = extraParams; @@ -1434,6 +1511,8 @@ public static Builder builder() { } public static class Builder { + private Boolean disableStripeUserAuthentication; + private Boolean editPayoutSchedule; private Boolean externalAccountCollection; @@ -1447,6 +1526,7 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountSessionCreateParams.Components.Balances.Features build() { return new AccountSessionCreateParams.Components.Balances.Features( + this.disableStripeUserAuthentication, this.editPayoutSchedule, this.externalAccountCollection, this.extraParams, @@ -1454,6 +1534,19 @@ public AccountSessionCreateParams.Components.Balances.Features build() { this.standardPayouts); } + /** + * Disables Stripe user authentication for this embedded component. This feature can only + * be false for accounts where you’re responsible for collecting updated information when + * requirements are due or change, like custom accounts. The default value for this + * feature is {@code false} when {@code external_account_collection} is enabled and {@code + * true} otherwise. + */ + public Builder setDisableStripeUserAuthentication( + Boolean disableStripeUserAuthentication) { + this.disableStripeUserAuthentication = disableStripeUserAuthentication; + return this; + } + /** * Whether to allow payout schedule to be changed. Default {@code true} when Stripe owns * Loss Liability, default {@code false} otherwise. @@ -1465,9 +1558,10 @@ public Builder setEditPayoutSchedule(Boolean editPayoutSchedule) { /** * Whether to allow platforms to control bank account collection for their connected - * accounts. This feature can only be false for custom accounts (or accounts where the - * platform is compliance owner). Otherwise, bank account collection is determined by - * compliance requirements. + * accounts. This feature can only be false for accounts where you’re responsible for + * collecting updated information when requirements are due or change, like custom + * accounts. Otherwise, bank account collection is determined by compliance requirements. + * The default value for this feature is {@code true}. */ public Builder setExternalAccountCollection(Boolean externalAccountCollection) { this.externalAccountCollection = externalAccountCollection; @@ -2343,6 +2437,16 @@ public Builder setFeatures( @Getter public static class Features { + /** + * Disables Stripe user authentication for this embedded component. This feature can only be + * false for accounts where you’re responsible for collecting updated information when + * requirements are due or change, like custom accounts. The default value for this feature + * is {@code false} when {@code external_account_collection} is enabled and {@code true} + * otherwise. + */ + @SerializedName("disable_stripe_user_authentication") + Boolean disableStripeUserAuthentication; + /** Whether to allow external accounts to be linked for money transfer. */ @SerializedName("external_account_collection") Boolean externalAccountCollection; @@ -2370,11 +2474,13 @@ public static class Features { Boolean transferBalance; private Features( + Boolean disableStripeUserAuthentication, Boolean externalAccountCollection, Map extraParams, Boolean moneyMovement, Boolean sendMoney, Boolean transferBalance) { + this.disableStripeUserAuthentication = disableStripeUserAuthentication; this.externalAccountCollection = externalAccountCollection; this.extraParams = extraParams; this.moneyMovement = moneyMovement; @@ -2387,6 +2493,8 @@ public static Builder builder() { } public static class Builder { + private Boolean disableStripeUserAuthentication; + private Boolean externalAccountCollection; private Map extraParams; @@ -2400,6 +2508,7 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountSessionCreateParams.Components.FinancialAccount.Features build() { return new AccountSessionCreateParams.Components.FinancialAccount.Features( + this.disableStripeUserAuthentication, this.externalAccountCollection, this.extraParams, this.moneyMovement, @@ -2407,6 +2516,19 @@ public AccountSessionCreateParams.Components.FinancialAccount.Features build() { this.transferBalance); } + /** + * Disables Stripe user authentication for this embedded component. This feature can only + * be false for accounts where you’re responsible for collecting updated information when + * requirements are due or change, like custom accounts. The default value for this + * feature is {@code false} when {@code external_account_collection} is enabled and {@code + * true} otherwise. + */ + public Builder setDisableStripeUserAuthentication( + Boolean disableStripeUserAuthentication) { + this.disableStripeUserAuthentication = disableStripeUserAuthentication; + return this; + } + /** Whether to allow external accounts to be linked for money transfer. */ public Builder setExternalAccountCollection(Boolean externalAccountCollection) { this.externalAccountCollection = externalAccountCollection; @@ -2551,7 +2673,7 @@ public Builder setFeatures( @Getter public static class Features { - /** Whether to allow card spend dispute features. */ + /** Whether to allow card spend dispute management features. */ @SerializedName("card_spend_dispute_management") Boolean cardSpendDisputeManagement; @@ -2586,7 +2708,7 @@ public static class Builder { this.cardSpendDisputeManagement, this.extraParams); } - /** Whether to allow card spend dispute features. */ + /** Whether to allow card spend dispute management features. */ public Builder setCardSpendDisputeManagement(Boolean cardSpendDisputeManagement) { this.cardSpendDisputeManagement = cardSpendDisputeManagement; return this; @@ -2859,6 +2981,10 @@ public static class Features { @SerializedName("card_management") Boolean cardManagement; + /** Whether to allow card spend dispute management features. */ + @SerializedName("card_spend_dispute_management") + Boolean cardSpendDisputeManagement; + /** Whether to allow cardholder management features. */ @SerializedName("cardholder_management") Boolean cardholderManagement; @@ -2873,11 +2999,21 @@ public static class Features { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** Whether to allow spend control management features. */ + @SerializedName("spend_control_management") + Boolean spendControlManagement; + private Features( - Boolean cardManagement, Boolean cardholderManagement, Map extraParams) { + Boolean cardManagement, + Boolean cardSpendDisputeManagement, + Boolean cardholderManagement, + Map extraParams, + Boolean spendControlManagement) { this.cardManagement = cardManagement; + this.cardSpendDisputeManagement = cardSpendDisputeManagement; this.cardholderManagement = cardholderManagement; this.extraParams = extraParams; + this.spendControlManagement = spendControlManagement; } public static Builder builder() { @@ -2887,14 +3023,22 @@ public static Builder builder() { public static class Builder { private Boolean cardManagement; + private Boolean cardSpendDisputeManagement; + private Boolean cardholderManagement; private Map extraParams; + private Boolean spendControlManagement; + /** Finalize and obtain parameter instance from this builder. */ public AccountSessionCreateParams.Components.IssuingCardsList.Features build() { return new AccountSessionCreateParams.Components.IssuingCardsList.Features( - this.cardManagement, this.cardholderManagement, this.extraParams); + this.cardManagement, + this.cardSpendDisputeManagement, + this.cardholderManagement, + this.extraParams, + this.spendControlManagement); } /** Whether to allow card management features. */ @@ -2903,6 +3047,12 @@ public Builder setCardManagement(Boolean cardManagement) { return this; } + /** Whether to allow card spend dispute management features. */ + public Builder setCardSpendDisputeManagement(Boolean cardSpendDisputeManagement) { + this.cardSpendDisputeManagement = cardSpendDisputeManagement; + return this; + } + /** Whether to allow cardholder management features. */ public Builder setCardholderManagement(Boolean cardholderManagement) { this.cardholderManagement = cardholderManagement; @@ -2938,6 +3088,12 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } + + /** Whether to allow spend control management features. */ + public Builder setSpendControlManagement(Boolean spendControlManagement) { + this.spendControlManagement = spendControlManagement; + return this; + } } } } @@ -3029,11 +3185,21 @@ public Builder setFeatures( @Getter public static class Features { + /** + * Disables Stripe user authentication for this embedded component. This feature can only be + * false for accounts where you’re responsible for collecting updated information when + * requirements are due or change, like custom accounts. The default value for this feature + * is {@code false} when {@code external_account_collection} is enabled and true otherwise. + */ + @SerializedName("disable_stripe_user_authentication") + Boolean disableStripeUserAuthentication; + /** * Whether to allow platforms to control bank account collection for their connected - * accounts. This feature can only be false for custom accounts (or accounts where the - * platform is compliance owner). Otherwise, bank account collection is determined by - * compliance requirements. + * accounts. This feature can only be false for accounts where you’re responsible for + * collecting updated information when requirements are due or change, like custom accounts. + * Otherwise, bank account collection is determined by compliance requirements. The default + * value for this feature is {@code true}. */ @SerializedName("external_account_collection") Boolean externalAccountCollection; @@ -3048,7 +3214,11 @@ public static class Features { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private Features(Boolean externalAccountCollection, Map extraParams) { + private Features( + Boolean disableStripeUserAuthentication, + Boolean externalAccountCollection, + Map extraParams) { + this.disableStripeUserAuthentication = disableStripeUserAuthentication; this.externalAccountCollection = externalAccountCollection; this.extraParams = extraParams; } @@ -3058,6 +3228,8 @@ public static Builder builder() { } public static class Builder { + private Boolean disableStripeUserAuthentication; + private Boolean externalAccountCollection; private Map extraParams; @@ -3065,14 +3237,30 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountSessionCreateParams.Components.NotificationBanner.Features build() { return new AccountSessionCreateParams.Components.NotificationBanner.Features( - this.externalAccountCollection, this.extraParams); + this.disableStripeUserAuthentication, + this.externalAccountCollection, + this.extraParams); + } + + /** + * Disables Stripe user authentication for this embedded component. This feature can only + * be false for accounts where you’re responsible for collecting updated information when + * requirements are due or change, like custom accounts. The default value for this + * feature is {@code false} when {@code external_account_collection} is enabled and true + * otherwise. + */ + public Builder setDisableStripeUserAuthentication( + Boolean disableStripeUserAuthentication) { + this.disableStripeUserAuthentication = disableStripeUserAuthentication; + return this; } /** * Whether to allow platforms to control bank account collection for their connected - * accounts. This feature can only be false for custom accounts (or accounts where the - * platform is compliance owner). Otherwise, bank account collection is determined by - * compliance requirements. + * accounts. This feature can only be false for accounts where you’re responsible for + * collecting updated information when requirements are due or change, like custom + * accounts. Otherwise, bank account collection is determined by compliance requirements. + * The default value for this feature is {@code true}. */ public Builder setExternalAccountCollection(Boolean externalAccountCollection) { this.externalAccountCollection = externalAccountCollection; @@ -3795,6 +3983,16 @@ public Builder setFeatures( @Getter public static class Features { + /** + * Disables Stripe user authentication for this embedded component. This feature can only be + * false for accounts where you’re responsible for collecting updated information when + * requirements are due or change, like custom accounts. The default value for this feature + * is {@code false} when {@code external_account_collection} is enabled and {@code true} + * otherwise. + */ + @SerializedName("disable_stripe_user_authentication") + Boolean disableStripeUserAuthentication; + /** * Whether to allow payout schedule to be changed. Default {@code true} when Stripe owns * Loss Liability, default {@code false} otherwise. @@ -3804,9 +4002,10 @@ public static class Features { /** * Whether to allow platforms to control bank account collection for their connected - * accounts. This feature can only be false for custom accounts (or accounts where the - * platform is compliance owner). Otherwise, bank account collection is determined by - * compliance requirements. + * accounts. This feature can only be false for accounts where you’re responsible for + * collecting updated information when requirements are due or change, like custom accounts. + * Otherwise, bank account collection is determined by compliance requirements. The default + * value for this feature is {@code true}. */ @SerializedName("external_account_collection") Boolean externalAccountCollection; @@ -3836,11 +4035,13 @@ public static class Features { Boolean standardPayouts; private Features( + Boolean disableStripeUserAuthentication, Boolean editPayoutSchedule, Boolean externalAccountCollection, Map extraParams, Boolean instantPayouts, Boolean standardPayouts) { + this.disableStripeUserAuthentication = disableStripeUserAuthentication; this.editPayoutSchedule = editPayoutSchedule; this.externalAccountCollection = externalAccountCollection; this.extraParams = extraParams; @@ -3853,6 +4054,8 @@ public static Builder builder() { } public static class Builder { + private Boolean disableStripeUserAuthentication; + private Boolean editPayoutSchedule; private Boolean externalAccountCollection; @@ -3866,6 +4069,7 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountSessionCreateParams.Components.Payouts.Features build() { return new AccountSessionCreateParams.Components.Payouts.Features( + this.disableStripeUserAuthentication, this.editPayoutSchedule, this.externalAccountCollection, this.extraParams, @@ -3873,6 +4077,19 @@ public AccountSessionCreateParams.Components.Payouts.Features build() { this.standardPayouts); } + /** + * Disables Stripe user authentication for this embedded component. This feature can only + * be false for accounts where you’re responsible for collecting updated information when + * requirements are due or change, like custom accounts. The default value for this + * feature is {@code false} when {@code external_account_collection} is enabled and {@code + * true} otherwise. + */ + public Builder setDisableStripeUserAuthentication( + Boolean disableStripeUserAuthentication) { + this.disableStripeUserAuthentication = disableStripeUserAuthentication; + return this; + } + /** * Whether to allow payout schedule to be changed. Default {@code true} when Stripe owns * Loss Liability, default {@code false} otherwise. @@ -3884,9 +4101,10 @@ public Builder setEditPayoutSchedule(Boolean editPayoutSchedule) { /** * Whether to allow platforms to control bank account collection for their connected - * accounts. This feature can only be false for custom accounts (or accounts where the - * platform is compliance owner). Otherwise, bank account collection is determined by - * compliance requirements. + * accounts. This feature can only be false for accounts where you’re responsible for + * collecting updated information when requirements are due or change, like custom + * accounts. Otherwise, bank account collection is determined by compliance requirements. + * The default value for this feature is {@code true}. */ public Builder setExternalAccountCollection(Boolean externalAccountCollection) { this.externalAccountCollection = externalAccountCollection; diff --git a/src/main/java/com/stripe/param/AccountUpdateParams.java b/src/main/java/com/stripe/param/AccountUpdateParams.java index 85e17305b45..9b1d99923ad 100644 --- a/src/main/java/com/stripe/param/AccountUpdateParams.java +++ b/src/main/java/com/stripe/param/AccountUpdateParams.java @@ -115,6 +115,13 @@ public class AccountUpdateParams extends ApiRequestParams { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** + * A hash of account group type to tokens. These are account groups this account should be added + * to + */ + @SerializedName("groups") + Groups groups; + /** * Information about the person represented by the account. This field is null unless {@code * business_type} is set to {@code individual}. Once you create an expand, Object externalAccount, Map extraParams, + Groups groups, Individual individual, Object metadata, RiskControls riskControls, @@ -187,6 +195,7 @@ private AccountUpdateParams( this.expand = expand; this.externalAccount = externalAccount; this.extraParams = extraParams; + this.groups = groups; this.individual = individual; this.metadata = metadata; this.riskControls = riskControls; @@ -221,6 +230,8 @@ public static class Builder { private Map extraParams; + private Groups groups; + private Individual individual; private Object metadata; @@ -245,6 +256,7 @@ public AccountUpdateParams build() { this.expand, this.externalAccount, this.extraParams, + this.groups, this.individual, this.metadata, this.riskControls, @@ -466,6 +478,15 @@ public Builder putAllExtraParam(Map map) { return this; } + /** + * A hash of account group type to tokens. These are account groups this account should be added + * to + */ + public Builder setGroups(AccountUpdateParams.Groups groups) { + this.groups = groups; + return this; + } + /** * Information about the person represented by the account. This field is null unless {@code * business_type} is set to {@code individual}. Once you create an elements) { } } + @Getter + public static class Groups { + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * The group the account is in to determine their payments pricing, and null if the account is + * on customized pricing. See + * the Platform pricing tool documentation for details. + */ + @SerializedName("payments_pricing") + Object paymentsPricing; + + private Groups(Map extraParams, Object paymentsPricing) { + this.extraParams = extraParams; + this.paymentsPricing = paymentsPricing; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Object paymentsPricing; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Groups build() { + return new AccountUpdateParams.Groups(this.extraParams, this.paymentsPricing); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * AccountUpdateParams.Groups#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link AccountUpdateParams.Groups#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * The group the account is in to determine their payments pricing, and null if the account is + * on customized pricing. See + * the Platform pricing tool documentation for details. + */ + public Builder setPaymentsPricing(String paymentsPricing) { + this.paymentsPricing = paymentsPricing; + return this; + } + + /** + * The group the account is in to determine their payments pricing, and null if the account is + * on customized pricing. See + * the Platform pricing tool documentation for details. + */ + public Builder setPaymentsPricing(EmptyParam paymentsPricing) { + this.paymentsPricing = paymentsPricing; + return this; + } + } + } + @Getter public static class Individual { /** The individual's primary address. */ @@ -8622,10 +8729,7 @@ public static class Individual { @SerializedName("full_name_aliases") Object fullNameAliases; - /** - * The individual's gender (International regulations require either "male" or - * "female"). - */ + /** The individual's gender. */ @SerializedName("gender") Object gender; @@ -8979,19 +9083,13 @@ public Builder setFullNameAliases(List fullNameAliases) { return this; } - /** - * The individual's gender (International regulations require either "male" or - * "female"). - */ + /** The individual's gender. */ public Builder setGender(String gender) { this.gender = gender; return this; } - /** - * The individual's gender (International regulations require either "male" or - * "female"). - */ + /** The individual's gender. */ public Builder setGender(EmptyParam gender) { this.gender = gender; return this; diff --git a/src/main/java/com/stripe/param/ConfirmationTokenCreateParams.java b/src/main/java/com/stripe/param/ConfirmationTokenCreateParams.java index 2cec426b6b8..d0c141d0a7c 100644 --- a/src/main/java/com/stripe/param/ConfirmationTokenCreateParams.java +++ b/src/main/java/com/stripe/param/ConfirmationTokenCreateParams.java @@ -346,6 +346,13 @@ public static class PaymentMethodData { @SerializedName("interac_present") InteracPresent interacPresent; + /** + * If this is a {@code kakao_pay} PaymentMethod, this hash contains details about the Kakao Pay + * payment method. + */ + @SerializedName("kakao_pay") + KakaoPay kakaoPay; + /** * If this is a {@code klarna} PaymentMethod, this hash contains details about the Klarna * payment method. @@ -360,6 +367,13 @@ public static class PaymentMethodData { @SerializedName("konbini") Konbini konbini; + /** + * If this is a {@code kr_card} PaymentMethod, this hash contains details about the Korean Card + * payment method. + */ + @SerializedName("kr_card") + KrCard krCard; + /** * If this is an {@code Link} PaymentMethod, this hash contains details about the Link payment * method. @@ -397,6 +411,13 @@ public static class PaymentMethodData { @SerializedName("multibanco") Multibanco multibanco; + /** + * If this is a {@code naver_pay} PaymentMethod, this hash contains details about the Naver Pay + * payment method. + */ + @SerializedName("naver_pay") + NaverPay naverPay; + /** * If this is an {@code oxxo} PaymentMethod, this hash contains details about the OXXO payment * method. @@ -411,6 +432,13 @@ public static class PaymentMethodData { @SerializedName("p24") P24 p24; + /** + * If this is a {@code payco} PaymentMethod, this hash contains details about the PAYCO payment + * method. + */ + @SerializedName("payco") + Payco payco; + /** * If this is a {@code paynow} PaymentMethod, this hash contains details about the PayNow * payment method. @@ -467,6 +495,13 @@ public static class PaymentMethodData { @SerializedName("revolut_pay") RevolutPay revolutPay; + /** + * If this is a {@code samsung_pay} PaymentMethod, this hash contains details about the + * SamsungPay payment method. + */ + @SerializedName("samsung_pay") + SamsungPay samsungPay; + /** * If this is a {@code sepa_debit} PaymentMethod, this hash contains details about the SEPA * debit bank account. @@ -545,15 +580,19 @@ private PaymentMethodData( Grabpay grabpay, Ideal ideal, InteracPresent interacPresent, + KakaoPay kakaoPay, Klarna klarna, Konbini konbini, + KrCard krCard, Link link, MbWay mbWay, Map metadata, Mobilepay mobilepay, Multibanco multibanco, + NaverPay naverPay, Oxxo oxxo, P24 p24, + Payco payco, Paynow paynow, Paypal paypal, Payto payto, @@ -562,6 +601,7 @@ private PaymentMethodData( RadarOptions radarOptions, Rechnung rechnung, RevolutPay revolutPay, + SamsungPay samsungPay, SepaDebit sepaDebit, Sofort sofort, Swish swish, @@ -591,15 +631,19 @@ private PaymentMethodData( this.grabpay = grabpay; this.ideal = ideal; this.interacPresent = interacPresent; + this.kakaoPay = kakaoPay; this.klarna = klarna; this.konbini = konbini; + this.krCard = krCard; this.link = link; this.mbWay = mbWay; this.metadata = metadata; this.mobilepay = mobilepay; this.multibanco = multibanco; + this.naverPay = naverPay; this.oxxo = oxxo; this.p24 = p24; + this.payco = payco; this.paynow = paynow; this.paypal = paypal; this.payto = payto; @@ -608,6 +652,7 @@ private PaymentMethodData( this.radarOptions = radarOptions; this.rechnung = rechnung; this.revolutPay = revolutPay; + this.samsungPay = samsungPay; this.sepaDebit = sepaDebit; this.sofort = sofort; this.swish = swish; @@ -665,10 +710,14 @@ public static class Builder { private InteracPresent interacPresent; + private KakaoPay kakaoPay; + private Klarna klarna; private Konbini konbini; + private KrCard krCard; + private Link link; private MbWay mbWay; @@ -679,10 +728,14 @@ public static class Builder { private Multibanco multibanco; + private NaverPay naverPay; + private Oxxo oxxo; private P24 p24; + private Payco payco; + private Paynow paynow; private Paypal paypal; @@ -699,6 +752,8 @@ public static class Builder { private RevolutPay revolutPay; + private SamsungPay samsungPay; + private SepaDebit sepaDebit; private Sofort sofort; @@ -739,15 +794,19 @@ public ConfirmationTokenCreateParams.PaymentMethodData build() { this.grabpay, this.ideal, this.interacPresent, + this.kakaoPay, this.klarna, this.konbini, + this.krCard, this.link, this.mbWay, this.metadata, this.mobilepay, this.multibanco, + this.naverPay, this.oxxo, this.p24, + this.payco, this.paynow, this.paypal, this.payto, @@ -756,6 +815,7 @@ public ConfirmationTokenCreateParams.PaymentMethodData build() { this.radarOptions, this.rechnung, this.revolutPay, + this.samsungPay, this.sepaDebit, this.sofort, this.swish, @@ -985,6 +1045,16 @@ public Builder setInteracPresent( return this; } + /** + * If this is a {@code kakao_pay} PaymentMethod, this hash contains details about the Kakao + * Pay payment method. + */ + public Builder setKakaoPay( + ConfirmationTokenCreateParams.PaymentMethodData.KakaoPay kakaoPay) { + this.kakaoPay = kakaoPay; + return this; + } + /** * If this is a {@code klarna} PaymentMethod, this hash contains details about the Klarna * payment method. @@ -1003,6 +1073,15 @@ public Builder setKonbini(ConfirmationTokenCreateParams.PaymentMethodData.Konbin return this; } + /** + * If this is a {@code kr_card} PaymentMethod, this hash contains details about the Korean + * Card payment method. + */ + public Builder setKrCard(ConfirmationTokenCreateParams.PaymentMethodData.KrCard krCard) { + this.krCard = krCard; + return this; + } + /** * If this is an {@code Link} PaymentMethod, this hash contains details about the Link payment * method. @@ -1068,6 +1147,16 @@ public Builder setMultibanco( return this; } + /** + * If this is a {@code naver_pay} PaymentMethod, this hash contains details about the Naver + * Pay payment method. + */ + public Builder setNaverPay( + ConfirmationTokenCreateParams.PaymentMethodData.NaverPay naverPay) { + this.naverPay = naverPay; + return this; + } + /** * If this is an {@code oxxo} PaymentMethod, this hash contains details about the OXXO payment * method. @@ -1086,6 +1175,15 @@ public Builder setP24(ConfirmationTokenCreateParams.PaymentMethodData.P24 p24) { return this; } + /** + * If this is a {@code payco} PaymentMethod, this hash contains details about the PAYCO + * payment method. + */ + public Builder setPayco(ConfirmationTokenCreateParams.PaymentMethodData.Payco payco) { + this.payco = payco; + return this; + } + /** * If this is a {@code paynow} PaymentMethod, this hash contains details about the PayNow * payment method. @@ -1162,6 +1260,16 @@ public Builder setRevolutPay( return this; } + /** + * If this is a {@code samsung_pay} PaymentMethod, this hash contains details about the + * SamsungPay payment method. + */ + public Builder setSamsungPay( + ConfirmationTokenCreateParams.PaymentMethodData.SamsungPay samsungPay) { + this.samsungPay = samsungPay; + return this; + } + /** * If this is a {@code sepa_debit} PaymentMethod, this hash contains details about the SEPA * debit bank account. @@ -2989,6 +3097,63 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class KakaoPay { + /** + * 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 KakaoPay(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public ConfirmationTokenCreateParams.PaymentMethodData.KakaoPay build() { + return new ConfirmationTokenCreateParams.PaymentMethodData.KakaoPay(this.extraParams); + } + + /** + * 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 ConfirmationTokenCreateParams.PaymentMethodData.KakaoPay#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 ConfirmationTokenCreateParams.PaymentMethodData.KakaoPay#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 public static class Klarna { /** Customer's date of birth. */ @@ -3215,6 +3380,63 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class KrCard { + /** + * 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 KrCard(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public ConfirmationTokenCreateParams.PaymentMethodData.KrCard build() { + return new ConfirmationTokenCreateParams.PaymentMethodData.KrCard(this.extraParams); + } + + /** + * 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 ConfirmationTokenCreateParams.PaymentMethodData.KrCard#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 ConfirmationTokenCreateParams.PaymentMethodData.KrCard#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 public static class Link { /** @@ -3443,6 +3665,99 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class NaverPay { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Whether to use Naver Pay points or a card to fund this transaction. If not provided, this + * defaults to {@code card}. + */ + @SerializedName("funding") + Funding funding; + + private NaverPay(Map extraParams, Funding funding) { + this.extraParams = extraParams; + this.funding = funding; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Funding funding; + + /** Finalize and obtain parameter instance from this builder. */ + public ConfirmationTokenCreateParams.PaymentMethodData.NaverPay build() { + return new ConfirmationTokenCreateParams.PaymentMethodData.NaverPay( + this.extraParams, this.funding); + } + + /** + * 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 ConfirmationTokenCreateParams.PaymentMethodData.NaverPay#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 ConfirmationTokenCreateParams.PaymentMethodData.NaverPay#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Whether to use Naver Pay points or a card to fund this transaction. If not provided, this + * defaults to {@code card}. + */ + public Builder setFunding( + ConfirmationTokenCreateParams.PaymentMethodData.NaverPay.Funding funding) { + this.funding = funding; + return this; + } + } + + public enum Funding implements ApiRequestParams.EnumParam { + @SerializedName("card") + CARD("card"), + + @SerializedName("points") + POINTS("points"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Funding(String value) { + this.value = value; + } + } + } + @Getter public static class Oxxo { /** @@ -3658,6 +3973,63 @@ public enum Bank implements ApiRequestParams.EnumParam { } } + @Getter + public static class Payco { + /** + * 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 Payco(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public ConfirmationTokenCreateParams.PaymentMethodData.Payco build() { + return new ConfirmationTokenCreateParams.PaymentMethodData.Payco(this.extraParams); + } + + /** + * 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 ConfirmationTokenCreateParams.PaymentMethodData.Payco#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 ConfirmationTokenCreateParams.PaymentMethodData.Payco#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 public static class Paynow { /** @@ -4291,6 +4663,63 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class SamsungPay { + /** + * 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 SamsungPay(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public ConfirmationTokenCreateParams.PaymentMethodData.SamsungPay build() { + return new ConfirmationTokenCreateParams.PaymentMethodData.SamsungPay(this.extraParams); + } + + /** + * 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 ConfirmationTokenCreateParams.PaymentMethodData.SamsungPay#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 ConfirmationTokenCreateParams.PaymentMethodData.SamsungPay#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 public static class SepaDebit { /** @@ -4934,12 +5363,18 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("ideal") IDEAL("ideal"), + @SerializedName("kakao_pay") + KAKAO_PAY("kakao_pay"), + @SerializedName("klarna") KLARNA("klarna"), @SerializedName("konbini") KONBINI("konbini"), + @SerializedName("kr_card") + KR_CARD("kr_card"), + @SerializedName("link") LINK("link"), @@ -4952,12 +5387,18 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("multibanco") MULTIBANCO("multibanco"), + @SerializedName("naver_pay") + NAVER_PAY("naver_pay"), + @SerializedName("oxxo") OXXO("oxxo"), @SerializedName("p24") P24("p24"), + @SerializedName("payco") + PAYCO("payco"), + @SerializedName("paynow") PAYNOW("paynow"), @@ -4979,6 +5420,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("revolut_pay") REVOLUT_PAY("revolut_pay"), + @SerializedName("samsung_pay") + SAMSUNG_PAY("samsung_pay"), + @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), diff --git a/src/main/java/com/stripe/param/CustomerCreateParams.java b/src/main/java/com/stripe/param/CustomerCreateParams.java index e574e140be8..7c6f21300d5 100644 --- a/src/main/java/com/stripe/param/CustomerCreateParams.java +++ b/src/main/java/com/stripe/param/CustomerCreateParams.java @@ -572,8 +572,9 @@ public static class Address { String city; /** - * Two-letter country code (ISO - * 3166-1 alpha-2). + * A freeform text field for the country. However, in order to activate some tax features, the + * format should be a two-letter country code (ISO 3166-1 alpha-2). */ @SerializedName("country") String country; @@ -658,8 +659,9 @@ public Builder setCity(String city) { } /** - * Two-letter country code (ISO - * 3166-1 alpha-2). + * A freeform text field for the country. However, in order to activate some tax features, the + * format should be a two-letter country code (ISO 3166-1 alpha-2). */ public Builder setCountry(String country) { this.country = country; @@ -1389,8 +1391,9 @@ public static class Address { String city; /** - * Two-letter country code (ISO - * 3166-1 alpha-2). + * A freeform text field for the country. However, in order to activate some tax features, the + * format should be a two-letter country code (ISO 3166-1 alpha-2). */ @SerializedName("country") String country; @@ -1475,8 +1478,9 @@ public Builder setCity(String city) { } /** - * Two-letter country code (ISO - * 3166-1 alpha-2). + * A freeform text field for the country. However, in order to activate some tax features, + * the format should be a two-letter country code (ISO 3166-1 alpha-2). */ public Builder setCountry(String country) { this.country = country; @@ -1678,18 +1682,20 @@ public static class TaxIdData { /** * Required. Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, {@code * ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, - * {@code br_cnpj}, {@code br_cpf}, {@code ca_bn}, {@code ca_gst_hst}, {@code ca_pst_bc}, {@code - * ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code ch_vat}, {@code - * cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, {@code do_rcn}, - * {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat}, {@code - * gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, - * {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, - * {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code mx_rfc}, {@code - * my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, - * {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code - * rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, - * {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code - * ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code ve_rif}, {@code vn_tin}, or {@code za_vat} + * {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code + * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code + * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, + * {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code + * eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, + * {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code + * jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, + * {@code ma_vat}, {@code md_vat}, {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code + * my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code nz_gst}, {@code om_vat}, + * {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code + * ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sv_nit}, + * {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code + * us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif}, {@code vn_tin}, or + * {@code za_vat} */ @SerializedName("type") Type type; @@ -1749,19 +1755,20 @@ public Builder putAllExtraParam(Map map) { /** * Required. Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code - * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code ca_bn}, {@code ca_gst_hst}, {@code - * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code - * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, - * {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code - * eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, - * {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code - * jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, - * {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code - * no_vat}, {@code no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, - * {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code - * sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, - * {@code tw_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code ve_rif}, {@code - * vn_tin}, or {@code za_vat} + * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code + * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, + * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code + * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, + * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code + * hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, + * {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code + * kz_bin}, {@code li_uid}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc}, {@code my_frp}, + * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code + * nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, + * {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code + * si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, + * {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code + * ve_rif}, {@code vn_tin}, or {@code za_vat} */ public Builder setType(CustomerCreateParams.TaxIdData.Type type) { this.type = type; @@ -1806,6 +1813,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("br_cpf") BR_CPF("br_cpf"), + @SerializedName("by_tin") + BY_TIN("by_tin"), + @SerializedName("ca_bn") CA_BN("ca_bn"), @@ -1911,6 +1921,12 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("li_uid") LI_UID("li_uid"), + @SerializedName("ma_vat") + MA_VAT("ma_vat"), + + @SerializedName("md_vat") + MD_VAT("md_vat"), + @SerializedName("mx_rfc") MX_RFC("mx_rfc"), @@ -1980,6 +1996,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("tw_vat") TW_VAT("tw_vat"), + @SerializedName("tz_vat") + TZ_VAT("tz_vat"), + @SerializedName("ua_vat") UA_VAT("ua_vat"), @@ -1989,6 +2008,12 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("uy_ruc") UY_RUC("uy_ruc"), + @SerializedName("uz_tin") + UZ_TIN("uz_tin"), + + @SerializedName("uz_vat") + UZ_VAT("uz_vat"), + @SerializedName("ve_rif") VE_RIF("ve_rif"), diff --git a/src/main/java/com/stripe/param/CustomerListPaymentMethodsParams.java b/src/main/java/com/stripe/param/CustomerListPaymentMethodsParams.java index ed9aaa1def8..1a8b80e58c4 100644 --- a/src/main/java/com/stripe/param/CustomerListPaymentMethodsParams.java +++ b/src/main/java/com/stripe/param/CustomerListPaymentMethodsParams.java @@ -294,12 +294,18 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("ideal") IDEAL("ideal"), + @SerializedName("kakao_pay") + KAKAO_PAY("kakao_pay"), + @SerializedName("klarna") KLARNA("klarna"), @SerializedName("konbini") KONBINI("konbini"), + @SerializedName("kr_card") + KR_CARD("kr_card"), + @SerializedName("link") LINK("link"), @@ -312,12 +318,18 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("multibanco") MULTIBANCO("multibanco"), + @SerializedName("naver_pay") + NAVER_PAY("naver_pay"), + @SerializedName("oxxo") OXXO("oxxo"), @SerializedName("p24") P24("p24"), + @SerializedName("payco") + PAYCO("payco"), + @SerializedName("paynow") PAYNOW("paynow"), @@ -339,6 +351,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("revolut_pay") REVOLUT_PAY("revolut_pay"), + @SerializedName("samsung_pay") + SAMSUNG_PAY("samsung_pay"), + @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), diff --git a/src/main/java/com/stripe/param/CustomerPaymentMethodListParams.java b/src/main/java/com/stripe/param/CustomerPaymentMethodListParams.java index 1d7099d4e4d..96226ecac92 100644 --- a/src/main/java/com/stripe/param/CustomerPaymentMethodListParams.java +++ b/src/main/java/com/stripe/param/CustomerPaymentMethodListParams.java @@ -294,12 +294,18 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("ideal") IDEAL("ideal"), + @SerializedName("kakao_pay") + KAKAO_PAY("kakao_pay"), + @SerializedName("klarna") KLARNA("klarna"), @SerializedName("konbini") KONBINI("konbini"), + @SerializedName("kr_card") + KR_CARD("kr_card"), + @SerializedName("link") LINK("link"), @@ -312,12 +318,18 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("multibanco") MULTIBANCO("multibanco"), + @SerializedName("naver_pay") + NAVER_PAY("naver_pay"), + @SerializedName("oxxo") OXXO("oxxo"), @SerializedName("p24") P24("p24"), + @SerializedName("payco") + PAYCO("payco"), + @SerializedName("paynow") PAYNOW("paynow"), @@ -339,6 +351,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("revolut_pay") REVOLUT_PAY("revolut_pay"), + @SerializedName("samsung_pay") + SAMSUNG_PAY("samsung_pay"), + @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), diff --git a/src/main/java/com/stripe/param/CustomerTaxIdCreateParams.java b/src/main/java/com/stripe/param/CustomerTaxIdCreateParams.java index 68592a22adc..c96f11f9110 100644 --- a/src/main/java/com/stripe/param/CustomerTaxIdCreateParams.java +++ b/src/main/java/com/stripe/param/CustomerTaxIdCreateParams.java @@ -27,18 +27,19 @@ public class CustomerTaxIdCreateParams extends ApiRequestParams { /** * Required. Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, {@code * ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, - * {@code br_cnpj}, {@code br_cpf}, {@code ca_bn}, {@code ca_gst_hst}, {@code ca_pst_bc}, {@code - * ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, - * {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, - * {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code - * ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code - * in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code - * kr_brn}, {@code kz_bin}, {@code li_uid}, {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code - * my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code nz_gst}, {@code om_vat}, - * {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, - * {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, - * {@code tr_tin}, {@code tw_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code ve_rif}, - * {@code vn_tin}, or {@code za_vat} + * {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code + * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code + * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, {@code + * do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat}, + * {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, + * {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, + * {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code ma_vat}, {@code md_vat}, + * {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, + * {@code no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code + * ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code + * sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code + * tz_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code + * ve_rif}, {@code vn_tin}, or {@code za_vat} */ @SerializedName("type") Type type; @@ -128,18 +129,20 @@ public Builder putAllExtraParam(Map map) { /** * Required. Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, {@code * ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, - * {@code br_cnpj}, {@code br_cpf}, {@code ca_bn}, {@code ca_gst_hst}, {@code ca_pst_bc}, {@code - * ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code ch_vat}, {@code - * cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, {@code do_rcn}, - * {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat}, {@code - * gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, - * {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, - * {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code mx_rfc}, {@code - * my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, - * {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code - * rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, - * {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code - * ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code ve_rif}, {@code vn_tin}, or {@code za_vat} + * {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code + * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code + * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, + * {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code + * eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, + * {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code + * jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, + * {@code ma_vat}, {@code md_vat}, {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code + * my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code nz_gst}, {@code om_vat}, + * {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code + * ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sv_nit}, + * {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code + * us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif}, {@code vn_tin}, or + * {@code za_vat} */ public Builder setType(CustomerTaxIdCreateParams.Type type) { this.type = type; @@ -184,6 +187,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("br_cpf") BR_CPF("br_cpf"), + @SerializedName("by_tin") + BY_TIN("by_tin"), + @SerializedName("ca_bn") CA_BN("ca_bn"), @@ -289,6 +295,12 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("li_uid") LI_UID("li_uid"), + @SerializedName("ma_vat") + MA_VAT("ma_vat"), + + @SerializedName("md_vat") + MD_VAT("md_vat"), + @SerializedName("mx_rfc") MX_RFC("mx_rfc"), @@ -358,6 +370,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("tw_vat") TW_VAT("tw_vat"), + @SerializedName("tz_vat") + TZ_VAT("tz_vat"), + @SerializedName("ua_vat") UA_VAT("ua_vat"), @@ -367,6 +382,12 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("uy_ruc") UY_RUC("uy_ruc"), + @SerializedName("uz_tin") + UZ_TIN("uz_tin"), + + @SerializedName("uz_vat") + UZ_VAT("uz_vat"), + @SerializedName("ve_rif") VE_RIF("ve_rif"), diff --git a/src/main/java/com/stripe/param/CustomerUpdateParams.java b/src/main/java/com/stripe/param/CustomerUpdateParams.java index 6fa3b29a242..a28321927cc 100644 --- a/src/main/java/com/stripe/param/CustomerUpdateParams.java +++ b/src/main/java/com/stripe/param/CustomerUpdateParams.java @@ -621,8 +621,9 @@ public static class Address { Object city; /** - * Two-letter country code (ISO - * 3166-1 alpha-2). + * A freeform text field for the country. However, in order to activate some tax features, the + * format should be a two-letter country code (ISO 3166-1 alpha-2). */ @SerializedName("country") Object country; @@ -713,8 +714,9 @@ public Builder setCity(EmptyParam city) { } /** - * Two-letter country code (ISO - * 3166-1 alpha-2). + * A freeform text field for the country. However, in order to activate some tax features, the + * format should be a two-letter country code (ISO 3166-1 alpha-2). */ public Builder setCountry(String country) { this.country = country; @@ -722,8 +724,9 @@ public Builder setCountry(String country) { } /** - * Two-letter country code (ISO - * 3166-1 alpha-2). + * A freeform text field for the country. However, in order to activate some tax features, the + * format should be a two-letter country code (ISO 3166-1 alpha-2). */ public Builder setCountry(EmptyParam country) { this.country = country; @@ -1527,8 +1530,9 @@ public static class Address { Object city; /** - * Two-letter country code (ISO - * 3166-1 alpha-2). + * A freeform text field for the country. However, in order to activate some tax features, the + * format should be a two-letter country code (ISO 3166-1 alpha-2). */ @SerializedName("country") Object country; @@ -1619,8 +1623,9 @@ public Builder setCity(EmptyParam city) { } /** - * Two-letter country code (ISO - * 3166-1 alpha-2). + * A freeform text field for the country. However, in order to activate some tax features, + * the format should be a two-letter country code (ISO 3166-1 alpha-2). */ public Builder setCountry(String country) { this.country = country; @@ -1628,8 +1633,9 @@ public Builder setCountry(String country) { } /** - * Two-letter country code (ISO - * 3166-1 alpha-2). + * A freeform text field for the country. However, in order to activate some tax features, + * the format should be a two-letter country code (ISO 3166-1 alpha-2). */ public Builder setCountry(EmptyParam country) { this.country = country; diff --git a/src/main/java/com/stripe/param/InvoiceAddLinesParams.java b/src/main/java/com/stripe/param/InvoiceAddLinesParams.java index fe4e3fa7396..a0b44f4bdab 100644 --- a/src/main/java/com/stripe/param/InvoiceAddLinesParams.java +++ b/src/main/java/com/stripe/param/InvoiceAddLinesParams.java @@ -1973,6 +1973,9 @@ public enum TaxType implements ApiRequestParams.EnumParam { @SerializedName("qst") QST("qst"), + @SerializedName("retail_delivery_fee") + RETAIL_DELIVERY_FEE("retail_delivery_fee"), + @SerializedName("rst") RST("rst"), diff --git a/src/main/java/com/stripe/param/InvoiceCreatePreviewParams.java b/src/main/java/com/stripe/param/InvoiceCreatePreviewParams.java index 91ad233cb9b..90f88603620 100644 --- a/src/main/java/com/stripe/param/InvoiceCreatePreviewParams.java +++ b/src/main/java/com/stripe/param/InvoiceCreatePreviewParams.java @@ -1097,8 +1097,9 @@ public static class Address { String city; /** - * Two-letter country code (ISO - * 3166-1 alpha-2). + * A freeform text field for the country. However, in order to activate some tax features, + * the format should be a two-letter country code (ISO 3166-1 alpha-2). */ @SerializedName("country") String country; @@ -1184,8 +1185,9 @@ public Builder setCity(String city) { } /** - * Two-letter country code (ISO - * 3166-1 alpha-2). + * A freeform text field for the country. However, in order to activate some tax features, + * the format should be a two-letter country code (ISO 3166-1 alpha-2). */ public Builder setCountry(String country) { this.country = country; @@ -1355,19 +1357,20 @@ public static class TaxId { /** * Required. Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code - * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code ca_bn}, {@code ca_gst_hst}, {@code - * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code - * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, - * {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code - * eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, - * {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code - * jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, - * {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code - * no_vat}, {@code no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, - * {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code - * sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, - * {@code tw_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code ve_rif}, {@code - * vn_tin}, or {@code za_vat} + * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code + * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, + * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code + * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, + * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code + * hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, + * {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code + * kz_bin}, {@code li_uid}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc}, {@code my_frp}, + * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code + * nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, + * {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code + * si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, + * {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code + * ve_rif}, {@code vn_tin}, or {@code za_vat} */ @SerializedName("type") Type type; @@ -1430,19 +1433,20 @@ public Builder putAllExtraParam(Map map) { /** * Required. Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code - * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code ca_bn}, {@code ca_gst_hst}, {@code - * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code - * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, - * {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, - * {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code - * hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, - * {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code - * li_uid}, {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, - * {@code no_vat}, {@code no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code - * ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, - * {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code - * tr_tin}, {@code tw_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code ve_rif}, - * {@code vn_tin}, or {@code za_vat} + * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code + * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, + * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code + * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, + * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code + * hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, + * {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code + * kz_bin}, {@code li_uid}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc}, {@code my_frp}, + * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code + * nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, + * {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code + * si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, + * {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code + * ve_rif}, {@code vn_tin}, or {@code za_vat} */ public Builder setType(InvoiceCreatePreviewParams.CustomerDetails.TaxId.Type type) { this.type = type; @@ -1487,6 +1491,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("br_cpf") BR_CPF("br_cpf"), + @SerializedName("by_tin") + BY_TIN("by_tin"), + @SerializedName("ca_bn") CA_BN("ca_bn"), @@ -1592,6 +1599,12 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("li_uid") LI_UID("li_uid"), + @SerializedName("ma_vat") + MA_VAT("ma_vat"), + + @SerializedName("md_vat") + MD_VAT("md_vat"), + @SerializedName("mx_rfc") MX_RFC("mx_rfc"), @@ -1661,6 +1674,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("tw_vat") TW_VAT("tw_vat"), + @SerializedName("tz_vat") + TZ_VAT("tz_vat"), + @SerializedName("ua_vat") UA_VAT("ua_vat"), @@ -1670,6 +1686,12 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("uy_ruc") UY_RUC("uy_ruc"), + @SerializedName("uz_tin") + UZ_TIN("uz_tin"), + + @SerializedName("uz_vat") + UZ_VAT("uz_vat"), + @SerializedName("ve_rif") VE_RIF("ve_rif"), diff --git a/src/main/java/com/stripe/param/InvoiceLineItemUpdateParams.java b/src/main/java/com/stripe/param/InvoiceLineItemUpdateParams.java index 27a85b263fb..9dab5179833 100644 --- a/src/main/java/com/stripe/param/InvoiceLineItemUpdateParams.java +++ b/src/main/java/com/stripe/param/InvoiceLineItemUpdateParams.java @@ -1918,6 +1918,9 @@ public enum TaxType implements ApiRequestParams.EnumParam { @SerializedName("qst") QST("qst"), + @SerializedName("retail_delivery_fee") + RETAIL_DELIVERY_FEE("retail_delivery_fee"), + @SerializedName("rst") RST("rst"), diff --git a/src/main/java/com/stripe/param/InvoiceUpcomingLinesListParams.java b/src/main/java/com/stripe/param/InvoiceUpcomingLinesListParams.java index 07a152321c3..ca929767349 100644 --- a/src/main/java/com/stripe/param/InvoiceUpcomingLinesListParams.java +++ b/src/main/java/com/stripe/param/InvoiceUpcomingLinesListParams.java @@ -1611,8 +1611,9 @@ public static class Address { String city; /** - * Two-letter country code (ISO - * 3166-1 alpha-2). + * A freeform text field for the country. However, in order to activate some tax features, + * the format should be a two-letter country code (ISO 3166-1 alpha-2). */ @SerializedName("country") String country; @@ -1698,8 +1699,9 @@ public Builder setCity(String city) { } /** - * Two-letter country code (ISO - * 3166-1 alpha-2). + * A freeform text field for the country. However, in order to activate some tax features, + * the format should be a two-letter country code (ISO 3166-1 alpha-2). */ public Builder setCountry(String country) { this.country = country; @@ -1869,19 +1871,20 @@ public static class TaxId { /** * Required. Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code - * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code ca_bn}, {@code ca_gst_hst}, {@code - * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code - * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, - * {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code - * eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, - * {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code - * jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, - * {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code - * no_vat}, {@code no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, - * {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code - * sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, - * {@code tw_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code ve_rif}, {@code - * vn_tin}, or {@code za_vat} + * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code + * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, + * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code + * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, + * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code + * hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, + * {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code + * kz_bin}, {@code li_uid}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc}, {@code my_frp}, + * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code + * nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, + * {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code + * si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, + * {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code + * ve_rif}, {@code vn_tin}, or {@code za_vat} */ @SerializedName("type") Type type; @@ -1944,19 +1947,20 @@ public Builder putAllExtraParam(Map map) { /** * Required. Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code - * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code ca_bn}, {@code ca_gst_hst}, {@code - * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code - * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, - * {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, - * {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code - * hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, - * {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code - * li_uid}, {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, - * {@code no_vat}, {@code no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code - * ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, - * {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code - * tr_tin}, {@code tw_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code ve_rif}, - * {@code vn_tin}, or {@code za_vat} + * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code + * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, + * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code + * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, + * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code + * hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, + * {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code + * kz_bin}, {@code li_uid}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc}, {@code my_frp}, + * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code + * nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, + * {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code + * si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, + * {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code + * ve_rif}, {@code vn_tin}, or {@code za_vat} */ public Builder setType(InvoiceUpcomingLinesListParams.CustomerDetails.TaxId.Type type) { this.type = type; @@ -2001,6 +2005,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("br_cpf") BR_CPF("br_cpf"), + @SerializedName("by_tin") + BY_TIN("by_tin"), + @SerializedName("ca_bn") CA_BN("ca_bn"), @@ -2106,6 +2113,12 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("li_uid") LI_UID("li_uid"), + @SerializedName("ma_vat") + MA_VAT("ma_vat"), + + @SerializedName("md_vat") + MD_VAT("md_vat"), + @SerializedName("mx_rfc") MX_RFC("mx_rfc"), @@ -2175,6 +2188,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("tw_vat") TW_VAT("tw_vat"), + @SerializedName("tz_vat") + TZ_VAT("tz_vat"), + @SerializedName("ua_vat") UA_VAT("ua_vat"), @@ -2184,6 +2200,12 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("uy_ruc") UY_RUC("uy_ruc"), + @SerializedName("uz_tin") + UZ_TIN("uz_tin"), + + @SerializedName("uz_vat") + UZ_VAT("uz_vat"), + @SerializedName("ve_rif") VE_RIF("ve_rif"), diff --git a/src/main/java/com/stripe/param/InvoiceUpcomingLinesParams.java b/src/main/java/com/stripe/param/InvoiceUpcomingLinesParams.java index 27c43cab2d7..1f0470c0d69 100644 --- a/src/main/java/com/stripe/param/InvoiceUpcomingLinesParams.java +++ b/src/main/java/com/stripe/param/InvoiceUpcomingLinesParams.java @@ -1603,8 +1603,9 @@ public static class Address { String city; /** - * Two-letter country code (ISO - * 3166-1 alpha-2). + * A freeform text field for the country. However, in order to activate some tax features, + * the format should be a two-letter country code (ISO 3166-1 alpha-2). */ @SerializedName("country") String country; @@ -1690,8 +1691,9 @@ public Builder setCity(String city) { } /** - * Two-letter country code (ISO - * 3166-1 alpha-2). + * A freeform text field for the country. However, in order to activate some tax features, + * the format should be a two-letter country code (ISO 3166-1 alpha-2). */ public Builder setCountry(String country) { this.country = country; @@ -1861,19 +1863,20 @@ public static class TaxId { /** * Required. Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code - * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code ca_bn}, {@code ca_gst_hst}, {@code - * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code - * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, - * {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code - * eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, - * {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code - * jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, - * {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code - * no_vat}, {@code no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, - * {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code - * sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, - * {@code tw_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code ve_rif}, {@code - * vn_tin}, or {@code za_vat} + * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code + * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, + * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code + * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, + * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code + * hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, + * {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code + * kz_bin}, {@code li_uid}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc}, {@code my_frp}, + * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code + * nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, + * {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code + * si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, + * {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code + * ve_rif}, {@code vn_tin}, or {@code za_vat} */ @SerializedName("type") Type type; @@ -1936,19 +1939,20 @@ public Builder putAllExtraParam(Map map) { /** * Required. Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code - * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code ca_bn}, {@code ca_gst_hst}, {@code - * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code - * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, - * {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, - * {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code - * hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, - * {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code - * li_uid}, {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, - * {@code no_vat}, {@code no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code - * ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, - * {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code - * tr_tin}, {@code tw_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code ve_rif}, - * {@code vn_tin}, or {@code za_vat} + * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code + * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, + * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code + * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, + * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code + * hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, + * {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code + * kz_bin}, {@code li_uid}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc}, {@code my_frp}, + * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code + * nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, + * {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code + * si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, + * {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code + * ve_rif}, {@code vn_tin}, or {@code za_vat} */ public Builder setType(InvoiceUpcomingLinesParams.CustomerDetails.TaxId.Type type) { this.type = type; @@ -1993,6 +1997,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("br_cpf") BR_CPF("br_cpf"), + @SerializedName("by_tin") + BY_TIN("by_tin"), + @SerializedName("ca_bn") CA_BN("ca_bn"), @@ -2098,6 +2105,12 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("li_uid") LI_UID("li_uid"), + @SerializedName("ma_vat") + MA_VAT("ma_vat"), + + @SerializedName("md_vat") + MD_VAT("md_vat"), + @SerializedName("mx_rfc") MX_RFC("mx_rfc"), @@ -2167,6 +2180,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("tw_vat") TW_VAT("tw_vat"), + @SerializedName("tz_vat") + TZ_VAT("tz_vat"), + @SerializedName("ua_vat") UA_VAT("ua_vat"), @@ -2176,6 +2192,12 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("uy_ruc") UY_RUC("uy_ruc"), + @SerializedName("uz_tin") + UZ_TIN("uz_tin"), + + @SerializedName("uz_vat") + UZ_VAT("uz_vat"), + @SerializedName("ve_rif") VE_RIF("ve_rif"), diff --git a/src/main/java/com/stripe/param/InvoiceUpcomingParams.java b/src/main/java/com/stripe/param/InvoiceUpcomingParams.java index cb33241feae..bc406e80a75 100644 --- a/src/main/java/com/stripe/param/InvoiceUpcomingParams.java +++ b/src/main/java/com/stripe/param/InvoiceUpcomingParams.java @@ -1528,8 +1528,9 @@ public static class Address { String city; /** - * Two-letter country code (ISO - * 3166-1 alpha-2). + * A freeform text field for the country. However, in order to activate some tax features, + * the format should be a two-letter country code (ISO 3166-1 alpha-2). */ @SerializedName("country") String country; @@ -1615,8 +1616,9 @@ public Builder setCity(String city) { } /** - * Two-letter country code (ISO - * 3166-1 alpha-2). + * A freeform text field for the country. However, in order to activate some tax features, + * the format should be a two-letter country code (ISO 3166-1 alpha-2). */ public Builder setCountry(String country) { this.country = country; @@ -1783,19 +1785,20 @@ public static class TaxId { /** * Required. Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code - * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code ca_bn}, {@code ca_gst_hst}, {@code - * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code - * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, - * {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code - * eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, - * {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code - * jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, - * {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code - * no_vat}, {@code no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, - * {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code - * sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, - * {@code tw_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code ve_rif}, {@code - * vn_tin}, or {@code za_vat} + * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code + * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, + * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code + * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, + * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code + * hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, + * {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code + * kz_bin}, {@code li_uid}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc}, {@code my_frp}, + * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code + * nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, + * {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code + * si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, + * {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code + * ve_rif}, {@code vn_tin}, or {@code za_vat} */ @SerializedName("type") Type type; @@ -1858,19 +1861,20 @@ public Builder putAllExtraParam(Map map) { /** * Required. Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code - * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code ca_bn}, {@code ca_gst_hst}, {@code - * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code - * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, - * {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, - * {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code - * hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, - * {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code - * li_uid}, {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, - * {@code no_vat}, {@code no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code - * ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, - * {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code - * tr_tin}, {@code tw_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code ve_rif}, - * {@code vn_tin}, or {@code za_vat} + * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code + * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, + * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code + * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, + * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code + * hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, + * {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code + * kz_bin}, {@code li_uid}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc}, {@code my_frp}, + * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code + * nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, + * {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code + * si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, + * {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code + * ve_rif}, {@code vn_tin}, or {@code za_vat} */ public Builder setType(InvoiceUpcomingParams.CustomerDetails.TaxId.Type type) { this.type = type; @@ -1915,6 +1919,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("br_cpf") BR_CPF("br_cpf"), + @SerializedName("by_tin") + BY_TIN("by_tin"), + @SerializedName("ca_bn") CA_BN("ca_bn"), @@ -2020,6 +2027,12 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("li_uid") LI_UID("li_uid"), + @SerializedName("ma_vat") + MA_VAT("ma_vat"), + + @SerializedName("md_vat") + MD_VAT("md_vat"), + @SerializedName("mx_rfc") MX_RFC("mx_rfc"), @@ -2089,6 +2102,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("tw_vat") TW_VAT("tw_vat"), + @SerializedName("tz_vat") + TZ_VAT("tz_vat"), + @SerializedName("ua_vat") UA_VAT("ua_vat"), @@ -2098,6 +2114,12 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("uy_ruc") UY_RUC("uy_ruc"), + @SerializedName("uz_tin") + UZ_TIN("uz_tin"), + + @SerializedName("uz_vat") + UZ_VAT("uz_vat"), + @SerializedName("ve_rif") VE_RIF("ve_rif"), diff --git a/src/main/java/com/stripe/param/InvoiceUpdateLinesParams.java b/src/main/java/com/stripe/param/InvoiceUpdateLinesParams.java index 4eb51977ad7..7a02eb9a5e7 100644 --- a/src/main/java/com/stripe/param/InvoiceUpdateLinesParams.java +++ b/src/main/java/com/stripe/param/InvoiceUpdateLinesParams.java @@ -2000,6 +2000,9 @@ public enum TaxType implements ApiRequestParams.EnumParam { @SerializedName("qst") QST("qst"), + @SerializedName("retail_delivery_fee") + RETAIL_DELIVERY_FEE("retail_delivery_fee"), + @SerializedName("rst") RST("rst"), diff --git a/src/main/java/com/stripe/param/OrderCreateParams.java b/src/main/java/com/stripe/param/OrderCreateParams.java index 993e6cfc3bf..aa3b354a701 100644 --- a/src/main/java/com/stripe/param/OrderCreateParams.java +++ b/src/main/java/com/stripe/param/OrderCreateParams.java @@ -5524,6 +5524,10 @@ public static class Paypal { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** The line items purchased by the customer. */ + @SerializedName("line_items") + List lineItems; + /** * Preferred * locale of the PayPal checkout page that the customer is redirected to. @@ -5592,6 +5596,8 @@ public static class Paypal { private Paypal( ApiRequestParams.EnumParam captureMethod, Map extraParams, + List + lineItems, PreferredLocale preferredLocale, String reference, String referenceId, @@ -5600,6 +5606,7 @@ private Paypal( List subsellers) { this.captureMethod = captureMethod; this.extraParams = extraParams; + this.lineItems = lineItems; this.preferredLocale = preferredLocale; this.reference = reference; this.referenceId = referenceId; @@ -5617,6 +5624,9 @@ public static class Builder { private Map extraParams; + private List + lineItems; + private PreferredLocale preferredLocale; private String reference; @@ -5634,6 +5644,7 @@ public OrderCreateParams.Payment.Settings.PaymentMethodOptions.Paypal build() { return new OrderCreateParams.Payment.Settings.PaymentMethodOptions.Paypal( this.captureMethod, this.extraParams, + this.lineItems, this.preferredLocale, this.reference, this.referenceId, @@ -5686,6 +5697,38 @@ public Builder putAllExtraParam(Map map) { return this; } + /** + * Add an element to `lineItems` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * OrderCreateParams.Payment.Settings.PaymentMethodOptions.Paypal#lineItems} for the + * field documentation. + */ + public Builder addLineItem( + OrderCreateParams.Payment.Settings.PaymentMethodOptions.Paypal.LineItem element) { + if (this.lineItems == null) { + this.lineItems = new ArrayList<>(); + } + this.lineItems.add(element); + return this; + } + + /** + * Add all elements to `lineItems` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original + * list. See {@link + * OrderCreateParams.Payment.Settings.PaymentMethodOptions.Paypal#lineItems} for the + * field documentation. + */ + public Builder addAllLineItem( + List + elements) { + if (this.lineItems == null) { + this.lineItems = new ArrayList<>(); + } + this.lineItems.addAll(elements); + return this; + } + /** * Preferred * locale of the PayPal checkout page that the customer is redirected to. @@ -5816,6 +5859,330 @@ public Builder addAllSubseller(List elements) { } } + @Getter + public static class LineItem { + /** Type of the line item. */ + @SerializedName("category") + Category category; + + /** Description of the line item. */ + @SerializedName("description") + String description; + + /** + * 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. Descriptive name of the line item. */ + @SerializedName("name") + String name; + + /** Required. Quantity of the line item. Must be a positive number. */ + @SerializedName("quantity") + Long quantity; + + /** Client facing stock keeping unit, article number or similar. */ + @SerializedName("sku") + String sku; + + /** The Stripe account ID of the connected account that sells the item. */ + @SerializedName("sold_by") + String soldBy; + + /** The tax information for the line item. */ + @SerializedName("tax") + Tax tax; + + /** + * Required. Price for a single unit of the line item in minor units. + * Cannot be a negative number. + */ + @SerializedName("unit_amount") + Long unitAmount; + + private LineItem( + Category category, + String description, + Map extraParams, + String name, + Long quantity, + String sku, + String soldBy, + Tax tax, + Long unitAmount) { + this.category = category; + this.description = description; + this.extraParams = extraParams; + this.name = name; + this.quantity = quantity; + this.sku = sku; + this.soldBy = soldBy; + this.tax = tax; + this.unitAmount = unitAmount; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Category category; + + private String description; + + private Map extraParams; + + private String name; + + private Long quantity; + + private String sku; + + private String soldBy; + + private Tax tax; + + private Long unitAmount; + + /** Finalize and obtain parameter instance from this builder. */ + public OrderCreateParams.Payment.Settings.PaymentMethodOptions.Paypal.LineItem + build() { + return new OrderCreateParams.Payment.Settings.PaymentMethodOptions.Paypal.LineItem( + this.category, + this.description, + this.extraParams, + this.name, + this.quantity, + this.sku, + this.soldBy, + this.tax, + this.unitAmount); + } + + /** Type of the line item. */ + public Builder setCategory( + OrderCreateParams.Payment.Settings.PaymentMethodOptions.Paypal.LineItem.Category + category) { + this.category = category; + return this; + } + + /** Description of the line item. */ + public Builder setDescription(String description) { + this.description = description; + 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 + * OrderCreateParams.Payment.Settings.PaymentMethodOptions.Paypal.LineItem#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 + * OrderCreateParams.Payment.Settings.PaymentMethodOptions.Paypal.LineItem#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. Descriptive name of the line item. */ + public Builder setName(String name) { + this.name = name; + return this; + } + + /** + * Required. Quantity of the line item. Must be a positive number. + */ + public Builder setQuantity(Long quantity) { + this.quantity = quantity; + return this; + } + + /** Client facing stock keeping unit, article number or similar. */ + public Builder setSku(String sku) { + this.sku = sku; + return this; + } + + /** The Stripe account ID of the connected account that sells the item. */ + public Builder setSoldBy(String soldBy) { + this.soldBy = soldBy; + return this; + } + + /** The tax information for the line item. */ + public Builder setTax( + OrderCreateParams.Payment.Settings.PaymentMethodOptions.Paypal.LineItem.Tax tax) { + this.tax = tax; + return this; + } + + /** + * Required. Price for a single unit of the line item in minor units. + * Cannot be a negative number. + */ + public Builder setUnitAmount(Long unitAmount) { + this.unitAmount = unitAmount; + return this; + } + } + + @Getter + public static class Tax { + /** + * Required. The tax for a single unit of the line item in minor + * units. Cannot be a negative number. + */ + @SerializedName("amount") + Long amount; + + /** Required. The tax behavior for the line item. */ + @SerializedName("behavior") + Behavior behavior; + + /** + * 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(Long amount, Behavior behavior, Map extraParams) { + this.amount = amount; + this.behavior = behavior; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Long amount; + + private Behavior behavior; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public OrderCreateParams.Payment.Settings.PaymentMethodOptions.Paypal.LineItem.Tax + build() { + return new OrderCreateParams.Payment.Settings.PaymentMethodOptions.Paypal.LineItem + .Tax(this.amount, this.behavior, this.extraParams); + } + + /** + * Required. The tax for a single unit of the line item in minor + * units. Cannot be a negative number. + */ + public Builder setAmount(Long amount) { + this.amount = amount; + return this; + } + + /** Required. The tax behavior for the line item. */ + public Builder setBehavior( + OrderCreateParams.Payment.Settings.PaymentMethodOptions.Paypal.LineItem.Tax + .Behavior + behavior) { + this.behavior = behavior; + 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 + * OrderCreateParams.Payment.Settings.PaymentMethodOptions.Paypal.LineItem.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 + * OrderCreateParams.Payment.Settings.PaymentMethodOptions.Paypal.LineItem.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; + } + } + + public enum Behavior implements ApiRequestParams.EnumParam { + @SerializedName("exclusive") + EXCLUSIVE("exclusive"), + + @SerializedName("inclusive") + INCLUSIVE("inclusive"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Behavior(String value) { + this.value = value; + } + } + } + + public enum Category implements ApiRequestParams.EnumParam { + @SerializedName("digital_goods") + DIGITAL_GOODS("digital_goods"), + + @SerializedName("donation") + DONATION("donation"), + + @SerializedName("physical_goods") + PHYSICAL_GOODS("physical_goods"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Category(String value) { + this.value = value; + } + } + } + public enum CaptureMethod implements ApiRequestParams.EnumParam { @SerializedName("manual") MANUAL("manual"); @@ -8075,19 +8442,20 @@ public static class TaxId { /** * Required. Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code - * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code ca_bn}, {@code ca_gst_hst}, {@code - * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code - * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, - * {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code - * eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, - * {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code - * jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, - * {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code - * no_vat}, {@code no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, - * {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code - * sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, - * {@code tw_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code ve_rif}, {@code - * vn_tin}, or {@code za_vat} + * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code + * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, + * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code + * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, + * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code + * hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, + * {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code + * kz_bin}, {@code li_uid}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc}, {@code my_frp}, + * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code + * nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, + * {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code + * si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, + * {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code + * ve_rif}, {@code vn_tin}, or {@code za_vat} */ @SerializedName("type") Type type; @@ -8149,19 +8517,20 @@ public Builder putAllExtraParam(Map map) { /** * Required. Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code - * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code ca_bn}, {@code ca_gst_hst}, {@code - * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code - * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, - * {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, - * {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code - * hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, - * {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code - * li_uid}, {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, - * {@code no_vat}, {@code no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code - * ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, - * {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code - * tr_tin}, {@code tw_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code ve_rif}, - * {@code vn_tin}, or {@code za_vat} + * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code + * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, + * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code + * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, + * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code + * hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, + * {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code + * kz_bin}, {@code li_uid}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc}, {@code my_frp}, + * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code + * nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, + * {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code + * si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, + * {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code + * ve_rif}, {@code vn_tin}, or {@code za_vat} */ public Builder setType(OrderCreateParams.TaxDetails.TaxId.Type type) { this.type = type; @@ -8206,6 +8575,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("br_cpf") BR_CPF("br_cpf"), + @SerializedName("by_tin") + BY_TIN("by_tin"), + @SerializedName("ca_bn") CA_BN("ca_bn"), @@ -8311,6 +8683,12 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("li_uid") LI_UID("li_uid"), + @SerializedName("ma_vat") + MA_VAT("ma_vat"), + + @SerializedName("md_vat") + MD_VAT("md_vat"), + @SerializedName("mx_rfc") MX_RFC("mx_rfc"), @@ -8380,6 +8758,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("tw_vat") TW_VAT("tw_vat"), + @SerializedName("tz_vat") + TZ_VAT("tz_vat"), + @SerializedName("ua_vat") UA_VAT("ua_vat"), @@ -8389,6 +8770,12 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("uy_ruc") UY_RUC("uy_ruc"), + @SerializedName("uz_tin") + UZ_TIN("uz_tin"), + + @SerializedName("uz_vat") + UZ_VAT("uz_vat"), + @SerializedName("ve_rif") VE_RIF("ve_rif"), diff --git a/src/main/java/com/stripe/param/OrderUpdateParams.java b/src/main/java/com/stripe/param/OrderUpdateParams.java index fc79b10f7a7..1d56c297758 100644 --- a/src/main/java/com/stripe/param/OrderUpdateParams.java +++ b/src/main/java/com/stripe/param/OrderUpdateParams.java @@ -6007,6 +6007,10 @@ public static class Paypal { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** The line items purchased by the customer. */ + @SerializedName("line_items") + List lineItems; + /** * Preferred * locale of the PayPal checkout page that the customer is redirected to. @@ -6075,6 +6079,8 @@ public static class Paypal { private Paypal( ApiRequestParams.EnumParam captureMethod, Map extraParams, + List + lineItems, PreferredLocale preferredLocale, Object reference, Object referenceId, @@ -6083,6 +6089,7 @@ private Paypal( List subsellers) { this.captureMethod = captureMethod; this.extraParams = extraParams; + this.lineItems = lineItems; this.preferredLocale = preferredLocale; this.reference = reference; this.referenceId = referenceId; @@ -6100,6 +6107,9 @@ public static class Builder { private Map extraParams; + private List + lineItems; + private PreferredLocale preferredLocale; private Object reference; @@ -6117,6 +6127,7 @@ public OrderUpdateParams.Payment.Settings.PaymentMethodOptions.Paypal build() { return new OrderUpdateParams.Payment.Settings.PaymentMethodOptions.Paypal( this.captureMethod, this.extraParams, + this.lineItems, this.preferredLocale, this.reference, this.referenceId, @@ -6169,6 +6180,38 @@ public Builder putAllExtraParam(Map map) { return this; } + /** + * Add an element to `lineItems` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * OrderUpdateParams.Payment.Settings.PaymentMethodOptions.Paypal#lineItems} for the + * field documentation. + */ + public Builder addLineItem( + OrderUpdateParams.Payment.Settings.PaymentMethodOptions.Paypal.LineItem element) { + if (this.lineItems == null) { + this.lineItems = new ArrayList<>(); + } + this.lineItems.add(element); + return this; + } + + /** + * Add all elements to `lineItems` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original + * list. See {@link + * OrderUpdateParams.Payment.Settings.PaymentMethodOptions.Paypal#lineItems} for the + * field documentation. + */ + public Builder addAllLineItem( + List + elements) { + if (this.lineItems == null) { + this.lineItems = new ArrayList<>(); + } + this.lineItems.addAll(elements); + return this; + } + /** * Preferred * locale of the PayPal checkout page that the customer is redirected to. @@ -6328,6 +6371,354 @@ public Builder addAllSubseller(List elements) { } } + @Getter + public static class LineItem { + /** Type of the line item. */ + @SerializedName("category") + Category category; + + /** Description of the line item. */ + @SerializedName("description") + Object description; + + /** + * 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. Descriptive name of the line item. */ + @SerializedName("name") + Object name; + + /** Required. Quantity of the line item. Must be a positive number. */ + @SerializedName("quantity") + Long quantity; + + /** Client facing stock keeping unit, article number or similar. */ + @SerializedName("sku") + Object sku; + + /** The Stripe account ID of the connected account that sells the item. */ + @SerializedName("sold_by") + Object soldBy; + + /** The tax information for the line item. */ + @SerializedName("tax") + Tax tax; + + /** + * Required. Price for a single unit of the line item in minor units. + * Cannot be a negative number. + */ + @SerializedName("unit_amount") + Long unitAmount; + + private LineItem( + Category category, + Object description, + Map extraParams, + Object name, + Long quantity, + Object sku, + Object soldBy, + Tax tax, + Long unitAmount) { + this.category = category; + this.description = description; + this.extraParams = extraParams; + this.name = name; + this.quantity = quantity; + this.sku = sku; + this.soldBy = soldBy; + this.tax = tax; + this.unitAmount = unitAmount; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Category category; + + private Object description; + + private Map extraParams; + + private Object name; + + private Long quantity; + + private Object sku; + + private Object soldBy; + + private Tax tax; + + private Long unitAmount; + + /** Finalize and obtain parameter instance from this builder. */ + public OrderUpdateParams.Payment.Settings.PaymentMethodOptions.Paypal.LineItem + build() { + return new OrderUpdateParams.Payment.Settings.PaymentMethodOptions.Paypal.LineItem( + this.category, + this.description, + this.extraParams, + this.name, + this.quantity, + this.sku, + this.soldBy, + this.tax, + this.unitAmount); + } + + /** Type of the line item. */ + public Builder setCategory( + OrderUpdateParams.Payment.Settings.PaymentMethodOptions.Paypal.LineItem.Category + category) { + this.category = category; + return this; + } + + /** Description of the line item. */ + public Builder setDescription(String description) { + this.description = description; + return this; + } + + /** Description of the line item. */ + public Builder setDescription(EmptyParam description) { + this.description = description; + 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 + * OrderUpdateParams.Payment.Settings.PaymentMethodOptions.Paypal.LineItem#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 + * OrderUpdateParams.Payment.Settings.PaymentMethodOptions.Paypal.LineItem#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. Descriptive name of the line item. */ + public Builder setName(String name) { + this.name = name; + return this; + } + + /** Required. Descriptive name of the line item. */ + public Builder setName(EmptyParam name) { + this.name = name; + return this; + } + + /** + * Required. Quantity of the line item. Must be a positive number. + */ + public Builder setQuantity(Long quantity) { + this.quantity = quantity; + return this; + } + + /** Client facing stock keeping unit, article number or similar. */ + public Builder setSku(String sku) { + this.sku = sku; + return this; + } + + /** Client facing stock keeping unit, article number or similar. */ + public Builder setSku(EmptyParam sku) { + this.sku = sku; + return this; + } + + /** The Stripe account ID of the connected account that sells the item. */ + public Builder setSoldBy(String soldBy) { + this.soldBy = soldBy; + return this; + } + + /** The Stripe account ID of the connected account that sells the item. */ + public Builder setSoldBy(EmptyParam soldBy) { + this.soldBy = soldBy; + return this; + } + + /** The tax information for the line item. */ + public Builder setTax( + OrderUpdateParams.Payment.Settings.PaymentMethodOptions.Paypal.LineItem.Tax tax) { + this.tax = tax; + return this; + } + + /** + * Required. Price for a single unit of the line item in minor units. + * Cannot be a negative number. + */ + public Builder setUnitAmount(Long unitAmount) { + this.unitAmount = unitAmount; + return this; + } + } + + @Getter + public static class Tax { + /** + * Required. The tax for a single unit of the line item in minor + * units. Cannot be a negative number. + */ + @SerializedName("amount") + Long amount; + + /** Required. The tax behavior for the line item. */ + @SerializedName("behavior") + Behavior behavior; + + /** + * 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(Long amount, Behavior behavior, Map extraParams) { + this.amount = amount; + this.behavior = behavior; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Long amount; + + private Behavior behavior; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public OrderUpdateParams.Payment.Settings.PaymentMethodOptions.Paypal.LineItem.Tax + build() { + return new OrderUpdateParams.Payment.Settings.PaymentMethodOptions.Paypal.LineItem + .Tax(this.amount, this.behavior, this.extraParams); + } + + /** + * Required. The tax for a single unit of the line item in minor + * units. Cannot be a negative number. + */ + public Builder setAmount(Long amount) { + this.amount = amount; + return this; + } + + /** Required. The tax behavior for the line item. */ + public Builder setBehavior( + OrderUpdateParams.Payment.Settings.PaymentMethodOptions.Paypal.LineItem.Tax + .Behavior + behavior) { + this.behavior = behavior; + 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 + * OrderUpdateParams.Payment.Settings.PaymentMethodOptions.Paypal.LineItem.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 + * OrderUpdateParams.Payment.Settings.PaymentMethodOptions.Paypal.LineItem.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; + } + } + + public enum Behavior implements ApiRequestParams.EnumParam { + @SerializedName("exclusive") + EXCLUSIVE("exclusive"), + + @SerializedName("inclusive") + INCLUSIVE("inclusive"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Behavior(String value) { + this.value = value; + } + } + } + + public enum Category implements ApiRequestParams.EnumParam { + @SerializedName("digital_goods") + DIGITAL_GOODS("digital_goods"), + + @SerializedName("donation") + DONATION("donation"), + + @SerializedName("physical_goods") + PHYSICAL_GOODS("physical_goods"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Category(String value) { + this.value = value; + } + } + } + public enum CaptureMethod implements ApiRequestParams.EnumParam { @SerializedName("manual") MANUAL("manual"); @@ -8684,19 +9075,20 @@ public static class TaxId { /** * Required. Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code - * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code ca_bn}, {@code ca_gst_hst}, {@code - * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code - * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, - * {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code - * eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, - * {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code - * jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, - * {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code - * no_vat}, {@code no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, - * {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code - * sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, - * {@code tw_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code ve_rif}, {@code - * vn_tin}, or {@code za_vat} + * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code + * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, + * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code + * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, + * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code + * hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, + * {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code + * kz_bin}, {@code li_uid}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc}, {@code my_frp}, + * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code + * nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, + * {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code + * si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, + * {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code + * ve_rif}, {@code vn_tin}, or {@code za_vat} */ @SerializedName("type") Type type; @@ -8758,19 +9150,20 @@ public Builder putAllExtraParam(Map map) { /** * Required. Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code - * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code ca_bn}, {@code ca_gst_hst}, {@code - * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code - * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, - * {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, - * {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code - * hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, - * {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code - * li_uid}, {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, - * {@code no_vat}, {@code no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code - * ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, - * {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code - * tr_tin}, {@code tw_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code ve_rif}, - * {@code vn_tin}, or {@code za_vat} + * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code + * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, + * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code + * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, + * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code + * hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, + * {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code + * kz_bin}, {@code li_uid}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc}, {@code my_frp}, + * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code + * nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, + * {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code + * si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, + * {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code + * ve_rif}, {@code vn_tin}, or {@code za_vat} */ public Builder setType(OrderUpdateParams.TaxDetails.TaxId.Type type) { this.type = type; @@ -8821,6 +9214,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("br_cpf") BR_CPF("br_cpf"), + @SerializedName("by_tin") + BY_TIN("by_tin"), + @SerializedName("ca_bn") CA_BN("ca_bn"), @@ -8926,6 +9322,12 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("li_uid") LI_UID("li_uid"), + @SerializedName("ma_vat") + MA_VAT("ma_vat"), + + @SerializedName("md_vat") + MD_VAT("md_vat"), + @SerializedName("mx_rfc") MX_RFC("mx_rfc"), @@ -8995,6 +9397,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("tw_vat") TW_VAT("tw_vat"), + @SerializedName("tz_vat") + TZ_VAT("tz_vat"), + @SerializedName("ua_vat") UA_VAT("ua_vat"), @@ -9004,6 +9409,12 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("uy_ruc") UY_RUC("uy_ruc"), + @SerializedName("uz_tin") + UZ_TIN("uz_tin"), + + @SerializedName("uz_vat") + UZ_VAT("uz_vat"), + @SerializedName("ve_rif") VE_RIF("ve_rif"), diff --git a/src/main/java/com/stripe/param/PaymentIntentApplyCustomerBalanceParams.java b/src/main/java/com/stripe/param/PaymentIntentApplyCustomerBalanceParams.java index 1d270512f33..d8a9eff2b20 100644 --- a/src/main/java/com/stripe/param/PaymentIntentApplyCustomerBalanceParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentApplyCustomerBalanceParams.java @@ -12,13 +12,14 @@ @Getter public class PaymentIntentApplyCustomerBalanceParams extends ApiRequestParams { /** - * Amount that you intend to apply to this PaymentIntent from the customer’s cash balance. + * Amount that you intend to apply to this PaymentIntent from the customer’s cash balance. If the + * PaymentIntent was created by an Invoice, the full amount of the PaymentIntent is applied + * regardless of this parameter. * *

A positive integer representing how much to charge in the smallest currency unit (for example, - * 100 cents to charge 1 USD or 100 to charge 100 JPY, a zero-decimal currency). - * - *

The maximum amount is the amount of the PaymentIntent. + * 100 cents to charge 1 USD or 100 to charge 100 JPY, a zero-decimal currency). The maximum + * amount is the amount of the PaymentIntent. * *

When you omit the amount, it defaults to the remaining amount requested on the * PaymentIntent. @@ -74,13 +75,14 @@ public PaymentIntentApplyCustomerBalanceParams build() { } /** - * Amount that you intend to apply to this PaymentIntent from the customer’s cash balance. + * Amount that you intend to apply to this PaymentIntent from the customer’s cash balance. If + * the PaymentIntent was created by an Invoice, the full amount of the PaymentIntent is applied + * regardless of this parameter. * *

A positive integer representing how much to charge in the smallest currency unit (for - * example, 100 cents to charge 1 USD or 100 to charge 100 JPY, a zero-decimal currency). - * - *

The maximum amount is the amount of the PaymentIntent. + * example, 100 cents to charge 1 USD or 100 to charge 100 JPY, a zero-decimal currency). The + * maximum amount is the amount of the PaymentIntent. * *

When you omit the amount, it defaults to the remaining amount requested on the * PaymentIntent. diff --git a/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java b/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java index 0680f2fcf4e..7cde4517281 100644 --- a/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java @@ -5460,6 +5460,13 @@ public static class PaymentMethodData { @SerializedName("interac_present") InteracPresent interacPresent; + /** + * If this is a {@code kakao_pay} PaymentMethod, this hash contains details about the Kakao Pay + * payment method. + */ + @SerializedName("kakao_pay") + KakaoPay kakaoPay; + /** * If this is a {@code klarna} PaymentMethod, this hash contains details about the Klarna * payment method. @@ -5474,6 +5481,13 @@ public static class PaymentMethodData { @SerializedName("konbini") Konbini konbini; + /** + * If this is a {@code kr_card} PaymentMethod, this hash contains details about the Korean Card + * payment method. + */ + @SerializedName("kr_card") + KrCard krCard; + /** * If this is an {@code Link} PaymentMethod, this hash contains details about the Link payment * method. @@ -5511,6 +5525,13 @@ public static class PaymentMethodData { @SerializedName("multibanco") Multibanco multibanco; + /** + * If this is a {@code naver_pay} PaymentMethod, this hash contains details about the Naver Pay + * payment method. + */ + @SerializedName("naver_pay") + NaverPay naverPay; + /** * If this is an {@code oxxo} PaymentMethod, this hash contains details about the OXXO payment * method. @@ -5525,6 +5546,13 @@ public static class PaymentMethodData { @SerializedName("p24") P24 p24; + /** + * If this is a {@code payco} PaymentMethod, this hash contains details about the PAYCO payment + * method. + */ + @SerializedName("payco") + Payco payco; + /** * If this is a {@code paynow} PaymentMethod, this hash contains details about the PayNow * payment method. @@ -5581,6 +5609,13 @@ public static class PaymentMethodData { @SerializedName("revolut_pay") RevolutPay revolutPay; + /** + * If this is a {@code samsung_pay} PaymentMethod, this hash contains details about the + * SamsungPay payment method. + */ + @SerializedName("samsung_pay") + SamsungPay samsungPay; + /** * If this is a {@code sepa_debit} PaymentMethod, this hash contains details about the SEPA * debit bank account. @@ -5659,15 +5694,19 @@ private PaymentMethodData( Grabpay grabpay, Ideal ideal, InteracPresent interacPresent, + KakaoPay kakaoPay, Klarna klarna, Konbini konbini, + KrCard krCard, Link link, MbWay mbWay, Map metadata, Mobilepay mobilepay, Multibanco multibanco, + NaverPay naverPay, Oxxo oxxo, P24 p24, + Payco payco, Paynow paynow, Paypal paypal, Payto payto, @@ -5676,6 +5715,7 @@ private PaymentMethodData( RadarOptions radarOptions, Rechnung rechnung, RevolutPay revolutPay, + SamsungPay samsungPay, SepaDebit sepaDebit, Sofort sofort, Swish swish, @@ -5705,15 +5745,19 @@ private PaymentMethodData( this.grabpay = grabpay; this.ideal = ideal; this.interacPresent = interacPresent; + this.kakaoPay = kakaoPay; this.klarna = klarna; this.konbini = konbini; + this.krCard = krCard; this.link = link; this.mbWay = mbWay; this.metadata = metadata; this.mobilepay = mobilepay; this.multibanco = multibanco; + this.naverPay = naverPay; this.oxxo = oxxo; this.p24 = p24; + this.payco = payco; this.paynow = paynow; this.paypal = paypal; this.payto = payto; @@ -5722,6 +5766,7 @@ private PaymentMethodData( this.radarOptions = radarOptions; this.rechnung = rechnung; this.revolutPay = revolutPay; + this.samsungPay = samsungPay; this.sepaDebit = sepaDebit; this.sofort = sofort; this.swish = swish; @@ -5779,10 +5824,14 @@ public static class Builder { private InteracPresent interacPresent; + private KakaoPay kakaoPay; + private Klarna klarna; private Konbini konbini; + private KrCard krCard; + private Link link; private MbWay mbWay; @@ -5793,10 +5842,14 @@ public static class Builder { private Multibanco multibanco; + private NaverPay naverPay; + private Oxxo oxxo; private P24 p24; + private Payco payco; + private Paynow paynow; private Paypal paypal; @@ -5813,6 +5866,8 @@ public static class Builder { private RevolutPay revolutPay; + private SamsungPay samsungPay; + private SepaDebit sepaDebit; private Sofort sofort; @@ -5853,15 +5908,19 @@ public PaymentIntentConfirmParams.PaymentMethodData build() { this.grabpay, this.ideal, this.interacPresent, + this.kakaoPay, this.klarna, this.konbini, + this.krCard, this.link, this.mbWay, this.metadata, this.mobilepay, this.multibanco, + this.naverPay, this.oxxo, this.p24, + this.payco, this.paynow, this.paypal, this.payto, @@ -5870,6 +5929,7 @@ public PaymentIntentConfirmParams.PaymentMethodData build() { this.radarOptions, this.rechnung, this.revolutPay, + this.samsungPay, this.sepaDebit, this.sofort, this.swish, @@ -6099,6 +6159,15 @@ public Builder setInteracPresent( return this; } + /** + * If this is a {@code kakao_pay} PaymentMethod, this hash contains details about the Kakao + * Pay payment method. + */ + public Builder setKakaoPay(PaymentIntentConfirmParams.PaymentMethodData.KakaoPay kakaoPay) { + this.kakaoPay = kakaoPay; + return this; + } + /** * If this is a {@code klarna} PaymentMethod, this hash contains details about the Klarna * payment method. @@ -6117,6 +6186,15 @@ public Builder setKonbini(PaymentIntentConfirmParams.PaymentMethodData.Konbini k return this; } + /** + * If this is a {@code kr_card} PaymentMethod, this hash contains details about the Korean + * Card payment method. + */ + public Builder setKrCard(PaymentIntentConfirmParams.PaymentMethodData.KrCard krCard) { + this.krCard = krCard; + return this; + } + /** * If this is an {@code Link} PaymentMethod, this hash contains details about the Link payment * method. @@ -6182,6 +6260,15 @@ public Builder setMultibanco( return this; } + /** + * If this is a {@code naver_pay} PaymentMethod, this hash contains details about the Naver + * Pay payment method. + */ + public Builder setNaverPay(PaymentIntentConfirmParams.PaymentMethodData.NaverPay naverPay) { + this.naverPay = naverPay; + return this; + } + /** * If this is an {@code oxxo} PaymentMethod, this hash contains details about the OXXO payment * method. @@ -6200,6 +6287,15 @@ public Builder setP24(PaymentIntentConfirmParams.PaymentMethodData.P24 p24) { return this; } + /** + * If this is a {@code payco} PaymentMethod, this hash contains details about the PAYCO + * payment method. + */ + public Builder setPayco(PaymentIntentConfirmParams.PaymentMethodData.Payco payco) { + this.payco = payco; + return this; + } + /** * If this is a {@code paynow} PaymentMethod, this hash contains details about the PayNow * payment method. @@ -6275,6 +6371,16 @@ public Builder setRevolutPay( return this; } + /** + * If this is a {@code samsung_pay} PaymentMethod, this hash contains details about the + * SamsungPay payment method. + */ + public Builder setSamsungPay( + PaymentIntentConfirmParams.PaymentMethodData.SamsungPay samsungPay) { + this.samsungPay = samsungPay; + return this; + } + /** * If this is a {@code sepa_debit} PaymentMethod, this hash contains details about the SEPA * debit bank account. @@ -8092,6 +8198,63 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class KakaoPay { + /** + * 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 KakaoPay(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentConfirmParams.PaymentMethodData.KakaoPay build() { + return new PaymentIntentConfirmParams.PaymentMethodData.KakaoPay(this.extraParams); + } + + /** + * 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.PaymentMethodData.KakaoPay#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.PaymentMethodData.KakaoPay#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 public static class Klarna { /** Customer's date of birth. */ @@ -8318,6 +8481,63 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class KrCard { + /** + * 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 KrCard(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentConfirmParams.PaymentMethodData.KrCard build() { + return new PaymentIntentConfirmParams.PaymentMethodData.KrCard(this.extraParams); + } + + /** + * 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.PaymentMethodData.KrCard#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.PaymentMethodData.KrCard#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 public static class Link { /** @@ -8546,6 +8766,99 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class NaverPay { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Whether to use Naver Pay points or a card to fund this transaction. If not provided, this + * defaults to {@code card}. + */ + @SerializedName("funding") + Funding funding; + + private NaverPay(Map extraParams, Funding funding) { + this.extraParams = extraParams; + this.funding = funding; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Funding funding; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentConfirmParams.PaymentMethodData.NaverPay build() { + return new PaymentIntentConfirmParams.PaymentMethodData.NaverPay( + this.extraParams, this.funding); + } + + /** + * 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.PaymentMethodData.NaverPay#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.PaymentMethodData.NaverPay#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Whether to use Naver Pay points or a card to fund this transaction. If not provided, this + * defaults to {@code card}. + */ + public Builder setFunding( + PaymentIntentConfirmParams.PaymentMethodData.NaverPay.Funding funding) { + this.funding = funding; + return this; + } + } + + public enum Funding implements ApiRequestParams.EnumParam { + @SerializedName("card") + CARD("card"), + + @SerializedName("points") + POINTS("points"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Funding(String value) { + this.value = value; + } + } + } + @Getter public static class Oxxo { /** @@ -8761,7 +9074,7 @@ public enum Bank implements ApiRequestParams.EnumParam { } @Getter - public static class Paynow { + public static class Payco { /** * 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. @@ -8771,7 +9084,7 @@ public static class Paynow { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private Paynow(Map extraParams) { + private Payco(Map extraParams) { this.extraParams = extraParams; } @@ -8783,14 +9096,14 @@ public static class Builder { private Map extraParams; /** Finalize and obtain parameter instance from this builder. */ - public PaymentIntentConfirmParams.PaymentMethodData.Paynow build() { - return new PaymentIntentConfirmParams.PaymentMethodData.Paynow(this.extraParams); + public PaymentIntentConfirmParams.PaymentMethodData.Payco build() { + return new PaymentIntentConfirmParams.PaymentMethodData.Payco(this.extraParams); } /** * 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.PaymentMethodData.Paynow#extraParams} for the + * map. See {@link PaymentIntentConfirmParams.PaymentMethodData.Payco#extraParams} for the * field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -8804,7 +9117,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PaymentIntentConfirmParams.PaymentMethodData.Paynow#extraParams} for the + * map. See {@link PaymentIntentConfirmParams.PaymentMethodData.Payco#extraParams} for the * field documentation. */ public Builder putAllExtraParam(Map map) { @@ -8818,7 +9131,7 @@ public Builder putAllExtraParam(Map map) { } @Getter - public static class Paypal { + public static class Paynow { /** * 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. @@ -8828,7 +9141,7 @@ public static class Paypal { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private Paypal(Map extraParams) { + private Paynow(Map extraParams) { this.extraParams = extraParams; } @@ -8840,14 +9153,14 @@ public static class Builder { private Map extraParams; /** Finalize and obtain parameter instance from this builder. */ - public PaymentIntentConfirmParams.PaymentMethodData.Paypal build() { - return new PaymentIntentConfirmParams.PaymentMethodData.Paypal(this.extraParams); + public PaymentIntentConfirmParams.PaymentMethodData.Paynow build() { + return new PaymentIntentConfirmParams.PaymentMethodData.Paynow(this.extraParams); } /** * 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.PaymentMethodData.Paypal#extraParams} for the + * map. See {@link PaymentIntentConfirmParams.PaymentMethodData.Paynow#extraParams} for the * field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -8861,7 +9174,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PaymentIntentConfirmParams.PaymentMethodData.Paypal#extraParams} for the + * map. See {@link PaymentIntentConfirmParams.PaymentMethodData.Paynow#extraParams} for the * field documentation. */ public Builder putAllExtraParam(Map map) { @@ -8875,15 +9188,7 @@ public Builder putAllExtraParam(Map map) { } @Getter - public static class Payto { - /** The account number for the bank account. */ - @SerializedName("account_number") - String accountNumber; - - /** Bank-State-Branch number of the bank account. */ - @SerializedName("bsb_number") - String bsbNumber; - + public static class Paypal { /** * 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. @@ -8893,11 +9198,76 @@ public static class Payto { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** The PayID alias for the bank account. */ - @SerializedName("pay_id") - String payId; - - private Payto( + private Paypal(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentConfirmParams.PaymentMethodData.Paypal build() { + return new PaymentIntentConfirmParams.PaymentMethodData.Paypal(this.extraParams); + } + + /** + * 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.PaymentMethodData.Paypal#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.PaymentMethodData.Paypal#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 + public static class Payto { + /** The account number for the bank account. */ + @SerializedName("account_number") + String accountNumber; + + /** Bank-State-Branch number of the bank account. */ + @SerializedName("bsb_number") + String bsbNumber; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** The PayID alias for the bank account. */ + @SerializedName("pay_id") + String payId; + + private Payto( String accountNumber, String bsbNumber, Map extraParams, String payId) { this.accountNumber = accountNumber; this.bsbNumber = bsbNumber; @@ -9391,6 +9761,63 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class SamsungPay { + /** + * 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 SamsungPay(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentConfirmParams.PaymentMethodData.SamsungPay build() { + return new PaymentIntentConfirmParams.PaymentMethodData.SamsungPay(this.extraParams); + } + + /** + * 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.PaymentMethodData.SamsungPay#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.PaymentMethodData.SamsungPay#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 public static class SepaDebit { /** @@ -10032,12 +10459,18 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("ideal") IDEAL("ideal"), + @SerializedName("kakao_pay") + KAKAO_PAY("kakao_pay"), + @SerializedName("klarna") KLARNA("klarna"), @SerializedName("konbini") KONBINI("konbini"), + @SerializedName("kr_card") + KR_CARD("kr_card"), + @SerializedName("link") LINK("link"), @@ -10050,12 +10483,18 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("multibanco") MULTIBANCO("multibanco"), + @SerializedName("naver_pay") + NAVER_PAY("naver_pay"), + @SerializedName("oxxo") OXXO("oxxo"), @SerializedName("p24") P24("p24"), + @SerializedName("payco") + PAYCO("payco"), + @SerializedName("paynow") PAYNOW("paynow"), @@ -10077,6 +10516,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("revolut_pay") REVOLUT_PAY("revolut_pay"), + @SerializedName("samsung_pay") + SAMSUNG_PAY("samsung_pay"), + @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), @@ -10255,6 +10697,13 @@ public static class PaymentMethodOptions { @SerializedName("interac_present") Object interacPresent; + /** + * If this is a {@code kakao_pay} PaymentMethod, this sub-hash contains details about the Kakao + * Pay payment method options. + */ + @SerializedName("kakao_pay") + Object kakaoPay; + /** * If this is a {@code klarna} PaymentMethod, this sub-hash contains details about the Klarna * payment method options. @@ -10269,6 +10718,13 @@ public static class PaymentMethodOptions { @SerializedName("konbini") Object konbini; + /** + * If this is a {@code kr_card} PaymentMethod, this sub-hash contains details about the KR Card + * payment method options. + */ + @SerializedName("kr_card") + Object krCard; + /** * If this is a {@code link} PaymentMethod, this sub-hash contains details about the Link * payment method options. @@ -10297,6 +10753,13 @@ public static class PaymentMethodOptions { @SerializedName("multibanco") Object multibanco; + /** + * If this is a {@code naver_pay} PaymentMethod, this sub-hash contains details about the Naver + * Pay payment method options. + */ + @SerializedName("naver_pay") + Object naverPay; + /** * If this is a {@code oxxo} PaymentMethod, this sub-hash contains details about the OXXO * payment method options. @@ -10311,6 +10774,13 @@ public static class PaymentMethodOptions { @SerializedName("p24") Object p24; + /** + * If this is a {@code payco} PaymentMethod, this sub-hash contains details about the PAYCO + * payment method options. + */ + @SerializedName("payco") + Object payco; + /** * If this is a {@code paynow} PaymentMethod, this sub-hash contains details about the PayNow * payment method options. @@ -10360,6 +10830,13 @@ public static class PaymentMethodOptions { @SerializedName("revolut_pay") Object revolutPay; + /** + * If this is a {@code samsung_pay} PaymentMethod, this sub-hash contains details about the + * Samsung Pay payment method options. + */ + @SerializedName("samsung_pay") + Object samsungPay; + /** * If this is a {@code sepa_debit} PaymentIntent, this sub-hash contains details about the SEPA * Debit payment method options. @@ -10431,14 +10908,18 @@ private PaymentMethodOptions( Object grabpay, Object ideal, Object interacPresent, + Object kakaoPay, Object klarna, Object konbini, + Object krCard, Object link, Object mbWay, Object mobilepay, Object multibanco, + Object naverPay, Object oxxo, Object p24, + Object payco, Object paynow, Object paypal, Object payto, @@ -10446,6 +10927,7 @@ private PaymentMethodOptions( Object promptpay, Object rechnung, Object revolutPay, + Object samsungPay, Object sepaDebit, Object sofort, Object swish, @@ -10474,14 +10956,18 @@ private PaymentMethodOptions( this.grabpay = grabpay; this.ideal = ideal; this.interacPresent = interacPresent; + this.kakaoPay = kakaoPay; this.klarna = klarna; this.konbini = konbini; + this.krCard = krCard; this.link = link; this.mbWay = mbWay; this.mobilepay = mobilepay; this.multibanco = multibanco; + this.naverPay = naverPay; this.oxxo = oxxo; this.p24 = p24; + this.payco = payco; this.paynow = paynow; this.paypal = paypal; this.payto = payto; @@ -10489,6 +10975,7 @@ private PaymentMethodOptions( this.promptpay = promptpay; this.rechnung = rechnung; this.revolutPay = revolutPay; + this.samsungPay = samsungPay; this.sepaDebit = sepaDebit; this.sofort = sofort; this.swish = swish; @@ -10545,10 +11032,14 @@ public static class Builder { private Object interacPresent; + private Object kakaoPay; + private Object klarna; private Object konbini; + private Object krCard; + private Object link; private Object mbWay; @@ -10557,10 +11048,14 @@ public static class Builder { private Object multibanco; + private Object naverPay; + private Object oxxo; private Object p24; + private Object payco; + private Object paynow; private Object paypal; @@ -10575,6 +11070,8 @@ public static class Builder { private Object revolutPay; + private Object samsungPay; + private Object sepaDebit; private Object sofort; @@ -10613,14 +11110,18 @@ public PaymentIntentConfirmParams.PaymentMethodOptions build() { this.grabpay, this.ideal, this.interacPresent, + this.kakaoPay, this.klarna, this.konbini, + this.krCard, this.link, this.mbWay, this.mobilepay, this.multibanco, + this.naverPay, this.oxxo, this.p24, + this.payco, this.paynow, this.paypal, this.payto, @@ -10628,6 +11129,7 @@ public PaymentIntentConfirmParams.PaymentMethodOptions build() { this.promptpay, this.rechnung, this.revolutPay, + this.samsungPay, this.sepaDebit, this.sofort, this.swish, @@ -11027,6 +11529,25 @@ public Builder setInteracPresent(EmptyParam interacPresent) { return this; } + /** + * If this is a {@code kakao_pay} PaymentMethod, this sub-hash contains details about the + * Kakao Pay payment method options. + */ + public Builder setKakaoPay( + PaymentIntentConfirmParams.PaymentMethodOptions.KakaoPay kakaoPay) { + this.kakaoPay = kakaoPay; + return this; + } + + /** + * If this is a {@code kakao_pay} PaymentMethod, this sub-hash contains details about the + * Kakao Pay payment method options. + */ + public Builder setKakaoPay(EmptyParam kakaoPay) { + this.kakaoPay = kakaoPay; + return this; + } + /** * If this is a {@code klarna} PaymentMethod, this sub-hash contains details about the Klarna * payment method options. @@ -11063,6 +11584,24 @@ public Builder setKonbini(EmptyParam konbini) { return this; } + /** + * If this is a {@code kr_card} PaymentMethod, this sub-hash contains details about the KR + * Card payment method options. + */ + public Builder setKrCard(PaymentIntentConfirmParams.PaymentMethodOptions.KrCard krCard) { + this.krCard = krCard; + return this; + } + + /** + * If this is a {@code kr_card} PaymentMethod, this sub-hash contains details about the KR + * Card payment method options. + */ + public Builder setKrCard(EmptyParam krCard) { + this.krCard = krCard; + return this; + } + /** * If this is a {@code link} PaymentMethod, this sub-hash contains details about the Link * payment method options. @@ -11137,6 +11676,25 @@ public Builder setMultibanco(EmptyParam multibanco) { return this; } + /** + * If this is a {@code naver_pay} PaymentMethod, this sub-hash contains details about the + * Naver Pay payment method options. + */ + public Builder setNaverPay( + PaymentIntentConfirmParams.PaymentMethodOptions.NaverPay naverPay) { + this.naverPay = naverPay; + return this; + } + + /** + * If this is a {@code naver_pay} PaymentMethod, this sub-hash contains details about the + * Naver Pay payment method options. + */ + public Builder setNaverPay(EmptyParam naverPay) { + this.naverPay = naverPay; + return this; + } + /** * If this is a {@code oxxo} PaymentMethod, this sub-hash contains details about the OXXO * payment method options. @@ -11173,6 +11731,24 @@ public Builder setP24(EmptyParam p24) { return this; } + /** + * If this is a {@code payco} PaymentMethod, this sub-hash contains details about the PAYCO + * payment method options. + */ + public Builder setPayco(PaymentIntentConfirmParams.PaymentMethodOptions.Payco payco) { + this.payco = payco; + return this; + } + + /** + * If this is a {@code payco} PaymentMethod, this sub-hash contains details about the PAYCO + * payment method options. + */ + public Builder setPayco(EmptyParam payco) { + this.payco = payco; + return this; + } + /** * If this is a {@code paynow} PaymentMethod, this sub-hash contains details about the PayNow * payment method options. @@ -11302,6 +11878,25 @@ public Builder setRevolutPay(EmptyParam revolutPay) { return this; } + /** + * If this is a {@code samsung_pay} PaymentMethod, this sub-hash contains details about the + * Samsung Pay payment method options. + */ + public Builder setSamsungPay( + PaymentIntentConfirmParams.PaymentMethodOptions.SamsungPay samsungPay) { + this.samsungPay = samsungPay; + return this; + } + + /** + * If this is a {@code samsung_pay} PaymentMethod, this sub-hash contains details about the + * Samsung Pay payment method options. + */ + public Builder setSamsungPay(EmptyParam samsungPay) { + this.samsungPay = samsungPay; + return this; + } + /** * If this is a {@code sepa_debit} PaymentIntent, this sub-hash contains details about the * SEPA Debit payment method options. @@ -17484,7 +18079,7 @@ public Builder putAllExtraParam(Map map) { } @Getter - public static class Klarna { + public static class KakaoPay { /** * Controls when the funds are captured from the customer's account. * @@ -17507,10 +18102,6 @@ public static class Klarna { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Preferred language of the Klarna authorization page that the customer is redirected to. */ - @SerializedName("preferred_locale") - PreferredLocale preferredLocale; - /** * Indicates that you intend to make future payments with this PaymentIntent's payment method. * @@ -17529,22 +18120,16 @@ public static class Klarna { *

When processing card payments, Stripe uses {@code setup_future_usage} to help you comply * with regional legislation and network rules, such as SCA. - * - *

If you've already set {@code setup_future_usage} and you're performing a request using a - * publishable key, you can only update the value from {@code on_session} to {@code - * off_session}. */ @SerializedName("setup_future_usage") - SetupFutureUsage setupFutureUsage; + ApiRequestParams.EnumParam setupFutureUsage; - private Klarna( + private KakaoPay( ApiRequestParams.EnumParam captureMethod, Map extraParams, - PreferredLocale preferredLocale, - SetupFutureUsage setupFutureUsage) { + ApiRequestParams.EnumParam setupFutureUsage) { this.captureMethod = captureMethod; this.extraParams = extraParams; - this.preferredLocale = preferredLocale; this.setupFutureUsage = setupFutureUsage; } @@ -17557,14 +18142,12 @@ public static class Builder { private Map extraParams; - private PreferredLocale preferredLocale; - - private SetupFutureUsage setupFutureUsage; + private ApiRequestParams.EnumParam setupFutureUsage; /** Finalize and obtain parameter instance from this builder. */ - public PaymentIntentConfirmParams.PaymentMethodOptions.Klarna build() { - return new PaymentIntentConfirmParams.PaymentMethodOptions.Klarna( - this.captureMethod, this.extraParams, this.preferredLocale, this.setupFutureUsage); + public PaymentIntentConfirmParams.PaymentMethodOptions.KakaoPay build() { + return new PaymentIntentConfirmParams.PaymentMethodOptions.KakaoPay( + this.captureMethod, this.extraParams, this.setupFutureUsage); } /** @@ -17578,7 +18161,7 @@ public PaymentIntentConfirmParams.PaymentMethodOptions.Klarna build() { * value for this parameter unsets the stored value for this payment method type. */ public Builder setCaptureMethod( - PaymentIntentConfirmParams.PaymentMethodOptions.Klarna.CaptureMethod captureMethod) { + PaymentIntentConfirmParams.PaymentMethodOptions.KakaoPay.CaptureMethod captureMethod) { this.captureMethod = captureMethod; return this; } @@ -17601,7 +18184,7 @@ public Builder setCaptureMethod(EmptyParam captureMethod) { /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PaymentIntentConfirmParams.PaymentMethodOptions.Klarna#extraParams} for + * map. See {@link PaymentIntentConfirmParams.PaymentMethodOptions.KakaoPay#extraParams} for * the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -17615,7 +18198,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PaymentIntentConfirmParams.PaymentMethodOptions.Klarna#extraParams} for + * map. See {@link PaymentIntentConfirmParams.PaymentMethodOptions.KakaoPay#extraParams} for * the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -17626,16 +18209,6 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Preferred language of the Klarna authorization page that the customer is redirected to. - */ - public Builder setPreferredLocale( - PaymentIntentConfirmParams.PaymentMethodOptions.Klarna.PreferredLocale - preferredLocale) { - this.preferredLocale = preferredLocale; - return this; - } - /** * Indicates that you intend to make future payments with this PaymentIntent's payment * method. @@ -17655,30 +18228,264 @@ public Builder setPreferredLocale( *

When processing card payments, Stripe uses {@code setup_future_usage} to help you * comply with regional legislation and network rules, such as SCA. - * - *

If you've already set {@code setup_future_usage} and you're performing a request using - * a publishable key, you can only update the value from {@code on_session} to {@code - * off_session}. */ public Builder setSetupFutureUsage( - PaymentIntentConfirmParams.PaymentMethodOptions.Klarna.SetupFutureUsage + PaymentIntentConfirmParams.PaymentMethodOptions.KakaoPay.SetupFutureUsage setupFutureUsage) { this.setupFutureUsage = setupFutureUsage; return this; } - } - - public enum CaptureMethod implements ApiRequestParams.EnumParam { - @SerializedName("manual") - MANUAL("manual"); - - @Getter(onMethod_ = {@Override}) - private final String value; - CaptureMethod(String value) { - this.value = value; - } - } + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment + * method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to + * the Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe + * creates and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you + * comply with regional legislation and network rules, such as SCA. + */ + public Builder setSetupFutureUsage(EmptyParam setupFutureUsage) { + this.setupFutureUsage = setupFutureUsage; + return this; + } + } + + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + + public enum SetupFutureUsage implements ApiRequestParams.EnumParam { + @SerializedName("none") + NONE("none"), + + @SerializedName("off_session") + OFF_SESSION("off_session"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + SetupFutureUsage(String value) { + this.value = value; + } + } + } + + @Getter + public static class Klarna { + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty value + * for this parameter unsets the stored value for this payment method type. + */ + @SerializedName("capture_method") + ApiRequestParams.EnumParam captureMethod; + + /** + * 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; + + /** Preferred language of the Klarna authorization page that the customer is redirected to. */ + @SerializedName("preferred_locale") + PreferredLocale preferredLocale; + + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to the + * Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates + * and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you comply + * with regional legislation and network rules, such as SCA. + * + *

If you've already set {@code setup_future_usage} and you're performing a request using a + * publishable key, you can only update the value from {@code on_session} to {@code + * off_session}. + */ + @SerializedName("setup_future_usage") + SetupFutureUsage setupFutureUsage; + + private Klarna( + ApiRequestParams.EnumParam captureMethod, + Map extraParams, + PreferredLocale preferredLocale, + SetupFutureUsage setupFutureUsage) { + this.captureMethod = captureMethod; + this.extraParams = extraParams; + this.preferredLocale = preferredLocale; + this.setupFutureUsage = setupFutureUsage; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private ApiRequestParams.EnumParam captureMethod; + + private Map extraParams; + + private PreferredLocale preferredLocale; + + private SetupFutureUsage setupFutureUsage; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentConfirmParams.PaymentMethodOptions.Klarna build() { + return new PaymentIntentConfirmParams.PaymentMethodOptions.Klarna( + this.captureMethod, this.extraParams, this.preferredLocale, this.setupFutureUsage); + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod( + PaymentIntentConfirmParams.PaymentMethodOptions.Klarna.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod(EmptyParam captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentConfirmParams.PaymentMethodOptions.Klarna#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentConfirmParams.PaymentMethodOptions.Klarna#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Preferred language of the Klarna authorization page that the customer is redirected to. + */ + public Builder setPreferredLocale( + PaymentIntentConfirmParams.PaymentMethodOptions.Klarna.PreferredLocale + preferredLocale) { + this.preferredLocale = preferredLocale; + return this; + } + + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment + * method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to + * the Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe + * creates and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you + * comply with regional legislation and network rules, such as SCA. + * + *

If you've already set {@code setup_future_usage} and you're performing a request using + * a publishable key, you can only update the value from {@code on_session} to {@code + * off_session}. + */ + public Builder setSetupFutureUsage( + PaymentIntentConfirmParams.PaymentMethodOptions.Klarna.SetupFutureUsage + setupFutureUsage) { + this.setupFutureUsage = setupFutureUsage; + return this; + } + } + + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } public enum PreferredLocale implements ApiRequestParams.EnumParam { @SerializedName("cs-CZ") @@ -18103,7 +18910,7 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam { } @Getter - public static class Link { + public static class KrCard { /** * Controls when the funds are captured from the customer's account. * @@ -18126,11 +18933,223 @@ public static class Link { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** [Deprecated] This is a legacy parameter that no longer has any function. */ - @SerializedName("persistent_token") - @Deprecated - String persistentToken; - + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to the + * Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates + * and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you comply + * with regional legislation and network rules, such as SCA. + */ + @SerializedName("setup_future_usage") + ApiRequestParams.EnumParam setupFutureUsage; + + private KrCard( + ApiRequestParams.EnumParam captureMethod, + Map extraParams, + ApiRequestParams.EnumParam setupFutureUsage) { + this.captureMethod = captureMethod; + this.extraParams = extraParams; + this.setupFutureUsage = setupFutureUsage; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private ApiRequestParams.EnumParam captureMethod; + + private Map extraParams; + + private ApiRequestParams.EnumParam setupFutureUsage; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentConfirmParams.PaymentMethodOptions.KrCard build() { + return new PaymentIntentConfirmParams.PaymentMethodOptions.KrCard( + this.captureMethod, this.extraParams, this.setupFutureUsage); + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod( + PaymentIntentConfirmParams.PaymentMethodOptions.KrCard.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod(EmptyParam captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentConfirmParams.PaymentMethodOptions.KrCard#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentConfirmParams.PaymentMethodOptions.KrCard#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment + * method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to + * the Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe + * creates and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you + * comply with regional legislation and network rules, such as SCA. + */ + public Builder setSetupFutureUsage( + PaymentIntentConfirmParams.PaymentMethodOptions.KrCard.SetupFutureUsage + setupFutureUsage) { + this.setupFutureUsage = setupFutureUsage; + return this; + } + + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment + * method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to + * the Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe + * creates and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you + * comply with regional legislation and network rules, such as SCA. + */ + public Builder setSetupFutureUsage(EmptyParam setupFutureUsage) { + this.setupFutureUsage = setupFutureUsage; + return this; + } + } + + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + + public enum SetupFutureUsage implements ApiRequestParams.EnumParam { + @SerializedName("none") + NONE("none"), + + @SerializedName("off_session") + OFF_SESSION("off_session"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + SetupFutureUsage(String value) { + this.value = value; + } + } + } + + @Getter + public static class Link { + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty value + * for this parameter unsets the stored value for this payment method type. + */ + @SerializedName("capture_method") + ApiRequestParams.EnumParam captureMethod; + + /** + * 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; + + /** [Deprecated] This is a legacy parameter that no longer has any function. */ + @SerializedName("persistent_token") + @Deprecated + String persistentToken; + /** * Indicates that you intend to make future payments with this PaymentIntent's payment method. * @@ -18795,14 +19814,19 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam { } @Getter - public static class Oxxo { + public static class NaverPay { /** - * The number of calendar days before an OXXO voucher expires. For example, if you create an - * OXXO voucher on Monday and you set expires_after_days to 2, the OXXO invoice will expire on - * Wednesday at 23:59 America/Mexico_City time. + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty value + * for this parameter unsets the stored value for this payment method type. */ - @SerializedName("expires_after_days") - Long expiresAfterDays; + @SerializedName("capture_method") + ApiRequestParams.EnumParam captureMethod; /** * Map of extra parameters for custom features not available in this client library. The @@ -18813,34 +19837,146 @@ public static class Oxxo { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to the - * Customer after the PaymentIntent is confirmed and the customer completes any required - * actions. If you don't provide a Customer, you can still attach the payment method to a - * Customer after the transaction completes. - * - *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates - * and attaches a generated_card - * payment method representing the card to the Customer instead. - * - *

When processing card payments, Stripe uses {@code setup_future_usage} to help you comply - * with regional legislation and network rules, such as SCA. - * - *

If you've already set {@code setup_future_usage} and you're performing a request using a - * publishable key, you can only update the value from {@code on_session} to {@code - * off_session}. - */ - @SerializedName("setup_future_usage") - SetupFutureUsage setupFutureUsage; + private NaverPay(ApiRequestParams.EnumParam captureMethod, Map extraParams) { + this.captureMethod = captureMethod; + this.extraParams = extraParams; + } - private Oxxo( - Long expiresAfterDays, + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private ApiRequestParams.EnumParam captureMethod; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentConfirmParams.PaymentMethodOptions.NaverPay build() { + return new PaymentIntentConfirmParams.PaymentMethodOptions.NaverPay( + this.captureMethod, this.extraParams); + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod( + PaymentIntentConfirmParams.PaymentMethodOptions.NaverPay.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod(EmptyParam captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentConfirmParams.PaymentMethodOptions.NaverPay#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentConfirmParams.PaymentMethodOptions.NaverPay#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + } + + @Getter + public static class Oxxo { + /** + * The number of calendar days before an OXXO voucher expires. For example, if you create an + * OXXO voucher on Monday and you set expires_after_days to 2, the OXXO invoice will expire on + * Wednesday at 23:59 America/Mexico_City time. + */ + @SerializedName("expires_after_days") + Long expiresAfterDays; + + /** + * 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; + + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to the + * Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates + * and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you comply + * with regional legislation and network rules, such as SCA. + * + *

If you've already set {@code setup_future_usage} and you're performing a request using a + * publishable key, you can only update the value from {@code on_session} to {@code + * off_session}. + */ + @SerializedName("setup_future_usage") + SetupFutureUsage setupFutureUsage; + + private Oxxo( + Long expiresAfterDays, Map extraParams, SetupFutureUsage setupFutureUsage) { this.expiresAfterDays = expiresAfterDays; @@ -19093,6 +20229,123 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam { } } + @Getter + public static class Payco { + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty value + * for this parameter unsets the stored value for this payment method type. + */ + @SerializedName("capture_method") + ApiRequestParams.EnumParam captureMethod; + + /** + * 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 Payco(ApiRequestParams.EnumParam captureMethod, Map extraParams) { + this.captureMethod = captureMethod; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private ApiRequestParams.EnumParam captureMethod; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentConfirmParams.PaymentMethodOptions.Payco build() { + return new PaymentIntentConfirmParams.PaymentMethodOptions.Payco( + this.captureMethod, this.extraParams); + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod( + PaymentIntentConfirmParams.PaymentMethodOptions.Payco.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod(EmptyParam captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentConfirmParams.PaymentMethodOptions.Payco#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentConfirmParams.PaymentMethodOptions.Payco#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + } + @Getter public static class Paynow { /** @@ -19238,6 +20491,10 @@ public static class Paypal { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** The line items purchased by the customer. */ + @SerializedName("line_items") + List lineItems; + /** * Preferred locale of * the PayPal checkout page that the customer is redirected to. @@ -19303,6 +20560,7 @@ public static class Paypal { private Paypal( ApiRequestParams.EnumParam captureMethod, Map extraParams, + List lineItems, PreferredLocale preferredLocale, String reference, String referenceId, @@ -19311,6 +20569,7 @@ private Paypal( List subsellers) { this.captureMethod = captureMethod; this.extraParams = extraParams; + this.lineItems = lineItems; this.preferredLocale = preferredLocale; this.reference = reference; this.referenceId = referenceId; @@ -19328,6 +20587,8 @@ public static class Builder { private Map extraParams; + private List lineItems; + private PreferredLocale preferredLocale; private String reference; @@ -19345,6 +20606,7 @@ public PaymentIntentConfirmParams.PaymentMethodOptions.Paypal build() { return new PaymentIntentConfirmParams.PaymentMethodOptions.Paypal( this.captureMethod, this.extraParams, + this.lineItems, this.preferredLocale, this.reference, this.referenceId, @@ -19376,149 +20638,497 @@ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { this.extraParams = new HashMap<>(); } - this.extraParams.put(key, value); - return this; - } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentConfirmParams.PaymentMethodOptions.Paypal#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Add an element to `lineItems` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * PaymentIntentConfirmParams.PaymentMethodOptions.Paypal#lineItems} for the field + * documentation. + */ + public Builder addLineItem( + PaymentIntentConfirmParams.PaymentMethodOptions.Paypal.LineItem element) { + if (this.lineItems == null) { + this.lineItems = new ArrayList<>(); + } + this.lineItems.add(element); + return this; + } + + /** + * Add all elements to `lineItems` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * PaymentIntentConfirmParams.PaymentMethodOptions.Paypal#lineItems} for the field + * documentation. + */ + public Builder addAllLineItem( + List elements) { + if (this.lineItems == null) { + this.lineItems = new ArrayList<>(); + } + this.lineItems.addAll(elements); + return this; + } + + /** + * Preferred locale + * of the PayPal checkout page that the customer is redirected to. + */ + public Builder setPreferredLocale( + PaymentIntentConfirmParams.PaymentMethodOptions.Paypal.PreferredLocale + preferredLocale) { + this.preferredLocale = preferredLocale; + return this; + } + + /** + * A reference of the PayPal transaction visible to customer which is mapped to PayPal's + * invoice ID. This must be a globally unique ID if you have configured in your PayPal + * settings to block multiple payments per invoice ID. + */ + public Builder setReference(String reference) { + this.reference = reference; + return this; + } + + /** + * A reference of the PayPal transaction visible to customer which is mapped to PayPal's + * invoice ID. This must be a globally unique ID if you have configured in your PayPal + * settings to block multiple payments per invoice ID. + */ + public Builder setReferenceId(String referenceId) { + this.referenceId = referenceId; + return this; + } + + /** + * The risk correlation ID for an on-session payment using a saved PayPal payment method. + */ + public Builder setRiskCorrelationId(String riskCorrelationId) { + this.riskCorrelationId = riskCorrelationId; + return this; + } + + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment + * method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to + * the Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe + * creates and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you + * comply with regional legislation and network rules, such as SCA. + * + *

If you've already set {@code setup_future_usage} and you're performing a request using + * a publishable key, you can only update the value from {@code on_session} to {@code + * off_session}. + */ + public Builder setSetupFutureUsage( + PaymentIntentConfirmParams.PaymentMethodOptions.Paypal.SetupFutureUsage + setupFutureUsage) { + this.setupFutureUsage = setupFutureUsage; + return this; + } + + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment + * method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to + * the Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe + * creates and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you + * comply with regional legislation and network rules, such as SCA. + * + *

If you've already set {@code setup_future_usage} and you're performing a request using + * a publishable key, you can only update the value from {@code on_session} to {@code + * off_session}. + */ + public Builder setSetupFutureUsage(EmptyParam setupFutureUsage) { + this.setupFutureUsage = setupFutureUsage; + return this; + } + + /** + * Add an element to `subsellers` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * PaymentIntentConfirmParams.PaymentMethodOptions.Paypal#subsellers} for the field + * documentation. + */ + public Builder addSubseller(String element) { + if (this.subsellers == null) { + this.subsellers = new ArrayList<>(); + } + this.subsellers.add(element); + return this; + } + + /** + * Add all elements to `subsellers` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * PaymentIntentConfirmParams.PaymentMethodOptions.Paypal#subsellers} for the field + * documentation. + */ + public Builder addAllSubseller(List elements) { + if (this.subsellers == null) { + this.subsellers = new ArrayList<>(); + } + this.subsellers.addAll(elements); + return this; + } + } + + @Getter + public static class LineItem { + /** Type of the line item. */ + @SerializedName("category") + Category category; + + /** Description of the line item. */ + @SerializedName("description") + String description; + + /** + * 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. Descriptive name of the line item. */ + @SerializedName("name") + String name; + + /** Required. Quantity of the line item. Must be a positive number. */ + @SerializedName("quantity") + Long quantity; + + /** Client facing stock keeping unit, article number or similar. */ + @SerializedName("sku") + String sku; + + /** The Stripe account ID of the connected account that sells the item. */ + @SerializedName("sold_by") + String soldBy; + + /** The tax information for the line item. */ + @SerializedName("tax") + Tax tax; + + /** + * Required. Price for a single unit of the line item in minor units. + * Cannot be a negative number. + */ + @SerializedName("unit_amount") + Long unitAmount; + + private LineItem( + Category category, + String description, + Map extraParams, + String name, + Long quantity, + String sku, + String soldBy, + Tax tax, + Long unitAmount) { + this.category = category; + this.description = description; + this.extraParams = extraParams; + this.name = name; + this.quantity = quantity; + this.sku = sku; + this.soldBy = soldBy; + this.tax = tax; + this.unitAmount = unitAmount; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Category category; + + private String description; + + private Map extraParams; + + private String name; + + private Long quantity; + + private String sku; + + private String soldBy; + + private Tax tax; + + private Long unitAmount; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentConfirmParams.PaymentMethodOptions.Paypal.LineItem build() { + return new PaymentIntentConfirmParams.PaymentMethodOptions.Paypal.LineItem( + this.category, + this.description, + this.extraParams, + this.name, + this.quantity, + this.sku, + this.soldBy, + this.tax, + this.unitAmount); + } + + /** Type of the line item. */ + public Builder setCategory( + PaymentIntentConfirmParams.PaymentMethodOptions.Paypal.LineItem.Category category) { + this.category = category; + return this; + } + + /** Description of the line item. */ + public Builder setDescription(String description) { + this.description = description; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentIntentConfirmParams.PaymentMethodOptions.Paypal.LineItem#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentIntentConfirmParams.PaymentMethodOptions.Paypal.LineItem#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. Descriptive name of the line item. */ + public Builder setName(String name) { + this.name = name; + return this; + } + + /** Required. Quantity of the line item. Must be a positive number. */ + public Builder setQuantity(Long quantity) { + this.quantity = quantity; + return this; + } + + /** Client facing stock keeping unit, article number or similar. */ + public Builder setSku(String sku) { + this.sku = sku; + return this; + } + + /** The Stripe account ID of the connected account that sells the item. */ + public Builder setSoldBy(String soldBy) { + this.soldBy = soldBy; + return this; + } + + /** The tax information for the line item. */ + public Builder setTax( + PaymentIntentConfirmParams.PaymentMethodOptions.Paypal.LineItem.Tax tax) { + this.tax = tax; + return this; + } + + /** + * Required. Price for a single unit of the line item in minor units. + * Cannot be a negative number. + */ + public Builder setUnitAmount(Long unitAmount) { + this.unitAmount = unitAmount; + return this; + } + } + + @Getter + public static class Tax { + /** + * Required. The tax for a single unit of the line item in minor units. + * Cannot be a negative number. + */ + @SerializedName("amount") + Long amount; + + /** Required. The tax behavior for the line item. */ + @SerializedName("behavior") + Behavior behavior; + + /** + * 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(Long amount, Behavior behavior, Map extraParams) { + this.amount = amount; + this.behavior = behavior; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Long amount; + + private Behavior behavior; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentConfirmParams.PaymentMethodOptions.Paypal.LineItem.Tax build() { + return new PaymentIntentConfirmParams.PaymentMethodOptions.Paypal.LineItem.Tax( + this.amount, this.behavior, this.extraParams); + } + + /** + * Required. The tax for a single unit of the line item in minor units. + * Cannot be a negative number. + */ + public Builder setAmount(Long amount) { + this.amount = amount; + return this; + } + + /** Required. The tax behavior for the line item. */ + public Builder setBehavior( + PaymentIntentConfirmParams.PaymentMethodOptions.Paypal.LineItem.Tax.Behavior + behavior) { + this.behavior = behavior; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * PaymentIntentConfirmParams.PaymentMethodOptions.Paypal.LineItem.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.PaymentMethodOptions.Paypal.LineItem.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; + } + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PaymentIntentConfirmParams.PaymentMethodOptions.Paypal#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + public enum Behavior implements ApiRequestParams.EnumParam { + @SerializedName("exclusive") + EXCLUSIVE("exclusive"), - /** - * Preferred locale - * of the PayPal checkout page that the customer is redirected to. - */ - public Builder setPreferredLocale( - PaymentIntentConfirmParams.PaymentMethodOptions.Paypal.PreferredLocale - preferredLocale) { - this.preferredLocale = preferredLocale; - return this; - } + @SerializedName("inclusive") + INCLUSIVE("inclusive"); - /** - * A reference of the PayPal transaction visible to customer which is mapped to PayPal's - * invoice ID. This must be a globally unique ID if you have configured in your PayPal - * settings to block multiple payments per invoice ID. - */ - public Builder setReference(String reference) { - this.reference = reference; - return this; - } + @Getter(onMethod_ = {@Override}) + private final String value; - /** - * A reference of the PayPal transaction visible to customer which is mapped to PayPal's - * invoice ID. This must be a globally unique ID if you have configured in your PayPal - * settings to block multiple payments per invoice ID. - */ - public Builder setReferenceId(String referenceId) { - this.referenceId = referenceId; - return this; + Behavior(String value) { + this.value = value; + } + } } - /** - * The risk correlation ID for an on-session payment using a saved PayPal payment method. - */ - public Builder setRiskCorrelationId(String riskCorrelationId) { - this.riskCorrelationId = riskCorrelationId; - return this; - } + public enum Category implements ApiRequestParams.EnumParam { + @SerializedName("digital_goods") + DIGITAL_GOODS("digital_goods"), - /** - * Indicates that you intend to make future payments with this PaymentIntent's payment - * method. - * - *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to - * the Customer after the PaymentIntent is confirmed and the customer completes any required - * actions. If you don't provide a Customer, you can still attach the payment method to a - * Customer after the transaction completes. - * - *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe - * creates and attaches a generated_card - * payment method representing the card to the Customer instead. - * - *

When processing card payments, Stripe uses {@code setup_future_usage} to help you - * comply with regional legislation and network rules, such as SCA. - * - *

If you've already set {@code setup_future_usage} and you're performing a request using - * a publishable key, you can only update the value from {@code on_session} to {@code - * off_session}. - */ - public Builder setSetupFutureUsage( - PaymentIntentConfirmParams.PaymentMethodOptions.Paypal.SetupFutureUsage - setupFutureUsage) { - this.setupFutureUsage = setupFutureUsage; - return this; - } + @SerializedName("donation") + DONATION("donation"), - /** - * Indicates that you intend to make future payments with this PaymentIntent's payment - * method. - * - *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to - * the Customer after the PaymentIntent is confirmed and the customer completes any required - * actions. If you don't provide a Customer, you can still attach the payment method to a - * Customer after the transaction completes. - * - *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe - * creates and attaches a generated_card - * payment method representing the card to the Customer instead. - * - *

When processing card payments, Stripe uses {@code setup_future_usage} to help you - * comply with regional legislation and network rules, such as SCA. - * - *

If you've already set {@code setup_future_usage} and you're performing a request using - * a publishable key, you can only update the value from {@code on_session} to {@code - * off_session}. - */ - public Builder setSetupFutureUsage(EmptyParam setupFutureUsage) { - this.setupFutureUsage = setupFutureUsage; - return this; - } + @SerializedName("physical_goods") + PHYSICAL_GOODS("physical_goods"); - /** - * Add an element to `subsellers` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See {@link - * PaymentIntentConfirmParams.PaymentMethodOptions.Paypal#subsellers} for the field - * documentation. - */ - public Builder addSubseller(String element) { - if (this.subsellers == null) { - this.subsellers = new ArrayList<>(); - } - this.subsellers.add(element); - return this; - } + @Getter(onMethod_ = {@Override}) + private final String value; - /** - * Add all elements to `subsellers` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See {@link - * PaymentIntentConfirmParams.PaymentMethodOptions.Paypal#subsellers} for the field - * documentation. - */ - public Builder addAllSubseller(List elements) { - if (this.subsellers == null) { - this.subsellers = new ArrayList<>(); + Category(String value) { + this.value = value; } - this.subsellers.addAll(elements); - return this; } } @@ -20654,6 +22264,125 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam { } } + @Getter + public static class SamsungPay { + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty value + * for this parameter unsets the stored value for this payment method type. + */ + @SerializedName("capture_method") + ApiRequestParams.EnumParam captureMethod; + + /** + * 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 SamsungPay( + ApiRequestParams.EnumParam captureMethod, Map extraParams) { + this.captureMethod = captureMethod; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private ApiRequestParams.EnumParam captureMethod; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentConfirmParams.PaymentMethodOptions.SamsungPay build() { + return new PaymentIntentConfirmParams.PaymentMethodOptions.SamsungPay( + this.captureMethod, this.extraParams); + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod( + PaymentIntentConfirmParams.PaymentMethodOptions.SamsungPay.CaptureMethod + captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod(EmptyParam captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentConfirmParams.PaymentMethodOptions.SamsungPay#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentConfirmParams.PaymentMethodOptions.SamsungPay#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + } + @Getter public static class SepaDebit { /** diff --git a/src/main/java/com/stripe/param/PaymentIntentCreateParams.java b/src/main/java/com/stripe/param/PaymentIntentCreateParams.java index 79589dcdcee..069607636b0 100644 --- a/src/main/java/com/stripe/param/PaymentIntentCreateParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentCreateParams.java @@ -5950,6 +5950,13 @@ public static class PaymentMethodData { @SerializedName("interac_present") InteracPresent interacPresent; + /** + * If this is a {@code kakao_pay} PaymentMethod, this hash contains details about the Kakao Pay + * payment method. + */ + @SerializedName("kakao_pay") + KakaoPay kakaoPay; + /** * If this is a {@code klarna} PaymentMethod, this hash contains details about the Klarna * payment method. @@ -5964,6 +5971,13 @@ public static class PaymentMethodData { @SerializedName("konbini") Konbini konbini; + /** + * If this is a {@code kr_card} PaymentMethod, this hash contains details about the Korean Card + * payment method. + */ + @SerializedName("kr_card") + KrCard krCard; + /** * If this is an {@code Link} PaymentMethod, this hash contains details about the Link payment * method. @@ -6001,6 +6015,13 @@ public static class PaymentMethodData { @SerializedName("multibanco") Multibanco multibanco; + /** + * If this is a {@code naver_pay} PaymentMethod, this hash contains details about the Naver Pay + * payment method. + */ + @SerializedName("naver_pay") + NaverPay naverPay; + /** * If this is an {@code oxxo} PaymentMethod, this hash contains details about the OXXO payment * method. @@ -6015,6 +6036,13 @@ public static class PaymentMethodData { @SerializedName("p24") P24 p24; + /** + * If this is a {@code payco} PaymentMethod, this hash contains details about the PAYCO payment + * method. + */ + @SerializedName("payco") + Payco payco; + /** * If this is a {@code paynow} PaymentMethod, this hash contains details about the PayNow * payment method. @@ -6071,6 +6099,13 @@ public static class PaymentMethodData { @SerializedName("revolut_pay") RevolutPay revolutPay; + /** + * If this is a {@code samsung_pay} PaymentMethod, this hash contains details about the + * SamsungPay payment method. + */ + @SerializedName("samsung_pay") + SamsungPay samsungPay; + /** * If this is a {@code sepa_debit} PaymentMethod, this hash contains details about the SEPA * debit bank account. @@ -6149,15 +6184,19 @@ private PaymentMethodData( Grabpay grabpay, Ideal ideal, InteracPresent interacPresent, + KakaoPay kakaoPay, Klarna klarna, Konbini konbini, + KrCard krCard, Link link, MbWay mbWay, Map metadata, Mobilepay mobilepay, Multibanco multibanco, + NaverPay naverPay, Oxxo oxxo, P24 p24, + Payco payco, Paynow paynow, Paypal paypal, Payto payto, @@ -6166,6 +6205,7 @@ private PaymentMethodData( RadarOptions radarOptions, Rechnung rechnung, RevolutPay revolutPay, + SamsungPay samsungPay, SepaDebit sepaDebit, Sofort sofort, Swish swish, @@ -6195,15 +6235,19 @@ private PaymentMethodData( this.grabpay = grabpay; this.ideal = ideal; this.interacPresent = interacPresent; + this.kakaoPay = kakaoPay; this.klarna = klarna; this.konbini = konbini; + this.krCard = krCard; this.link = link; this.mbWay = mbWay; this.metadata = metadata; this.mobilepay = mobilepay; this.multibanco = multibanco; + this.naverPay = naverPay; this.oxxo = oxxo; this.p24 = p24; + this.payco = payco; this.paynow = paynow; this.paypal = paypal; this.payto = payto; @@ -6212,6 +6256,7 @@ private PaymentMethodData( this.radarOptions = radarOptions; this.rechnung = rechnung; this.revolutPay = revolutPay; + this.samsungPay = samsungPay; this.sepaDebit = sepaDebit; this.sofort = sofort; this.swish = swish; @@ -6269,10 +6314,14 @@ public static class Builder { private InteracPresent interacPresent; + private KakaoPay kakaoPay; + private Klarna klarna; private Konbini konbini; + private KrCard krCard; + private Link link; private MbWay mbWay; @@ -6283,10 +6332,14 @@ public static class Builder { private Multibanco multibanco; + private NaverPay naverPay; + private Oxxo oxxo; private P24 p24; + private Payco payco; + private Paynow paynow; private Paypal paypal; @@ -6303,6 +6356,8 @@ public static class Builder { private RevolutPay revolutPay; + private SamsungPay samsungPay; + private SepaDebit sepaDebit; private Sofort sofort; @@ -6343,15 +6398,19 @@ public PaymentIntentCreateParams.PaymentMethodData build() { this.grabpay, this.ideal, this.interacPresent, + this.kakaoPay, this.klarna, this.konbini, + this.krCard, this.link, this.mbWay, this.metadata, this.mobilepay, this.multibanco, + this.naverPay, this.oxxo, this.p24, + this.payco, this.paynow, this.paypal, this.payto, @@ -6360,6 +6419,7 @@ public PaymentIntentCreateParams.PaymentMethodData build() { this.radarOptions, this.rechnung, this.revolutPay, + this.samsungPay, this.sepaDebit, this.sofort, this.swish, @@ -6586,6 +6646,15 @@ public Builder setInteracPresent( return this; } + /** + * If this is a {@code kakao_pay} PaymentMethod, this hash contains details about the Kakao + * Pay payment method. + */ + public Builder setKakaoPay(PaymentIntentCreateParams.PaymentMethodData.KakaoPay kakaoPay) { + this.kakaoPay = kakaoPay; + return this; + } + /** * If this is a {@code klarna} PaymentMethod, this hash contains details about the Klarna * payment method. @@ -6604,6 +6673,15 @@ public Builder setKonbini(PaymentIntentCreateParams.PaymentMethodData.Konbini ko return this; } + /** + * If this is a {@code kr_card} PaymentMethod, this hash contains details about the Korean + * Card payment method. + */ + public Builder setKrCard(PaymentIntentCreateParams.PaymentMethodData.KrCard krCard) { + this.krCard = krCard; + return this; + } + /** * If this is an {@code Link} PaymentMethod, this hash contains details about the Link payment * method. @@ -6668,6 +6746,15 @@ public Builder setMultibanco( return this; } + /** + * If this is a {@code naver_pay} PaymentMethod, this hash contains details about the Naver + * Pay payment method. + */ + public Builder setNaverPay(PaymentIntentCreateParams.PaymentMethodData.NaverPay naverPay) { + this.naverPay = naverPay; + return this; + } + /** * If this is an {@code oxxo} PaymentMethod, this hash contains details about the OXXO payment * method. @@ -6686,6 +6773,15 @@ public Builder setP24(PaymentIntentCreateParams.PaymentMethodData.P24 p24) { return this; } + /** + * If this is a {@code payco} PaymentMethod, this hash contains details about the PAYCO + * payment method. + */ + public Builder setPayco(PaymentIntentCreateParams.PaymentMethodData.Payco payco) { + this.payco = payco; + return this; + } + /** * If this is a {@code paynow} PaymentMethod, this hash contains details about the PayNow * payment method. @@ -6760,6 +6856,16 @@ public Builder setRevolutPay( return this; } + /** + * If this is a {@code samsung_pay} PaymentMethod, this hash contains details about the + * SamsungPay payment method. + */ + public Builder setSamsungPay( + PaymentIntentCreateParams.PaymentMethodData.SamsungPay samsungPay) { + this.samsungPay = samsungPay; + return this; + } + /** * If this is a {@code sepa_debit} PaymentMethod, this hash contains details about the SEPA * debit bank account. @@ -8571,6 +8677,63 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class KakaoPay { + /** + * 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 KakaoPay(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCreateParams.PaymentMethodData.KakaoPay build() { + return new PaymentIntentCreateParams.PaymentMethodData.KakaoPay(this.extraParams); + } + + /** + * 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.PaymentMethodData.KakaoPay#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.PaymentMethodData.KakaoPay#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 public static class Klarna { /** Customer's date of birth. */ @@ -8796,6 +8959,63 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class KrCard { + /** + * 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 KrCard(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCreateParams.PaymentMethodData.KrCard build() { + return new PaymentIntentCreateParams.PaymentMethodData.KrCard(this.extraParams); + } + + /** + * 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.PaymentMethodData.KrCard#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.PaymentMethodData.KrCard#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 public static class Link { /** @@ -9024,6 +9244,99 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class NaverPay { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Whether to use Naver Pay points or a card to fund this transaction. If not provided, this + * defaults to {@code card}. + */ + @SerializedName("funding") + Funding funding; + + private NaverPay(Map extraParams, Funding funding) { + this.extraParams = extraParams; + this.funding = funding; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Funding funding; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCreateParams.PaymentMethodData.NaverPay build() { + return new PaymentIntentCreateParams.PaymentMethodData.NaverPay( + this.extraParams, this.funding); + } + + /** + * 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.PaymentMethodData.NaverPay#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.PaymentMethodData.NaverPay#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Whether to use Naver Pay points or a card to fund this transaction. If not provided, this + * defaults to {@code card}. + */ + public Builder setFunding( + PaymentIntentCreateParams.PaymentMethodData.NaverPay.Funding funding) { + this.funding = funding; + return this; + } + } + + public enum Funding implements ApiRequestParams.EnumParam { + @SerializedName("card") + CARD("card"), + + @SerializedName("points") + POINTS("points"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Funding(String value) { + this.value = value; + } + } + } + @Getter public static class Oxxo { /** @@ -9239,7 +9552,7 @@ public enum Bank implements ApiRequestParams.EnumParam { } @Getter - public static class Paynow { + public static class Payco { /** * 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. @@ -9249,7 +9562,7 @@ public static class Paynow { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private Paynow(Map extraParams) { + private Payco(Map extraParams) { this.extraParams = extraParams; } @@ -9261,14 +9574,14 @@ public static class Builder { private Map extraParams; /** Finalize and obtain parameter instance from this builder. */ - public PaymentIntentCreateParams.PaymentMethodData.Paynow build() { - return new PaymentIntentCreateParams.PaymentMethodData.Paynow(this.extraParams); + public PaymentIntentCreateParams.PaymentMethodData.Payco build() { + return new PaymentIntentCreateParams.PaymentMethodData.Payco(this.extraParams); } /** * 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.PaymentMethodData.Paynow#extraParams} for the + * map. See {@link PaymentIntentCreateParams.PaymentMethodData.Payco#extraParams} for the * field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -9282,7 +9595,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PaymentIntentCreateParams.PaymentMethodData.Paynow#extraParams} for the + * map. See {@link PaymentIntentCreateParams.PaymentMethodData.Payco#extraParams} for the * field documentation. */ public Builder putAllExtraParam(Map map) { @@ -9296,7 +9609,7 @@ public Builder putAllExtraParam(Map map) { } @Getter - public static class Paypal { + public static class Paynow { /** * 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. @@ -9306,7 +9619,7 @@ public static class Paypal { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private Paypal(Map extraParams) { + private Paynow(Map extraParams) { this.extraParams = extraParams; } @@ -9318,14 +9631,14 @@ public static class Builder { private Map extraParams; /** Finalize and obtain parameter instance from this builder. */ - public PaymentIntentCreateParams.PaymentMethodData.Paypal build() { - return new PaymentIntentCreateParams.PaymentMethodData.Paypal(this.extraParams); + public PaymentIntentCreateParams.PaymentMethodData.Paynow build() { + return new PaymentIntentCreateParams.PaymentMethodData.Paynow(this.extraParams); } /** * 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.PaymentMethodData.Paypal#extraParams} for the + * map. See {@link PaymentIntentCreateParams.PaymentMethodData.Paynow#extraParams} for the * field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -9339,7 +9652,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PaymentIntentCreateParams.PaymentMethodData.Paypal#extraParams} for the + * map. See {@link PaymentIntentCreateParams.PaymentMethodData.Paynow#extraParams} for the * field documentation. */ public Builder putAllExtraParam(Map map) { @@ -9353,15 +9666,7 @@ public Builder putAllExtraParam(Map map) { } @Getter - public static class Payto { - /** The account number for the bank account. */ - @SerializedName("account_number") - String accountNumber; - - /** Bank-State-Branch number of the bank account. */ - @SerializedName("bsb_number") - String bsbNumber; - + public static class Paypal { /** * 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. @@ -9371,11 +9676,76 @@ public static class Payto { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** The PayID alias for the bank account. */ - @SerializedName("pay_id") - String payId; - - private Payto( + private Paypal(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCreateParams.PaymentMethodData.Paypal build() { + return new PaymentIntentCreateParams.PaymentMethodData.Paypal(this.extraParams); + } + + /** + * 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.PaymentMethodData.Paypal#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.PaymentMethodData.Paypal#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 + public static class Payto { + /** The account number for the bank account. */ + @SerializedName("account_number") + String accountNumber; + + /** Bank-State-Branch number of the bank account. */ + @SerializedName("bsb_number") + String bsbNumber; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** The PayID alias for the bank account. */ + @SerializedName("pay_id") + String payId; + + private Payto( String accountNumber, String bsbNumber, Map extraParams, String payId) { this.accountNumber = accountNumber; this.bsbNumber = bsbNumber; @@ -9869,6 +10239,63 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class SamsungPay { + /** + * 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 SamsungPay(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCreateParams.PaymentMethodData.SamsungPay build() { + return new PaymentIntentCreateParams.PaymentMethodData.SamsungPay(this.extraParams); + } + + /** + * 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.PaymentMethodData.SamsungPay#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.PaymentMethodData.SamsungPay#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 public static class SepaDebit { /** @@ -10510,12 +10937,18 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("ideal") IDEAL("ideal"), + @SerializedName("kakao_pay") + KAKAO_PAY("kakao_pay"), + @SerializedName("klarna") KLARNA("klarna"), @SerializedName("konbini") KONBINI("konbini"), + @SerializedName("kr_card") + KR_CARD("kr_card"), + @SerializedName("link") LINK("link"), @@ -10528,12 +10961,18 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("multibanco") MULTIBANCO("multibanco"), + @SerializedName("naver_pay") + NAVER_PAY("naver_pay"), + @SerializedName("oxxo") OXXO("oxxo"), @SerializedName("p24") P24("p24"), + @SerializedName("payco") + PAYCO("payco"), + @SerializedName("paynow") PAYNOW("paynow"), @@ -10555,6 +10994,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("revolut_pay") REVOLUT_PAY("revolut_pay"), + @SerializedName("samsung_pay") + SAMSUNG_PAY("samsung_pay"), + @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), @@ -10733,6 +11175,13 @@ public static class PaymentMethodOptions { @SerializedName("interac_present") Object interacPresent; + /** + * If this is a {@code kakao_pay} PaymentMethod, this sub-hash contains details about the Kakao + * Pay payment method options. + */ + @SerializedName("kakao_pay") + Object kakaoPay; + /** * If this is a {@code klarna} PaymentMethod, this sub-hash contains details about the Klarna * payment method options. @@ -10747,6 +11196,13 @@ public static class PaymentMethodOptions { @SerializedName("konbini") Object konbini; + /** + * If this is a {@code kr_card} PaymentMethod, this sub-hash contains details about the KR Card + * payment method options. + */ + @SerializedName("kr_card") + Object krCard; + /** * If this is a {@code link} PaymentMethod, this sub-hash contains details about the Link * payment method options. @@ -10775,6 +11231,13 @@ public static class PaymentMethodOptions { @SerializedName("multibanco") Object multibanco; + /** + * If this is a {@code naver_pay} PaymentMethod, this sub-hash contains details about the Naver + * Pay payment method options. + */ + @SerializedName("naver_pay") + Object naverPay; + /** * If this is a {@code oxxo} PaymentMethod, this sub-hash contains details about the OXXO * payment method options. @@ -10789,6 +11252,13 @@ public static class PaymentMethodOptions { @SerializedName("p24") Object p24; + /** + * If this is a {@code payco} PaymentMethod, this sub-hash contains details about the PAYCO + * payment method options. + */ + @SerializedName("payco") + Object payco; + /** * If this is a {@code paynow} PaymentMethod, this sub-hash contains details about the PayNow * payment method options. @@ -10838,6 +11308,13 @@ public static class PaymentMethodOptions { @SerializedName("revolut_pay") Object revolutPay; + /** + * If this is a {@code samsung_pay} PaymentMethod, this sub-hash contains details about the + * Samsung Pay payment method options. + */ + @SerializedName("samsung_pay") + Object samsungPay; + /** * If this is a {@code sepa_debit} PaymentIntent, this sub-hash contains details about the SEPA * Debit payment method options. @@ -10909,14 +11386,18 @@ private PaymentMethodOptions( Object grabpay, Object ideal, Object interacPresent, + Object kakaoPay, Object klarna, Object konbini, + Object krCard, Object link, Object mbWay, Object mobilepay, Object multibanco, + Object naverPay, Object oxxo, Object p24, + Object payco, Object paynow, Object paypal, Object payto, @@ -10924,6 +11405,7 @@ private PaymentMethodOptions( Object promptpay, Object rechnung, Object revolutPay, + Object samsungPay, Object sepaDebit, Object sofort, Object swish, @@ -10952,14 +11434,18 @@ private PaymentMethodOptions( this.grabpay = grabpay; this.ideal = ideal; this.interacPresent = interacPresent; + this.kakaoPay = kakaoPay; this.klarna = klarna; this.konbini = konbini; + this.krCard = krCard; this.link = link; this.mbWay = mbWay; this.mobilepay = mobilepay; this.multibanco = multibanco; + this.naverPay = naverPay; this.oxxo = oxxo; this.p24 = p24; + this.payco = payco; this.paynow = paynow; this.paypal = paypal; this.payto = payto; @@ -10967,6 +11453,7 @@ private PaymentMethodOptions( this.promptpay = promptpay; this.rechnung = rechnung; this.revolutPay = revolutPay; + this.samsungPay = samsungPay; this.sepaDebit = sepaDebit; this.sofort = sofort; this.swish = swish; @@ -11023,10 +11510,14 @@ public static class Builder { private Object interacPresent; + private Object kakaoPay; + private Object klarna; private Object konbini; + private Object krCard; + private Object link; private Object mbWay; @@ -11035,10 +11526,14 @@ public static class Builder { private Object multibanco; + private Object naverPay; + private Object oxxo; private Object p24; + private Object payco; + private Object paynow; private Object paypal; @@ -11053,6 +11548,8 @@ public static class Builder { private Object revolutPay; + private Object samsungPay; + private Object sepaDebit; private Object sofort; @@ -11091,14 +11588,18 @@ public PaymentIntentCreateParams.PaymentMethodOptions build() { this.grabpay, this.ideal, this.interacPresent, + this.kakaoPay, this.klarna, this.konbini, + this.krCard, this.link, this.mbWay, this.mobilepay, this.multibanco, + this.naverPay, this.oxxo, this.p24, + this.payco, this.paynow, this.paypal, this.payto, @@ -11106,6 +11607,7 @@ public PaymentIntentCreateParams.PaymentMethodOptions build() { this.promptpay, this.rechnung, this.revolutPay, + this.samsungPay, this.sepaDebit, this.sofort, this.swish, @@ -11505,6 +12007,24 @@ public Builder setInteracPresent(EmptyParam interacPresent) { return this; } + /** + * If this is a {@code kakao_pay} PaymentMethod, this sub-hash contains details about the + * Kakao Pay payment method options. + */ + public Builder setKakaoPay(PaymentIntentCreateParams.PaymentMethodOptions.KakaoPay kakaoPay) { + this.kakaoPay = kakaoPay; + return this; + } + + /** + * If this is a {@code kakao_pay} PaymentMethod, this sub-hash contains details about the + * Kakao Pay payment method options. + */ + public Builder setKakaoPay(EmptyParam kakaoPay) { + this.kakaoPay = kakaoPay; + return this; + } + /** * If this is a {@code klarna} PaymentMethod, this sub-hash contains details about the Klarna * payment method options. @@ -11541,6 +12061,24 @@ public Builder setKonbini(EmptyParam konbini) { return this; } + /** + * If this is a {@code kr_card} PaymentMethod, this sub-hash contains details about the KR + * Card payment method options. + */ + public Builder setKrCard(PaymentIntentCreateParams.PaymentMethodOptions.KrCard krCard) { + this.krCard = krCard; + return this; + } + + /** + * If this is a {@code kr_card} PaymentMethod, this sub-hash contains details about the KR + * Card payment method options. + */ + public Builder setKrCard(EmptyParam krCard) { + this.krCard = krCard; + return this; + } + /** * If this is a {@code link} PaymentMethod, this sub-hash contains details about the Link * payment method options. @@ -11615,6 +12153,24 @@ public Builder setMultibanco(EmptyParam multibanco) { return this; } + /** + * If this is a {@code naver_pay} PaymentMethod, this sub-hash contains details about the + * Naver Pay payment method options. + */ + public Builder setNaverPay(PaymentIntentCreateParams.PaymentMethodOptions.NaverPay naverPay) { + this.naverPay = naverPay; + return this; + } + + /** + * If this is a {@code naver_pay} PaymentMethod, this sub-hash contains details about the + * Naver Pay payment method options. + */ + public Builder setNaverPay(EmptyParam naverPay) { + this.naverPay = naverPay; + return this; + } + /** * If this is a {@code oxxo} PaymentMethod, this sub-hash contains details about the OXXO * payment method options. @@ -11651,6 +12207,24 @@ public Builder setP24(EmptyParam p24) { return this; } + /** + * If this is a {@code payco} PaymentMethod, this sub-hash contains details about the PAYCO + * payment method options. + */ + public Builder setPayco(PaymentIntentCreateParams.PaymentMethodOptions.Payco payco) { + this.payco = payco; + return this; + } + + /** + * If this is a {@code payco} PaymentMethod, this sub-hash contains details about the PAYCO + * payment method options. + */ + public Builder setPayco(EmptyParam payco) { + this.payco = payco; + return this; + } + /** * If this is a {@code paynow} PaymentMethod, this sub-hash contains details about the PayNow * payment method options. @@ -11779,6 +12353,25 @@ public Builder setRevolutPay(EmptyParam revolutPay) { return this; } + /** + * If this is a {@code samsung_pay} PaymentMethod, this sub-hash contains details about the + * Samsung Pay payment method options. + */ + public Builder setSamsungPay( + PaymentIntentCreateParams.PaymentMethodOptions.SamsungPay samsungPay) { + this.samsungPay = samsungPay; + return this; + } + + /** + * If this is a {@code samsung_pay} PaymentMethod, this sub-hash contains details about the + * Samsung Pay payment method options. + */ + public Builder setSamsungPay(EmptyParam samsungPay) { + this.samsungPay = samsungPay; + return this; + } + /** * If this is a {@code sepa_debit} PaymentIntent, this sub-hash contains details about the * SEPA Debit payment method options. @@ -17956,7 +18549,7 @@ public Builder putAllExtraParam(Map map) { } @Getter - public static class Klarna { + public static class KakaoPay { /** * Controls when the funds are captured from the customer's account. * @@ -17979,10 +18572,6 @@ public static class Klarna { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Preferred language of the Klarna authorization page that the customer is redirected to. */ - @SerializedName("preferred_locale") - PreferredLocale preferredLocale; - /** * Indicates that you intend to make future payments with this PaymentIntent's payment method. * @@ -18001,22 +18590,16 @@ public static class Klarna { *

When processing card payments, Stripe uses {@code setup_future_usage} to help you comply * with regional legislation and network rules, such as SCA. - * - *

If you've already set {@code setup_future_usage} and you're performing a request using a - * publishable key, you can only update the value from {@code on_session} to {@code - * off_session}. */ @SerializedName("setup_future_usage") - SetupFutureUsage setupFutureUsage; + ApiRequestParams.EnumParam setupFutureUsage; - private Klarna( + private KakaoPay( ApiRequestParams.EnumParam captureMethod, Map extraParams, - PreferredLocale preferredLocale, - SetupFutureUsage setupFutureUsage) { + ApiRequestParams.EnumParam setupFutureUsage) { this.captureMethod = captureMethod; this.extraParams = extraParams; - this.preferredLocale = preferredLocale; this.setupFutureUsage = setupFutureUsage; } @@ -18029,14 +18612,12 @@ public static class Builder { private Map extraParams; - private PreferredLocale preferredLocale; - - private SetupFutureUsage setupFutureUsage; + private ApiRequestParams.EnumParam setupFutureUsage; /** Finalize and obtain parameter instance from this builder. */ - public PaymentIntentCreateParams.PaymentMethodOptions.Klarna build() { - return new PaymentIntentCreateParams.PaymentMethodOptions.Klarna( - this.captureMethod, this.extraParams, this.preferredLocale, this.setupFutureUsage); + public PaymentIntentCreateParams.PaymentMethodOptions.KakaoPay build() { + return new PaymentIntentCreateParams.PaymentMethodOptions.KakaoPay( + this.captureMethod, this.extraParams, this.setupFutureUsage); } /** @@ -18050,7 +18631,7 @@ public PaymentIntentCreateParams.PaymentMethodOptions.Klarna build() { * value for this parameter unsets the stored value for this payment method type. */ public Builder setCaptureMethod( - PaymentIntentCreateParams.PaymentMethodOptions.Klarna.CaptureMethod captureMethod) { + PaymentIntentCreateParams.PaymentMethodOptions.KakaoPay.CaptureMethod captureMethod) { this.captureMethod = captureMethod; return this; } @@ -18073,7 +18654,7 @@ public Builder setCaptureMethod(EmptyParam captureMethod) { /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PaymentIntentCreateParams.PaymentMethodOptions.Klarna#extraParams} for + * map. See {@link PaymentIntentCreateParams.PaymentMethodOptions.KakaoPay#extraParams} for * the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -18087,7 +18668,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PaymentIntentCreateParams.PaymentMethodOptions.Klarna#extraParams} for + * map. See {@link PaymentIntentCreateParams.PaymentMethodOptions.KakaoPay#extraParams} for * the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -18098,15 +18679,6 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Preferred language of the Klarna authorization page that the customer is redirected to. - */ - public Builder setPreferredLocale( - PaymentIntentCreateParams.PaymentMethodOptions.Klarna.PreferredLocale preferredLocale) { - this.preferredLocale = preferredLocale; - return this; - } - /** * Indicates that you intend to make future payments with this PaymentIntent's payment * method. @@ -18126,30 +18698,263 @@ public Builder setPreferredLocale( *

When processing card payments, Stripe uses {@code setup_future_usage} to help you * comply with regional legislation and network rules, such as SCA. - * - *

If you've already set {@code setup_future_usage} and you're performing a request using - * a publishable key, you can only update the value from {@code on_session} to {@code - * off_session}. */ public Builder setSetupFutureUsage( - PaymentIntentCreateParams.PaymentMethodOptions.Klarna.SetupFutureUsage + PaymentIntentCreateParams.PaymentMethodOptions.KakaoPay.SetupFutureUsage setupFutureUsage) { this.setupFutureUsage = setupFutureUsage; return this; } - } - - public enum CaptureMethod implements ApiRequestParams.EnumParam { - @SerializedName("manual") - MANUAL("manual"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - CaptureMethod(String value) { - this.value = value; - } - } + + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment + * method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to + * the Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe + * creates and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you + * comply with regional legislation and network rules, such as SCA. + */ + public Builder setSetupFutureUsage(EmptyParam setupFutureUsage) { + this.setupFutureUsage = setupFutureUsage; + return this; + } + } + + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + + public enum SetupFutureUsage implements ApiRequestParams.EnumParam { + @SerializedName("none") + NONE("none"), + + @SerializedName("off_session") + OFF_SESSION("off_session"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + SetupFutureUsage(String value) { + this.value = value; + } + } + } + + @Getter + public static class Klarna { + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty value + * for this parameter unsets the stored value for this payment method type. + */ + @SerializedName("capture_method") + ApiRequestParams.EnumParam captureMethod; + + /** + * 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; + + /** Preferred language of the Klarna authorization page that the customer is redirected to. */ + @SerializedName("preferred_locale") + PreferredLocale preferredLocale; + + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to the + * Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates + * and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you comply + * with regional legislation and network rules, such as SCA. + * + *

If you've already set {@code setup_future_usage} and you're performing a request using a + * publishable key, you can only update the value from {@code on_session} to {@code + * off_session}. + */ + @SerializedName("setup_future_usage") + SetupFutureUsage setupFutureUsage; + + private Klarna( + ApiRequestParams.EnumParam captureMethod, + Map extraParams, + PreferredLocale preferredLocale, + SetupFutureUsage setupFutureUsage) { + this.captureMethod = captureMethod; + this.extraParams = extraParams; + this.preferredLocale = preferredLocale; + this.setupFutureUsage = setupFutureUsage; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private ApiRequestParams.EnumParam captureMethod; + + private Map extraParams; + + private PreferredLocale preferredLocale; + + private SetupFutureUsage setupFutureUsage; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCreateParams.PaymentMethodOptions.Klarna build() { + return new PaymentIntentCreateParams.PaymentMethodOptions.Klarna( + this.captureMethod, this.extraParams, this.preferredLocale, this.setupFutureUsage); + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod( + PaymentIntentCreateParams.PaymentMethodOptions.Klarna.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod(EmptyParam captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentCreateParams.PaymentMethodOptions.Klarna#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentCreateParams.PaymentMethodOptions.Klarna#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Preferred language of the Klarna authorization page that the customer is redirected to. + */ + public Builder setPreferredLocale( + PaymentIntentCreateParams.PaymentMethodOptions.Klarna.PreferredLocale preferredLocale) { + this.preferredLocale = preferredLocale; + return this; + } + + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment + * method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to + * the Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe + * creates and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you + * comply with regional legislation and network rules, such as SCA. + * + *

If you've already set {@code setup_future_usage} and you're performing a request using + * a publishable key, you can only update the value from {@code on_session} to {@code + * off_session}. + */ + public Builder setSetupFutureUsage( + PaymentIntentCreateParams.PaymentMethodOptions.Klarna.SetupFutureUsage + setupFutureUsage) { + this.setupFutureUsage = setupFutureUsage; + return this; + } + } + + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } public enum PreferredLocale implements ApiRequestParams.EnumParam { @SerializedName("cs-CZ") @@ -18574,7 +19379,7 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam { } @Getter - public static class Link { + public static class KrCard { /** * Controls when the funds are captured from the customer's account. * @@ -18597,11 +19402,223 @@ public static class Link { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** [Deprecated] This is a legacy parameter that no longer has any function. */ - @SerializedName("persistent_token") - @Deprecated - String persistentToken; - + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to the + * Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates + * and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you comply + * with regional legislation and network rules, such as SCA. + */ + @SerializedName("setup_future_usage") + ApiRequestParams.EnumParam setupFutureUsage; + + private KrCard( + ApiRequestParams.EnumParam captureMethod, + Map extraParams, + ApiRequestParams.EnumParam setupFutureUsage) { + this.captureMethod = captureMethod; + this.extraParams = extraParams; + this.setupFutureUsage = setupFutureUsage; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private ApiRequestParams.EnumParam captureMethod; + + private Map extraParams; + + private ApiRequestParams.EnumParam setupFutureUsage; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCreateParams.PaymentMethodOptions.KrCard build() { + return new PaymentIntentCreateParams.PaymentMethodOptions.KrCard( + this.captureMethod, this.extraParams, this.setupFutureUsage); + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod( + PaymentIntentCreateParams.PaymentMethodOptions.KrCard.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod(EmptyParam captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentCreateParams.PaymentMethodOptions.KrCard#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentCreateParams.PaymentMethodOptions.KrCard#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment + * method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to + * the Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe + * creates and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you + * comply with regional legislation and network rules, such as SCA. + */ + public Builder setSetupFutureUsage( + PaymentIntentCreateParams.PaymentMethodOptions.KrCard.SetupFutureUsage + setupFutureUsage) { + this.setupFutureUsage = setupFutureUsage; + return this; + } + + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment + * method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to + * the Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe + * creates and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you + * comply with regional legislation and network rules, such as SCA. + */ + public Builder setSetupFutureUsage(EmptyParam setupFutureUsage) { + this.setupFutureUsage = setupFutureUsage; + return this; + } + } + + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + + public enum SetupFutureUsage implements ApiRequestParams.EnumParam { + @SerializedName("none") + NONE("none"), + + @SerializedName("off_session") + OFF_SESSION("off_session"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + SetupFutureUsage(String value) { + this.value = value; + } + } + } + + @Getter + public static class Link { + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty value + * for this parameter unsets the stored value for this payment method type. + */ + @SerializedName("capture_method") + ApiRequestParams.EnumParam captureMethod; + + /** + * 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; + + /** [Deprecated] This is a legacy parameter that no longer has any function. */ + @SerializedName("persistent_token") + @Deprecated + String persistentToken; + /** * Indicates that you intend to make future payments with this PaymentIntent's payment method. * @@ -19265,14 +20282,19 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam { } @Getter - public static class Oxxo { + public static class NaverPay { /** - * The number of calendar days before an OXXO voucher expires. For example, if you create an - * OXXO voucher on Monday and you set expires_after_days to 2, the OXXO invoice will expire on - * Wednesday at 23:59 America/Mexico_City time. + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty value + * for this parameter unsets the stored value for this payment method type. */ - @SerializedName("expires_after_days") - Long expiresAfterDays; + @SerializedName("capture_method") + ApiRequestParams.EnumParam captureMethod; /** * Map of extra parameters for custom features not available in this client library. The @@ -19283,34 +20305,146 @@ public static class Oxxo { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to the - * Customer after the PaymentIntent is confirmed and the customer completes any required - * actions. If you don't provide a Customer, you can still attach the payment method to a - * Customer after the transaction completes. - * - *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates - * and attaches a generated_card - * payment method representing the card to the Customer instead. - * - *

When processing card payments, Stripe uses {@code setup_future_usage} to help you comply - * with regional legislation and network rules, such as SCA. - * - *

If you've already set {@code setup_future_usage} and you're performing a request using a - * publishable key, you can only update the value from {@code on_session} to {@code - * off_session}. - */ - @SerializedName("setup_future_usage") - SetupFutureUsage setupFutureUsage; + private NaverPay(ApiRequestParams.EnumParam captureMethod, Map extraParams) { + this.captureMethod = captureMethod; + this.extraParams = extraParams; + } - private Oxxo( - Long expiresAfterDays, + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private ApiRequestParams.EnumParam captureMethod; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCreateParams.PaymentMethodOptions.NaverPay build() { + return new PaymentIntentCreateParams.PaymentMethodOptions.NaverPay( + this.captureMethod, this.extraParams); + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod( + PaymentIntentCreateParams.PaymentMethodOptions.NaverPay.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod(EmptyParam captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentCreateParams.PaymentMethodOptions.NaverPay#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentCreateParams.PaymentMethodOptions.NaverPay#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + } + + @Getter + public static class Oxxo { + /** + * The number of calendar days before an OXXO voucher expires. For example, if you create an + * OXXO voucher on Monday and you set expires_after_days to 2, the OXXO invoice will expire on + * Wednesday at 23:59 America/Mexico_City time. + */ + @SerializedName("expires_after_days") + Long expiresAfterDays; + + /** + * 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; + + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to the + * Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates + * and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you comply + * with regional legislation and network rules, such as SCA. + * + *

If you've already set {@code setup_future_usage} and you're performing a request using a + * publishable key, you can only update the value from {@code on_session} to {@code + * off_session}. + */ + @SerializedName("setup_future_usage") + SetupFutureUsage setupFutureUsage; + + private Oxxo( + Long expiresAfterDays, Map extraParams, SetupFutureUsage setupFutureUsage) { this.expiresAfterDays = expiresAfterDays; @@ -19562,6 +20696,123 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam { } } + @Getter + public static class Payco { + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty value + * for this parameter unsets the stored value for this payment method type. + */ + @SerializedName("capture_method") + ApiRequestParams.EnumParam captureMethod; + + /** + * 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 Payco(ApiRequestParams.EnumParam captureMethod, Map extraParams) { + this.captureMethod = captureMethod; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private ApiRequestParams.EnumParam captureMethod; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCreateParams.PaymentMethodOptions.Payco build() { + return new PaymentIntentCreateParams.PaymentMethodOptions.Payco( + this.captureMethod, this.extraParams); + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod( + PaymentIntentCreateParams.PaymentMethodOptions.Payco.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod(EmptyParam captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentCreateParams.PaymentMethodOptions.Payco#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentCreateParams.PaymentMethodOptions.Payco#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + } + @Getter public static class Paynow { /** @@ -19707,6 +20958,10 @@ public static class Paypal { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** The line items purchased by the customer. */ + @SerializedName("line_items") + List lineItems; + /** * Preferred locale of * the PayPal checkout page that the customer is redirected to. @@ -19772,6 +21027,7 @@ public static class Paypal { private Paypal( ApiRequestParams.EnumParam captureMethod, Map extraParams, + List lineItems, PreferredLocale preferredLocale, String reference, String referenceId, @@ -19780,6 +21036,7 @@ private Paypal( List subsellers) { this.captureMethod = captureMethod; this.extraParams = extraParams; + this.lineItems = lineItems; this.preferredLocale = preferredLocale; this.reference = reference; this.referenceId = referenceId; @@ -19797,6 +21054,8 @@ public static class Builder { private Map extraParams; + private List lineItems; + private PreferredLocale preferredLocale; private String reference; @@ -19814,6 +21073,7 @@ public PaymentIntentCreateParams.PaymentMethodOptions.Paypal build() { return new PaymentIntentCreateParams.PaymentMethodOptions.Paypal( this.captureMethod, this.extraParams, + this.lineItems, this.preferredLocale, this.reference, this.referenceId, @@ -19845,148 +21105,496 @@ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { this.extraParams = new HashMap<>(); } - this.extraParams.put(key, value); - return this; - } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentCreateParams.PaymentMethodOptions.Paypal#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Add an element to `lineItems` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * PaymentIntentCreateParams.PaymentMethodOptions.Paypal#lineItems} for the field + * documentation. + */ + public Builder addLineItem( + PaymentIntentCreateParams.PaymentMethodOptions.Paypal.LineItem element) { + if (this.lineItems == null) { + this.lineItems = new ArrayList<>(); + } + this.lineItems.add(element); + return this; + } + + /** + * Add all elements to `lineItems` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * PaymentIntentCreateParams.PaymentMethodOptions.Paypal#lineItems} for the field + * documentation. + */ + public Builder addAllLineItem( + List elements) { + if (this.lineItems == null) { + this.lineItems = new ArrayList<>(); + } + this.lineItems.addAll(elements); + return this; + } + + /** + * Preferred locale + * of the PayPal checkout page that the customer is redirected to. + */ + public Builder setPreferredLocale( + PaymentIntentCreateParams.PaymentMethodOptions.Paypal.PreferredLocale preferredLocale) { + this.preferredLocale = preferredLocale; + return this; + } + + /** + * A reference of the PayPal transaction visible to customer which is mapped to PayPal's + * invoice ID. This must be a globally unique ID if you have configured in your PayPal + * settings to block multiple payments per invoice ID. + */ + public Builder setReference(String reference) { + this.reference = reference; + return this; + } + + /** + * A reference of the PayPal transaction visible to customer which is mapped to PayPal's + * invoice ID. This must be a globally unique ID if you have configured in your PayPal + * settings to block multiple payments per invoice ID. + */ + public Builder setReferenceId(String referenceId) { + this.referenceId = referenceId; + return this; + } + + /** + * The risk correlation ID for an on-session payment using a saved PayPal payment method. + */ + public Builder setRiskCorrelationId(String riskCorrelationId) { + this.riskCorrelationId = riskCorrelationId; + return this; + } + + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment + * method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to + * the Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe + * creates and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you + * comply with regional legislation and network rules, such as SCA. + * + *

If you've already set {@code setup_future_usage} and you're performing a request using + * a publishable key, you can only update the value from {@code on_session} to {@code + * off_session}. + */ + public Builder setSetupFutureUsage( + PaymentIntentCreateParams.PaymentMethodOptions.Paypal.SetupFutureUsage + setupFutureUsage) { + this.setupFutureUsage = setupFutureUsage; + return this; + } + + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment + * method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to + * the Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe + * creates and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you + * comply with regional legislation and network rules, such as SCA. + * + *

If you've already set {@code setup_future_usage} and you're performing a request using + * a publishable key, you can only update the value from {@code on_session} to {@code + * off_session}. + */ + public Builder setSetupFutureUsage(EmptyParam setupFutureUsage) { + this.setupFutureUsage = setupFutureUsage; + return this; + } + + /** + * Add an element to `subsellers` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * PaymentIntentCreateParams.PaymentMethodOptions.Paypal#subsellers} for the field + * documentation. + */ + public Builder addSubseller(String element) { + if (this.subsellers == null) { + this.subsellers = new ArrayList<>(); + } + this.subsellers.add(element); + return this; + } + + /** + * Add all elements to `subsellers` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * PaymentIntentCreateParams.PaymentMethodOptions.Paypal#subsellers} for the field + * documentation. + */ + public Builder addAllSubseller(List elements) { + if (this.subsellers == null) { + this.subsellers = new ArrayList<>(); + } + this.subsellers.addAll(elements); + return this; + } + } + + @Getter + public static class LineItem { + /** Type of the line item. */ + @SerializedName("category") + Category category; + + /** Description of the line item. */ + @SerializedName("description") + String description; + + /** + * 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. Descriptive name of the line item. */ + @SerializedName("name") + String name; + + /** Required. Quantity of the line item. Must be a positive number. */ + @SerializedName("quantity") + Long quantity; + + /** Client facing stock keeping unit, article number or similar. */ + @SerializedName("sku") + String sku; + + /** The Stripe account ID of the connected account that sells the item. */ + @SerializedName("sold_by") + String soldBy; + + /** The tax information for the line item. */ + @SerializedName("tax") + Tax tax; + + /** + * Required. Price for a single unit of the line item in minor units. + * Cannot be a negative number. + */ + @SerializedName("unit_amount") + Long unitAmount; + + private LineItem( + Category category, + String description, + Map extraParams, + String name, + Long quantity, + String sku, + String soldBy, + Tax tax, + Long unitAmount) { + this.category = category; + this.description = description; + this.extraParams = extraParams; + this.name = name; + this.quantity = quantity; + this.sku = sku; + this.soldBy = soldBy; + this.tax = tax; + this.unitAmount = unitAmount; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Category category; + + private String description; + + private Map extraParams; + + private String name; + + private Long quantity; + + private String sku; + + private String soldBy; + + private Tax tax; + + private Long unitAmount; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCreateParams.PaymentMethodOptions.Paypal.LineItem build() { + return new PaymentIntentCreateParams.PaymentMethodOptions.Paypal.LineItem( + this.category, + this.description, + this.extraParams, + this.name, + this.quantity, + this.sku, + this.soldBy, + this.tax, + this.unitAmount); + } + + /** Type of the line item. */ + public Builder setCategory( + PaymentIntentCreateParams.PaymentMethodOptions.Paypal.LineItem.Category category) { + this.category = category; + return this; + } + + /** Description of the line item. */ + public Builder setDescription(String description) { + this.description = description; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentIntentCreateParams.PaymentMethodOptions.Paypal.LineItem#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentIntentCreateParams.PaymentMethodOptions.Paypal.LineItem#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. Descriptive name of the line item. */ + public Builder setName(String name) { + this.name = name; + return this; + } + + /** Required. Quantity of the line item. Must be a positive number. */ + public Builder setQuantity(Long quantity) { + this.quantity = quantity; + return this; + } + + /** Client facing stock keeping unit, article number or similar. */ + public Builder setSku(String sku) { + this.sku = sku; + return this; + } + + /** The Stripe account ID of the connected account that sells the item. */ + public Builder setSoldBy(String soldBy) { + this.soldBy = soldBy; + return this; + } + + /** The tax information for the line item. */ + public Builder setTax( + PaymentIntentCreateParams.PaymentMethodOptions.Paypal.LineItem.Tax tax) { + this.tax = tax; + return this; + } + + /** + * Required. Price for a single unit of the line item in minor units. + * Cannot be a negative number. + */ + public Builder setUnitAmount(Long unitAmount) { + this.unitAmount = unitAmount; + return this; + } + } + + @Getter + public static class Tax { + /** + * Required. The tax for a single unit of the line item in minor units. + * Cannot be a negative number. + */ + @SerializedName("amount") + Long amount; + + /** Required. The tax behavior for the line item. */ + @SerializedName("behavior") + Behavior behavior; + + /** + * 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(Long amount, Behavior behavior, Map extraParams) { + this.amount = amount; + this.behavior = behavior; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Long amount; + + private Behavior behavior; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCreateParams.PaymentMethodOptions.Paypal.LineItem.Tax build() { + return new PaymentIntentCreateParams.PaymentMethodOptions.Paypal.LineItem.Tax( + this.amount, this.behavior, this.extraParams); + } + + /** + * Required. The tax for a single unit of the line item in minor units. + * Cannot be a negative number. + */ + public Builder setAmount(Long amount) { + this.amount = amount; + return this; + } + + /** Required. The tax behavior for the line item. */ + public Builder setBehavior( + PaymentIntentCreateParams.PaymentMethodOptions.Paypal.LineItem.Tax.Behavior + behavior) { + this.behavior = behavior; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * PaymentIntentCreateParams.PaymentMethodOptions.Paypal.LineItem.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.PaymentMethodOptions.Paypal.LineItem.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; + } + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PaymentIntentCreateParams.PaymentMethodOptions.Paypal#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + public enum Behavior implements ApiRequestParams.EnumParam { + @SerializedName("exclusive") + EXCLUSIVE("exclusive"), - /** - * Preferred locale - * of the PayPal checkout page that the customer is redirected to. - */ - public Builder setPreferredLocale( - PaymentIntentCreateParams.PaymentMethodOptions.Paypal.PreferredLocale preferredLocale) { - this.preferredLocale = preferredLocale; - return this; - } + @SerializedName("inclusive") + INCLUSIVE("inclusive"); - /** - * A reference of the PayPal transaction visible to customer which is mapped to PayPal's - * invoice ID. This must be a globally unique ID if you have configured in your PayPal - * settings to block multiple payments per invoice ID. - */ - public Builder setReference(String reference) { - this.reference = reference; - return this; - } + @Getter(onMethod_ = {@Override}) + private final String value; - /** - * A reference of the PayPal transaction visible to customer which is mapped to PayPal's - * invoice ID. This must be a globally unique ID if you have configured in your PayPal - * settings to block multiple payments per invoice ID. - */ - public Builder setReferenceId(String referenceId) { - this.referenceId = referenceId; - return this; + Behavior(String value) { + this.value = value; + } + } } - /** - * The risk correlation ID for an on-session payment using a saved PayPal payment method. - */ - public Builder setRiskCorrelationId(String riskCorrelationId) { - this.riskCorrelationId = riskCorrelationId; - return this; - } + public enum Category implements ApiRequestParams.EnumParam { + @SerializedName("digital_goods") + DIGITAL_GOODS("digital_goods"), - /** - * Indicates that you intend to make future payments with this PaymentIntent's payment - * method. - * - *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to - * the Customer after the PaymentIntent is confirmed and the customer completes any required - * actions. If you don't provide a Customer, you can still attach the payment method to a - * Customer after the transaction completes. - * - *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe - * creates and attaches a generated_card - * payment method representing the card to the Customer instead. - * - *

When processing card payments, Stripe uses {@code setup_future_usage} to help you - * comply with regional legislation and network rules, such as SCA. - * - *

If you've already set {@code setup_future_usage} and you're performing a request using - * a publishable key, you can only update the value from {@code on_session} to {@code - * off_session}. - */ - public Builder setSetupFutureUsage( - PaymentIntentCreateParams.PaymentMethodOptions.Paypal.SetupFutureUsage - setupFutureUsage) { - this.setupFutureUsage = setupFutureUsage; - return this; - } + @SerializedName("donation") + DONATION("donation"), - /** - * Indicates that you intend to make future payments with this PaymentIntent's payment - * method. - * - *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to - * the Customer after the PaymentIntent is confirmed and the customer completes any required - * actions. If you don't provide a Customer, you can still attach the payment method to a - * Customer after the transaction completes. - * - *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe - * creates and attaches a generated_card - * payment method representing the card to the Customer instead. - * - *

When processing card payments, Stripe uses {@code setup_future_usage} to help you - * comply with regional legislation and network rules, such as SCA. - * - *

If you've already set {@code setup_future_usage} and you're performing a request using - * a publishable key, you can only update the value from {@code on_session} to {@code - * off_session}. - */ - public Builder setSetupFutureUsage(EmptyParam setupFutureUsage) { - this.setupFutureUsage = setupFutureUsage; - return this; - } + @SerializedName("physical_goods") + PHYSICAL_GOODS("physical_goods"); - /** - * Add an element to `subsellers` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See {@link - * PaymentIntentCreateParams.PaymentMethodOptions.Paypal#subsellers} for the field - * documentation. - */ - public Builder addSubseller(String element) { - if (this.subsellers == null) { - this.subsellers = new ArrayList<>(); - } - this.subsellers.add(element); - return this; - } + @Getter(onMethod_ = {@Override}) + private final String value; - /** - * Add all elements to `subsellers` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See {@link - * PaymentIntentCreateParams.PaymentMethodOptions.Paypal#subsellers} for the field - * documentation. - */ - public Builder addAllSubseller(List elements) { - if (this.subsellers == null) { - this.subsellers = new ArrayList<>(); + Category(String value) { + this.value = value; } - this.subsellers.addAll(elements); - return this; } } @@ -21120,6 +22728,124 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam { } } + @Getter + public static class SamsungPay { + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty value + * for this parameter unsets the stored value for this payment method type. + */ + @SerializedName("capture_method") + ApiRequestParams.EnumParam captureMethod; + + /** + * 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 SamsungPay( + ApiRequestParams.EnumParam captureMethod, Map extraParams) { + this.captureMethod = captureMethod; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private ApiRequestParams.EnumParam captureMethod; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCreateParams.PaymentMethodOptions.SamsungPay build() { + return new PaymentIntentCreateParams.PaymentMethodOptions.SamsungPay( + this.captureMethod, this.extraParams); + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod( + PaymentIntentCreateParams.PaymentMethodOptions.SamsungPay.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod(EmptyParam captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentCreateParams.PaymentMethodOptions.SamsungPay#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentCreateParams.PaymentMethodOptions.SamsungPay#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + } + @Getter public static class SepaDebit { /** diff --git a/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java b/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java index b06223ca3e1..269f1048812 100644 --- a/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java @@ -6006,6 +6006,13 @@ public static class PaymentMethodData { @SerializedName("interac_present") InteracPresent interacPresent; + /** + * If this is a {@code kakao_pay} PaymentMethod, this hash contains details about the Kakao Pay + * payment method. + */ + @SerializedName("kakao_pay") + KakaoPay kakaoPay; + /** * If this is a {@code klarna} PaymentMethod, this hash contains details about the Klarna * payment method. @@ -6020,6 +6027,13 @@ public static class PaymentMethodData { @SerializedName("konbini") Konbini konbini; + /** + * If this is a {@code kr_card} PaymentMethod, this hash contains details about the Korean Card + * payment method. + */ + @SerializedName("kr_card") + KrCard krCard; + /** * If this is an {@code Link} PaymentMethod, this hash contains details about the Link payment * method. @@ -6057,6 +6071,13 @@ public static class PaymentMethodData { @SerializedName("multibanco") Multibanco multibanco; + /** + * If this is a {@code naver_pay} PaymentMethod, this hash contains details about the Naver Pay + * payment method. + */ + @SerializedName("naver_pay") + NaverPay naverPay; + /** * If this is an {@code oxxo} PaymentMethod, this hash contains details about the OXXO payment * method. @@ -6071,6 +6092,13 @@ public static class PaymentMethodData { @SerializedName("p24") P24 p24; + /** + * If this is a {@code payco} PaymentMethod, this hash contains details about the PAYCO payment + * method. + */ + @SerializedName("payco") + Payco payco; + /** * If this is a {@code paynow} PaymentMethod, this hash contains details about the PayNow * payment method. @@ -6127,6 +6155,13 @@ public static class PaymentMethodData { @SerializedName("revolut_pay") RevolutPay revolutPay; + /** + * If this is a {@code samsung_pay} PaymentMethod, this hash contains details about the + * SamsungPay payment method. + */ + @SerializedName("samsung_pay") + SamsungPay samsungPay; + /** * If this is a {@code sepa_debit} PaymentMethod, this hash contains details about the SEPA * debit bank account. @@ -6205,15 +6240,19 @@ private PaymentMethodData( Grabpay grabpay, Ideal ideal, InteracPresent interacPresent, + KakaoPay kakaoPay, Klarna klarna, Konbini konbini, + KrCard krCard, Link link, MbWay mbWay, Map metadata, Mobilepay mobilepay, Multibanco multibanco, + NaverPay naverPay, Oxxo oxxo, P24 p24, + Payco payco, Paynow paynow, Paypal paypal, Payto payto, @@ -6222,6 +6261,7 @@ private PaymentMethodData( RadarOptions radarOptions, Rechnung rechnung, RevolutPay revolutPay, + SamsungPay samsungPay, SepaDebit sepaDebit, Sofort sofort, Swish swish, @@ -6251,15 +6291,19 @@ private PaymentMethodData( this.grabpay = grabpay; this.ideal = ideal; this.interacPresent = interacPresent; + this.kakaoPay = kakaoPay; this.klarna = klarna; this.konbini = konbini; + this.krCard = krCard; this.link = link; this.mbWay = mbWay; this.metadata = metadata; this.mobilepay = mobilepay; this.multibanco = multibanco; + this.naverPay = naverPay; this.oxxo = oxxo; this.p24 = p24; + this.payco = payco; this.paynow = paynow; this.paypal = paypal; this.payto = payto; @@ -6268,6 +6312,7 @@ private PaymentMethodData( this.radarOptions = radarOptions; this.rechnung = rechnung; this.revolutPay = revolutPay; + this.samsungPay = samsungPay; this.sepaDebit = sepaDebit; this.sofort = sofort; this.swish = swish; @@ -6325,10 +6370,14 @@ public static class Builder { private InteracPresent interacPresent; + private KakaoPay kakaoPay; + private Klarna klarna; private Konbini konbini; + private KrCard krCard; + private Link link; private MbWay mbWay; @@ -6339,10 +6388,14 @@ public static class Builder { private Multibanco multibanco; + private NaverPay naverPay; + private Oxxo oxxo; private P24 p24; + private Payco payco; + private Paynow paynow; private Paypal paypal; @@ -6359,6 +6412,8 @@ public static class Builder { private RevolutPay revolutPay; + private SamsungPay samsungPay; + private SepaDebit sepaDebit; private Sofort sofort; @@ -6399,15 +6454,19 @@ public PaymentIntentUpdateParams.PaymentMethodData build() { this.grabpay, this.ideal, this.interacPresent, + this.kakaoPay, this.klarna, this.konbini, + this.krCard, this.link, this.mbWay, this.metadata, this.mobilepay, this.multibanco, + this.naverPay, this.oxxo, this.p24, + this.payco, this.paynow, this.paypal, this.payto, @@ -6416,6 +6475,7 @@ public PaymentIntentUpdateParams.PaymentMethodData build() { this.radarOptions, this.rechnung, this.revolutPay, + this.samsungPay, this.sepaDebit, this.sofort, this.swish, @@ -6642,6 +6702,15 @@ public Builder setInteracPresent( return this; } + /** + * If this is a {@code kakao_pay} PaymentMethod, this hash contains details about the Kakao + * Pay payment method. + */ + public Builder setKakaoPay(PaymentIntentUpdateParams.PaymentMethodData.KakaoPay kakaoPay) { + this.kakaoPay = kakaoPay; + return this; + } + /** * If this is a {@code klarna} PaymentMethod, this hash contains details about the Klarna * payment method. @@ -6660,6 +6729,15 @@ public Builder setKonbini(PaymentIntentUpdateParams.PaymentMethodData.Konbini ko return this; } + /** + * If this is a {@code kr_card} PaymentMethod, this hash contains details about the Korean + * Card payment method. + */ + public Builder setKrCard(PaymentIntentUpdateParams.PaymentMethodData.KrCard krCard) { + this.krCard = krCard; + return this; + } + /** * If this is an {@code Link} PaymentMethod, this hash contains details about the Link payment * method. @@ -6724,6 +6802,15 @@ public Builder setMultibanco( return this; } + /** + * If this is a {@code naver_pay} PaymentMethod, this hash contains details about the Naver + * Pay payment method. + */ + public Builder setNaverPay(PaymentIntentUpdateParams.PaymentMethodData.NaverPay naverPay) { + this.naverPay = naverPay; + return this; + } + /** * If this is an {@code oxxo} PaymentMethod, this hash contains details about the OXXO payment * method. @@ -6742,6 +6829,15 @@ public Builder setP24(PaymentIntentUpdateParams.PaymentMethodData.P24 p24) { return this; } + /** + * If this is a {@code payco} PaymentMethod, this hash contains details about the PAYCO + * payment method. + */ + public Builder setPayco(PaymentIntentUpdateParams.PaymentMethodData.Payco payco) { + this.payco = payco; + return this; + } + /** * If this is a {@code paynow} PaymentMethod, this hash contains details about the PayNow * payment method. @@ -6816,6 +6912,16 @@ public Builder setRevolutPay( return this; } + /** + * If this is a {@code samsung_pay} PaymentMethod, this hash contains details about the + * SamsungPay payment method. + */ + public Builder setSamsungPay( + PaymentIntentUpdateParams.PaymentMethodData.SamsungPay samsungPay) { + this.samsungPay = samsungPay; + return this; + } + /** * If this is a {@code sepa_debit} PaymentMethod, this hash contains details about the SEPA * debit bank account. @@ -8717,6 +8823,63 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class KakaoPay { + /** + * 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 KakaoPay(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentUpdateParams.PaymentMethodData.KakaoPay build() { + return new PaymentIntentUpdateParams.PaymentMethodData.KakaoPay(this.extraParams); + } + + /** + * 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.PaymentMethodData.KakaoPay#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.PaymentMethodData.KakaoPay#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 public static class Klarna { /** Customer's date of birth. */ @@ -8942,6 +9105,63 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class KrCard { + /** + * 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 KrCard(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentUpdateParams.PaymentMethodData.KrCard build() { + return new PaymentIntentUpdateParams.PaymentMethodData.KrCard(this.extraParams); + } + + /** + * 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.PaymentMethodData.KrCard#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.PaymentMethodData.KrCard#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 public static class Link { /** @@ -9170,6 +9390,99 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class NaverPay { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Whether to use Naver Pay points or a card to fund this transaction. If not provided, this + * defaults to {@code card}. + */ + @SerializedName("funding") + Funding funding; + + private NaverPay(Map extraParams, Funding funding) { + this.extraParams = extraParams; + this.funding = funding; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Funding funding; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentUpdateParams.PaymentMethodData.NaverPay build() { + return new PaymentIntentUpdateParams.PaymentMethodData.NaverPay( + this.extraParams, this.funding); + } + + /** + * 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.PaymentMethodData.NaverPay#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.PaymentMethodData.NaverPay#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Whether to use Naver Pay points or a card to fund this transaction. If not provided, this + * defaults to {@code card}. + */ + public Builder setFunding( + PaymentIntentUpdateParams.PaymentMethodData.NaverPay.Funding funding) { + this.funding = funding; + return this; + } + } + + public enum Funding implements ApiRequestParams.EnumParam { + @SerializedName("card") + CARD("card"), + + @SerializedName("points") + POINTS("points"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Funding(String value) { + this.value = value; + } + } + } + @Getter public static class Oxxo { /** @@ -9385,7 +9698,7 @@ public enum Bank implements ApiRequestParams.EnumParam { } @Getter - public static class Paynow { + public static class Payco { /** * 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. @@ -9395,7 +9708,7 @@ public static class Paynow { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private Paynow(Map extraParams) { + private Payco(Map extraParams) { this.extraParams = extraParams; } @@ -9407,14 +9720,14 @@ public static class Builder { private Map extraParams; /** Finalize and obtain parameter instance from this builder. */ - public PaymentIntentUpdateParams.PaymentMethodData.Paynow build() { - return new PaymentIntentUpdateParams.PaymentMethodData.Paynow(this.extraParams); + public PaymentIntentUpdateParams.PaymentMethodData.Payco build() { + return new PaymentIntentUpdateParams.PaymentMethodData.Payco(this.extraParams); } /** * 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.PaymentMethodData.Paynow#extraParams} for the + * map. See {@link PaymentIntentUpdateParams.PaymentMethodData.Payco#extraParams} for the * field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -9428,7 +9741,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PaymentIntentUpdateParams.PaymentMethodData.Paynow#extraParams} for the + * map. See {@link PaymentIntentUpdateParams.PaymentMethodData.Payco#extraParams} for the * field documentation. */ public Builder putAllExtraParam(Map map) { @@ -9442,7 +9755,7 @@ public Builder putAllExtraParam(Map map) { } @Getter - public static class Paypal { + public static class Paynow { /** * 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. @@ -9452,7 +9765,7 @@ public static class Paypal { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private Paypal(Map extraParams) { + private Paynow(Map extraParams) { this.extraParams = extraParams; } @@ -9464,14 +9777,14 @@ public static class Builder { private Map extraParams; /** Finalize and obtain parameter instance from this builder. */ - public PaymentIntentUpdateParams.PaymentMethodData.Paypal build() { - return new PaymentIntentUpdateParams.PaymentMethodData.Paypal(this.extraParams); + public PaymentIntentUpdateParams.PaymentMethodData.Paynow build() { + return new PaymentIntentUpdateParams.PaymentMethodData.Paynow(this.extraParams); } /** * 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.PaymentMethodData.Paypal#extraParams} for the + * map. See {@link PaymentIntentUpdateParams.PaymentMethodData.Paynow#extraParams} for the * field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -9485,7 +9798,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PaymentIntentUpdateParams.PaymentMethodData.Paypal#extraParams} for the + * map. See {@link PaymentIntentUpdateParams.PaymentMethodData.Paynow#extraParams} for the * field documentation. */ public Builder putAllExtraParam(Map map) { @@ -9499,15 +9812,7 @@ public Builder putAllExtraParam(Map map) { } @Getter - public static class Payto { - /** The account number for the bank account. */ - @SerializedName("account_number") - Object accountNumber; - - /** Bank-State-Branch number of the bank account. */ - @SerializedName("bsb_number") - Object bsbNumber; - + public static class Paypal { /** * 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. @@ -9517,11 +9822,76 @@ public static class Payto { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** The PayID alias for the bank account. */ - @SerializedName("pay_id") - Object payId; - - private Payto( + private Paypal(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentUpdateParams.PaymentMethodData.Paypal build() { + return new PaymentIntentUpdateParams.PaymentMethodData.Paypal(this.extraParams); + } + + /** + * 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.PaymentMethodData.Paypal#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.PaymentMethodData.Paypal#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 + public static class Payto { + /** The account number for the bank account. */ + @SerializedName("account_number") + Object accountNumber; + + /** Bank-State-Branch number of the bank account. */ + @SerializedName("bsb_number") + Object bsbNumber; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** The PayID alias for the bank account. */ + @SerializedName("pay_id") + Object payId; + + private Payto( Object accountNumber, Object bsbNumber, Map extraParams, Object payId) { this.accountNumber = accountNumber; this.bsbNumber = bsbNumber; @@ -10043,6 +10413,63 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class SamsungPay { + /** + * 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 SamsungPay(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentUpdateParams.PaymentMethodData.SamsungPay build() { + return new PaymentIntentUpdateParams.PaymentMethodData.SamsungPay(this.extraParams); + } + + /** + * 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.PaymentMethodData.SamsungPay#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.PaymentMethodData.SamsungPay#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 public static class SepaDebit { /** @@ -10708,12 +11135,18 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("ideal") IDEAL("ideal"), + @SerializedName("kakao_pay") + KAKAO_PAY("kakao_pay"), + @SerializedName("klarna") KLARNA("klarna"), @SerializedName("konbini") KONBINI("konbini"), + @SerializedName("kr_card") + KR_CARD("kr_card"), + @SerializedName("link") LINK("link"), @@ -10726,12 +11159,18 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("multibanco") MULTIBANCO("multibanco"), + @SerializedName("naver_pay") + NAVER_PAY("naver_pay"), + @SerializedName("oxxo") OXXO("oxxo"), @SerializedName("p24") P24("p24"), + @SerializedName("payco") + PAYCO("payco"), + @SerializedName("paynow") PAYNOW("paynow"), @@ -10753,6 +11192,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("revolut_pay") REVOLUT_PAY("revolut_pay"), + @SerializedName("samsung_pay") + SAMSUNG_PAY("samsung_pay"), + @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), @@ -10931,6 +11373,13 @@ public static class PaymentMethodOptions { @SerializedName("interac_present") Object interacPresent; + /** + * If this is a {@code kakao_pay} PaymentMethod, this sub-hash contains details about the Kakao + * Pay payment method options. + */ + @SerializedName("kakao_pay") + Object kakaoPay; + /** * If this is a {@code klarna} PaymentMethod, this sub-hash contains details about the Klarna * payment method options. @@ -10945,6 +11394,13 @@ public static class PaymentMethodOptions { @SerializedName("konbini") Object konbini; + /** + * If this is a {@code kr_card} PaymentMethod, this sub-hash contains details about the KR Card + * payment method options. + */ + @SerializedName("kr_card") + Object krCard; + /** * If this is a {@code link} PaymentMethod, this sub-hash contains details about the Link * payment method options. @@ -10973,6 +11429,13 @@ public static class PaymentMethodOptions { @SerializedName("multibanco") Object multibanco; + /** + * If this is a {@code naver_pay} PaymentMethod, this sub-hash contains details about the Naver + * Pay payment method options. + */ + @SerializedName("naver_pay") + Object naverPay; + /** * If this is a {@code oxxo} PaymentMethod, this sub-hash contains details about the OXXO * payment method options. @@ -10987,6 +11450,13 @@ public static class PaymentMethodOptions { @SerializedName("p24") Object p24; + /** + * If this is a {@code payco} PaymentMethod, this sub-hash contains details about the PAYCO + * payment method options. + */ + @SerializedName("payco") + Object payco; + /** * If this is a {@code paynow} PaymentMethod, this sub-hash contains details about the PayNow * payment method options. @@ -11036,6 +11506,13 @@ public static class PaymentMethodOptions { @SerializedName("revolut_pay") Object revolutPay; + /** + * If this is a {@code samsung_pay} PaymentMethod, this sub-hash contains details about the + * Samsung Pay payment method options. + */ + @SerializedName("samsung_pay") + Object samsungPay; + /** * If this is a {@code sepa_debit} PaymentIntent, this sub-hash contains details about the SEPA * Debit payment method options. @@ -11107,14 +11584,18 @@ private PaymentMethodOptions( Object grabpay, Object ideal, Object interacPresent, + Object kakaoPay, Object klarna, Object konbini, + Object krCard, Object link, Object mbWay, Object mobilepay, Object multibanco, + Object naverPay, Object oxxo, Object p24, + Object payco, Object paynow, Object paypal, Object payto, @@ -11122,6 +11603,7 @@ private PaymentMethodOptions( Object promptpay, Object rechnung, Object revolutPay, + Object samsungPay, Object sepaDebit, Object sofort, Object swish, @@ -11150,14 +11632,18 @@ private PaymentMethodOptions( this.grabpay = grabpay; this.ideal = ideal; this.interacPresent = interacPresent; + this.kakaoPay = kakaoPay; this.klarna = klarna; this.konbini = konbini; + this.krCard = krCard; this.link = link; this.mbWay = mbWay; this.mobilepay = mobilepay; this.multibanco = multibanco; + this.naverPay = naverPay; this.oxxo = oxxo; this.p24 = p24; + this.payco = payco; this.paynow = paynow; this.paypal = paypal; this.payto = payto; @@ -11165,6 +11651,7 @@ private PaymentMethodOptions( this.promptpay = promptpay; this.rechnung = rechnung; this.revolutPay = revolutPay; + this.samsungPay = samsungPay; this.sepaDebit = sepaDebit; this.sofort = sofort; this.swish = swish; @@ -11221,10 +11708,14 @@ public static class Builder { private Object interacPresent; + private Object kakaoPay; + private Object klarna; private Object konbini; + private Object krCard; + private Object link; private Object mbWay; @@ -11233,10 +11724,14 @@ public static class Builder { private Object multibanco; + private Object naverPay; + private Object oxxo; private Object p24; + private Object payco; + private Object paynow; private Object paypal; @@ -11251,6 +11746,8 @@ public static class Builder { private Object revolutPay; + private Object samsungPay; + private Object sepaDebit; private Object sofort; @@ -11289,14 +11786,18 @@ public PaymentIntentUpdateParams.PaymentMethodOptions build() { this.grabpay, this.ideal, this.interacPresent, + this.kakaoPay, this.klarna, this.konbini, + this.krCard, this.link, this.mbWay, this.mobilepay, this.multibanco, + this.naverPay, this.oxxo, this.p24, + this.payco, this.paynow, this.paypal, this.payto, @@ -11304,6 +11805,7 @@ public PaymentIntentUpdateParams.PaymentMethodOptions build() { this.promptpay, this.rechnung, this.revolutPay, + this.samsungPay, this.sepaDebit, this.sofort, this.swish, @@ -11703,6 +12205,24 @@ public Builder setInteracPresent(EmptyParam interacPresent) { return this; } + /** + * If this is a {@code kakao_pay} PaymentMethod, this sub-hash contains details about the + * Kakao Pay payment method options. + */ + public Builder setKakaoPay(PaymentIntentUpdateParams.PaymentMethodOptions.KakaoPay kakaoPay) { + this.kakaoPay = kakaoPay; + return this; + } + + /** + * If this is a {@code kakao_pay} PaymentMethod, this sub-hash contains details about the + * Kakao Pay payment method options. + */ + public Builder setKakaoPay(EmptyParam kakaoPay) { + this.kakaoPay = kakaoPay; + return this; + } + /** * If this is a {@code klarna} PaymentMethod, this sub-hash contains details about the Klarna * payment method options. @@ -11739,6 +12259,24 @@ public Builder setKonbini(EmptyParam konbini) { return this; } + /** + * If this is a {@code kr_card} PaymentMethod, this sub-hash contains details about the KR + * Card payment method options. + */ + public Builder setKrCard(PaymentIntentUpdateParams.PaymentMethodOptions.KrCard krCard) { + this.krCard = krCard; + return this; + } + + /** + * If this is a {@code kr_card} PaymentMethod, this sub-hash contains details about the KR + * Card payment method options. + */ + public Builder setKrCard(EmptyParam krCard) { + this.krCard = krCard; + return this; + } + /** * If this is a {@code link} PaymentMethod, this sub-hash contains details about the Link * payment method options. @@ -11813,6 +12351,24 @@ public Builder setMultibanco(EmptyParam multibanco) { return this; } + /** + * If this is a {@code naver_pay} PaymentMethod, this sub-hash contains details about the + * Naver Pay payment method options. + */ + public Builder setNaverPay(PaymentIntentUpdateParams.PaymentMethodOptions.NaverPay naverPay) { + this.naverPay = naverPay; + return this; + } + + /** + * If this is a {@code naver_pay} PaymentMethod, this sub-hash contains details about the + * Naver Pay payment method options. + */ + public Builder setNaverPay(EmptyParam naverPay) { + this.naverPay = naverPay; + return this; + } + /** * If this is a {@code oxxo} PaymentMethod, this sub-hash contains details about the OXXO * payment method options. @@ -11849,6 +12405,24 @@ public Builder setP24(EmptyParam p24) { return this; } + /** + * If this is a {@code payco} PaymentMethod, this sub-hash contains details about the PAYCO + * payment method options. + */ + public Builder setPayco(PaymentIntentUpdateParams.PaymentMethodOptions.Payco payco) { + this.payco = payco; + return this; + } + + /** + * If this is a {@code payco} PaymentMethod, this sub-hash contains details about the PAYCO + * payment method options. + */ + public Builder setPayco(EmptyParam payco) { + this.payco = payco; + return this; + } + /** * If this is a {@code paynow} PaymentMethod, this sub-hash contains details about the PayNow * payment method options. @@ -11977,6 +12551,25 @@ public Builder setRevolutPay(EmptyParam revolutPay) { return this; } + /** + * If this is a {@code samsung_pay} PaymentMethod, this sub-hash contains details about the + * Samsung Pay payment method options. + */ + public Builder setSamsungPay( + PaymentIntentUpdateParams.PaymentMethodOptions.SamsungPay samsungPay) { + this.samsungPay = samsungPay; + return this; + } + + /** + * If this is a {@code samsung_pay} PaymentMethod, this sub-hash contains details about the + * Samsung Pay payment method options. + */ + public Builder setSamsungPay(EmptyParam samsungPay) { + this.samsungPay = samsungPay; + return this; + } + /** * If this is a {@code sepa_debit} PaymentIntent, this sub-hash contains details about the * SEPA Debit payment method options. @@ -18309,7 +18902,7 @@ public Builder putAllExtraParam(Map map) { } @Getter - public static class Klarna { + public static class KakaoPay { /** * Controls when the funds are captured from the customer's account. * @@ -18332,10 +18925,6 @@ public static class Klarna { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Preferred language of the Klarna authorization page that the customer is redirected to. */ - @SerializedName("preferred_locale") - PreferredLocale preferredLocale; - /** * Indicates that you intend to make future payments with this PaymentIntent's payment method. * @@ -18354,22 +18943,16 @@ public static class Klarna { *

When processing card payments, Stripe uses {@code setup_future_usage} to help you comply * with regional legislation and network rules, such as SCA. - * - *

If you've already set {@code setup_future_usage} and you're performing a request using a - * publishable key, you can only update the value from {@code on_session} to {@code - * off_session}. */ @SerializedName("setup_future_usage") - SetupFutureUsage setupFutureUsage; + ApiRequestParams.EnumParam setupFutureUsage; - private Klarna( + private KakaoPay( ApiRequestParams.EnumParam captureMethod, Map extraParams, - PreferredLocale preferredLocale, - SetupFutureUsage setupFutureUsage) { + ApiRequestParams.EnumParam setupFutureUsage) { this.captureMethod = captureMethod; this.extraParams = extraParams; - this.preferredLocale = preferredLocale; this.setupFutureUsage = setupFutureUsage; } @@ -18382,14 +18965,12 @@ public static class Builder { private Map extraParams; - private PreferredLocale preferredLocale; - - private SetupFutureUsage setupFutureUsage; + private ApiRequestParams.EnumParam setupFutureUsage; /** Finalize and obtain parameter instance from this builder. */ - public PaymentIntentUpdateParams.PaymentMethodOptions.Klarna build() { - return new PaymentIntentUpdateParams.PaymentMethodOptions.Klarna( - this.captureMethod, this.extraParams, this.preferredLocale, this.setupFutureUsage); + public PaymentIntentUpdateParams.PaymentMethodOptions.KakaoPay build() { + return new PaymentIntentUpdateParams.PaymentMethodOptions.KakaoPay( + this.captureMethod, this.extraParams, this.setupFutureUsage); } /** @@ -18403,7 +18984,7 @@ public PaymentIntentUpdateParams.PaymentMethodOptions.Klarna build() { * value for this parameter unsets the stored value for this payment method type. */ public Builder setCaptureMethod( - PaymentIntentUpdateParams.PaymentMethodOptions.Klarna.CaptureMethod captureMethod) { + PaymentIntentUpdateParams.PaymentMethodOptions.KakaoPay.CaptureMethod captureMethod) { this.captureMethod = captureMethod; return this; } @@ -18426,7 +19007,7 @@ public Builder setCaptureMethod(EmptyParam captureMethod) { /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PaymentIntentUpdateParams.PaymentMethodOptions.Klarna#extraParams} for + * map. See {@link PaymentIntentUpdateParams.PaymentMethodOptions.KakaoPay#extraParams} for * the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -18440,7 +19021,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PaymentIntentUpdateParams.PaymentMethodOptions.Klarna#extraParams} for + * map. See {@link PaymentIntentUpdateParams.PaymentMethodOptions.KakaoPay#extraParams} for * the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -18451,15 +19032,6 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Preferred language of the Klarna authorization page that the customer is redirected to. - */ - public Builder setPreferredLocale( - PaymentIntentUpdateParams.PaymentMethodOptions.Klarna.PreferredLocale preferredLocale) { - this.preferredLocale = preferredLocale; - return this; - } - /** * Indicates that you intend to make future payments with this PaymentIntent's payment * method. @@ -18479,30 +19051,263 @@ public Builder setPreferredLocale( *

When processing card payments, Stripe uses {@code setup_future_usage} to help you * comply with regional legislation and network rules, such as SCA. - * - *

If you've already set {@code setup_future_usage} and you're performing a request using - * a publishable key, you can only update the value from {@code on_session} to {@code - * off_session}. */ public Builder setSetupFutureUsage( - PaymentIntentUpdateParams.PaymentMethodOptions.Klarna.SetupFutureUsage + PaymentIntentUpdateParams.PaymentMethodOptions.KakaoPay.SetupFutureUsage setupFutureUsage) { this.setupFutureUsage = setupFutureUsage; return this; } - } - - public enum CaptureMethod implements ApiRequestParams.EnumParam { - @SerializedName("manual") - MANUAL("manual"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - CaptureMethod(String value) { - this.value = value; - } - } + + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment + * method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to + * the Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe + * creates and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you + * comply with regional legislation and network rules, such as SCA. + */ + public Builder setSetupFutureUsage(EmptyParam setupFutureUsage) { + this.setupFutureUsage = setupFutureUsage; + return this; + } + } + + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + + public enum SetupFutureUsage implements ApiRequestParams.EnumParam { + @SerializedName("none") + NONE("none"), + + @SerializedName("off_session") + OFF_SESSION("off_session"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + SetupFutureUsage(String value) { + this.value = value; + } + } + } + + @Getter + public static class Klarna { + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty value + * for this parameter unsets the stored value for this payment method type. + */ + @SerializedName("capture_method") + ApiRequestParams.EnumParam captureMethod; + + /** + * 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; + + /** Preferred language of the Klarna authorization page that the customer is redirected to. */ + @SerializedName("preferred_locale") + PreferredLocale preferredLocale; + + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to the + * Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates + * and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you comply + * with regional legislation and network rules, such as SCA. + * + *

If you've already set {@code setup_future_usage} and you're performing a request using a + * publishable key, you can only update the value from {@code on_session} to {@code + * off_session}. + */ + @SerializedName("setup_future_usage") + SetupFutureUsage setupFutureUsage; + + private Klarna( + ApiRequestParams.EnumParam captureMethod, + Map extraParams, + PreferredLocale preferredLocale, + SetupFutureUsage setupFutureUsage) { + this.captureMethod = captureMethod; + this.extraParams = extraParams; + this.preferredLocale = preferredLocale; + this.setupFutureUsage = setupFutureUsage; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private ApiRequestParams.EnumParam captureMethod; + + private Map extraParams; + + private PreferredLocale preferredLocale; + + private SetupFutureUsage setupFutureUsage; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentUpdateParams.PaymentMethodOptions.Klarna build() { + return new PaymentIntentUpdateParams.PaymentMethodOptions.Klarna( + this.captureMethod, this.extraParams, this.preferredLocale, this.setupFutureUsage); + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod( + PaymentIntentUpdateParams.PaymentMethodOptions.Klarna.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod(EmptyParam captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentUpdateParams.PaymentMethodOptions.Klarna#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentUpdateParams.PaymentMethodOptions.Klarna#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Preferred language of the Klarna authorization page that the customer is redirected to. + */ + public Builder setPreferredLocale( + PaymentIntentUpdateParams.PaymentMethodOptions.Klarna.PreferredLocale preferredLocale) { + this.preferredLocale = preferredLocale; + return this; + } + + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment + * method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to + * the Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe + * creates and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you + * comply with regional legislation and network rules, such as SCA. + * + *

If you've already set {@code setup_future_usage} and you're performing a request using + * a publishable key, you can only update the value from {@code on_session} to {@code + * off_session}. + */ + public Builder setSetupFutureUsage( + PaymentIntentUpdateParams.PaymentMethodOptions.Klarna.SetupFutureUsage + setupFutureUsage) { + this.setupFutureUsage = setupFutureUsage; + return this; + } + } + + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } public enum PreferredLocale implements ApiRequestParams.EnumParam { @SerializedName("cs-CZ") @@ -18927,7 +19732,7 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam { } @Getter - public static class Link { + public static class KrCard { /** * Controls when the funds are captured from the customer's account. * @@ -18950,11 +19755,223 @@ public static class Link { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** [Deprecated] This is a legacy parameter that no longer has any function. */ - @SerializedName("persistent_token") - @Deprecated - Object persistentToken; - + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to the + * Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates + * and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you comply + * with regional legislation and network rules, such as SCA. + */ + @SerializedName("setup_future_usage") + ApiRequestParams.EnumParam setupFutureUsage; + + private KrCard( + ApiRequestParams.EnumParam captureMethod, + Map extraParams, + ApiRequestParams.EnumParam setupFutureUsage) { + this.captureMethod = captureMethod; + this.extraParams = extraParams; + this.setupFutureUsage = setupFutureUsage; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private ApiRequestParams.EnumParam captureMethod; + + private Map extraParams; + + private ApiRequestParams.EnumParam setupFutureUsage; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentUpdateParams.PaymentMethodOptions.KrCard build() { + return new PaymentIntentUpdateParams.PaymentMethodOptions.KrCard( + this.captureMethod, this.extraParams, this.setupFutureUsage); + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod( + PaymentIntentUpdateParams.PaymentMethodOptions.KrCard.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod(EmptyParam captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentUpdateParams.PaymentMethodOptions.KrCard#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentUpdateParams.PaymentMethodOptions.KrCard#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment + * method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to + * the Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe + * creates and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you + * comply with regional legislation and network rules, such as SCA. + */ + public Builder setSetupFutureUsage( + PaymentIntentUpdateParams.PaymentMethodOptions.KrCard.SetupFutureUsage + setupFutureUsage) { + this.setupFutureUsage = setupFutureUsage; + return this; + } + + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment + * method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to + * the Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe + * creates and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you + * comply with regional legislation and network rules, such as SCA. + */ + public Builder setSetupFutureUsage(EmptyParam setupFutureUsage) { + this.setupFutureUsage = setupFutureUsage; + return this; + } + } + + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + + public enum SetupFutureUsage implements ApiRequestParams.EnumParam { + @SerializedName("none") + NONE("none"), + + @SerializedName("off_session") + OFF_SESSION("off_session"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + SetupFutureUsage(String value) { + this.value = value; + } + } + } + + @Getter + public static class Link { + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty value + * for this parameter unsets the stored value for this payment method type. + */ + @SerializedName("capture_method") + ApiRequestParams.EnumParam captureMethod; + + /** + * 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; + + /** [Deprecated] This is a legacy parameter that no longer has any function. */ + @SerializedName("persistent_token") + @Deprecated + Object persistentToken; + /** * Indicates that you intend to make future payments with this PaymentIntent's payment method. * @@ -19625,14 +20642,19 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam { } @Getter - public static class Oxxo { + public static class NaverPay { /** - * The number of calendar days before an OXXO voucher expires. For example, if you create an - * OXXO voucher on Monday and you set expires_after_days to 2, the OXXO invoice will expire on - * Wednesday at 23:59 America/Mexico_City time. + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty value + * for this parameter unsets the stored value for this payment method type. */ - @SerializedName("expires_after_days") - Long expiresAfterDays; + @SerializedName("capture_method") + ApiRequestParams.EnumParam captureMethod; /** * Map of extra parameters for custom features not available in this client library. The @@ -19643,34 +20665,146 @@ public static class Oxxo { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to the - * Customer after the PaymentIntent is confirmed and the customer completes any required - * actions. If you don't provide a Customer, you can still attach the payment method to a - * Customer after the transaction completes. - * - *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates - * and attaches a generated_card - * payment method representing the card to the Customer instead. - * - *

When processing card payments, Stripe uses {@code setup_future_usage} to help you comply - * with regional legislation and network rules, such as SCA. - * - *

If you've already set {@code setup_future_usage} and you're performing a request using a - * publishable key, you can only update the value from {@code on_session} to {@code - * off_session}. - */ - @SerializedName("setup_future_usage") - SetupFutureUsage setupFutureUsage; + private NaverPay(ApiRequestParams.EnumParam captureMethod, Map extraParams) { + this.captureMethod = captureMethod; + this.extraParams = extraParams; + } - private Oxxo( - Long expiresAfterDays, + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private ApiRequestParams.EnumParam captureMethod; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentUpdateParams.PaymentMethodOptions.NaverPay build() { + return new PaymentIntentUpdateParams.PaymentMethodOptions.NaverPay( + this.captureMethod, this.extraParams); + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod( + PaymentIntentUpdateParams.PaymentMethodOptions.NaverPay.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod(EmptyParam captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentUpdateParams.PaymentMethodOptions.NaverPay#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentUpdateParams.PaymentMethodOptions.NaverPay#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + } + + @Getter + public static class Oxxo { + /** + * The number of calendar days before an OXXO voucher expires. For example, if you create an + * OXXO voucher on Monday and you set expires_after_days to 2, the OXXO invoice will expire on + * Wednesday at 23:59 America/Mexico_City time. + */ + @SerializedName("expires_after_days") + Long expiresAfterDays; + + /** + * 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; + + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to the + * Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates + * and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you comply + * with regional legislation and network rules, such as SCA. + * + *

If you've already set {@code setup_future_usage} and you're performing a request using a + * publishable key, you can only update the value from {@code on_session} to {@code + * off_session}. + */ + @SerializedName("setup_future_usage") + SetupFutureUsage setupFutureUsage; + + private Oxxo( + Long expiresAfterDays, Map extraParams, SetupFutureUsage setupFutureUsage) { this.expiresAfterDays = expiresAfterDays; @@ -19922,6 +21056,123 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam { } } + @Getter + public static class Payco { + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty value + * for this parameter unsets the stored value for this payment method type. + */ + @SerializedName("capture_method") + ApiRequestParams.EnumParam captureMethod; + + /** + * 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 Payco(ApiRequestParams.EnumParam captureMethod, Map extraParams) { + this.captureMethod = captureMethod; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private ApiRequestParams.EnumParam captureMethod; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentUpdateParams.PaymentMethodOptions.Payco build() { + return new PaymentIntentUpdateParams.PaymentMethodOptions.Payco( + this.captureMethod, this.extraParams); + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod( + PaymentIntentUpdateParams.PaymentMethodOptions.Payco.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod(EmptyParam captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentUpdateParams.PaymentMethodOptions.Payco#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentUpdateParams.PaymentMethodOptions.Payco#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + } + @Getter public static class Paynow { /** @@ -20067,6 +21318,10 @@ public static class Paypal { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** The line items purchased by the customer. */ + @SerializedName("line_items") + List lineItems; + /** * Preferred locale of * the PayPal checkout page that the customer is redirected to. @@ -20132,6 +21387,7 @@ public static class Paypal { private Paypal( ApiRequestParams.EnumParam captureMethod, Map extraParams, + List lineItems, PreferredLocale preferredLocale, Object reference, Object referenceId, @@ -20140,6 +21396,7 @@ private Paypal( List subsellers) { this.captureMethod = captureMethod; this.extraParams = extraParams; + this.lineItems = lineItems; this.preferredLocale = preferredLocale; this.reference = reference; this.referenceId = referenceId; @@ -20157,6 +21414,8 @@ public static class Builder { private Map extraParams; + private List lineItems; + private PreferredLocale preferredLocale; private Object reference; @@ -20174,6 +21433,7 @@ public PaymentIntentUpdateParams.PaymentMethodOptions.Paypal build() { return new PaymentIntentUpdateParams.PaymentMethodOptions.Paypal( this.captureMethod, this.extraParams, + this.lineItems, this.preferredLocale, this.reference, this.referenceId, @@ -20223,6 +21483,36 @@ public Builder putAllExtraParam(Map map) { return this; } + /** + * Add an element to `lineItems` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * PaymentIntentUpdateParams.PaymentMethodOptions.Paypal#lineItems} for the field + * documentation. + */ + public Builder addLineItem( + PaymentIntentUpdateParams.PaymentMethodOptions.Paypal.LineItem element) { + if (this.lineItems == null) { + this.lineItems = new ArrayList<>(); + } + this.lineItems.add(element); + return this; + } + + /** + * Add all elements to `lineItems` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * PaymentIntentUpdateParams.PaymentMethodOptions.Paypal#lineItems} for the field + * documentation. + */ + public Builder addAllLineItem( + List elements) { + if (this.lineItems == null) { + this.lineItems = new ArrayList<>(); + } + this.lineItems.addAll(elements); + return this; + } + /** * Preferred locale * of the PayPal checkout page that the customer is redirected to. @@ -20243,138 +21533,480 @@ public Builder setReference(String reference) { return this; } - /** - * A reference of the PayPal transaction visible to customer which is mapped to PayPal's - * invoice ID. This must be a globally unique ID if you have configured in your PayPal - * settings to block multiple payments per invoice ID. - */ - public Builder setReference(EmptyParam reference) { - this.reference = reference; - return this; - } + /** + * A reference of the PayPal transaction visible to customer which is mapped to PayPal's + * invoice ID. This must be a globally unique ID if you have configured in your PayPal + * settings to block multiple payments per invoice ID. + */ + public Builder setReference(EmptyParam reference) { + this.reference = reference; + return this; + } + + /** + * A reference of the PayPal transaction visible to customer which is mapped to PayPal's + * invoice ID. This must be a globally unique ID if you have configured in your PayPal + * settings to block multiple payments per invoice ID. + */ + public Builder setReferenceId(String referenceId) { + this.referenceId = referenceId; + return this; + } + + /** + * A reference of the PayPal transaction visible to customer which is mapped to PayPal's + * invoice ID. This must be a globally unique ID if you have configured in your PayPal + * settings to block multiple payments per invoice ID. + */ + public Builder setReferenceId(EmptyParam referenceId) { + this.referenceId = referenceId; + return this; + } + + /** + * The risk correlation ID for an on-session payment using a saved PayPal payment method. + */ + public Builder setRiskCorrelationId(String riskCorrelationId) { + this.riskCorrelationId = riskCorrelationId; + return this; + } + + /** + * The risk correlation ID for an on-session payment using a saved PayPal payment method. + */ + public Builder setRiskCorrelationId(EmptyParam riskCorrelationId) { + this.riskCorrelationId = riskCorrelationId; + return this; + } + + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment + * method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to + * the Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe + * creates and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you + * comply with regional legislation and network rules, such as SCA. + * + *

If you've already set {@code setup_future_usage} and you're performing a request using + * a publishable key, you can only update the value from {@code on_session} to {@code + * off_session}. + */ + public Builder setSetupFutureUsage( + PaymentIntentUpdateParams.PaymentMethodOptions.Paypal.SetupFutureUsage + setupFutureUsage) { + this.setupFutureUsage = setupFutureUsage; + return this; + } + + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment + * method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to + * the Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe + * creates and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you + * comply with regional legislation and network rules, such as SCA. + * + *

If you've already set {@code setup_future_usage} and you're performing a request using + * a publishable key, you can only update the value from {@code on_session} to {@code + * off_session}. + */ + public Builder setSetupFutureUsage(EmptyParam setupFutureUsage) { + this.setupFutureUsage = setupFutureUsage; + return this; + } + + /** + * Add an element to `subsellers` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * PaymentIntentUpdateParams.PaymentMethodOptions.Paypal#subsellers} for the field + * documentation. + */ + public Builder addSubseller(String element) { + if (this.subsellers == null) { + this.subsellers = new ArrayList<>(); + } + this.subsellers.add(element); + return this; + } + + /** + * Add all elements to `subsellers` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * PaymentIntentUpdateParams.PaymentMethodOptions.Paypal#subsellers} for the field + * documentation. + */ + public Builder addAllSubseller(List elements) { + if (this.subsellers == null) { + this.subsellers = new ArrayList<>(); + } + this.subsellers.addAll(elements); + return this; + } + } + + @Getter + public static class LineItem { + /** Type of the line item. */ + @SerializedName("category") + Category category; + + /** Description of the line item. */ + @SerializedName("description") + Object description; + + /** + * 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. Descriptive name of the line item. */ + @SerializedName("name") + Object name; + + /** Required. Quantity of the line item. Must be a positive number. */ + @SerializedName("quantity") + Long quantity; + + /** Client facing stock keeping unit, article number or similar. */ + @SerializedName("sku") + Object sku; + + /** The Stripe account ID of the connected account that sells the item. */ + @SerializedName("sold_by") + Object soldBy; + + /** The tax information for the line item. */ + @SerializedName("tax") + Tax tax; + + /** + * Required. Price for a single unit of the line item in minor units. + * Cannot be a negative number. + */ + @SerializedName("unit_amount") + Long unitAmount; + + private LineItem( + Category category, + Object description, + Map extraParams, + Object name, + Long quantity, + Object sku, + Object soldBy, + Tax tax, + Long unitAmount) { + this.category = category; + this.description = description; + this.extraParams = extraParams; + this.name = name; + this.quantity = quantity; + this.sku = sku; + this.soldBy = soldBy; + this.tax = tax; + this.unitAmount = unitAmount; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Category category; + + private Object description; + + private Map extraParams; + + private Object name; + + private Long quantity; + + private Object sku; + + private Object soldBy; + + private Tax tax; + + private Long unitAmount; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentUpdateParams.PaymentMethodOptions.Paypal.LineItem build() { + return new PaymentIntentUpdateParams.PaymentMethodOptions.Paypal.LineItem( + this.category, + this.description, + this.extraParams, + this.name, + this.quantity, + this.sku, + this.soldBy, + this.tax, + this.unitAmount); + } + + /** Type of the line item. */ + public Builder setCategory( + PaymentIntentUpdateParams.PaymentMethodOptions.Paypal.LineItem.Category category) { + this.category = category; + return this; + } + + /** Description of the line item. */ + public Builder setDescription(String description) { + this.description = description; + return this; + } + + /** Description of the line item. */ + public Builder setDescription(EmptyParam description) { + this.description = description; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentIntentUpdateParams.PaymentMethodOptions.Paypal.LineItem#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentIntentUpdateParams.PaymentMethodOptions.Paypal.LineItem#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. Descriptive name of the line item. */ + public Builder setName(String name) { + this.name = name; + return this; + } + + /** Required. Descriptive name of the line item. */ + public Builder setName(EmptyParam name) { + this.name = name; + return this; + } + + /** Required. Quantity of the line item. Must be a positive number. */ + public Builder setQuantity(Long quantity) { + this.quantity = quantity; + return this; + } + + /** Client facing stock keeping unit, article number or similar. */ + public Builder setSku(String sku) { + this.sku = sku; + return this; + } + + /** Client facing stock keeping unit, article number or similar. */ + public Builder setSku(EmptyParam sku) { + this.sku = sku; + return this; + } + + /** The Stripe account ID of the connected account that sells the item. */ + public Builder setSoldBy(String soldBy) { + this.soldBy = soldBy; + return this; + } + + /** The Stripe account ID of the connected account that sells the item. */ + public Builder setSoldBy(EmptyParam soldBy) { + this.soldBy = soldBy; + return this; + } + + /** The tax information for the line item. */ + public Builder setTax( + PaymentIntentUpdateParams.PaymentMethodOptions.Paypal.LineItem.Tax tax) { + this.tax = tax; + return this; + } + + /** + * Required. Price for a single unit of the line item in minor units. + * Cannot be a negative number. + */ + public Builder setUnitAmount(Long unitAmount) { + this.unitAmount = unitAmount; + return this; + } + } + + @Getter + public static class Tax { + /** + * Required. The tax for a single unit of the line item in minor units. + * Cannot be a negative number. + */ + @SerializedName("amount") + Long amount; + + /** Required. The tax behavior for the line item. */ + @SerializedName("behavior") + Behavior behavior; + + /** + * 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(Long amount, Behavior behavior, Map extraParams) { + this.amount = amount; + this.behavior = behavior; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Long amount; + + private Behavior behavior; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentUpdateParams.PaymentMethodOptions.Paypal.LineItem.Tax build() { + return new PaymentIntentUpdateParams.PaymentMethodOptions.Paypal.LineItem.Tax( + this.amount, this.behavior, this.extraParams); + } + + /** + * Required. The tax for a single unit of the line item in minor units. + * Cannot be a negative number. + */ + public Builder setAmount(Long amount) { + this.amount = amount; + return this; + } + + /** Required. The tax behavior for the line item. */ + public Builder setBehavior( + PaymentIntentUpdateParams.PaymentMethodOptions.Paypal.LineItem.Tax.Behavior + behavior) { + this.behavior = behavior; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * PaymentIntentUpdateParams.PaymentMethodOptions.Paypal.LineItem.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.PaymentMethodOptions.Paypal.LineItem.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; + } + } - /** - * A reference of the PayPal transaction visible to customer which is mapped to PayPal's - * invoice ID. This must be a globally unique ID if you have configured in your PayPal - * settings to block multiple payments per invoice ID. - */ - public Builder setReferenceId(String referenceId) { - this.referenceId = referenceId; - return this; - } + public enum Behavior implements ApiRequestParams.EnumParam { + @SerializedName("exclusive") + EXCLUSIVE("exclusive"), - /** - * A reference of the PayPal transaction visible to customer which is mapped to PayPal's - * invoice ID. This must be a globally unique ID if you have configured in your PayPal - * settings to block multiple payments per invoice ID. - */ - public Builder setReferenceId(EmptyParam referenceId) { - this.referenceId = referenceId; - return this; - } + @SerializedName("inclusive") + INCLUSIVE("inclusive"); - /** - * The risk correlation ID for an on-session payment using a saved PayPal payment method. - */ - public Builder setRiskCorrelationId(String riskCorrelationId) { - this.riskCorrelationId = riskCorrelationId; - return this; - } + @Getter(onMethod_ = {@Override}) + private final String value; - /** - * The risk correlation ID for an on-session payment using a saved PayPal payment method. - */ - public Builder setRiskCorrelationId(EmptyParam riskCorrelationId) { - this.riskCorrelationId = riskCorrelationId; - return this; + Behavior(String value) { + this.value = value; + } + } } - /** - * Indicates that you intend to make future payments with this PaymentIntent's payment - * method. - * - *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to - * the Customer after the PaymentIntent is confirmed and the customer completes any required - * actions. If you don't provide a Customer, you can still attach the payment method to a - * Customer after the transaction completes. - * - *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe - * creates and attaches a generated_card - * payment method representing the card to the Customer instead. - * - *

When processing card payments, Stripe uses {@code setup_future_usage} to help you - * comply with regional legislation and network rules, such as SCA. - * - *

If you've already set {@code setup_future_usage} and you're performing a request using - * a publishable key, you can only update the value from {@code on_session} to {@code - * off_session}. - */ - public Builder setSetupFutureUsage( - PaymentIntentUpdateParams.PaymentMethodOptions.Paypal.SetupFutureUsage - setupFutureUsage) { - this.setupFutureUsage = setupFutureUsage; - return this; - } + public enum Category implements ApiRequestParams.EnumParam { + @SerializedName("digital_goods") + DIGITAL_GOODS("digital_goods"), - /** - * Indicates that you intend to make future payments with this PaymentIntent's payment - * method. - * - *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to - * the Customer after the PaymentIntent is confirmed and the customer completes any required - * actions. If you don't provide a Customer, you can still attach the payment method to a - * Customer after the transaction completes. - * - *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe - * creates and attaches a generated_card - * payment method representing the card to the Customer instead. - * - *

When processing card payments, Stripe uses {@code setup_future_usage} to help you - * comply with regional legislation and network rules, such as SCA. - * - *

If you've already set {@code setup_future_usage} and you're performing a request using - * a publishable key, you can only update the value from {@code on_session} to {@code - * off_session}. - */ - public Builder setSetupFutureUsage(EmptyParam setupFutureUsage) { - this.setupFutureUsage = setupFutureUsage; - return this; - } + @SerializedName("donation") + DONATION("donation"), - /** - * Add an element to `subsellers` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See {@link - * PaymentIntentUpdateParams.PaymentMethodOptions.Paypal#subsellers} for the field - * documentation. - */ - public Builder addSubseller(String element) { - if (this.subsellers == null) { - this.subsellers = new ArrayList<>(); - } - this.subsellers.add(element); - return this; - } + @SerializedName("physical_goods") + PHYSICAL_GOODS("physical_goods"); - /** - * Add all elements to `subsellers` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See {@link - * PaymentIntentUpdateParams.PaymentMethodOptions.Paypal#subsellers} for the field - * documentation. - */ - public Builder addAllSubseller(List elements) { - if (this.subsellers == null) { - this.subsellers = new ArrayList<>(); + @Getter(onMethod_ = {@Override}) + private final String value; + + Category(String value) { + this.value = value; } - this.subsellers.addAll(elements); - return this; } } @@ -21517,6 +23149,124 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam { } } + @Getter + public static class SamsungPay { + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty value + * for this parameter unsets the stored value for this payment method type. + */ + @SerializedName("capture_method") + ApiRequestParams.EnumParam captureMethod; + + /** + * 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 SamsungPay( + ApiRequestParams.EnumParam captureMethod, Map extraParams) { + this.captureMethod = captureMethod; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private ApiRequestParams.EnumParam captureMethod; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentUpdateParams.PaymentMethodOptions.SamsungPay build() { + return new PaymentIntentUpdateParams.PaymentMethodOptions.SamsungPay( + this.captureMethod, this.extraParams); + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod( + PaymentIntentUpdateParams.PaymentMethodOptions.SamsungPay.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod(EmptyParam captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentUpdateParams.PaymentMethodOptions.SamsungPay#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentUpdateParams.PaymentMethodOptions.SamsungPay#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + } + @Getter public static class SepaDebit { /** diff --git a/src/main/java/com/stripe/param/PaymentMethodConfigurationCreateParams.java b/src/main/java/com/stripe/param/PaymentMethodConfigurationCreateParams.java index 2fc76fa26ab..401c684d482 100644 --- a/src/main/java/com/stripe/param/PaymentMethodConfigurationCreateParams.java +++ b/src/main/java/com/stripe/param/PaymentMethodConfigurationCreateParams.java @@ -383,7 +383,7 @@ public class PaymentMethodConfigurationCreateParams extends ApiRequestParams { /** * Stripe users in the United States can accept ACH direct debit payments from customers with a US * bank account using the Automated Clearing House (ACH) payments system operated by Nacha. Check - * this page for more details. + * this page for more details. */ @SerializedName("us_bank_account") UsBankAccount usBankAccount; @@ -1149,7 +1149,8 @@ public Builder setTwint(PaymentMethodConfigurationCreateParams.Twint twint) { /** * Stripe users in the United States can accept ACH direct debit payments from customers with a * US bank account using the Automated Clearing House (ACH) payments system operated by Nacha. - * Check this page for more details. + * Check this page for more + * details. */ public Builder setUsBankAccount( PaymentMethodConfigurationCreateParams.UsBankAccount usBankAccount) { diff --git a/src/main/java/com/stripe/param/PaymentMethodConfigurationUpdateParams.java b/src/main/java/com/stripe/param/PaymentMethodConfigurationUpdateParams.java index 712a28ddd19..484651adf3c 100644 --- a/src/main/java/com/stripe/param/PaymentMethodConfigurationUpdateParams.java +++ b/src/main/java/com/stripe/param/PaymentMethodConfigurationUpdateParams.java @@ -384,7 +384,7 @@ public class PaymentMethodConfigurationUpdateParams extends ApiRequestParams { /** * Stripe users in the United States can accept ACH direct debit payments from customers with a US * bank account using the Automated Clearing House (ACH) payments system operated by Nacha. Check - * this page for more details. + * this page for more details. */ @SerializedName("us_bank_account") UsBankAccount usBankAccount; @@ -1156,7 +1156,8 @@ public Builder setTwint(PaymentMethodConfigurationUpdateParams.Twint twint) { /** * Stripe users in the United States can accept ACH direct debit payments from customers with a * US bank account using the Automated Clearing House (ACH) payments system operated by Nacha. - * Check this page for more details. + * Check this page for more + * details. */ public Builder setUsBankAccount( PaymentMethodConfigurationUpdateParams.UsBankAccount usBankAccount) { diff --git a/src/main/java/com/stripe/param/PaymentMethodCreateParams.java b/src/main/java/com/stripe/param/PaymentMethodCreateParams.java index 22e8742626b..f579ffae21e 100644 --- a/src/main/java/com/stripe/param/PaymentMethodCreateParams.java +++ b/src/main/java/com/stripe/param/PaymentMethodCreateParams.java @@ -182,6 +182,13 @@ public class PaymentMethodCreateParams extends ApiRequestParams { @SerializedName("interac_present") InteracPresent interacPresent; + /** + * If this is a {@code kakao_pay} PaymentMethod, this hash contains details about the Kakao Pay + * payment method. + */ + @SerializedName("kakao_pay") + KakaoPay kakaoPay; + /** * If this is a {@code klarna} PaymentMethod, this hash contains details about the Klarna payment * method. @@ -196,6 +203,13 @@ public class PaymentMethodCreateParams extends ApiRequestParams { @SerializedName("konbini") Konbini konbini; + /** + * If this is a {@code kr_card} PaymentMethod, this hash contains details about the Korean Card + * payment method. + */ + @SerializedName("kr_card") + KrCard krCard; + /** * If this is an {@code Link} PaymentMethod, this hash contains details about the Link payment * method. @@ -232,6 +246,13 @@ public class PaymentMethodCreateParams extends ApiRequestParams { @SerializedName("multibanco") Multibanco multibanco; + /** + * If this is a {@code naver_pay} PaymentMethod, this hash contains details about the Naver Pay + * payment method. + */ + @SerializedName("naver_pay") + NaverPay naverPay; + /** * If this is an {@code oxxo} PaymentMethod, this hash contains details about the OXXO payment * method. @@ -246,6 +267,13 @@ public class PaymentMethodCreateParams extends ApiRequestParams { @SerializedName("p24") P24 p24; + /** + * If this is a {@code payco} PaymentMethod, this hash contains details about the PAYCO payment + * method. + */ + @SerializedName("payco") + Payco payco; + /** The PaymentMethod to share. */ @SerializedName("payment_method") String paymentMethod; @@ -306,6 +334,13 @@ public class PaymentMethodCreateParams extends ApiRequestParams { @SerializedName("revolut_pay") RevolutPay revolutPay; + /** + * If this is a {@code samsung_pay} PaymentMethod, this hash contains details about the SamsungPay + * payment method. + */ + @SerializedName("samsung_pay") + SamsungPay samsungPay; + /** * If this is a {@code sepa_debit} PaymentMethod, this hash contains details about the SEPA debit * bank account. @@ -386,15 +421,19 @@ private PaymentMethodCreateParams( Grabpay grabpay, Ideal ideal, InteracPresent interacPresent, + KakaoPay kakaoPay, Klarna klarna, Konbini konbini, + KrCard krCard, Link link, MbWay mbWay, Map metadata, Mobilepay mobilepay, Multibanco multibanco, + NaverPay naverPay, Oxxo oxxo, P24 p24, + Payco payco, String paymentMethod, Paynow paynow, Paypal paypal, @@ -404,6 +443,7 @@ private PaymentMethodCreateParams( RadarOptions radarOptions, Rechnung rechnung, RevolutPay revolutPay, + SamsungPay samsungPay, SepaDebit sepaDebit, Sofort sofort, Swish swish, @@ -436,15 +476,19 @@ private PaymentMethodCreateParams( this.grabpay = grabpay; this.ideal = ideal; this.interacPresent = interacPresent; + this.kakaoPay = kakaoPay; this.klarna = klarna; this.konbini = konbini; + this.krCard = krCard; this.link = link; this.mbWay = mbWay; this.metadata = metadata; this.mobilepay = mobilepay; this.multibanco = multibanco; + this.naverPay = naverPay; this.oxxo = oxxo; this.p24 = p24; + this.payco = payco; this.paymentMethod = paymentMethod; this.paynow = paynow; this.paypal = paypal; @@ -454,6 +498,7 @@ private PaymentMethodCreateParams( this.radarOptions = radarOptions; this.rechnung = rechnung; this.revolutPay = revolutPay; + this.samsungPay = samsungPay; this.sepaDebit = sepaDebit; this.sofort = sofort; this.swish = swish; @@ -517,10 +562,14 @@ public static class Builder { private InteracPresent interacPresent; + private KakaoPay kakaoPay; + private Klarna klarna; private Konbini konbini; + private KrCard krCard; + private Link link; private MbWay mbWay; @@ -531,10 +580,14 @@ public static class Builder { private Multibanco multibanco; + private NaverPay naverPay; + private Oxxo oxxo; private P24 p24; + private Payco payco; + private String paymentMethod; private Paynow paynow; @@ -553,6 +606,8 @@ public static class Builder { private RevolutPay revolutPay; + private SamsungPay samsungPay; + private SepaDebit sepaDebit; private Sofort sofort; @@ -596,15 +651,19 @@ public PaymentMethodCreateParams build() { this.grabpay, this.ideal, this.interacPresent, + this.kakaoPay, this.klarna, this.konbini, + this.krCard, this.link, this.mbWay, this.metadata, this.mobilepay, this.multibanco, + this.naverPay, this.oxxo, this.p24, + this.payco, this.paymentMethod, this.paynow, this.paypal, @@ -614,6 +673,7 @@ public PaymentMethodCreateParams build() { this.radarOptions, this.rechnung, this.revolutPay, + this.samsungPay, this.sepaDebit, this.sofort, this.swish, @@ -891,6 +951,15 @@ public Builder setInteracPresent(PaymentMethodCreateParams.InteracPresent intera return this; } + /** + * If this is a {@code kakao_pay} PaymentMethod, this hash contains details about the Kakao Pay + * payment method. + */ + public Builder setKakaoPay(PaymentMethodCreateParams.KakaoPay kakaoPay) { + this.kakaoPay = kakaoPay; + return this; + } + /** * If this is a {@code klarna} PaymentMethod, this hash contains details about the Klarna * payment method. @@ -909,6 +978,15 @@ public Builder setKonbini(PaymentMethodCreateParams.Konbini konbini) { return this; } + /** + * If this is a {@code kr_card} PaymentMethod, this hash contains details about the Korean Card + * payment method. + */ + public Builder setKrCard(PaymentMethodCreateParams.KrCard krCard) { + this.krCard = krCard; + return this; + } + /** * If this is an {@code Link} PaymentMethod, this hash contains details about the Link payment * method. @@ -971,6 +1049,15 @@ public Builder setMultibanco(PaymentMethodCreateParams.Multibanco multibanco) { return this; } + /** + * If this is a {@code naver_pay} PaymentMethod, this hash contains details about the Naver Pay + * payment method. + */ + public Builder setNaverPay(PaymentMethodCreateParams.NaverPay naverPay) { + this.naverPay = naverPay; + return this; + } + /** * If this is an {@code oxxo} PaymentMethod, this hash contains details about the OXXO payment * method. @@ -989,6 +1076,15 @@ public Builder setP24(PaymentMethodCreateParams.P24 p24) { return this; } + /** + * If this is a {@code payco} PaymentMethod, this hash contains details about the PAYCO payment + * method. + */ + public Builder setPayco(PaymentMethodCreateParams.Payco payco) { + this.payco = payco; + return this; + } + /** The PaymentMethod to share. */ public Builder setPaymentMethod(String paymentMethod) { this.paymentMethod = paymentMethod; @@ -1067,6 +1163,15 @@ public Builder setRevolutPay(PaymentMethodCreateParams.RevolutPay revolutPay) { return this; } + /** + * If this is a {@code samsung_pay} PaymentMethod, this hash contains details about the + * SamsungPay payment method. + */ + public Builder setSamsungPay(PaymentMethodCreateParams.SamsungPay samsungPay) { + this.samsungPay = samsungPay; + return this; + } + /** * If this is a {@code sepa_debit} PaymentMethod, this hash contains details about the SEPA * debit bank account. @@ -3058,6 +3163,61 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class KakaoPay { + /** + * 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 KakaoPay(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentMethodCreateParams.KakaoPay build() { + return new PaymentMethodCreateParams.KakaoPay(this.extraParams); + } + + /** + * 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 + * PaymentMethodCreateParams.KakaoPay#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 PaymentMethodCreateParams.KakaoPay#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 public static class Klarna { /** Customer's date of birth. */ @@ -3278,6 +3438,61 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class KrCard { + /** + * 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 KrCard(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentMethodCreateParams.KrCard build() { + return new PaymentMethodCreateParams.KrCard(this.extraParams); + } + + /** + * 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 + * PaymentMethodCreateParams.KrCard#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 PaymentMethodCreateParams.KrCard#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 public static class Link { /** @@ -3498,6 +3713,95 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class NaverPay { + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Whether to use Naver Pay points or a card to fund this transaction. If not provided, this + * defaults to {@code card}. + */ + @SerializedName("funding") + Funding funding; + + private NaverPay(Map extraParams, Funding funding) { + this.extraParams = extraParams; + this.funding = funding; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Funding funding; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentMethodCreateParams.NaverPay build() { + return new PaymentMethodCreateParams.NaverPay(this.extraParams, this.funding); + } + + /** + * 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 + * PaymentMethodCreateParams.NaverPay#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 PaymentMethodCreateParams.NaverPay#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Whether to use Naver Pay points or a card to fund this transaction. If not provided, this + * defaults to {@code card}. + */ + public Builder setFunding(PaymentMethodCreateParams.NaverPay.Funding funding) { + this.funding = funding; + return this; + } + } + + public enum Funding implements ApiRequestParams.EnumParam { + @SerializedName("card") + CARD("card"), + + @SerializedName("points") + POINTS("points"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Funding(String value) { + this.value = value; + } + } + } + @Getter public static class Oxxo { /** @@ -3708,6 +4012,61 @@ public enum Bank implements ApiRequestParams.EnumParam { } } + @Getter + public static class Payco { + /** + * 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 Payco(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentMethodCreateParams.Payco build() { + return new PaymentMethodCreateParams.Payco(this.extraParams); + } + + /** + * 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 + * PaymentMethodCreateParams.Payco#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 PaymentMethodCreateParams.Payco#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 public static class Paynow { /** @@ -4320,6 +4679,61 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class SamsungPay { + /** + * 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 SamsungPay(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentMethodCreateParams.SamsungPay build() { + return new PaymentMethodCreateParams.SamsungPay(this.extraParams); + } + + /** + * 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 + * PaymentMethodCreateParams.SamsungPay#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 PaymentMethodCreateParams.SamsungPay#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 public static class SepaDebit { /** @@ -5023,12 +5437,18 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("ideal") IDEAL("ideal"), + @SerializedName("kakao_pay") + KAKAO_PAY("kakao_pay"), + @SerializedName("klarna") KLARNA("klarna"), @SerializedName("konbini") KONBINI("konbini"), + @SerializedName("kr_card") + KR_CARD("kr_card"), + @SerializedName("link") LINK("link"), @@ -5041,12 +5461,18 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("multibanco") MULTIBANCO("multibanco"), + @SerializedName("naver_pay") + NAVER_PAY("naver_pay"), + @SerializedName("oxxo") OXXO("oxxo"), @SerializedName("p24") P24("p24"), + @SerializedName("payco") + PAYCO("payco"), + @SerializedName("paynow") PAYNOW("paynow"), @@ -5068,6 +5494,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("revolut_pay") REVOLUT_PAY("revolut_pay"), + @SerializedName("samsung_pay") + SAMSUNG_PAY("samsung_pay"), + @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), diff --git a/src/main/java/com/stripe/param/PaymentMethodListParams.java b/src/main/java/com/stripe/param/PaymentMethodListParams.java index 93d94cc9dcd..97d4c441cbe 100644 --- a/src/main/java/com/stripe/param/PaymentMethodListParams.java +++ b/src/main/java/com/stripe/param/PaymentMethodListParams.java @@ -265,12 +265,18 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("ideal") IDEAL("ideal"), + @SerializedName("kakao_pay") + KAKAO_PAY("kakao_pay"), + @SerializedName("klarna") KLARNA("klarna"), @SerializedName("konbini") KONBINI("konbini"), + @SerializedName("kr_card") + KR_CARD("kr_card"), + @SerializedName("link") LINK("link"), @@ -283,12 +289,18 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("multibanco") MULTIBANCO("multibanco"), + @SerializedName("naver_pay") + NAVER_PAY("naver_pay"), + @SerializedName("oxxo") OXXO("oxxo"), @SerializedName("p24") P24("p24"), + @SerializedName("payco") + PAYCO("payco"), + @SerializedName("paynow") PAYNOW("paynow"), @@ -310,6 +322,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("revolut_pay") REVOLUT_PAY("revolut_pay"), + @SerializedName("samsung_pay") + SAMSUNG_PAY("samsung_pay"), + @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), diff --git a/src/main/java/com/stripe/param/PaymentMethodUpdateParams.java b/src/main/java/com/stripe/param/PaymentMethodUpdateParams.java index e8c244e3bd4..c6f5bbde077 100644 --- a/src/main/java/com/stripe/param/PaymentMethodUpdateParams.java +++ b/src/main/java/com/stripe/param/PaymentMethodUpdateParams.java @@ -61,6 +61,13 @@ public class PaymentMethodUpdateParams extends ApiRequestParams { @SerializedName("metadata") Object metadata; + /** + * If this is a {@code naver_pay} PaymentMethod, this hash contains details about the Naver Pay + * payment method. + */ + @SerializedName("naver_pay") + NaverPay naverPay; + /** * If this is a {@code payto} PaymentMethod, this hash contains details about the PayTo payment * method. @@ -83,6 +90,7 @@ private PaymentMethodUpdateParams( Map extraParams, Link link, Object metadata, + NaverPay naverPay, Payto payto, UsBankAccount usBankAccount) { this.allowRedisplay = allowRedisplay; @@ -92,6 +100,7 @@ private PaymentMethodUpdateParams( this.extraParams = extraParams; this.link = link; this.metadata = metadata; + this.naverPay = naverPay; this.payto = payto; this.usBankAccount = usBankAccount; } @@ -115,6 +124,8 @@ public static class Builder { private Object metadata; + private NaverPay naverPay; + private Payto payto; private UsBankAccount usBankAccount; @@ -129,6 +140,7 @@ public PaymentMethodUpdateParams build() { this.extraParams, this.link, this.metadata, + this.naverPay, this.payto, this.usBankAccount); } @@ -270,6 +282,15 @@ public Builder setMetadata(Map metadata) { return this; } + /** + * If this is a {@code naver_pay} PaymentMethod, this hash contains details about the Naver Pay + * payment method. + */ + public Builder setNaverPay(PaymentMethodUpdateParams.NaverPay naverPay) { + this.naverPay = naverPay; + return this; + } + /** * If this is a {@code payto} PaymentMethod, this hash contains details about the PayTo payment * method. @@ -873,6 +894,95 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class NaverPay { + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Whether to use Naver Pay points or a card to fund this transaction. If not provided, this + * defaults to {@code card}. + */ + @SerializedName("funding") + Funding funding; + + private NaverPay(Map extraParams, Funding funding) { + this.extraParams = extraParams; + this.funding = funding; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Funding funding; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentMethodUpdateParams.NaverPay build() { + return new PaymentMethodUpdateParams.NaverPay(this.extraParams, this.funding); + } + + /** + * 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 + * PaymentMethodUpdateParams.NaverPay#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 PaymentMethodUpdateParams.NaverPay#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Whether to use Naver Pay points or a card to fund this transaction. If not provided, this + * defaults to {@code card}. + */ + public Builder setFunding(PaymentMethodUpdateParams.NaverPay.Funding funding) { + this.funding = funding; + return this; + } + } + + public enum Funding implements ApiRequestParams.EnumParam { + @SerializedName("card") + CARD("card"), + + @SerializedName("points") + POINTS("points"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Funding(String value) { + this.value = value; + } + } + } + @Getter public static class Payto { /** The account number for the bank account. */ diff --git a/src/main/java/com/stripe/param/SetupIntentConfirmParams.java b/src/main/java/com/stripe/param/SetupIntentConfirmParams.java index 00f2759ccc0..a2093decbd8 100644 --- a/src/main/java/com/stripe/param/SetupIntentConfirmParams.java +++ b/src/main/java/com/stripe/param/SetupIntentConfirmParams.java @@ -772,6 +772,13 @@ public static class PaymentMethodData { @SerializedName("interac_present") InteracPresent interacPresent; + /** + * If this is a {@code kakao_pay} PaymentMethod, this hash contains details about the Kakao Pay + * payment method. + */ + @SerializedName("kakao_pay") + KakaoPay kakaoPay; + /** * If this is a {@code klarna} PaymentMethod, this hash contains details about the Klarna * payment method. @@ -786,6 +793,13 @@ public static class PaymentMethodData { @SerializedName("konbini") Konbini konbini; + /** + * If this is a {@code kr_card} PaymentMethod, this hash contains details about the Korean Card + * payment method. + */ + @SerializedName("kr_card") + KrCard krCard; + /** * If this is an {@code Link} PaymentMethod, this hash contains details about the Link payment * method. @@ -823,6 +837,13 @@ public static class PaymentMethodData { @SerializedName("multibanco") Multibanco multibanco; + /** + * If this is a {@code naver_pay} PaymentMethod, this hash contains details about the Naver Pay + * payment method. + */ + @SerializedName("naver_pay") + NaverPay naverPay; + /** * If this is an {@code oxxo} PaymentMethod, this hash contains details about the OXXO payment * method. @@ -837,6 +858,13 @@ public static class PaymentMethodData { @SerializedName("p24") P24 p24; + /** + * If this is a {@code payco} PaymentMethod, this hash contains details about the PAYCO payment + * method. + */ + @SerializedName("payco") + Payco payco; + /** * If this is a {@code paynow} PaymentMethod, this hash contains details about the PayNow * payment method. @@ -893,6 +921,13 @@ public static class PaymentMethodData { @SerializedName("revolut_pay") RevolutPay revolutPay; + /** + * If this is a {@code samsung_pay} PaymentMethod, this hash contains details about the + * SamsungPay payment method. + */ + @SerializedName("samsung_pay") + SamsungPay samsungPay; + /** * If this is a {@code sepa_debit} PaymentMethod, this hash contains details about the SEPA * debit bank account. @@ -971,15 +1006,19 @@ private PaymentMethodData( Grabpay grabpay, Ideal ideal, InteracPresent interacPresent, + KakaoPay kakaoPay, Klarna klarna, Konbini konbini, + KrCard krCard, Link link, MbWay mbWay, Map metadata, Mobilepay mobilepay, Multibanco multibanco, + NaverPay naverPay, Oxxo oxxo, P24 p24, + Payco payco, Paynow paynow, Paypal paypal, Payto payto, @@ -988,6 +1027,7 @@ private PaymentMethodData( RadarOptions radarOptions, Rechnung rechnung, RevolutPay revolutPay, + SamsungPay samsungPay, SepaDebit sepaDebit, Sofort sofort, Swish swish, @@ -1017,15 +1057,19 @@ private PaymentMethodData( this.grabpay = grabpay; this.ideal = ideal; this.interacPresent = interacPresent; + this.kakaoPay = kakaoPay; this.klarna = klarna; this.konbini = konbini; + this.krCard = krCard; this.link = link; this.mbWay = mbWay; this.metadata = metadata; this.mobilepay = mobilepay; this.multibanco = multibanco; + this.naverPay = naverPay; this.oxxo = oxxo; this.p24 = p24; + this.payco = payco; this.paynow = paynow; this.paypal = paypal; this.payto = payto; @@ -1034,6 +1078,7 @@ private PaymentMethodData( this.radarOptions = radarOptions; this.rechnung = rechnung; this.revolutPay = revolutPay; + this.samsungPay = samsungPay; this.sepaDebit = sepaDebit; this.sofort = sofort; this.swish = swish; @@ -1091,10 +1136,14 @@ public static class Builder { private InteracPresent interacPresent; + private KakaoPay kakaoPay; + private Klarna klarna; private Konbini konbini; + private KrCard krCard; + private Link link; private MbWay mbWay; @@ -1105,10 +1154,14 @@ public static class Builder { private Multibanco multibanco; + private NaverPay naverPay; + private Oxxo oxxo; private P24 p24; + private Payco payco; + private Paynow paynow; private Paypal paypal; @@ -1125,6 +1178,8 @@ public static class Builder { private RevolutPay revolutPay; + private SamsungPay samsungPay; + private SepaDebit sepaDebit; private Sofort sofort; @@ -1165,15 +1220,19 @@ public SetupIntentConfirmParams.PaymentMethodData build() { this.grabpay, this.ideal, this.interacPresent, + this.kakaoPay, this.klarna, this.konbini, + this.krCard, this.link, this.mbWay, this.metadata, this.mobilepay, this.multibanco, + this.naverPay, this.oxxo, this.p24, + this.payco, this.paynow, this.paypal, this.payto, @@ -1182,6 +1241,7 @@ public SetupIntentConfirmParams.PaymentMethodData build() { this.radarOptions, this.rechnung, this.revolutPay, + this.samsungPay, this.sepaDebit, this.sofort, this.swish, @@ -1408,6 +1468,15 @@ public Builder setInteracPresent( return this; } + /** + * If this is a {@code kakao_pay} PaymentMethod, this hash contains details about the Kakao + * Pay payment method. + */ + public Builder setKakaoPay(SetupIntentConfirmParams.PaymentMethodData.KakaoPay kakaoPay) { + this.kakaoPay = kakaoPay; + return this; + } + /** * If this is a {@code klarna} PaymentMethod, this hash contains details about the Klarna * payment method. @@ -1426,6 +1495,15 @@ public Builder setKonbini(SetupIntentConfirmParams.PaymentMethodData.Konbini kon return this; } + /** + * If this is a {@code kr_card} PaymentMethod, this hash contains details about the Korean + * Card payment method. + */ + public Builder setKrCard(SetupIntentConfirmParams.PaymentMethodData.KrCard krCard) { + this.krCard = krCard; + return this; + } + /** * If this is an {@code Link} PaymentMethod, this hash contains details about the Link payment * method. @@ -1490,6 +1568,15 @@ public Builder setMultibanco( return this; } + /** + * If this is a {@code naver_pay} PaymentMethod, this hash contains details about the Naver + * Pay payment method. + */ + public Builder setNaverPay(SetupIntentConfirmParams.PaymentMethodData.NaverPay naverPay) { + this.naverPay = naverPay; + return this; + } + /** * If this is an {@code oxxo} PaymentMethod, this hash contains details about the OXXO payment * method. @@ -1508,6 +1595,15 @@ public Builder setP24(SetupIntentConfirmParams.PaymentMethodData.P24 p24) { return this; } + /** + * If this is a {@code payco} PaymentMethod, this hash contains details about the PAYCO + * payment method. + */ + public Builder setPayco(SetupIntentConfirmParams.PaymentMethodData.Payco payco) { + this.payco = payco; + return this; + } + /** * If this is a {@code paynow} PaymentMethod, this hash contains details about the PayNow * payment method. @@ -1582,6 +1678,16 @@ public Builder setRevolutPay( return this; } + /** + * If this is a {@code samsung_pay} PaymentMethod, this hash contains details about the + * SamsungPay payment method. + */ + public Builder setSamsungPay( + SetupIntentConfirmParams.PaymentMethodData.SamsungPay samsungPay) { + this.samsungPay = samsungPay; + return this; + } + /** * If this is a {@code sepa_debit} PaymentMethod, this hash contains details about the SEPA * debit bank account. @@ -3393,6 +3499,63 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class KakaoPay { + /** + * 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 KakaoPay(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentConfirmParams.PaymentMethodData.KakaoPay build() { + return new SetupIntentConfirmParams.PaymentMethodData.KakaoPay(this.extraParams); + } + + /** + * 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 SetupIntentConfirmParams.PaymentMethodData.KakaoPay#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 SetupIntentConfirmParams.PaymentMethodData.KakaoPay#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 public static class Klarna { /** Customer's date of birth. */ @@ -3618,6 +3781,63 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class KrCard { + /** + * 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 KrCard(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentConfirmParams.PaymentMethodData.KrCard build() { + return new SetupIntentConfirmParams.PaymentMethodData.KrCard(this.extraParams); + } + + /** + * 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 SetupIntentConfirmParams.PaymentMethodData.KrCard#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 SetupIntentConfirmParams.PaymentMethodData.KrCard#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 public static class Link { /** @@ -3846,6 +4066,99 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class NaverPay { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Whether to use Naver Pay points or a card to fund this transaction. If not provided, this + * defaults to {@code card}. + */ + @SerializedName("funding") + Funding funding; + + private NaverPay(Map extraParams, Funding funding) { + this.extraParams = extraParams; + this.funding = funding; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Funding funding; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentConfirmParams.PaymentMethodData.NaverPay build() { + return new SetupIntentConfirmParams.PaymentMethodData.NaverPay( + this.extraParams, this.funding); + } + + /** + * 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 SetupIntentConfirmParams.PaymentMethodData.NaverPay#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 SetupIntentConfirmParams.PaymentMethodData.NaverPay#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Whether to use Naver Pay points or a card to fund this transaction. If not provided, this + * defaults to {@code card}. + */ + public Builder setFunding( + SetupIntentConfirmParams.PaymentMethodData.NaverPay.Funding funding) { + this.funding = funding; + return this; + } + } + + public enum Funding implements ApiRequestParams.EnumParam { + @SerializedName("card") + CARD("card"), + + @SerializedName("points") + POINTS("points"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Funding(String value) { + this.value = value; + } + } + } + @Getter public static class Oxxo { /** @@ -4060,6 +4373,63 @@ public enum Bank implements ApiRequestParams.EnumParam { } } + @Getter + public static class Payco { + /** + * 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 Payco(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentConfirmParams.PaymentMethodData.Payco build() { + return new SetupIntentConfirmParams.PaymentMethodData.Payco(this.extraParams); + } + + /** + * 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 SetupIntentConfirmParams.PaymentMethodData.Payco#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 SetupIntentConfirmParams.PaymentMethodData.Payco#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 public static class Paynow { /** @@ -4691,6 +5061,63 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class SamsungPay { + /** + * 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 SamsungPay(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentConfirmParams.PaymentMethodData.SamsungPay build() { + return new SetupIntentConfirmParams.PaymentMethodData.SamsungPay(this.extraParams); + } + + /** + * 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 SetupIntentConfirmParams.PaymentMethodData.SamsungPay#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 SetupIntentConfirmParams.PaymentMethodData.SamsungPay#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 public static class SepaDebit { /** @@ -5332,12 +5759,18 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("ideal") IDEAL("ideal"), + @SerializedName("kakao_pay") + KAKAO_PAY("kakao_pay"), + @SerializedName("klarna") KLARNA("klarna"), @SerializedName("konbini") KONBINI("konbini"), + @SerializedName("kr_card") + KR_CARD("kr_card"), + @SerializedName("link") LINK("link"), @@ -5350,12 +5783,18 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("multibanco") MULTIBANCO("multibanco"), + @SerializedName("naver_pay") + NAVER_PAY("naver_pay"), + @SerializedName("oxxo") OXXO("oxxo"), @SerializedName("p24") P24("p24"), + @SerializedName("payco") + PAYCO("payco"), + @SerializedName("paynow") PAYNOW("paynow"), @@ -5377,6 +5816,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("revolut_pay") REVOLUT_PAY("revolut_pay"), + @SerializedName("samsung_pay") + SAMSUNG_PAY("samsung_pay"), + @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), diff --git a/src/main/java/com/stripe/param/SetupIntentCreateParams.java b/src/main/java/com/stripe/param/SetupIntentCreateParams.java index 36e86ee5d90..98325540bd8 100644 --- a/src/main/java/com/stripe/param/SetupIntentCreateParams.java +++ b/src/main/java/com/stripe/param/SetupIntentCreateParams.java @@ -1230,6 +1230,13 @@ public static class PaymentMethodData { @SerializedName("interac_present") InteracPresent interacPresent; + /** + * If this is a {@code kakao_pay} PaymentMethod, this hash contains details about the Kakao Pay + * payment method. + */ + @SerializedName("kakao_pay") + KakaoPay kakaoPay; + /** * If this is a {@code klarna} PaymentMethod, this hash contains details about the Klarna * payment method. @@ -1244,6 +1251,13 @@ public static class PaymentMethodData { @SerializedName("konbini") Konbini konbini; + /** + * If this is a {@code kr_card} PaymentMethod, this hash contains details about the Korean Card + * payment method. + */ + @SerializedName("kr_card") + KrCard krCard; + /** * If this is an {@code Link} PaymentMethod, this hash contains details about the Link payment * method. @@ -1281,6 +1295,13 @@ public static class PaymentMethodData { @SerializedName("multibanco") Multibanco multibanco; + /** + * If this is a {@code naver_pay} PaymentMethod, this hash contains details about the Naver Pay + * payment method. + */ + @SerializedName("naver_pay") + NaverPay naverPay; + /** * If this is an {@code oxxo} PaymentMethod, this hash contains details about the OXXO payment * method. @@ -1295,6 +1316,13 @@ public static class PaymentMethodData { @SerializedName("p24") P24 p24; + /** + * If this is a {@code payco} PaymentMethod, this hash contains details about the PAYCO payment + * method. + */ + @SerializedName("payco") + Payco payco; + /** * If this is a {@code paynow} PaymentMethod, this hash contains details about the PayNow * payment method. @@ -1351,6 +1379,13 @@ public static class PaymentMethodData { @SerializedName("revolut_pay") RevolutPay revolutPay; + /** + * If this is a {@code samsung_pay} PaymentMethod, this hash contains details about the + * SamsungPay payment method. + */ + @SerializedName("samsung_pay") + SamsungPay samsungPay; + /** * If this is a {@code sepa_debit} PaymentMethod, this hash contains details about the SEPA * debit bank account. @@ -1429,15 +1464,19 @@ private PaymentMethodData( Grabpay grabpay, Ideal ideal, InteracPresent interacPresent, + KakaoPay kakaoPay, Klarna klarna, Konbini konbini, + KrCard krCard, Link link, MbWay mbWay, Map metadata, Mobilepay mobilepay, Multibanco multibanco, + NaverPay naverPay, Oxxo oxxo, P24 p24, + Payco payco, Paynow paynow, Paypal paypal, Payto payto, @@ -1446,6 +1485,7 @@ private PaymentMethodData( RadarOptions radarOptions, Rechnung rechnung, RevolutPay revolutPay, + SamsungPay samsungPay, SepaDebit sepaDebit, Sofort sofort, Swish swish, @@ -1475,15 +1515,19 @@ private PaymentMethodData( this.grabpay = grabpay; this.ideal = ideal; this.interacPresent = interacPresent; + this.kakaoPay = kakaoPay; this.klarna = klarna; this.konbini = konbini; + this.krCard = krCard; this.link = link; this.mbWay = mbWay; this.metadata = metadata; this.mobilepay = mobilepay; this.multibanco = multibanco; + this.naverPay = naverPay; this.oxxo = oxxo; this.p24 = p24; + this.payco = payco; this.paynow = paynow; this.paypal = paypal; this.payto = payto; @@ -1492,6 +1536,7 @@ private PaymentMethodData( this.radarOptions = radarOptions; this.rechnung = rechnung; this.revolutPay = revolutPay; + this.samsungPay = samsungPay; this.sepaDebit = sepaDebit; this.sofort = sofort; this.swish = swish; @@ -1549,10 +1594,14 @@ public static class Builder { private InteracPresent interacPresent; + private KakaoPay kakaoPay; + private Klarna klarna; private Konbini konbini; + private KrCard krCard; + private Link link; private MbWay mbWay; @@ -1563,10 +1612,14 @@ public static class Builder { private Multibanco multibanco; + private NaverPay naverPay; + private Oxxo oxxo; private P24 p24; + private Payco payco; + private Paynow paynow; private Paypal paypal; @@ -1583,6 +1636,8 @@ public static class Builder { private RevolutPay revolutPay; + private SamsungPay samsungPay; + private SepaDebit sepaDebit; private Sofort sofort; @@ -1623,15 +1678,19 @@ public SetupIntentCreateParams.PaymentMethodData build() { this.grabpay, this.ideal, this.interacPresent, + this.kakaoPay, this.klarna, this.konbini, + this.krCard, this.link, this.mbWay, this.metadata, this.mobilepay, this.multibanco, + this.naverPay, this.oxxo, this.p24, + this.payco, this.paynow, this.paypal, this.payto, @@ -1640,6 +1699,7 @@ public SetupIntentCreateParams.PaymentMethodData build() { this.radarOptions, this.rechnung, this.revolutPay, + this.samsungPay, this.sepaDebit, this.sofort, this.swish, @@ -1866,6 +1926,15 @@ public Builder setInteracPresent( return this; } + /** + * If this is a {@code kakao_pay} PaymentMethod, this hash contains details about the Kakao + * Pay payment method. + */ + public Builder setKakaoPay(SetupIntentCreateParams.PaymentMethodData.KakaoPay kakaoPay) { + this.kakaoPay = kakaoPay; + return this; + } + /** * If this is a {@code klarna} PaymentMethod, this hash contains details about the Klarna * payment method. @@ -1884,6 +1953,15 @@ public Builder setKonbini(SetupIntentCreateParams.PaymentMethodData.Konbini konb return this; } + /** + * If this is a {@code kr_card} PaymentMethod, this hash contains details about the Korean + * Card payment method. + */ + public Builder setKrCard(SetupIntentCreateParams.PaymentMethodData.KrCard krCard) { + this.krCard = krCard; + return this; + } + /** * If this is an {@code Link} PaymentMethod, this hash contains details about the Link payment * method. @@ -1947,6 +2025,15 @@ public Builder setMultibanco( return this; } + /** + * If this is a {@code naver_pay} PaymentMethod, this hash contains details about the Naver + * Pay payment method. + */ + public Builder setNaverPay(SetupIntentCreateParams.PaymentMethodData.NaverPay naverPay) { + this.naverPay = naverPay; + return this; + } + /** * If this is an {@code oxxo} PaymentMethod, this hash contains details about the OXXO payment * method. @@ -1965,6 +2052,15 @@ public Builder setP24(SetupIntentCreateParams.PaymentMethodData.P24 p24) { return this; } + /** + * If this is a {@code payco} PaymentMethod, this hash contains details about the PAYCO + * payment method. + */ + public Builder setPayco(SetupIntentCreateParams.PaymentMethodData.Payco payco) { + this.payco = payco; + return this; + } + /** * If this is a {@code paynow} PaymentMethod, this hash contains details about the PayNow * payment method. @@ -2039,6 +2135,16 @@ public Builder setRevolutPay( return this; } + /** + * If this is a {@code samsung_pay} PaymentMethod, this hash contains details about the + * SamsungPay payment method. + */ + public Builder setSamsungPay( + SetupIntentCreateParams.PaymentMethodData.SamsungPay samsungPay) { + this.samsungPay = samsungPay; + return this; + } + /** * If this is a {@code sepa_debit} PaymentMethod, this hash contains details about the SEPA * debit bank account. @@ -3849,6 +3955,63 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class KakaoPay { + /** + * 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 KakaoPay(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentCreateParams.PaymentMethodData.KakaoPay build() { + return new SetupIntentCreateParams.PaymentMethodData.KakaoPay(this.extraParams); + } + + /** + * 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 SetupIntentCreateParams.PaymentMethodData.KakaoPay#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 SetupIntentCreateParams.PaymentMethodData.KakaoPay#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 public static class Klarna { /** Customer's date of birth. */ @@ -4074,6 +4237,63 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class KrCard { + /** + * 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 KrCard(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentCreateParams.PaymentMethodData.KrCard build() { + return new SetupIntentCreateParams.PaymentMethodData.KrCard(this.extraParams); + } + + /** + * 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 SetupIntentCreateParams.PaymentMethodData.KrCard#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 SetupIntentCreateParams.PaymentMethodData.KrCard#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 public static class Link { /** @@ -4302,6 +4522,99 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class NaverPay { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Whether to use Naver Pay points or a card to fund this transaction. If not provided, this + * defaults to {@code card}. + */ + @SerializedName("funding") + Funding funding; + + private NaverPay(Map extraParams, Funding funding) { + this.extraParams = extraParams; + this.funding = funding; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Funding funding; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentCreateParams.PaymentMethodData.NaverPay build() { + return new SetupIntentCreateParams.PaymentMethodData.NaverPay( + this.extraParams, this.funding); + } + + /** + * 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 SetupIntentCreateParams.PaymentMethodData.NaverPay#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 SetupIntentCreateParams.PaymentMethodData.NaverPay#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Whether to use Naver Pay points or a card to fund this transaction. If not provided, this + * defaults to {@code card}. + */ + public Builder setFunding( + SetupIntentCreateParams.PaymentMethodData.NaverPay.Funding funding) { + this.funding = funding; + return this; + } + } + + public enum Funding implements ApiRequestParams.EnumParam { + @SerializedName("card") + CARD("card"), + + @SerializedName("points") + POINTS("points"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Funding(String value) { + this.value = value; + } + } + } + @Getter public static class Oxxo { /** @@ -4516,6 +4829,63 @@ public enum Bank implements ApiRequestParams.EnumParam { } } + @Getter + public static class Payco { + /** + * 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 Payco(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentCreateParams.PaymentMethodData.Payco build() { + return new SetupIntentCreateParams.PaymentMethodData.Payco(this.extraParams); + } + + /** + * 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 SetupIntentCreateParams.PaymentMethodData.Payco#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 SetupIntentCreateParams.PaymentMethodData.Payco#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 public static class Paynow { /** @@ -5146,6 +5516,63 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class SamsungPay { + /** + * 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 SamsungPay(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentCreateParams.PaymentMethodData.SamsungPay build() { + return new SetupIntentCreateParams.PaymentMethodData.SamsungPay(this.extraParams); + } + + /** + * 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 SetupIntentCreateParams.PaymentMethodData.SamsungPay#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 SetupIntentCreateParams.PaymentMethodData.SamsungPay#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 public static class SepaDebit { /** @@ -5787,12 +6214,18 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("ideal") IDEAL("ideal"), + @SerializedName("kakao_pay") + KAKAO_PAY("kakao_pay"), + @SerializedName("klarna") KLARNA("klarna"), @SerializedName("konbini") KONBINI("konbini"), + @SerializedName("kr_card") + KR_CARD("kr_card"), + @SerializedName("link") LINK("link"), @@ -5805,12 +6238,18 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("multibanco") MULTIBANCO("multibanco"), + @SerializedName("naver_pay") + NAVER_PAY("naver_pay"), + @SerializedName("oxxo") OXXO("oxxo"), @SerializedName("p24") P24("p24"), + @SerializedName("payco") + PAYCO("payco"), + @SerializedName("paynow") PAYNOW("paynow"), @@ -5832,6 +6271,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("revolut_pay") REVOLUT_PAY("revolut_pay"), + @SerializedName("samsung_pay") + SAMSUNG_PAY("samsung_pay"), + @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), diff --git a/src/main/java/com/stripe/param/SetupIntentUpdateParams.java b/src/main/java/com/stripe/param/SetupIntentUpdateParams.java index 0e4c2ef119f..ec5ad0badcc 100644 --- a/src/main/java/com/stripe/param/SetupIntentUpdateParams.java +++ b/src/main/java/com/stripe/param/SetupIntentUpdateParams.java @@ -577,6 +577,13 @@ public static class PaymentMethodData { @SerializedName("interac_present") InteracPresent interacPresent; + /** + * If this is a {@code kakao_pay} PaymentMethod, this hash contains details about the Kakao Pay + * payment method. + */ + @SerializedName("kakao_pay") + KakaoPay kakaoPay; + /** * If this is a {@code klarna} PaymentMethod, this hash contains details about the Klarna * payment method. @@ -591,6 +598,13 @@ public static class PaymentMethodData { @SerializedName("konbini") Konbini konbini; + /** + * If this is a {@code kr_card} PaymentMethod, this hash contains details about the Korean Card + * payment method. + */ + @SerializedName("kr_card") + KrCard krCard; + /** * If this is an {@code Link} PaymentMethod, this hash contains details about the Link payment * method. @@ -628,6 +642,13 @@ public static class PaymentMethodData { @SerializedName("multibanco") Multibanco multibanco; + /** + * If this is a {@code naver_pay} PaymentMethod, this hash contains details about the Naver Pay + * payment method. + */ + @SerializedName("naver_pay") + NaverPay naverPay; + /** * If this is an {@code oxxo} PaymentMethod, this hash contains details about the OXXO payment * method. @@ -642,6 +663,13 @@ public static class PaymentMethodData { @SerializedName("p24") P24 p24; + /** + * If this is a {@code payco} PaymentMethod, this hash contains details about the PAYCO payment + * method. + */ + @SerializedName("payco") + Payco payco; + /** * If this is a {@code paynow} PaymentMethod, this hash contains details about the PayNow * payment method. @@ -698,6 +726,13 @@ public static class PaymentMethodData { @SerializedName("revolut_pay") RevolutPay revolutPay; + /** + * If this is a {@code samsung_pay} PaymentMethod, this hash contains details about the + * SamsungPay payment method. + */ + @SerializedName("samsung_pay") + SamsungPay samsungPay; + /** * If this is a {@code sepa_debit} PaymentMethod, this hash contains details about the SEPA * debit bank account. @@ -776,15 +811,19 @@ private PaymentMethodData( Grabpay grabpay, Ideal ideal, InteracPresent interacPresent, + KakaoPay kakaoPay, Klarna klarna, Konbini konbini, + KrCard krCard, Link link, MbWay mbWay, Map metadata, Mobilepay mobilepay, Multibanco multibanco, + NaverPay naverPay, Oxxo oxxo, P24 p24, + Payco payco, Paynow paynow, Paypal paypal, Payto payto, @@ -793,6 +832,7 @@ private PaymentMethodData( RadarOptions radarOptions, Rechnung rechnung, RevolutPay revolutPay, + SamsungPay samsungPay, SepaDebit sepaDebit, Sofort sofort, Swish swish, @@ -822,15 +862,19 @@ private PaymentMethodData( this.grabpay = grabpay; this.ideal = ideal; this.interacPresent = interacPresent; + this.kakaoPay = kakaoPay; this.klarna = klarna; this.konbini = konbini; + this.krCard = krCard; this.link = link; this.mbWay = mbWay; this.metadata = metadata; this.mobilepay = mobilepay; this.multibanco = multibanco; + this.naverPay = naverPay; this.oxxo = oxxo; this.p24 = p24; + this.payco = payco; this.paynow = paynow; this.paypal = paypal; this.payto = payto; @@ -839,6 +883,7 @@ private PaymentMethodData( this.radarOptions = radarOptions; this.rechnung = rechnung; this.revolutPay = revolutPay; + this.samsungPay = samsungPay; this.sepaDebit = sepaDebit; this.sofort = sofort; this.swish = swish; @@ -896,10 +941,14 @@ public static class Builder { private InteracPresent interacPresent; + private KakaoPay kakaoPay; + private Klarna klarna; private Konbini konbini; + private KrCard krCard; + private Link link; private MbWay mbWay; @@ -910,10 +959,14 @@ public static class Builder { private Multibanco multibanco; + private NaverPay naverPay; + private Oxxo oxxo; private P24 p24; + private Payco payco; + private Paynow paynow; private Paypal paypal; @@ -930,6 +983,8 @@ public static class Builder { private RevolutPay revolutPay; + private SamsungPay samsungPay; + private SepaDebit sepaDebit; private Sofort sofort; @@ -970,15 +1025,19 @@ public SetupIntentUpdateParams.PaymentMethodData build() { this.grabpay, this.ideal, this.interacPresent, + this.kakaoPay, this.klarna, this.konbini, + this.krCard, this.link, this.mbWay, this.metadata, this.mobilepay, this.multibanco, + this.naverPay, this.oxxo, this.p24, + this.payco, this.paynow, this.paypal, this.payto, @@ -987,6 +1046,7 @@ public SetupIntentUpdateParams.PaymentMethodData build() { this.radarOptions, this.rechnung, this.revolutPay, + this.samsungPay, this.sepaDebit, this.sofort, this.swish, @@ -1213,6 +1273,15 @@ public Builder setInteracPresent( return this; } + /** + * If this is a {@code kakao_pay} PaymentMethod, this hash contains details about the Kakao + * Pay payment method. + */ + public Builder setKakaoPay(SetupIntentUpdateParams.PaymentMethodData.KakaoPay kakaoPay) { + this.kakaoPay = kakaoPay; + return this; + } + /** * If this is a {@code klarna} PaymentMethod, this hash contains details about the Klarna * payment method. @@ -1231,6 +1300,15 @@ public Builder setKonbini(SetupIntentUpdateParams.PaymentMethodData.Konbini konb return this; } + /** + * If this is a {@code kr_card} PaymentMethod, this hash contains details about the Korean + * Card payment method. + */ + public Builder setKrCard(SetupIntentUpdateParams.PaymentMethodData.KrCard krCard) { + this.krCard = krCard; + return this; + } + /** * If this is an {@code Link} PaymentMethod, this hash contains details about the Link payment * method. @@ -1294,6 +1372,15 @@ public Builder setMultibanco( return this; } + /** + * If this is a {@code naver_pay} PaymentMethod, this hash contains details about the Naver + * Pay payment method. + */ + public Builder setNaverPay(SetupIntentUpdateParams.PaymentMethodData.NaverPay naverPay) { + this.naverPay = naverPay; + return this; + } + /** * If this is an {@code oxxo} PaymentMethod, this hash contains details about the OXXO payment * method. @@ -1312,6 +1399,15 @@ public Builder setP24(SetupIntentUpdateParams.PaymentMethodData.P24 p24) { return this; } + /** + * If this is a {@code payco} PaymentMethod, this hash contains details about the PAYCO + * payment method. + */ + public Builder setPayco(SetupIntentUpdateParams.PaymentMethodData.Payco payco) { + this.payco = payco; + return this; + } + /** * If this is a {@code paynow} PaymentMethod, this hash contains details about the PayNow * payment method. @@ -1386,6 +1482,16 @@ public Builder setRevolutPay( return this; } + /** + * If this is a {@code samsung_pay} PaymentMethod, this hash contains details about the + * SamsungPay payment method. + */ + public Builder setSamsungPay( + SetupIntentUpdateParams.PaymentMethodData.SamsungPay samsungPay) { + this.samsungPay = samsungPay; + return this; + } + /** * If this is a {@code sepa_debit} PaymentMethod, this hash contains details about the SEPA * debit bank account. @@ -3286,6 +3392,63 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class KakaoPay { + /** + * 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 KakaoPay(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentUpdateParams.PaymentMethodData.KakaoPay build() { + return new SetupIntentUpdateParams.PaymentMethodData.KakaoPay(this.extraParams); + } + + /** + * 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 SetupIntentUpdateParams.PaymentMethodData.KakaoPay#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 SetupIntentUpdateParams.PaymentMethodData.KakaoPay#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 public static class Klarna { /** Customer's date of birth. */ @@ -3511,6 +3674,63 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class KrCard { + /** + * 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 KrCard(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentUpdateParams.PaymentMethodData.KrCard build() { + return new SetupIntentUpdateParams.PaymentMethodData.KrCard(this.extraParams); + } + + /** + * 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 SetupIntentUpdateParams.PaymentMethodData.KrCard#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 SetupIntentUpdateParams.PaymentMethodData.KrCard#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 public static class Link { /** @@ -3739,6 +3959,99 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class NaverPay { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Whether to use Naver Pay points or a card to fund this transaction. If not provided, this + * defaults to {@code card}. + */ + @SerializedName("funding") + Funding funding; + + private NaverPay(Map extraParams, Funding funding) { + this.extraParams = extraParams; + this.funding = funding; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Funding funding; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentUpdateParams.PaymentMethodData.NaverPay build() { + return new SetupIntentUpdateParams.PaymentMethodData.NaverPay( + this.extraParams, this.funding); + } + + /** + * 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 SetupIntentUpdateParams.PaymentMethodData.NaverPay#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 SetupIntentUpdateParams.PaymentMethodData.NaverPay#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Whether to use Naver Pay points or a card to fund this transaction. If not provided, this + * defaults to {@code card}. + */ + public Builder setFunding( + SetupIntentUpdateParams.PaymentMethodData.NaverPay.Funding funding) { + this.funding = funding; + return this; + } + } + + public enum Funding implements ApiRequestParams.EnumParam { + @SerializedName("card") + CARD("card"), + + @SerializedName("points") + POINTS("points"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Funding(String value) { + this.value = value; + } + } + } + @Getter public static class Oxxo { /** @@ -3953,6 +4266,63 @@ public enum Bank implements ApiRequestParams.EnumParam { } } + @Getter + public static class Payco { + /** + * 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 Payco(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentUpdateParams.PaymentMethodData.Payco build() { + return new SetupIntentUpdateParams.PaymentMethodData.Payco(this.extraParams); + } + + /** + * 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 SetupIntentUpdateParams.PaymentMethodData.Payco#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 SetupIntentUpdateParams.PaymentMethodData.Payco#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 public static class Paynow { /** @@ -4611,6 +4981,63 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + public static class SamsungPay { + /** + * 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 SamsungPay(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentUpdateParams.PaymentMethodData.SamsungPay build() { + return new SetupIntentUpdateParams.PaymentMethodData.SamsungPay(this.extraParams); + } + + /** + * 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 SetupIntentUpdateParams.PaymentMethodData.SamsungPay#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 SetupIntentUpdateParams.PaymentMethodData.SamsungPay#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 public static class SepaDebit { /** @@ -5276,12 +5703,18 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("ideal") IDEAL("ideal"), + @SerializedName("kakao_pay") + KAKAO_PAY("kakao_pay"), + @SerializedName("klarna") KLARNA("klarna"), @SerializedName("konbini") KONBINI("konbini"), + @SerializedName("kr_card") + KR_CARD("kr_card"), + @SerializedName("link") LINK("link"), @@ -5294,12 +5727,18 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("multibanco") MULTIBANCO("multibanco"), + @SerializedName("naver_pay") + NAVER_PAY("naver_pay"), + @SerializedName("oxxo") OXXO("oxxo"), @SerializedName("p24") P24("p24"), + @SerializedName("payco") + PAYCO("payco"), + @SerializedName("paynow") PAYNOW("paynow"), @@ -5321,6 +5760,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("revolut_pay") REVOLUT_PAY("revolut_pay"), + @SerializedName("samsung_pay") + SAMSUNG_PAY("samsung_pay"), + @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), diff --git a/src/main/java/com/stripe/param/SubscriptionCancelParams.java b/src/main/java/com/stripe/param/SubscriptionCancelParams.java index f2140d75d9c..5a79b41fd05 100644 --- a/src/main/java/com/stripe/param/SubscriptionCancelParams.java +++ b/src/main/java/com/stripe/param/SubscriptionCancelParams.java @@ -31,7 +31,7 @@ public class SubscriptionCancelParams extends ApiRequestParams { /** * Will generate a final invoice that invoices for any un-invoiced metered usage and new/pending - * proration invoice items. Defaults to {@code true}. + * proration invoice items. Defaults to {@code false}. */ @SerializedName("invoice_now") Boolean invoiceNow; @@ -138,7 +138,7 @@ public Builder putAllExtraParam(Map map) { /** * Will generate a final invoice that invoices for any un-invoiced metered usage and new/pending - * proration invoice items. Defaults to {@code true}. + * proration invoice items. Defaults to {@code false}. */ public Builder setInvoiceNow(Boolean invoiceNow) { this.invoiceNow = invoiceNow; diff --git a/src/main/java/com/stripe/param/TaxIdCollectionCreateParams.java b/src/main/java/com/stripe/param/TaxIdCollectionCreateParams.java index 5969731c533..467044f224f 100644 --- a/src/main/java/com/stripe/param/TaxIdCollectionCreateParams.java +++ b/src/main/java/com/stripe/param/TaxIdCollectionCreateParams.java @@ -27,18 +27,19 @@ public class TaxIdCollectionCreateParams extends ApiRequestParams { /** * Required. Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, {@code * ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, - * {@code br_cnpj}, {@code br_cpf}, {@code ca_bn}, {@code ca_gst_hst}, {@code ca_pst_bc}, {@code - * ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, - * {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, - * {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code - * ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code - * in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code - * kr_brn}, {@code kz_bin}, {@code li_uid}, {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code - * my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code nz_gst}, {@code om_vat}, - * {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, - * {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, - * {@code tr_tin}, {@code tw_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code ve_rif}, - * {@code vn_tin}, or {@code za_vat} + * {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code + * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code + * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, {@code + * do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat}, + * {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, + * {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, + * {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code ma_vat}, {@code md_vat}, + * {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, + * {@code no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code + * ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code + * sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code + * tz_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code + * ve_rif}, {@code vn_tin}, or {@code za_vat} */ @SerializedName("type") Type type; @@ -128,18 +129,20 @@ public Builder putAllExtraParam(Map map) { /** * Required. Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, {@code * ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, - * {@code br_cnpj}, {@code br_cpf}, {@code ca_bn}, {@code ca_gst_hst}, {@code ca_pst_bc}, {@code - * ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code ch_vat}, {@code - * cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, {@code do_rcn}, - * {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat}, {@code - * gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, - * {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, - * {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code mx_rfc}, {@code - * my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, - * {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code - * rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, - * {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code - * ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code ve_rif}, {@code vn_tin}, or {@code za_vat} + * {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code + * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code + * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, + * {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code + * eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, + * {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code + * jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, + * {@code ma_vat}, {@code md_vat}, {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code + * my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code nz_gst}, {@code om_vat}, + * {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code + * ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sv_nit}, + * {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code + * us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif}, {@code vn_tin}, or + * {@code za_vat} */ public Builder setType(TaxIdCollectionCreateParams.Type type) { this.type = type; @@ -184,6 +187,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("br_cpf") BR_CPF("br_cpf"), + @SerializedName("by_tin") + BY_TIN("by_tin"), + @SerializedName("ca_bn") CA_BN("ca_bn"), @@ -289,6 +295,12 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("li_uid") LI_UID("li_uid"), + @SerializedName("ma_vat") + MA_VAT("ma_vat"), + + @SerializedName("md_vat") + MD_VAT("md_vat"), + @SerializedName("mx_rfc") MX_RFC("mx_rfc"), @@ -358,6 +370,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("tw_vat") TW_VAT("tw_vat"), + @SerializedName("tz_vat") + TZ_VAT("tz_vat"), + @SerializedName("ua_vat") UA_VAT("ua_vat"), @@ -367,6 +382,12 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("uy_ruc") UY_RUC("uy_ruc"), + @SerializedName("uz_tin") + UZ_TIN("uz_tin"), + + @SerializedName("uz_vat") + UZ_VAT("uz_vat"), + @SerializedName("ve_rif") VE_RIF("ve_rif"), diff --git a/src/main/java/com/stripe/param/TaxIdCreateParams.java b/src/main/java/com/stripe/param/TaxIdCreateParams.java index adc4c5ff965..e8c04d77f6a 100644 --- a/src/main/java/com/stripe/param/TaxIdCreateParams.java +++ b/src/main/java/com/stripe/param/TaxIdCreateParams.java @@ -31,18 +31,19 @@ public class TaxIdCreateParams extends ApiRequestParams { /** * Required. Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, {@code * ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, - * {@code br_cnpj}, {@code br_cpf}, {@code ca_bn}, {@code ca_gst_hst}, {@code ca_pst_bc}, {@code - * ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, - * {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, - * {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code - * ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code - * in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code - * kr_brn}, {@code kz_bin}, {@code li_uid}, {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code - * my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code nz_gst}, {@code om_vat}, - * {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, - * {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, - * {@code tr_tin}, {@code tw_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code ve_rif}, - * {@code vn_tin}, or {@code za_vat} + * {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code + * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code + * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, {@code + * do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat}, + * {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, + * {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, + * {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code ma_vat}, {@code md_vat}, + * {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, + * {@code no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code + * ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code + * sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code + * tz_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code + * ve_rif}, {@code vn_tin}, or {@code za_vat} */ @SerializedName("type") Type type; @@ -142,18 +143,20 @@ public Builder setOwner(TaxIdCreateParams.Owner owner) { /** * Required. Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, {@code * ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, - * {@code br_cnpj}, {@code br_cpf}, {@code ca_bn}, {@code ca_gst_hst}, {@code ca_pst_bc}, {@code - * ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code ch_vat}, {@code - * cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, {@code do_rcn}, - * {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat}, {@code - * gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, - * {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, - * {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code mx_rfc}, {@code - * my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, - * {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code - * rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, - * {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code - * ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code ve_rif}, {@code vn_tin}, or {@code za_vat} + * {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code + * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code + * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, + * {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code + * eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, + * {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code + * jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, + * {@code ma_vat}, {@code md_vat}, {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code + * my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code nz_gst}, {@code om_vat}, + * {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code + * ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sv_nit}, + * {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code + * us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif}, {@code vn_tin}, or + * {@code za_vat} */ public Builder setType(TaxIdCreateParams.Type type) { this.type = type; @@ -314,6 +317,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("br_cpf") BR_CPF("br_cpf"), + @SerializedName("by_tin") + BY_TIN("by_tin"), + @SerializedName("ca_bn") CA_BN("ca_bn"), @@ -419,6 +425,12 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("li_uid") LI_UID("li_uid"), + @SerializedName("ma_vat") + MA_VAT("ma_vat"), + + @SerializedName("md_vat") + MD_VAT("md_vat"), + @SerializedName("mx_rfc") MX_RFC("mx_rfc"), @@ -488,6 +500,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("tw_vat") TW_VAT("tw_vat"), + @SerializedName("tz_vat") + TZ_VAT("tz_vat"), + @SerializedName("ua_vat") UA_VAT("ua_vat"), @@ -497,6 +512,12 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("uy_ruc") UY_RUC("uy_ruc"), + @SerializedName("uz_tin") + UZ_TIN("uz_tin"), + + @SerializedName("uz_vat") + UZ_VAT("uz_vat"), + @SerializedName("ve_rif") VE_RIF("ve_rif"), diff --git a/src/main/java/com/stripe/param/TaxRateCreateParams.java b/src/main/java/com/stripe/param/TaxRateCreateParams.java index 28a627a8ee8..6dfde76285c 100644 --- a/src/main/java/com/stripe/param/TaxRateCreateParams.java +++ b/src/main/java/com/stripe/param/TaxRateCreateParams.java @@ -338,6 +338,9 @@ public enum TaxType implements ApiRequestParams.EnumParam { @SerializedName("qst") QST("qst"), + @SerializedName("retail_delivery_fee") + RETAIL_DELIVERY_FEE("retail_delivery_fee"), + @SerializedName("rst") RST("rst"), diff --git a/src/main/java/com/stripe/param/TaxRateUpdateParams.java b/src/main/java/com/stripe/param/TaxRateUpdateParams.java index d8b376d8a8e..3ad5c153a02 100644 --- a/src/main/java/com/stripe/param/TaxRateUpdateParams.java +++ b/src/main/java/com/stripe/param/TaxRateUpdateParams.java @@ -372,6 +372,9 @@ public enum TaxType implements ApiRequestParams.EnumParam { @SerializedName("qst") QST("qst"), + @SerializedName("retail_delivery_fee") + RETAIL_DELIVERY_FEE("retail_delivery_fee"), + @SerializedName("rst") RST("rst"), diff --git a/src/main/java/com/stripe/param/TokenCreateParams.java b/src/main/java/com/stripe/param/TokenCreateParams.java index 65a89d682c2..16b974ec1f4 100644 --- a/src/main/java/com/stripe/param/TokenCreateParams.java +++ b/src/main/java/com/stripe/param/TokenCreateParams.java @@ -1722,10 +1722,7 @@ public static class Individual { @SerializedName("full_name_aliases") Object fullNameAliases; - /** - * The individual's gender (International regulations require either "male" or - * "female"). - */ + /** The individual's gender. */ @SerializedName("gender") String gender; @@ -2061,10 +2058,7 @@ public Builder setFullNameAliases(List fullNameAliases) { return this; } - /** - * The individual's gender (International regulations require either "male" or - * "female"). - */ + /** The individual's gender. */ public Builder setGender(String gender) { this.gender = gender; return this; diff --git a/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java b/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java index 791e04af053..abba6170280 100644 --- a/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java +++ b/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java @@ -1184,6 +1184,9 @@ public enum EnabledEvent implements ApiRequestParams.EnumParam { @SerializedName("refund.created") REFUND__CREATED("refund.created"), + @SerializedName("refund.failed") + REFUND__FAILED("refund.failed"), + @SerializedName("refund.updated") REFUND__UPDATED("refund.updated"), diff --git a/src/main/java/com/stripe/param/WebhookEndpointUpdateParams.java b/src/main/java/com/stripe/param/WebhookEndpointUpdateParams.java index 0fdaa085890..6285266856b 100644 --- a/src/main/java/com/stripe/param/WebhookEndpointUpdateParams.java +++ b/src/main/java/com/stripe/param/WebhookEndpointUpdateParams.java @@ -845,6 +845,9 @@ public enum EnabledEvent implements ApiRequestParams.EnumParam { @SerializedName("refund.created") REFUND__CREATED("refund.created"), + @SerializedName("refund.failed") + REFUND__FAILED("refund.failed"), + @SerializedName("refund.updated") REFUND__UPDATED("refund.updated"), diff --git a/src/main/java/com/stripe/param/billing/CreditGrantCreateParams.java b/src/main/java/com/stripe/param/billing/CreditGrantCreateParams.java index 6f1fd7e316a..596014d4bba 100644 --- a/src/main/java/com/stripe/param/billing/CreditGrantCreateParams.java +++ b/src/main/java/com/stripe/param/billing/CreditGrantCreateParams.java @@ -23,7 +23,7 @@ public class CreditGrantCreateParams extends ApiRequestParams { @SerializedName("category") Category category; - /** Required. Id of the customer to whom the credit should be granted. */ + /** Required. ID of the customer to whom the credit should be granted. */ @SerializedName("customer") String customer; @@ -58,7 +58,7 @@ public class CreditGrantCreateParams extends ApiRequestParams { @SerializedName("metadata") Map metadata; - /** A descriptive name shown in dashboard and on invoices. */ + /** A descriptive name shown in dashboard. */ @SerializedName("name") String name; @@ -144,7 +144,7 @@ public Builder setCategory(CreditGrantCreateParams.Category category) { return this; } - /** Required. Id of the customer to whom the credit should be granted. */ + /** Required. ID of the customer to whom the credit should be granted. */ public Builder setCustomer(String customer) { this.customer = customer; return this; @@ -243,7 +243,7 @@ public Builder putAllMetadata(Map map) { return this; } - /** A descriptive name shown in dashboard and on invoices. */ + /** A descriptive name shown in dashboard. */ public Builder setName(String name) { this.name = name; return this; diff --git a/src/main/java/com/stripe/param/checkout/SessionCreateParams.java b/src/main/java/com/stripe/param/checkout/SessionCreateParams.java index a47176f3105..8cf35143a8a 100644 --- a/src/main/java/com/stripe/param/checkout/SessionCreateParams.java +++ b/src/main/java/com/stripe/param/checkout/SessionCreateParams.java @@ -15578,12 +15578,18 @@ public enum PaymentMethodType implements ApiRequestParams.EnumParam { @SerializedName("ideal") IDEAL("ideal"), + @SerializedName("kakao_pay") + KAKAO_PAY("kakao_pay"), + @SerializedName("klarna") KLARNA("klarna"), @SerializedName("konbini") KONBINI("konbini"), + @SerializedName("kr_card") + KR_CARD("kr_card"), + @SerializedName("link") LINK("link"), @@ -15596,12 +15602,18 @@ public enum PaymentMethodType implements ApiRequestParams.EnumParam { @SerializedName("multibanco") MULTIBANCO("multibanco"), + @SerializedName("naver_pay") + NAVER_PAY("naver_pay"), + @SerializedName("oxxo") OXXO("oxxo"), @SerializedName("p24") P24("p24"), + @SerializedName("payco") + PAYCO("payco"), + @SerializedName("paynow") PAYNOW("paynow"), @@ -15623,6 +15635,9 @@ public enum PaymentMethodType implements ApiRequestParams.EnumParam { @SerializedName("revolut_pay") REVOLUT_PAY("revolut_pay"), + @SerializedName("samsung_pay") + SAMSUNG_PAY("samsung_pay"), + @SerializedName("sepa_debit") SEPA_DEBIT("sepa_debit"), diff --git a/src/main/java/com/stripe/param/issuing/AuthorizationListParams.java b/src/main/java/com/stripe/param/issuing/AuthorizationListParams.java index a7cf195ff8f..33a9e0bec91 100644 --- a/src/main/java/com/stripe/param/issuing/AuthorizationListParams.java +++ b/src/main/java/com/stripe/param/issuing/AuthorizationListParams.java @@ -355,6 +355,9 @@ public enum Status implements ApiRequestParams.EnumParam { @SerializedName("closed") CLOSED("closed"), + @SerializedName("expired") + EXPIRED("expired"), + @SerializedName("pending") PENDING("pending"), diff --git a/src/main/java/com/stripe/param/issuing/CardSubmitCardParams.java b/src/main/java/com/stripe/param/issuing/CardSubmitCardParams.java new file mode 100644 index 00000000000..1fd77ebafd5 --- /dev/null +++ b/src/main/java/com/stripe/param/issuing/CardSubmitCardParams.java @@ -0,0 +1,98 @@ +// File generated from our OpenAPI spec +package com.stripe.param.issuing; + +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.Getter; + +@Getter +public class CardSubmitCardParams extends ApiRequestParams { + /** Specifies which fields in the response should be expanded. */ + @SerializedName("expand") + List expand; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private CardSubmitCardParams(List expand, Map extraParams) { + this.expand = expand; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private List expand; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public CardSubmitCardParams build() { + return new CardSubmitCardParams(this.expand, this.extraParams); + } + + /** + * Add an element to `expand` list. A list is initialized for the first `add/addAll` call, and + * subsequent calls adds additional elements to the original list. See {@link + * CardSubmitCardParams#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 + * CardSubmitCardParams#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 + * CardSubmitCardParams#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 CardSubmitCardParams#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } +} diff --git a/src/main/java/com/stripe/param/tax/CalculationCreateParams.java b/src/main/java/com/stripe/param/tax/CalculationCreateParams.java index cf871ef04f6..a408d6ae5c3 100644 --- a/src/main/java/com/stripe/param/tax/CalculationCreateParams.java +++ b/src/main/java/com/stripe/param/tax/CalculationCreateParams.java @@ -627,19 +627,20 @@ public static class TaxId { /** * Required. Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code - * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code ca_bn}, {@code ca_gst_hst}, {@code - * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code - * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, - * {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code - * eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, - * {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code - * jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, - * {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code - * no_vat}, {@code no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, - * {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code - * sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, - * {@code tw_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code ve_rif}, {@code - * vn_tin}, or {@code za_vat} + * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code + * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, + * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code + * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, + * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code + * hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, + * {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code + * kz_bin}, {@code li_uid}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc}, {@code my_frp}, + * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code + * nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, + * {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code + * si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, + * {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code + * ve_rif}, {@code vn_tin}, or {@code za_vat} */ @SerializedName("type") Type type; @@ -702,19 +703,20 @@ public Builder putAllExtraParam(Map map) { /** * Required. Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code - * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code ca_bn}, {@code ca_gst_hst}, {@code - * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code - * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, - * {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, - * {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code - * hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, - * {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code - * li_uid}, {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, - * {@code no_vat}, {@code no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code - * ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, - * {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code - * tr_tin}, {@code tw_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code ve_rif}, - * {@code vn_tin}, or {@code za_vat} + * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code + * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, + * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code + * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, + * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code + * hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, + * {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code + * kz_bin}, {@code li_uid}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc}, {@code my_frp}, + * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code + * nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, + * {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code + * si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, + * {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code + * ve_rif}, {@code vn_tin}, or {@code za_vat} */ public Builder setType(CalculationCreateParams.CustomerDetails.TaxId.Type type) { this.type = type; @@ -759,6 +761,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("br_cpf") BR_CPF("br_cpf"), + @SerializedName("by_tin") + BY_TIN("by_tin"), + @SerializedName("ca_bn") CA_BN("ca_bn"), @@ -864,6 +869,12 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("li_uid") LI_UID("li_uid"), + @SerializedName("ma_vat") + MA_VAT("ma_vat"), + + @SerializedName("md_vat") + MD_VAT("md_vat"), + @SerializedName("mx_rfc") MX_RFC("mx_rfc"), @@ -933,6 +944,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("tw_vat") TW_VAT("tw_vat"), + @SerializedName("tz_vat") + TZ_VAT("tz_vat"), + @SerializedName("ua_vat") UA_VAT("ua_vat"), @@ -942,6 +956,12 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("uy_ruc") UY_RUC("uy_ruc"), + @SerializedName("uz_tin") + UZ_TIN("uz_tin"), + + @SerializedName("uz_vat") + UZ_VAT("uz_vat"), + @SerializedName("ve_rif") VE_RIF("ve_rif"), diff --git a/src/main/java/com/stripe/param/tax/RegistrationCreateParams.java b/src/main/java/com/stripe/param/tax/RegistrationCreateParams.java index 4aa133fe8bc..6edc54fa17d 100644 --- a/src/main/java/com/stripe/param/tax/RegistrationCreateParams.java +++ b/src/main/java/com/stripe/param/tax/RegistrationCreateParams.java @@ -222,6 +222,10 @@ public static class CountryOptions { @SerializedName("bh") Bh bh; + /** Options for the registration in BY. */ + @SerializedName("by") + By by; + /** Options for the registration in CA. */ @SerializedName("ca") Ca ca; @@ -238,6 +242,10 @@ public static class CountryOptions { @SerializedName("co") Co co; + /** Options for the registration in CR. */ + @SerializedName("cr") + Cr cr; + /** Options for the registration in CY. */ @SerializedName("cy") Cy cy; @@ -254,6 +262,10 @@ public static class CountryOptions { @SerializedName("dk") Dk dk; + /** Options for the registration in EC. */ + @SerializedName("ec") + Ec ec; + /** Options for the registration in EE. */ @SerializedName("ee") Ee ee; @@ -347,6 +359,14 @@ public static class CountryOptions { @SerializedName("lv") Lv lv; + /** Options for the registration in MA. */ + @SerializedName("ma") + Ma ma; + + /** Options for the registration in MD. */ + @SerializedName("md") + Md md; + /** Options for the registration in MT. */ @SerializedName("mt") Mt mt; @@ -391,6 +411,14 @@ public static class CountryOptions { @SerializedName("ro") Ro ro; + /** Options for the registration in RS. */ + @SerializedName("rs") + Rs rs; + + /** Options for the registration in RU. */ + @SerializedName("ru") + Ru ru; + /** Options for the registration in SA. */ @SerializedName("sa") Sa sa; @@ -419,10 +447,18 @@ public static class CountryOptions { @SerializedName("tr") Tr tr; + /** Options for the registration in TZ. */ + @SerializedName("tz") + Tz tz; + /** Options for the registration in US. */ @SerializedName("us") Us us; + /** Options for the registration in UZ. */ + @SerializedName("uz") + Uz uz; + /** Options for the registration in VN. */ @SerializedName("vn") Vn vn; @@ -438,14 +474,17 @@ private CountryOptions( Be be, Bg bg, Bh bh, + By by, Ca ca, Ch ch, Cl cl, Co co, + Cr cr, Cy cy, Cz cz, De de, Dk dk, + Ec ec, Ee ee, Eg eg, Es es, @@ -468,6 +507,8 @@ private CountryOptions( Lt lt, Lu lu, Lv lv, + Ma ma, + Md md, Mt mt, Mx mx, My my, @@ -479,6 +520,8 @@ private CountryOptions( Pl pl, Pt pt, Ro ro, + Rs rs, + Ru ru, Sa sa, Se se, Sg sg, @@ -486,7 +529,9 @@ private CountryOptions( Sk sk, Th th, Tr tr, + Tz tz, Us us, + Uz uz, Vn vn, Za za) { this.ae = ae; @@ -495,14 +540,17 @@ private CountryOptions( this.be = be; this.bg = bg; this.bh = bh; + this.by = by; this.ca = ca; this.ch = ch; this.cl = cl; this.co = co; + this.cr = cr; this.cy = cy; this.cz = cz; this.de = de; this.dk = dk; + this.ec = ec; this.ee = ee; this.eg = eg; this.es = es; @@ -525,6 +573,8 @@ private CountryOptions( this.lt = lt; this.lu = lu; this.lv = lv; + this.ma = ma; + this.md = md; this.mt = mt; this.mx = mx; this.my = my; @@ -536,6 +586,8 @@ private CountryOptions( this.pl = pl; this.pt = pt; this.ro = ro; + this.rs = rs; + this.ru = ru; this.sa = sa; this.se = se; this.sg = sg; @@ -543,7 +595,9 @@ private CountryOptions( this.sk = sk; this.th = th; this.tr = tr; + this.tz = tz; this.us = us; + this.uz = uz; this.vn = vn; this.za = za; } @@ -565,6 +619,8 @@ public static class Builder { private Bh bh; + private By by; + private Ca ca; private Ch ch; @@ -573,6 +629,8 @@ public static class Builder { private Co co; + private Cr cr; + private Cy cy; private Cz cz; @@ -581,6 +639,8 @@ public static class Builder { private Dk dk; + private Ec ec; + private Ee ee; private Eg eg; @@ -625,6 +685,10 @@ public static class Builder { private Lv lv; + private Ma ma; + + private Md md; + private Mt mt; private Mx mx; @@ -647,6 +711,10 @@ public static class Builder { private Ro ro; + private Rs rs; + + private Ru ru; + private Sa sa; private Se se; @@ -661,8 +729,12 @@ public static class Builder { private Tr tr; + private Tz tz; + private Us us; + private Uz uz; + private Vn vn; private Za za; @@ -676,14 +748,17 @@ public RegistrationCreateParams.CountryOptions build() { this.be, this.bg, this.bh, + this.by, this.ca, this.ch, this.cl, this.co, + this.cr, this.cy, this.cz, this.de, this.dk, + this.ec, this.ee, this.eg, this.es, @@ -706,6 +781,8 @@ public RegistrationCreateParams.CountryOptions build() { this.lt, this.lu, this.lv, + this.ma, + this.md, this.mt, this.mx, this.my, @@ -717,6 +794,8 @@ public RegistrationCreateParams.CountryOptions build() { this.pl, this.pt, this.ro, + this.rs, + this.ru, this.sa, this.se, this.sg, @@ -724,7 +803,9 @@ public RegistrationCreateParams.CountryOptions build() { this.sk, this.th, this.tr, + this.tz, this.us, + this.uz, this.vn, this.za); } @@ -765,6 +846,12 @@ public Builder setBh(RegistrationCreateParams.CountryOptions.Bh bh) { return this; } + /** Options for the registration in BY. */ + public Builder setBy(RegistrationCreateParams.CountryOptions.By by) { + this.by = by; + return this; + } + /** Options for the registration in CA. */ public Builder setCa(RegistrationCreateParams.CountryOptions.Ca ca) { this.ca = ca; @@ -789,6 +876,12 @@ public Builder setCo(RegistrationCreateParams.CountryOptions.Co co) { return this; } + /** Options for the registration in CR. */ + public Builder setCr(RegistrationCreateParams.CountryOptions.Cr cr) { + this.cr = cr; + return this; + } + /** Options for the registration in CY. */ public Builder setCy(RegistrationCreateParams.CountryOptions.Cy cy) { this.cy = cy; @@ -813,6 +906,12 @@ public Builder setDk(RegistrationCreateParams.CountryOptions.Dk dk) { return this; } + /** Options for the registration in EC. */ + public Builder setEc(RegistrationCreateParams.CountryOptions.Ec ec) { + this.ec = ec; + return this; + } + /** Options for the registration in EE. */ public Builder setEe(RegistrationCreateParams.CountryOptions.Ee ee) { this.ee = ee; @@ -966,6 +1065,18 @@ public Builder setLv(RegistrationCreateParams.CountryOptions.Lv lv) { return this; } + /** Options for the registration in MA. */ + public Builder setMa(RegistrationCreateParams.CountryOptions.Ma ma) { + this.ma = ma; + return this; + } + + /** Options for the registration in MD. */ + public Builder setMd(RegistrationCreateParams.CountryOptions.Md md) { + this.md = md; + return this; + } + /** Options for the registration in MT. */ public Builder setMt(RegistrationCreateParams.CountryOptions.Mt mt) { this.mt = mt; @@ -1032,6 +1143,18 @@ public Builder setRo(RegistrationCreateParams.CountryOptions.Ro ro) { return this; } + /** Options for the registration in RS. */ + public Builder setRs(RegistrationCreateParams.CountryOptions.Rs rs) { + this.rs = rs; + return this; + } + + /** Options for the registration in RU. */ + public Builder setRu(RegistrationCreateParams.CountryOptions.Ru ru) { + this.ru = ru; + return this; + } + /** Options for the registration in SA. */ public Builder setSa(RegistrationCreateParams.CountryOptions.Sa sa) { this.sa = sa; @@ -1074,12 +1197,24 @@ public Builder setTr(RegistrationCreateParams.CountryOptions.Tr tr) { return this; } + /** Options for the registration in TZ. */ + public Builder setTz(RegistrationCreateParams.CountryOptions.Tz tz) { + this.tz = tz; + return this; + } + /** Options for the registration in US. */ public Builder setUs(RegistrationCreateParams.CountryOptions.Us us) { this.us = us; return this; } + /** Options for the registration in UZ. */ + public Builder setUz(RegistrationCreateParams.CountryOptions.Uz uz) { + this.uz = uz; + return this; + } + /** Options for the registration in VN. */ public Builder setVn(RegistrationCreateParams.CountryOptions.Vn vn) { this.vn = vn; @@ -1933,6 +2068,88 @@ public enum Type implements ApiRequestParams.EnumParam { } } + @Getter + public static class By { + /** + * 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. Type of registration to be created in {@code country}. */ + @SerializedName("type") + Type type; + + private By(Map extraParams, Type type) { + this.extraParams = extraParams; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public RegistrationCreateParams.CountryOptions.By build() { + return new RegistrationCreateParams.CountryOptions.By(this.extraParams, this.type); + } + + /** + * 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 RegistrationCreateParams.CountryOptions.By#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 RegistrationCreateParams.CountryOptions.By#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. Type of registration to be created in {@code country}. */ + public Builder setType(RegistrationCreateParams.CountryOptions.By.Type type) { + this.type = type; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("simplified") + SIMPLIFIED("simplified"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + @Getter public static class Ca { /** @@ -2362,6 +2579,88 @@ public enum Type implements ApiRequestParams.EnumParam { } } + @Getter + public static class Cr { + /** + * 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. Type of registration to be created in {@code country}. */ + @SerializedName("type") + Type type; + + private Cr(Map extraParams, Type type) { + this.extraParams = extraParams; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public RegistrationCreateParams.CountryOptions.Cr build() { + return new RegistrationCreateParams.CountryOptions.Cr(this.extraParams, this.type); + } + + /** + * 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 RegistrationCreateParams.CountryOptions.Cr#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 RegistrationCreateParams.CountryOptions.Cr#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. Type of registration to be created in {@code country}. */ + public Builder setType(RegistrationCreateParams.CountryOptions.Cr.Type type) { + this.type = type; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("simplified") + SIMPLIFIED("simplified"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + @Getter public static class Cy { /** @@ -3155,7 +3454,7 @@ public enum Type implements ApiRequestParams.EnumParam { } @Getter - public static class Ee { + public static class Ec { /** * 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. @@ -3165,17 +3464,12 @@ public static class Ee { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Options for the standard registration. */ - @SerializedName("standard") - Standard standard; - - /** Required. Type of registration to be created in an EU country. */ + /** Required. Type of registration to be created in {@code country}. */ @SerializedName("type") Type type; - private Ee(Map extraParams, Standard standard, Type type) { + private Ec(Map extraParams, Type type) { this.extraParams = extraParams; - this.standard = standard; this.type = type; } @@ -3186,20 +3480,17 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Standard standard; - private Type type; /** Finalize and obtain parameter instance from this builder. */ - public RegistrationCreateParams.CountryOptions.Ee build() { - return new RegistrationCreateParams.CountryOptions.Ee( - this.extraParams, this.standard, this.type); + public RegistrationCreateParams.CountryOptions.Ec build() { + return new RegistrationCreateParams.CountryOptions.Ec(this.extraParams, this.type); } /** * 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 RegistrationCreateParams.CountryOptions.Ee#extraParams} for the field + * map. See {@link RegistrationCreateParams.CountryOptions.Ec#extraParams} for the field * documentation. */ public Builder putExtraParam(String key, Object value) { @@ -3213,7 +3504,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link RegistrationCreateParams.CountryOptions.Ee#extraParams} for the field + * map. See {@link RegistrationCreateParams.CountryOptions.Ec#extraParams} for the field * documentation. */ public Builder putAllExtraParam(Map map) { @@ -3224,50 +3515,140 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Options for the standard registration. */ - public Builder setStandard(RegistrationCreateParams.CountryOptions.Ee.Standard standard) { - this.standard = standard; - return this; - } - - /** Required. Type of registration to be created in an EU country. */ - public Builder setType(RegistrationCreateParams.CountryOptions.Ee.Type type) { + /** Required. Type of registration to be created in {@code country}. */ + public Builder setType(RegistrationCreateParams.CountryOptions.Ec.Type type) { this.type = type; return this; } } - @Getter - public static class Standard { - /** - * 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. Place of supply scheme used in an EU standard registration. - */ - @SerializedName("place_of_supply_scheme") - PlaceOfSupplyScheme placeOfSupplyScheme; + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("simplified") + SIMPLIFIED("simplified"); - private Standard(Map extraParams, PlaceOfSupplyScheme placeOfSupplyScheme) { - this.extraParams = extraParams; - this.placeOfSupplyScheme = placeOfSupplyScheme; - } + @Getter(onMethod_ = {@Override}) + private final String value; - public static Builder builder() { - return new Builder(); + Type(String value) { + this.value = value; } + } + } - public static class Builder { - private Map extraParams; - - private PlaceOfSupplyScheme placeOfSupplyScheme; + @Getter + public static class Ee { + /** + * 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; + + /** Options for the standard registration. */ + @SerializedName("standard") + Standard standard; + + /** Required. Type of registration to be created in an EU country. */ + @SerializedName("type") + Type type; + + private Ee(Map extraParams, Standard standard, Type type) { + this.extraParams = extraParams; + this.standard = standard; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Standard standard; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public RegistrationCreateParams.CountryOptions.Ee build() { + return new RegistrationCreateParams.CountryOptions.Ee( + this.extraParams, this.standard, this.type); + } + + /** + * 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 RegistrationCreateParams.CountryOptions.Ee#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 RegistrationCreateParams.CountryOptions.Ee#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Options for the standard registration. */ + public Builder setStandard(RegistrationCreateParams.CountryOptions.Ee.Standard standard) { + this.standard = standard; + return this; + } + + /** Required. Type of registration to be created in an EU country. */ + public Builder setType(RegistrationCreateParams.CountryOptions.Ee.Type type) { + this.type = type; + return this; + } + } + + @Getter + public static class Standard { + /** + * 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. Place of supply scheme used in an EU standard registration. + */ + @SerializedName("place_of_supply_scheme") + PlaceOfSupplyScheme placeOfSupplyScheme; + + private Standard(Map extraParams, PlaceOfSupplyScheme placeOfSupplyScheme) { + this.extraParams = extraParams; + this.placeOfSupplyScheme = placeOfSupplyScheme; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PlaceOfSupplyScheme placeOfSupplyScheme; /** Finalize and obtain parameter instance from this builder. */ public RegistrationCreateParams.CountryOptions.Ee.Standard build() { @@ -6269,7 +6650,7 @@ public enum Type implements ApiRequestParams.EnumParam { } @Getter - public static class Mt { + public static class Ma { /** * 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. @@ -6279,17 +6660,12 @@ public static class Mt { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Options for the standard registration. */ - @SerializedName("standard") - Standard standard; - - /** Required. Type of registration to be created in an EU country. */ + /** Required. Type of registration to be created in {@code country}. */ @SerializedName("type") Type type; - private Mt(Map extraParams, Standard standard, Type type) { + private Ma(Map extraParams, Type type) { this.extraParams = extraParams; - this.standard = standard; this.type = type; } @@ -6300,20 +6676,17 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Standard standard; - private Type type; /** Finalize and obtain parameter instance from this builder. */ - public RegistrationCreateParams.CountryOptions.Mt build() { - return new RegistrationCreateParams.CountryOptions.Mt( - this.extraParams, this.standard, this.type); + public RegistrationCreateParams.CountryOptions.Ma build() { + return new RegistrationCreateParams.CountryOptions.Ma(this.extraParams, this.type); } /** * 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 RegistrationCreateParams.CountryOptions.Mt#extraParams} for the field + * map. See {@link RegistrationCreateParams.CountryOptions.Ma#extraParams} for the field * documentation. */ public Builder putExtraParam(String key, Object value) { @@ -6327,7 +6700,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link RegistrationCreateParams.CountryOptions.Mt#extraParams} for the field + * map. See {@link RegistrationCreateParams.CountryOptions.Ma#extraParams} for the field * documentation. */ public Builder putAllExtraParam(Map map) { @@ -6338,124 +6711,16 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Options for the standard registration. */ - public Builder setStandard(RegistrationCreateParams.CountryOptions.Mt.Standard standard) { - this.standard = standard; - return this; - } - - /** Required. Type of registration to be created in an EU country. */ - public Builder setType(RegistrationCreateParams.CountryOptions.Mt.Type type) { + /** Required. Type of registration to be created in {@code country}. */ + public Builder setType(RegistrationCreateParams.CountryOptions.Ma.Type type) { this.type = type; return this; } } - @Getter - public static class Standard { - /** - * 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. Place of supply scheme used in an EU standard registration. - */ - @SerializedName("place_of_supply_scheme") - PlaceOfSupplyScheme placeOfSupplyScheme; - - private Standard(Map extraParams, PlaceOfSupplyScheme placeOfSupplyScheme) { - this.extraParams = extraParams; - this.placeOfSupplyScheme = placeOfSupplyScheme; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private PlaceOfSupplyScheme placeOfSupplyScheme; - - /** Finalize and obtain parameter instance from this builder. */ - public RegistrationCreateParams.CountryOptions.Mt.Standard build() { - return new RegistrationCreateParams.CountryOptions.Mt.Standard( - this.extraParams, this.placeOfSupplyScheme); - } - - /** - * 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 RegistrationCreateParams.CountryOptions.Mt.Standard#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 RegistrationCreateParams.CountryOptions.Mt.Standard#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. Place of supply scheme used in an EU standard registration. - */ - public Builder setPlaceOfSupplyScheme( - RegistrationCreateParams.CountryOptions.Mt.Standard.PlaceOfSupplyScheme - placeOfSupplyScheme) { - this.placeOfSupplyScheme = placeOfSupplyScheme; - return this; - } - } - - public enum PlaceOfSupplyScheme implements ApiRequestParams.EnumParam { - @SerializedName("small_seller") - SMALL_SELLER("small_seller"), - - @SerializedName("standard") - STANDARD("standard"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - PlaceOfSupplyScheme(String value) { - this.value = value; - } - } - } - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("ioss") - IOSS("ioss"), - - @SerializedName("oss_non_union") - OSS_NON_UNION("oss_non_union"), - - @SerializedName("oss_union") - OSS_UNION("oss_union"), - - @SerializedName("standard") - STANDARD("standard"); + @SerializedName("simplified") + SIMPLIFIED("simplified"); @Getter(onMethod_ = {@Override}) private final String value; @@ -6467,7 +6732,7 @@ public enum Type implements ApiRequestParams.EnumParam { } @Getter - public static class Mx { + public static class Md { /** * 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. @@ -6481,7 +6746,7 @@ public static class Mx { @SerializedName("type") Type type; - private Mx(Map extraParams, Type type) { + private Md(Map extraParams, Type type) { this.extraParams = extraParams; this.type = type; } @@ -6496,14 +6761,14 @@ public static class Builder { private Type type; /** Finalize and obtain parameter instance from this builder. */ - public RegistrationCreateParams.CountryOptions.Mx build() { - return new RegistrationCreateParams.CountryOptions.Mx(this.extraParams, this.type); + public RegistrationCreateParams.CountryOptions.Md build() { + return new RegistrationCreateParams.CountryOptions.Md(this.extraParams, this.type); } /** * 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 RegistrationCreateParams.CountryOptions.Mx#extraParams} for the field + * map. See {@link RegistrationCreateParams.CountryOptions.Md#extraParams} for the field * documentation. */ public Builder putExtraParam(String key, Object value) { @@ -6517,7 +6782,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link RegistrationCreateParams.CountryOptions.Mx#extraParams} for the field + * map. See {@link RegistrationCreateParams.CountryOptions.Md#extraParams} for the field * documentation. */ public Builder putAllExtraParam(Map map) { @@ -6529,7 +6794,7 @@ public Builder putAllExtraParam(Map map) { } /** Required. Type of registration to be created in {@code country}. */ - public Builder setType(RegistrationCreateParams.CountryOptions.Mx.Type type) { + public Builder setType(RegistrationCreateParams.CountryOptions.Md.Type type) { this.type = type; return this; } @@ -6549,7 +6814,7 @@ public enum Type implements ApiRequestParams.EnumParam { } @Getter - public static class My { + public static class Mt { /** * 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. @@ -6559,8 +6824,288 @@ public static class My { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. Type of registration to be created in {@code country}. */ - @SerializedName("type") + /** Options for the standard registration. */ + @SerializedName("standard") + Standard standard; + + /** Required. Type of registration to be created in an EU country. */ + @SerializedName("type") + Type type; + + private Mt(Map extraParams, Standard standard, Type type) { + this.extraParams = extraParams; + this.standard = standard; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Standard standard; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public RegistrationCreateParams.CountryOptions.Mt build() { + return new RegistrationCreateParams.CountryOptions.Mt( + this.extraParams, this.standard, this.type); + } + + /** + * 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 RegistrationCreateParams.CountryOptions.Mt#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 RegistrationCreateParams.CountryOptions.Mt#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Options for the standard registration. */ + public Builder setStandard(RegistrationCreateParams.CountryOptions.Mt.Standard standard) { + this.standard = standard; + return this; + } + + /** Required. Type of registration to be created in an EU country. */ + public Builder setType(RegistrationCreateParams.CountryOptions.Mt.Type type) { + this.type = type; + return this; + } + } + + @Getter + public static class Standard { + /** + * 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. Place of supply scheme used in an EU standard registration. + */ + @SerializedName("place_of_supply_scheme") + PlaceOfSupplyScheme placeOfSupplyScheme; + + private Standard(Map extraParams, PlaceOfSupplyScheme placeOfSupplyScheme) { + this.extraParams = extraParams; + this.placeOfSupplyScheme = placeOfSupplyScheme; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PlaceOfSupplyScheme placeOfSupplyScheme; + + /** Finalize and obtain parameter instance from this builder. */ + public RegistrationCreateParams.CountryOptions.Mt.Standard build() { + return new RegistrationCreateParams.CountryOptions.Mt.Standard( + this.extraParams, this.placeOfSupplyScheme); + } + + /** + * 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 RegistrationCreateParams.CountryOptions.Mt.Standard#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 RegistrationCreateParams.CountryOptions.Mt.Standard#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. Place of supply scheme used in an EU standard registration. + */ + public Builder setPlaceOfSupplyScheme( + RegistrationCreateParams.CountryOptions.Mt.Standard.PlaceOfSupplyScheme + placeOfSupplyScheme) { + this.placeOfSupplyScheme = placeOfSupplyScheme; + return this; + } + } + + public enum PlaceOfSupplyScheme implements ApiRequestParams.EnumParam { + @SerializedName("small_seller") + SMALL_SELLER("small_seller"), + + @SerializedName("standard") + STANDARD("standard"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + PlaceOfSupplyScheme(String value) { + this.value = value; + } + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("ioss") + IOSS("ioss"), + + @SerializedName("oss_non_union") + OSS_NON_UNION("oss_non_union"), + + @SerializedName("oss_union") + OSS_UNION("oss_union"), + + @SerializedName("standard") + STANDARD("standard"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + + @Getter + public static class Mx { + /** + * 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. Type of registration to be created in {@code country}. */ + @SerializedName("type") + Type type; + + private Mx(Map extraParams, Type type) { + this.extraParams = extraParams; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public RegistrationCreateParams.CountryOptions.Mx build() { + return new RegistrationCreateParams.CountryOptions.Mx(this.extraParams, this.type); + } + + /** + * 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 RegistrationCreateParams.CountryOptions.Mx#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 RegistrationCreateParams.CountryOptions.Mx#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. Type of registration to be created in {@code country}. */ + public Builder setType(RegistrationCreateParams.CountryOptions.Mx.Type type) { + this.type = type; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("simplified") + SIMPLIFIED("simplified"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + + @Getter + public static class My { + /** + * 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. Type of registration to be created in {@code country}. */ + @SerializedName("type") Type type; private My(Map extraParams, Type type) { @@ -7658,88 +8203,252 @@ private Standard(Map extraParams, PlaceOfSupplyScheme placeOfSup this.placeOfSupplyScheme = placeOfSupplyScheme; } - public static Builder builder() { - return new Builder(); - } + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PlaceOfSupplyScheme placeOfSupplyScheme; + + /** Finalize and obtain parameter instance from this builder. */ + public RegistrationCreateParams.CountryOptions.Ro.Standard build() { + return new RegistrationCreateParams.CountryOptions.Ro.Standard( + this.extraParams, this.placeOfSupplyScheme); + } + + /** + * 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 RegistrationCreateParams.CountryOptions.Ro.Standard#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 RegistrationCreateParams.CountryOptions.Ro.Standard#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. Place of supply scheme used in an EU standard registration. + */ + public Builder setPlaceOfSupplyScheme( + RegistrationCreateParams.CountryOptions.Ro.Standard.PlaceOfSupplyScheme + placeOfSupplyScheme) { + this.placeOfSupplyScheme = placeOfSupplyScheme; + return this; + } + } + + public enum PlaceOfSupplyScheme implements ApiRequestParams.EnumParam { + @SerializedName("small_seller") + SMALL_SELLER("small_seller"), + + @SerializedName("standard") + STANDARD("standard"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + PlaceOfSupplyScheme(String value) { + this.value = value; + } + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("ioss") + IOSS("ioss"), + + @SerializedName("oss_non_union") + OSS_NON_UNION("oss_non_union"), + + @SerializedName("oss_union") + OSS_UNION("oss_union"), + + @SerializedName("standard") + STANDARD("standard"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + + @Getter + public static class Rs { + /** + * 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. Type of registration to be created in {@code country}. */ + @SerializedName("type") + Type type; + + private Rs(Map extraParams, Type type) { + this.extraParams = extraParams; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public RegistrationCreateParams.CountryOptions.Rs build() { + return new RegistrationCreateParams.CountryOptions.Rs(this.extraParams, this.type); + } + + /** + * 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 RegistrationCreateParams.CountryOptions.Rs#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 RegistrationCreateParams.CountryOptions.Rs#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. Type of registration to be created in {@code country}. */ + public Builder setType(RegistrationCreateParams.CountryOptions.Rs.Type type) { + this.type = type; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("standard") + STANDARD("standard"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + + @Getter + public static class Ru { + /** + * 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. Type of registration to be created in {@code country}. */ + @SerializedName("type") + Type type; + + private Ru(Map extraParams, Type type) { + this.extraParams = extraParams; + this.type = type; + } - public static class Builder { - private Map extraParams; + public static Builder builder() { + return new Builder(); + } - private PlaceOfSupplyScheme placeOfSupplyScheme; + public static class Builder { + private Map extraParams; - /** Finalize and obtain parameter instance from this builder. */ - public RegistrationCreateParams.CountryOptions.Ro.Standard build() { - return new RegistrationCreateParams.CountryOptions.Ro.Standard( - this.extraParams, this.placeOfSupplyScheme); - } + private Type type; - /** - * 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 RegistrationCreateParams.CountryOptions.Ro.Standard#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; - } + /** Finalize and obtain parameter instance from this builder. */ + public RegistrationCreateParams.CountryOptions.Ru build() { + return new RegistrationCreateParams.CountryOptions.Ru(this.extraParams, this.type); + } - /** - * 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 RegistrationCreateParams.CountryOptions.Ro.Standard#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - 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 RegistrationCreateParams.CountryOptions.Ru#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; + } - /** - * Required. Place of supply scheme used in an EU standard registration. - */ - public Builder setPlaceOfSupplyScheme( - RegistrationCreateParams.CountryOptions.Ro.Standard.PlaceOfSupplyScheme - placeOfSupplyScheme) { - this.placeOfSupplyScheme = placeOfSupplyScheme; - 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 RegistrationCreateParams.CountryOptions.Ru#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; } - public enum PlaceOfSupplyScheme implements ApiRequestParams.EnumParam { - @SerializedName("small_seller") - SMALL_SELLER("small_seller"), - - @SerializedName("standard") - STANDARD("standard"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - PlaceOfSupplyScheme(String value) { - this.value = value; - } + /** Required. Type of registration to be created in {@code country}. */ + public Builder setType(RegistrationCreateParams.CountryOptions.Ru.Type type) { + this.type = type; + return this; } } public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("ioss") - IOSS("ioss"), - - @SerializedName("oss_non_union") - OSS_NON_UNION("oss_non_union"), - - @SerializedName("oss_union") - OSS_UNION("oss_union"), - - @SerializedName("standard") - STANDARD("standard"); + @SerializedName("simplified") + SIMPLIFIED("simplified"); @Getter(onMethod_ = {@Override}) private final String value; @@ -8672,6 +9381,88 @@ public enum Type implements ApiRequestParams.EnumParam { } } + @Getter + public static class Tz { + /** + * 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. Type of registration to be created in {@code country}. */ + @SerializedName("type") + Type type; + + private Tz(Map extraParams, Type type) { + this.extraParams = extraParams; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public RegistrationCreateParams.CountryOptions.Tz build() { + return new RegistrationCreateParams.CountryOptions.Tz(this.extraParams, this.type); + } + + /** + * 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 RegistrationCreateParams.CountryOptions.Tz#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 RegistrationCreateParams.CountryOptions.Tz#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. Type of registration to be created in {@code country}. */ + public Builder setType(RegistrationCreateParams.CountryOptions.Tz.Type type) { + this.type = type; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("simplified") + SIMPLIFIED("simplified"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + @Getter public static class Us { /** @@ -9208,6 +9999,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("state_communications_tax") STATE_COMMUNICATIONS_TAX("state_communications_tax"), + @SerializedName("state_retail_delivery_fee") + STATE_RETAIL_DELIVERY_FEE("state_retail_delivery_fee"), + @SerializedName("state_sales_tax") STATE_SALES_TAX("state_sales_tax"); @@ -9220,6 +10014,88 @@ public enum Type implements ApiRequestParams.EnumParam { } } + @Getter + public static class Uz { + /** + * 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. Type of registration to be created in {@code country}. */ + @SerializedName("type") + Type type; + + private Uz(Map extraParams, Type type) { + this.extraParams = extraParams; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public RegistrationCreateParams.CountryOptions.Uz build() { + return new RegistrationCreateParams.CountryOptions.Uz(this.extraParams, this.type); + } + + /** + * 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 RegistrationCreateParams.CountryOptions.Uz#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 RegistrationCreateParams.CountryOptions.Uz#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. Type of registration to be created in {@code country}. */ + public Builder setType(RegistrationCreateParams.CountryOptions.Uz.Type type) { + this.type = type; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("simplified") + SIMPLIFIED("simplified"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + @Getter public static class Vn { /** diff --git a/src/main/java/com/stripe/service/testhelpers/issuing/CardService.java b/src/main/java/com/stripe/service/testhelpers/issuing/CardService.java index f60a1da6fe4..201cbe7aae6 100644 --- a/src/main/java/com/stripe/service/testhelpers/issuing/CardService.java +++ b/src/main/java/com/stripe/service/testhelpers/issuing/CardService.java @@ -14,6 +14,7 @@ import com.stripe.param.issuing.CardFailCardParams; import com.stripe.param.issuing.CardReturnCardParams; import com.stripe.param.issuing.CardShipCardParams; +import com.stripe.param.issuing.CardSubmitCardParams; public final class CardService extends ApiService { public CardService(StripeResponseGetter responseGetter) { @@ -160,4 +161,43 @@ public Card shipCard(String card, CardShipCardParams params, RequestOptions opti options); return this.request(request, Card.class); } + /** + * Updates the shipping status of the specified Issuing {@code Card} object to {@code submitted}. + * This method is only available with Stripe Version ‘2024-09-30.acacia’ or above. + */ + public Card submitCard(String card, CardSubmitCardParams params) throws StripeException { + return submitCard(card, params, (RequestOptions) null); + } + /** + * Updates the shipping status of the specified Issuing {@code Card} object to {@code submitted}. + * This method is only available with Stripe Version ‘2024-09-30.acacia’ or above. + */ + public Card submitCard(String card, RequestOptions options) throws StripeException { + return submitCard(card, (CardSubmitCardParams) null, options); + } + /** + * Updates the shipping status of the specified Issuing {@code Card} object to {@code submitted}. + * This method is only available with Stripe Version ‘2024-09-30.acacia’ or above. + */ + public Card submitCard(String card) throws StripeException { + return submitCard(card, (CardSubmitCardParams) null, (RequestOptions) null); + } + /** + * Updates the shipping status of the specified Issuing {@code Card} object to {@code submitted}. + * This method is only available with Stripe Version ‘2024-09-30.acacia’ or above. + */ + public Card submitCard(String card, CardSubmitCardParams params, RequestOptions options) + throws StripeException { + String path = + String.format( + "/v1/test_helpers/issuing/cards/%s/shipping/submit", ApiResource.urlEncodeId(card)); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + path, + ApiRequestParams.paramsToMap(params), + options); + return this.request(request, Card.class); + } }