diff --git a/CODEGEN_VERSION b/CODEGEN_VERSION index c82dcaeaa3f..9b119c6dec0 100644 --- a/CODEGEN_VERSION +++ b/CODEGEN_VERSION @@ -1 +1 @@ -1263d72c2687be8ce737cfb363690b8da0a0d552 \ No newline at end of file +6b817716b60b32636770d4c1bd7863bbdb6f5f7a \ No newline at end of file diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 1ae2e8d30e4..59e8e7ab354 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v2254 \ No newline at end of file +v2256 \ No newline at end of file diff --git a/src/main/java/com/stripe/StripeClient.java b/src/main/java/com/stripe/StripeClient.java index 52e20811091..e68e34776a9 100644 --- a/src/main/java/com/stripe/StripeClient.java +++ b/src/main/java/com/stripe/StripeClient.java @@ -750,6 +750,18 @@ public com.stripe.service.PaymentLinkService paymentLinks() { return new com.stripe.service.PaymentLinkService(this.getResponseGetter()); } + /** + * @deprecated StripeClient.paymentLocations() is deprecated, use + * StripeClient.v1().paymentLocations() instead. All functionality under it has been copied + * over to StripeClient.v1().paymentLocations(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. + */ + @Deprecated + public com.stripe.service.PaymentLocationService paymentLocations() { + return new com.stripe.service.PaymentLocationService(this.getResponseGetter()); + } + /** * @deprecated StripeClient.paymentMethodConfigurations() is deprecated, use * StripeClient.v1().paymentMethodConfigurations() instead. All functionality under it has diff --git a/src/main/java/com/stripe/model/Capability.java b/src/main/java/com/stripe/model/Capability.java index 119b3b5de09..4638164624d 100644 --- a/src/main/java/com/stripe/model/Capability.java +++ b/src/main/java/com/stripe/model/Capability.java @@ -48,6 +48,9 @@ public class Capability extends ApiResource implements HasId { @SerializedName("object") String object; + @SerializedName("protections") + Protections protections; + /** Whether the capability has been requested. */ @SerializedName("requested") Boolean requested; @@ -326,6 +329,43 @@ public static class Errors extends StripeObject { } } + /** + * For more details about Protections, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + @SerializedName("psp_migration") + PspMigration pspMigration; + + /** + * For more details about PspMigration, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** Time at which the protection expires. Measured in seconds since the Unix epoch. */ + @SerializedName("expires_at") + Long expiresAt; + + /** Time at which the protection was requested. Measured in seconds since the Unix epoch. */ + @SerializedName("requested_at") + Long requestedAt; + + /** + * The status of the capability protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code inactive}. + */ + @SerializedName("status") + String status; + } + } + /** * For more details about Requirements, please refer to the API Reference. @@ -520,6 +560,7 @@ public void setResponseGetter(StripeResponseGetter responseGetter) { super.setResponseGetter(responseGetter); trySetResponseGetter(account, responseGetter); trySetResponseGetter(futureRequirements, responseGetter); + trySetResponseGetter(protections, responseGetter); trySetResponseGetter(requirements, responseGetter); } } diff --git a/src/main/java/com/stripe/model/ConfirmationToken.java b/src/main/java/com/stripe/model/ConfirmationToken.java index a8d5f392476..cf6ac32b313 100644 --- a/src/main/java/com/stripe/model/ConfirmationToken.java +++ b/src/main/java/com/stripe/model/ConfirmationToken.java @@ -350,6 +350,9 @@ public static class PaymentMethodPreview extends StripeObject { @SerializedName("fpx") Fpx fpx; + @SerializedName("gift_card") + GiftCard giftCard; + @SerializedName("giropay") Giropay giropay; @@ -473,14 +476,14 @@ public static class PaymentMethodPreview extends StripeObject { * {@code alma}, {@code amazon_pay}, {@code au_becs_debit}, {@code bacs_debit}, {@code * bancontact}, {@code billie}, {@code blik}, {@code boleto}, {@code card}, {@code * card_present}, {@code cashapp}, {@code crypto}, {@code custom}, {@code customer_balance}, - * {@code eps}, {@code fpx}, {@code giropay}, {@code gopay}, {@code grabpay}, {@code - * id_bank_transfer}, {@code ideal}, {@code interac_present}, {@code kakao_pay}, {@code klarna}, - * {@code konbini}, {@code kr_card}, {@code link}, {@code mb_way}, {@code mobilepay}, {@code - * multibanco}, {@code naver_pay}, {@code nz_bank_account}, {@code oxxo}, {@code p24}, {@code - * pay_by_bank}, {@code payco}, {@code paynow}, {@code paypal}, {@code paypay}, {@code payto}, - * {@code pix}, {@code promptpay}, {@code qris}, {@code rechnung}, {@code revolut_pay}, {@code - * samsung_pay}, {@code satispay}, {@code sepa_debit}, {@code shopeepay}, {@code sofort}, {@code - * stripe_balance}, {@code sunbit}, {@code swish}, {@code twint}, {@code upi}, {@code + * {@code eps}, {@code fpx}, {@code gift_card}, {@code giropay}, {@code gopay}, {@code grabpay}, + * {@code id_bank_transfer}, {@code ideal}, {@code interac_present}, {@code kakao_pay}, {@code + * klarna}, {@code konbini}, {@code kr_card}, {@code link}, {@code mb_way}, {@code mobilepay}, + * {@code multibanco}, {@code naver_pay}, {@code nz_bank_account}, {@code oxxo}, {@code p24}, + * {@code pay_by_bank}, {@code payco}, {@code paynow}, {@code paypal}, {@code paypay}, {@code + * payto}, {@code pix}, {@code promptpay}, {@code qris}, {@code rechnung}, {@code revolut_pay}, + * {@code samsung_pay}, {@code satispay}, {@code sepa_debit}, {@code shopeepay}, {@code sofort}, + * {@code stripe_balance}, {@code sunbit}, {@code swish}, {@code twint}, {@code upi}, {@code * us_bank_account}, {@code wechat_pay}, or {@code zip}. */ @SerializedName("type") @@ -1738,6 +1741,43 @@ public static class Fpx extends StripeObject { String bank; } + /** + * For more details about GiftCard, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class GiftCard extends StripeObject { + /** + * The brand of the gift card. + * + *

One of {@code fiserv_valuelink}, {@code givex}, or {@code svs}. + */ + @SerializedName("brand") + String brand; + + /** The expiration month of the gift card. */ + @SerializedName("exp_month") + Long expMonth; + + /** The expiration year of the gift card. */ + @SerializedName("exp_year") + Long expYear; + + /** Uniquely identifies the gift card. */ + @SerializedName("fingerprint") + String fingerprint; + + /** The first six digits of the gift card number. */ + @SerializedName("first6") + String first6; + + /** The last four digits of the gift card number. */ + @SerializedName("last4") + String last4; + } + /** * For more details about Giropay, please refer to the API * Reference. diff --git a/src/main/java/com/stripe/model/EventDataClassLookup.java b/src/main/java/com/stripe/model/EventDataClassLookup.java index e5ba41dcdf3..33a084b8443 100644 --- a/src/main/java/com/stripe/model/EventDataClassLookup.java +++ b/src/main/java/com/stripe/model/EventDataClassLookup.java @@ -71,6 +71,7 @@ public final class EventDataClassLookup { "payment_intent_amount_details_line_item", com.stripe.model.PaymentIntentAmountDetailsLineItem.class); classLookup.put("payment_link", com.stripe.model.PaymentLink.class); + classLookup.put("payment_location", com.stripe.model.PaymentLocation.class); classLookup.put("payment_method", com.stripe.model.PaymentMethod.class); classLookup.put("payment_method_balance", com.stripe.model.PaymentMethodBalance.class); classLookup.put( diff --git a/src/main/java/com/stripe/model/InvoiceItem.java b/src/main/java/com/stripe/model/InvoiceItem.java index c77b5e2ec52..d4b4323c64f 100644 --- a/src/main/java/com/stripe/model/InvoiceItem.java +++ b/src/main/java/com/stripe/model/InvoiceItem.java @@ -818,10 +818,61 @@ public static class RateCardRateDetails extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class ProrationDetails extends StripeObject { + @SerializedName("credited_items") + CreditedItems creditedItems; + /** Discount amounts applied when the proration was created. */ @SerializedName("discount_amounts") List discountAmounts; + /** + * For more details about CreditedItems, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class CreditedItems extends StripeObject { + /** + * When {@code type} is {@code invoice_item}, the invoice item id for the debited invoice item + * corresponding to this credit proration. + */ + @SerializedName("invoice_item") + String invoiceItem; + + @SerializedName("invoice_line_items") + InvoiceLineItems invoiceLineItems; + + /** + * Whether the credit references a pending invoice item or one or more invoice line items on + * an invoice. + * + *

One of {@code invoice_item}, or {@code invoice_line_items}. + */ + @SerializedName("type") + String type; + + /** + * For more details about InvoiceLineItems, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class InvoiceLineItems extends StripeObject { + /** The invoice id for the debited line item(s). */ + @SerializedName("invoice") + String invoice; + + /** + * IDs of the debited invoice line item(s) on the invoice that correspond to the credit + * proration. + */ + @SerializedName("invoice_line_items") + List invoiceLineItems; + } + } + /** * For more details about DiscountAmount, please refer to the API Reference. diff --git a/src/main/java/com/stripe/model/PaymentLocation.java b/src/main/java/com/stripe/model/PaymentLocation.java new file mode 100644 index 00000000000..79610638a10 --- /dev/null +++ b/src/main/java/com/stripe/model/PaymentLocation.java @@ -0,0 +1,261 @@ +// File generated from our OpenAPI spec +package com.stripe.model; + +import com.google.gson.annotations.SerializedName; +import com.stripe.exception.StripeException; +import com.stripe.net.ApiRequest; +import com.stripe.net.ApiRequestParams; +import com.stripe.net.ApiResource; +import com.stripe.net.BaseAddress; +import com.stripe.net.RequestOptions; +import com.stripe.net.StripeResponseGetter; +import com.stripe.param.PaymentLocationCreateParams; +import com.stripe.param.PaymentLocationRetrieveParams; +import com.stripe.param.PaymentLocationUpdateParams; +import java.util.List; +import java.util.Map; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** A Payment Location represents a physical location where payments take place. */ +@Getter +@Setter +@EqualsAndHashCode(callSuper = false) +public class PaymentLocation extends ApiResource implements HasId { + @SerializedName("address") + Address address; + + /** Identification numbers associated with the location. */ + @SerializedName("business_registration") + BusinessRegistration businessRegistration; + + /** + * The capability settings for the location. Only applicable for locations with requested Payment + * Location Capabilities. + */ + @SerializedName("capability_settings") + CapabilitySettings capabilitySettings; + + /** Always true for a deleted object. */ + @SerializedName("deleted") + Boolean deleted; + + /** The display name of the location. */ + @SerializedName("display_name") + String displayName; + + /** Unique identifier for the object. */ + @Getter(onMethod_ = {@Override}) + @SerializedName("id") + String id; + + /** + * If the object exists in live mode, the value is {@code true}. If the object exists in test + * mode, the value is {@code false}. + */ + @SerializedName("livemode") + Boolean livemode; + + /** + * String representing the object's type. Objects of the same type share the same value. + * + *

Equal to {@code payment_location}. + */ + @SerializedName("object") + String object; + + /** Create a Payment Location. */ + public static PaymentLocation create(Map params) throws StripeException { + return create(params, (RequestOptions) null); + } + + /** Create a Payment Location. */ + public static PaymentLocation create(Map params, RequestOptions options) + throws StripeException { + String path = "/v1/payment_locations"; + ApiRequest request = + new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.POST, path, params, options); + return getGlobalResponseGetter().request(request, PaymentLocation.class); + } + + /** Create a Payment Location. */ + public static PaymentLocation create(PaymentLocationCreateParams params) throws StripeException { + return create(params, (RequestOptions) null); + } + + /** Create a Payment Location. */ + public static PaymentLocation create(PaymentLocationCreateParams params, RequestOptions options) + throws StripeException { + String path = "/v1/payment_locations"; + ApiResource.checkNullTypedParams(path, params); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + path, + ApiRequestParams.paramsToMap(params), + options); + return getGlobalResponseGetter().request(request, PaymentLocation.class); + } + + /** Delete a Payment Location. */ + public PaymentLocation delete() throws StripeException { + return delete((Map) null, (RequestOptions) null); + } + + /** Delete a Payment Location. */ + public PaymentLocation delete(RequestOptions options) throws StripeException { + return delete((Map) null, options); + } + + /** Delete a Payment Location. */ + public PaymentLocation delete(Map params) throws StripeException { + return delete(params, (RequestOptions) null); + } + + /** Delete a Payment Location. */ + public PaymentLocation delete(Map params, RequestOptions options) + throws StripeException { + String path = String.format("/v1/payment_locations/%s", ApiResource.urlEncodeId(this.getId())); + ApiRequest request = + new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.DELETE, path, params, options); + return getResponseGetter().request(request, PaymentLocation.class); + } + + /** Retrieve a Payment Location. */ + public static PaymentLocation retrieve(String id) throws StripeException { + return retrieve(id, (Map) null, (RequestOptions) null); + } + + /** Retrieve a Payment Location. */ + public static PaymentLocation retrieve(String id, RequestOptions options) throws StripeException { + return retrieve(id, (Map) null, options); + } + + /** Retrieve a Payment Location. */ + public static PaymentLocation retrieve( + String id, Map params, RequestOptions options) throws StripeException { + String path = String.format("/v1/payment_locations/%s", ApiResource.urlEncodeId(id)); + ApiRequest request = + new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.GET, path, params, options); + return getGlobalResponseGetter().request(request, PaymentLocation.class); + } + + /** Retrieve a Payment Location. */ + public static PaymentLocation retrieve( + String id, PaymentLocationRetrieveParams params, RequestOptions options) + throws StripeException { + String path = String.format("/v1/payment_locations/%s", ApiResource.urlEncodeId(id)); + ApiResource.checkNullTypedParams(path, params); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.GET, + path, + ApiRequestParams.paramsToMap(params), + options); + return getGlobalResponseGetter().request(request, PaymentLocation.class); + } + + /** Update a Payment Location. */ + public PaymentLocation update(Map params) throws StripeException { + return update(params, (RequestOptions) null); + } + + /** Update a Payment Location. */ + public PaymentLocation update(Map params, RequestOptions options) + throws StripeException { + String path = String.format("/v1/payment_locations/%s", ApiResource.urlEncodeId(this.getId())); + ApiRequest request = + new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.POST, path, params, options); + return getResponseGetter().request(request, PaymentLocation.class); + } + + /** Update a Payment Location. */ + public PaymentLocation update(PaymentLocationUpdateParams params) throws StripeException { + return update(params, (RequestOptions) null); + } + + /** Update a Payment Location. */ + public PaymentLocation update(PaymentLocationUpdateParams params, RequestOptions options) + throws StripeException { + String path = String.format("/v1/payment_locations/%s", ApiResource.urlEncodeId(this.getId())); + ApiResource.checkNullTypedParams(path, params); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + path, + ApiRequestParams.paramsToMap(params), + options); + return getResponseGetter().request(request, PaymentLocation.class); + } + + /** + * For more details about BusinessRegistration, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class BusinessRegistration extends StripeObject { + /** + * 14-digit SIRET (Système d'identification du répertoire des établissements) number for the + * location. + */ + @SerializedName("siret") + String siret; + } + + /** + * For more details about CapabilitySettings, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class CapabilitySettings extends StripeObject { + /** Settings for Conecs French meal voucher capability. */ + @SerializedName("fr_meal_vouchers_conecs_payments") + FrMealVouchersConecsPayments frMealVouchersConecsPayments; + + /** + * For more details about FrMealVouchersConecsPayments, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class FrMealVouchersConecsPayments extends StripeObject { + /** Supported meal voucher issuers. */ + @SerializedName("supported_issuers") + SupportedIssuers supportedIssuers; + + /** + * For more details about SupportedIssuers, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class SupportedIssuers extends StripeObject { + /** Supported meal voucher issuers for card payments. */ + @SerializedName("card") + List card; + + /** Supported meal voucher issuers for card present payments. */ + @SerializedName("card_present") + List cardPresent; + } + } + } + + @Override + public void setResponseGetter(StripeResponseGetter responseGetter) { + super.setResponseGetter(responseGetter); + trySetResponseGetter(address, responseGetter); + trySetResponseGetter(businessRegistration, responseGetter); + trySetResponseGetter(capabilitySettings, responseGetter); + } +} diff --git a/src/main/java/com/stripe/model/PaymentMethod.java b/src/main/java/com/stripe/model/PaymentMethod.java index 8270aaa0aa1..65b93191d11 100644 --- a/src/main/java/com/stripe/model/PaymentMethod.java +++ b/src/main/java/com/stripe/model/PaymentMethod.java @@ -124,6 +124,9 @@ public class PaymentMethod extends ApiResource implements HasId, MetadataStore

API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class GiftCard extends StripeObject { + /** + * The brand of the gift card. + * + *

One of {@code fiserv_valuelink}, {@code givex}, or {@code svs}. + */ + @SerializedName("brand") + String brand; + + /** The expiration month of the gift card. */ + @SerializedName("exp_month") + Long expMonth; + + /** The expiration year of the gift card. */ + @SerializedName("exp_year") + Long expYear; + + /** Uniquely identifies the gift card. */ + @SerializedName("fingerprint") + String fingerprint; + + /** The first six digits of the gift card number. */ + @SerializedName("first6") + String first6; + + /** The last four digits of the gift card number. */ + @SerializedName("last4") + String last4; + } + /** * For more details about Giropay, please refer to the API * Reference. @@ -3036,6 +3076,7 @@ public void setResponseGetter(StripeResponseGetter responseGetter) { trySetResponseGetter(customerBalance, responseGetter); trySetResponseGetter(eps, responseGetter); trySetResponseGetter(fpx, responseGetter); + trySetResponseGetter(giftCard, responseGetter); trySetResponseGetter(giropay, responseGetter); trySetResponseGetter(gopay, responseGetter); trySetResponseGetter(grabpay, responseGetter); diff --git a/src/main/java/com/stripe/model/Subscription.java b/src/main/java/com/stripe/model/Subscription.java index 75535462e2c..c90703f63e7 100644 --- a/src/main/java/com/stripe/model/Subscription.java +++ b/src/main/java/com/stripe/model/Subscription.java @@ -386,6 +386,10 @@ public class Subscription extends ApiResource implements HasId, MetadataStoreEqual to {@code subscription}. + */ + @SerializedName("type") + String type; + + /** Information on the {@code type=subscription} pause. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class InnerSubscription extends StripeObject { + /** + * The reason that the subscription was paused. + * + *

One of {@code pause_requested}, {@code system}, or {@code + * trial_end_without_payment_method}. + */ + @SerializedName("type") + String type; + } + } + } + /** * For more details about TransferData, please refer to the API Reference. @@ -2818,6 +2871,7 @@ public void setResponseGetter(StripeResponseGetter responseGetter) { trySetResponseGetter(prebilling, responseGetter); trySetResponseGetter(presentmentDetails, responseGetter); trySetResponseGetter(schedule, responseGetter); + trySetResponseGetter(statusDetails, responseGetter); trySetResponseGetter(testClock, responseGetter); trySetResponseGetter(transferData, responseGetter); trySetResponseGetter(trialSettings, responseGetter); diff --git a/src/main/java/com/stripe/model/issuing/Dispute.java b/src/main/java/com/stripe/model/issuing/Dispute.java index 6f9f738cf73..5a27fd2e989 100644 --- a/src/main/java/com/stripe/model/issuing/Dispute.java +++ b/src/main/java/com/stripe/model/issuing/Dispute.java @@ -104,6 +104,13 @@ public class Dispute extends ApiResource @SerializedName("metadata") Map metadata; + /** + * Incoming information from the card network for this dispute. Includes the acquiring merchant's + * initial response, pre-arbitration submission, and pre-arbitration response to the dispute. + */ + @SerializedName("network_lifecycle") + NetworkLifecycle networkLifecycle; + /** * String representing the object's type. Objects of the same type share the same value. * @@ -1168,6 +1175,91 @@ public void setAdditionalDocumentationObject(File expandableObject) { } } + /** + * For more details about NetworkLifecycle, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class NetworkLifecycle extends StripeObject { + /** Information related to the acquiring merchant's initial response to this dispute. */ + @SerializedName("dispute_response") + DisputeResponse disputeResponse; + + /** + * Information related to the acquiring merchant's pre-arbitration response for this dispute. + */ + @SerializedName("pre_arbitration_response") + PreArbitrationResponse preArbitrationResponse; + + /** + * Information related to the acquiring merchant's pre-arbitration submission for this dispute. + */ + @SerializedName("pre_arbitration_submission") + PreArbitrationSubmission preArbitrationSubmission; + + /** + * For more details about DisputeResponse, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class DisputeResponse extends StripeObject { + /** Error message if processing the acquiring merchant's initial dispute response failed. */ + @SerializedName("error") + String error; + + /** + * Array of File ids containing evidence the + * acquiring merchant provided in support of their initial dispute response. + */ + @SerializedName("merchant_evidence_files") + List merchantEvidenceFiles; + } + + /** + * For more details about PreArbitrationResponse, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PreArbitrationResponse extends StripeObject { + /** Error message if processing the acquiring merchant's pre-arbitration response failed. */ + @SerializedName("error") + String error; + + /** + * Array of File ids containing evidence the + * acquiring merchant provided with their pre-arbitration response. + */ + @SerializedName("merchant_evidence_files") + List merchantEvidenceFiles; + } + + /** + * For more details about PreArbitrationSubmission, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PreArbitrationSubmission extends StripeObject { + /** Error message if processing the acquiring merchant's pre-arbitration submission failed. */ + @SerializedName("error") + String error; + + /** + * Array of File ids containing evidence the + * acquiring merchant provided with their pre-arbitration submission. + */ + @SerializedName("merchant_evidence_files") + List merchantEvidenceFiles; + } + } + /** * For more details about Treasury, please refer to the API * Reference. @@ -1195,6 +1287,7 @@ public static class Treasury extends StripeObject { public void setResponseGetter(StripeResponseGetter responseGetter) { super.setResponseGetter(responseGetter); trySetResponseGetter(evidence, responseGetter); + trySetResponseGetter(networkLifecycle, responseGetter); trySetResponseGetter(transaction, responseGetter); trySetResponseGetter(treasury, responseGetter); } diff --git a/src/main/java/com/stripe/model/sharedpayment/GrantedToken.java b/src/main/java/com/stripe/model/sharedpayment/GrantedToken.java index 193b3a4f8a3..17037bbb19b 100644 --- a/src/main/java/com/stripe/model/sharedpayment/GrantedToken.java +++ b/src/main/java/com/stripe/model/sharedpayment/GrantedToken.java @@ -224,6 +224,9 @@ public static class PaymentMethodDetails extends StripeObject { @SerializedName("fpx") Fpx fpx; + @SerializedName("gift_card") + GiftCard giftCard; + @SerializedName("giropay") Giropay giropay; @@ -347,14 +350,14 @@ public static class PaymentMethodDetails extends StripeObject { * {@code alma}, {@code amazon_pay}, {@code au_becs_debit}, {@code bacs_debit}, {@code * bancontact}, {@code billie}, {@code blik}, {@code boleto}, {@code card}, {@code * card_present}, {@code cashapp}, {@code crypto}, {@code custom}, {@code customer_balance}, - * {@code eps}, {@code fpx}, {@code giropay}, {@code gopay}, {@code grabpay}, {@code - * id_bank_transfer}, {@code ideal}, {@code interac_present}, {@code kakao_pay}, {@code klarna}, - * {@code konbini}, {@code kr_card}, {@code link}, {@code mb_way}, {@code mobilepay}, {@code - * multibanco}, {@code naver_pay}, {@code nz_bank_account}, {@code oxxo}, {@code p24}, {@code - * pay_by_bank}, {@code payco}, {@code paynow}, {@code paypal}, {@code paypay}, {@code payto}, - * {@code pix}, {@code promptpay}, {@code qris}, {@code rechnung}, {@code revolut_pay}, {@code - * samsung_pay}, {@code satispay}, {@code sepa_debit}, {@code shopeepay}, {@code sofort}, {@code - * stripe_balance}, {@code sunbit}, {@code swish}, {@code twint}, {@code upi}, {@code + * {@code eps}, {@code fpx}, {@code gift_card}, {@code giropay}, {@code gopay}, {@code grabpay}, + * {@code id_bank_transfer}, {@code ideal}, {@code interac_present}, {@code kakao_pay}, {@code + * klarna}, {@code konbini}, {@code kr_card}, {@code link}, {@code mb_way}, {@code mobilepay}, + * {@code multibanco}, {@code naver_pay}, {@code nz_bank_account}, {@code oxxo}, {@code p24}, + * {@code pay_by_bank}, {@code payco}, {@code paynow}, {@code paypal}, {@code paypay}, {@code + * payto}, {@code pix}, {@code promptpay}, {@code qris}, {@code rechnung}, {@code revolut_pay}, + * {@code samsung_pay}, {@code satispay}, {@code sepa_debit}, {@code shopeepay}, {@code sofort}, + * {@code stripe_balance}, {@code sunbit}, {@code swish}, {@code twint}, {@code upi}, {@code * us_bank_account}, {@code wechat_pay}, or {@code zip}. */ @SerializedName("type") @@ -1154,6 +1157,43 @@ public static class Fpx extends StripeObject { String bank; } + /** + * For more details about GiftCard, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class GiftCard extends StripeObject { + /** + * The brand of the gift card. + * + *

One of {@code fiserv_valuelink}, {@code givex}, or {@code svs}. + */ + @SerializedName("brand") + String brand; + + /** The expiration month of the gift card. */ + @SerializedName("exp_month") + Long expMonth; + + /** The expiration year of the gift card. */ + @SerializedName("exp_year") + Long expYear; + + /** Uniquely identifies the gift card. */ + @SerializedName("fingerprint") + String fingerprint; + + /** The first six digits of the gift card number. */ + @SerializedName("first6") + String first6; + + /** The last four digits of the gift card number. */ + @SerializedName("last4") + String last4; + } + /** * For more details about Giropay, please refer to the API * Reference. diff --git a/src/main/java/com/stripe/param/AccountCreateParams.java b/src/main/java/com/stripe/param/AccountCreateParams.java index e50af5d67e6..55fdb2c4cea 100644 --- a/src/main/java/com/stripe/param/AccountCreateParams.java +++ b/src/main/java/com/stripe/param/AccountCreateParams.java @@ -3821,6 +3821,10 @@ public static class CardPayments { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** Protections to apply to this capability. */ + @SerializedName("protections") + Protections protections; + /** * Passing true requests the capability for the account, if it is not already requested. A * requested capability may not immediately become active. Any requirements to activate the @@ -3829,8 +3833,10 @@ public static class CardPayments { @SerializedName("requested") Boolean requested; - private CardPayments(Map extraParams, Boolean requested) { + private CardPayments( + Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; + this.protections = protections; this.requested = requested; } @@ -3841,12 +3847,14 @@ public static Builder builder() { public static class Builder { private Map extraParams; + private Protections protections; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ public AccountCreateParams.Capabilities.CardPayments build() { return new AccountCreateParams.Capabilities.CardPayments( - this.extraParams, this.requested); + this.extraParams, this.protections, this.requested); } /** @@ -3877,6 +3885,13 @@ public Builder putAllExtraParam(Map map) { return this; } + /** Protections to apply to this capability. */ + public Builder setProtections( + AccountCreateParams.Capabilities.CardPayments.Protections protections) { + this.protections = protections; + return this; + } + /** * Passing true requests the capability for the account, if it is not already requested. A * requested capability may not immediately become active. Any requirements to activate the @@ -3887,6 +3902,160 @@ public Builder setRequested(Boolean requested) { return this; } } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Protections { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. Protection for connected accounts migrating from another PSP. + */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Capabilities.CardPayments.Protections build() { + return new AccountCreateParams.Capabilities.CardPayments.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Capabilities.CardPayments.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Capabilities.CardPayments.Protections#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. Protection for connected accounts migrating from another + * PSP. + */ + public Builder setPspMigration( + AccountCreateParams.Capabilities.CardPayments.Protections.PspMigration pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. Passing true requests the protection. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Capabilities.CardPayments.Protections.PspMigration build() { + return new AccountCreateParams.Capabilities.CardPayments.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Capabilities.CardPayments.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Capabilities.CardPayments.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. Passing true requests the protection. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } } @Getter diff --git a/src/main/java/com/stripe/param/AccountUpdateParams.java b/src/main/java/com/stripe/param/AccountUpdateParams.java index 7b8dae58917..3c8e09b2b9e 100644 --- a/src/main/java/com/stripe/param/AccountUpdateParams.java +++ b/src/main/java/com/stripe/param/AccountUpdateParams.java @@ -3919,6 +3919,10 @@ public static class CardPayments { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** Protections to apply to this capability. */ + @SerializedName("protections") + Protections protections; + /** * Passing true requests the capability for the account, if it is not already requested. A * requested capability may not immediately become active. Any requirements to activate the @@ -3927,8 +3931,10 @@ public static class CardPayments { @SerializedName("requested") Boolean requested; - private CardPayments(Map extraParams, Boolean requested) { + private CardPayments( + Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; + this.protections = protections; this.requested = requested; } @@ -3939,12 +3945,14 @@ public static Builder builder() { public static class Builder { private Map extraParams; + private Protections protections; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ public AccountUpdateParams.Capabilities.CardPayments build() { return new AccountUpdateParams.Capabilities.CardPayments( - this.extraParams, this.requested); + this.extraParams, this.protections, this.requested); } /** @@ -3975,6 +3983,13 @@ public Builder putAllExtraParam(Map map) { return this; } + /** Protections to apply to this capability. */ + public Builder setProtections( + AccountUpdateParams.Capabilities.CardPayments.Protections protections) { + this.protections = protections; + return this; + } + /** * Passing true requests the capability for the account, if it is not already requested. A * requested capability may not immediately become active. Any requirements to activate the @@ -3985,6 +4000,160 @@ public Builder setRequested(Boolean requested) { return this; } } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Protections { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. Protection for connected accounts migrating from another PSP. + */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Capabilities.CardPayments.Protections build() { + return new AccountUpdateParams.Capabilities.CardPayments.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Capabilities.CardPayments.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Capabilities.CardPayments.Protections#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. Protection for connected accounts migrating from another + * PSP. + */ + public Builder setPspMigration( + AccountUpdateParams.Capabilities.CardPayments.Protections.PspMigration pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. Passing true requests the protection. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Capabilities.CardPayments.Protections.PspMigration build() { + return new AccountUpdateParams.Capabilities.CardPayments.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Capabilities.CardPayments.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Capabilities.CardPayments.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. Passing true requests the protection. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } } @Getter diff --git a/src/main/java/com/stripe/param/ConfirmationTokenCreateParams.java b/src/main/java/com/stripe/param/ConfirmationTokenCreateParams.java index 8217fc29aac..f976267170e 100644 --- a/src/main/java/com/stripe/param/ConfirmationTokenCreateParams.java +++ b/src/main/java/com/stripe/param/ConfirmationTokenCreateParams.java @@ -357,6 +357,13 @@ public static class PaymentMethodData { @SerializedName("fpx") Fpx fpx; + /** + * If this is a {@code gift_card} PaymentMethod, this hash contains details about the gift card + * payment method. + */ + @SerializedName("gift_card") + GiftCard giftCard; + /** * If this is a {@code giropay} PaymentMethod, this hash contains details about the Giropay * payment method. @@ -695,6 +702,7 @@ private PaymentMethodData( Eps eps, Map extraParams, Fpx fpx, + GiftCard giftCard, Giropay giropay, Gopay gopay, Grabpay grabpay, @@ -761,6 +769,7 @@ private PaymentMethodData( this.eps = eps; this.extraParams = extraParams; this.fpx = fpx; + this.giftCard = giftCard; this.giropay = giropay; this.gopay = gopay; this.grabpay = grabpay; @@ -854,6 +863,8 @@ public static class Builder { private Fpx fpx; + private GiftCard giftCard; + private Giropay giropay; private Gopay gopay; @@ -969,6 +980,7 @@ public ConfirmationTokenCreateParams.PaymentMethodData build() { this.eps, this.extraParams, this.fpx, + this.giftCard, this.giropay, this.gopay, this.grabpay, @@ -1225,6 +1237,16 @@ public Builder setFpx(ConfirmationTokenCreateParams.PaymentMethodData.Fpx fpx) { return this; } + /** + * If this is a {@code gift_card} PaymentMethod, this hash contains details about the gift + * card payment method. + */ + public Builder setGiftCard( + ConfirmationTokenCreateParams.PaymentMethodData.GiftCard giftCard) { + this.giftCard = giftCard; + return this; + } + /** * If this is a {@code giropay} PaymentMethod, this hash contains details about the Giropay * payment method. @@ -3336,6 +3358,78 @@ public enum Bank implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class GiftCard { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. The gift card ID to redeem */ + @SerializedName("gift_card") + String giftCard; + + private GiftCard(Map extraParams, String giftCard) { + this.extraParams = extraParams; + this.giftCard = giftCard; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private String giftCard; + + /** Finalize and obtain parameter instance from this builder. */ + public ConfirmationTokenCreateParams.PaymentMethodData.GiftCard build() { + return new ConfirmationTokenCreateParams.PaymentMethodData.GiftCard( + this.extraParams, this.giftCard); + } + + /** + * 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.GiftCard#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.GiftCard#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. The gift card ID to redeem */ + public Builder setGiftCard(String giftCard) { + this.giftCard = giftCard; + return this; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Giropay { @@ -6914,6 +7008,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("fpx") FPX("fpx"), + @SerializedName("gift_card") + GIFT_CARD("gift_card"), + @SerializedName("giropay") GIROPAY("giropay"), diff --git a/src/main/java/com/stripe/param/CustomerListPaymentMethodsParams.java b/src/main/java/com/stripe/param/CustomerListPaymentMethodsParams.java index 0d88f42003e..5961f09c913 100644 --- a/src/main/java/com/stripe/param/CustomerListPaymentMethodsParams.java +++ b/src/main/java/com/stripe/param/CustomerListPaymentMethodsParams.java @@ -297,6 +297,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("fpx") FPX("fpx"), + @SerializedName("gift_card") + GIFT_CARD("gift_card"), + @SerializedName("giropay") GIROPAY("giropay"), diff --git a/src/main/java/com/stripe/param/CustomerPaymentMethodListParams.java b/src/main/java/com/stripe/param/CustomerPaymentMethodListParams.java index 73ffa3c3048..1a73ff1aa2c 100644 --- a/src/main/java/com/stripe/param/CustomerPaymentMethodListParams.java +++ b/src/main/java/com/stripe/param/CustomerPaymentMethodListParams.java @@ -297,6 +297,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("fpx") FPX("fpx"), + @SerializedName("gift_card") + GIFT_CARD("gift_card"), + @SerializedName("giropay") GIROPAY("giropay"), diff --git a/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java b/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java index 6378daf5044..2d07457ac66 100644 --- a/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java @@ -16327,6 +16327,13 @@ public static class PaymentMethodData { @SerializedName("fpx") Fpx fpx; + /** + * If this is a {@code gift_card} PaymentMethod, this hash contains details about the gift card + * payment method. + */ + @SerializedName("gift_card") + GiftCard giftCard; + /** * If this is a {@code giropay} PaymentMethod, this hash contains details about the Giropay * payment method. @@ -16665,6 +16672,7 @@ private PaymentMethodData( Eps eps, Map extraParams, Fpx fpx, + GiftCard giftCard, Giropay giropay, Gopay gopay, Grabpay grabpay, @@ -16731,6 +16739,7 @@ private PaymentMethodData( this.eps = eps; this.extraParams = extraParams; this.fpx = fpx; + this.giftCard = giftCard; this.giropay = giropay; this.gopay = gopay; this.grabpay = grabpay; @@ -16824,6 +16833,8 @@ public static class Builder { private Fpx fpx; + private GiftCard giftCard; + private Giropay giropay; private Gopay gopay; @@ -16939,6 +16950,7 @@ public PaymentIntentConfirmParams.PaymentMethodData build() { this.eps, this.extraParams, this.fpx, + this.giftCard, this.giropay, this.gopay, this.grabpay, @@ -17195,6 +17207,15 @@ public Builder setFpx(PaymentIntentConfirmParams.PaymentMethodData.Fpx fpx) { return this; } + /** + * If this is a {@code gift_card} PaymentMethod, this hash contains details about the gift + * card payment method. + */ + public Builder setGiftCard(PaymentIntentConfirmParams.PaymentMethodData.GiftCard giftCard) { + this.giftCard = giftCard; + return this; + } + /** * If this is a {@code giropay} PaymentMethod, this hash contains details about the Giropay * payment method. @@ -19295,6 +19316,78 @@ public enum Bank implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class GiftCard { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. The gift card ID to redeem */ + @SerializedName("gift_card") + String giftCard; + + private GiftCard(Map extraParams, String giftCard) { + this.extraParams = extraParams; + this.giftCard = giftCard; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private String giftCard; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentConfirmParams.PaymentMethodData.GiftCard build() { + return new PaymentIntentConfirmParams.PaymentMethodData.GiftCard( + this.extraParams, this.giftCard); + } + + /** + * 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.GiftCard#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.GiftCard#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. The gift card ID to redeem */ + public Builder setGiftCard(String giftCard) { + this.giftCard = giftCard; + return this; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Giropay { @@ -22859,6 +22952,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("fpx") FPX("fpx"), + @SerializedName("gift_card") + GIFT_CARD("gift_card"), + @SerializedName("giropay") GIROPAY("giropay"), @@ -49479,6 +49575,9 @@ public enum ExcludedPaymentMethodType implements ApiRequestParams.EnumParam { @SerializedName("fpx") FPX("fpx"), + @SerializedName("gift_card") + GIFT_CARD("gift_card"), + @SerializedName("giropay") GIROPAY("giropay"), diff --git a/src/main/java/com/stripe/param/PaymentIntentCreateParams.java b/src/main/java/com/stripe/param/PaymentIntentCreateParams.java index aef263c7d4f..3df332d9d09 100644 --- a/src/main/java/com/stripe/param/PaymentIntentCreateParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentCreateParams.java @@ -16826,6 +16826,13 @@ public static class PaymentMethodData { @SerializedName("fpx") Fpx fpx; + /** + * If this is a {@code gift_card} PaymentMethod, this hash contains details about the gift card + * payment method. + */ + @SerializedName("gift_card") + GiftCard giftCard; + /** * If this is a {@code giropay} PaymentMethod, this hash contains details about the Giropay * payment method. @@ -17164,6 +17171,7 @@ private PaymentMethodData( Eps eps, Map extraParams, Fpx fpx, + GiftCard giftCard, Giropay giropay, Gopay gopay, Grabpay grabpay, @@ -17230,6 +17238,7 @@ private PaymentMethodData( this.eps = eps; this.extraParams = extraParams; this.fpx = fpx; + this.giftCard = giftCard; this.giropay = giropay; this.gopay = gopay; this.grabpay = grabpay; @@ -17323,6 +17332,8 @@ public static class Builder { private Fpx fpx; + private GiftCard giftCard; + private Giropay giropay; private Gopay gopay; @@ -17438,6 +17449,7 @@ public PaymentIntentCreateParams.PaymentMethodData build() { this.eps, this.extraParams, this.fpx, + this.giftCard, this.giropay, this.gopay, this.grabpay, @@ -17691,6 +17703,15 @@ public Builder setFpx(PaymentIntentCreateParams.PaymentMethodData.Fpx fpx) { return this; } + /** + * If this is a {@code gift_card} PaymentMethod, this hash contains details about the gift + * card payment method. + */ + public Builder setGiftCard(PaymentIntentCreateParams.PaymentMethodData.GiftCard giftCard) { + this.giftCard = giftCard; + return this; + } + /** * If this is a {@code giropay} PaymentMethod, this hash contains details about the Giropay * payment method. @@ -19782,6 +19803,78 @@ public enum Bank implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class GiftCard { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. The gift card ID to redeem */ + @SerializedName("gift_card") + String giftCard; + + private GiftCard(Map extraParams, String giftCard) { + this.extraParams = extraParams; + this.giftCard = giftCard; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private String giftCard; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCreateParams.PaymentMethodData.GiftCard build() { + return new PaymentIntentCreateParams.PaymentMethodData.GiftCard( + this.extraParams, this.giftCard); + } + + /** + * 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.GiftCard#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.GiftCard#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. The gift card ID to redeem */ + public Builder setGiftCard(String giftCard) { + this.giftCard = giftCard; + return this; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Giropay { @@ -23344,6 +23437,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("fpx") FPX("fpx"), + @SerializedName("gift_card") + GIFT_CARD("gift_card"), + @SerializedName("giropay") GIROPAY("giropay"), @@ -50127,6 +50223,9 @@ public enum ExcludedPaymentMethodType implements ApiRequestParams.EnumParam { @SerializedName("fpx") FPX("fpx"), + @SerializedName("gift_card") + GIFT_CARD("gift_card"), + @SerializedName("giropay") GIROPAY("giropay"), diff --git a/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java b/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java index 004b259907d..02958767e1b 100644 --- a/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java @@ -17770,6 +17770,13 @@ public static class PaymentMethodData { @SerializedName("fpx") Fpx fpx; + /** + * If this is a {@code gift_card} PaymentMethod, this hash contains details about the gift card + * payment method. + */ + @SerializedName("gift_card") + GiftCard giftCard; + /** * If this is a {@code giropay} PaymentMethod, this hash contains details about the Giropay * payment method. @@ -18108,6 +18115,7 @@ private PaymentMethodData( Eps eps, Map extraParams, Fpx fpx, + GiftCard giftCard, Giropay giropay, Gopay gopay, Grabpay grabpay, @@ -18174,6 +18182,7 @@ private PaymentMethodData( this.eps = eps; this.extraParams = extraParams; this.fpx = fpx; + this.giftCard = giftCard; this.giropay = giropay; this.gopay = gopay; this.grabpay = grabpay; @@ -18267,6 +18276,8 @@ public static class Builder { private Fpx fpx; + private GiftCard giftCard; + private Giropay giropay; private Gopay gopay; @@ -18382,6 +18393,7 @@ public PaymentIntentUpdateParams.PaymentMethodData build() { this.eps, this.extraParams, this.fpx, + this.giftCard, this.giropay, this.gopay, this.grabpay, @@ -18635,6 +18647,15 @@ public Builder setFpx(PaymentIntentUpdateParams.PaymentMethodData.Fpx fpx) { return this; } + /** + * If this is a {@code gift_card} PaymentMethod, this hash contains details about the gift + * card payment method. + */ + public Builder setGiftCard(PaymentIntentUpdateParams.PaymentMethodData.GiftCard giftCard) { + this.giftCard = giftCard; + return this; + } + /** * If this is a {@code giropay} PaymentMethod, this hash contains details about the Giropay * payment method. @@ -20834,6 +20855,84 @@ public enum Bank implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class GiftCard { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. The gift card ID to redeem */ + @SerializedName("gift_card") + Object giftCard; + + private GiftCard(Map extraParams, Object giftCard) { + this.extraParams = extraParams; + this.giftCard = giftCard; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Object giftCard; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentUpdateParams.PaymentMethodData.GiftCard build() { + return new PaymentIntentUpdateParams.PaymentMethodData.GiftCard( + this.extraParams, this.giftCard); + } + + /** + * 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.GiftCard#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.GiftCard#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. The gift card ID to redeem */ + public Builder setGiftCard(String giftCard) { + this.giftCard = giftCard; + return this; + } + + /** Required. The gift card ID to redeem */ + public Builder setGiftCard(EmptyParam giftCard) { + this.giftCard = giftCard; + return this; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Giropay { @@ -24501,6 +24600,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("fpx") FPX("fpx"), + @SerializedName("gift_card") + GIFT_CARD("gift_card"), + @SerializedName("giropay") GIROPAY("giropay"), @@ -52226,6 +52328,9 @@ public enum ExcludedPaymentMethodType implements ApiRequestParams.EnumParam { @SerializedName("fpx") FPX("fpx"), + @SerializedName("gift_card") + GIFT_CARD("gift_card"), + @SerializedName("giropay") GIROPAY("giropay"), diff --git a/src/main/java/com/stripe/param/PaymentLocationCreateParams.java b/src/main/java/com/stripe/param/PaymentLocationCreateParams.java new file mode 100644 index 00000000000..daa48e8af86 --- /dev/null +++ b/src/main/java/com/stripe/param/PaymentLocationCreateParams.java @@ -0,0 +1,382 @@ +// File generated from our OpenAPI spec +package com.stripe.param; + +import com.google.gson.annotations.SerializedName; +import com.stripe.net.ApiRequestParams; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import lombok.EqualsAndHashCode; +import lombok.Getter; + +@Getter +@EqualsAndHashCode(callSuper = false) +public class PaymentLocationCreateParams extends ApiRequestParams { + /** Required. The full address of the location. */ + @SerializedName("address") + Address address; + + /** Identification numbers associated with the location. */ + @SerializedName("business_registration") + BusinessRegistration businessRegistration; + + /** Required. A name for the location. */ + @SerializedName("display_name") + String displayName; + + /** 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 PaymentLocationCreateParams( + Address address, + BusinessRegistration businessRegistration, + String displayName, + List expand, + Map extraParams) { + this.address = address; + this.businessRegistration = businessRegistration; + this.displayName = displayName; + this.expand = expand; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Address address; + + private BusinessRegistration businessRegistration; + + private String displayName; + + private List expand; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentLocationCreateParams build() { + return new PaymentLocationCreateParams( + this.address, this.businessRegistration, this.displayName, this.expand, this.extraParams); + } + + /** Required. The full address of the location. */ + public Builder setAddress(PaymentLocationCreateParams.Address address) { + this.address = address; + return this; + } + + /** Identification numbers associated with the location. */ + public Builder setBusinessRegistration( + PaymentLocationCreateParams.BusinessRegistration businessRegistration) { + this.businessRegistration = businessRegistration; + return this; + } + + /** Required. A name for the location. */ + public Builder setDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * Add an element to `expand` list. A list is initialized for the first `add/addAll` call, and + * subsequent calls adds additional elements to the original list. See {@link + * PaymentLocationCreateParams#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 + * PaymentLocationCreateParams#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 + * PaymentLocationCreateParams#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 PaymentLocationCreateParams#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Address { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; + + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + @SerializedName("country") + String country; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Address line 1, such as the street, PO Box, or company name. */ + @SerializedName("line1") + String line1; + + /** Address line 2, such as the apartment, suite, unit, or building. */ + @SerializedName("line2") + String line2; + + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; + + /** + * State, county, province, or region (ISO + * 3166-2). + */ + @SerializedName("state") + String state; + + private Address( + String city, + String country, + Map extraParams, + String line1, + String line2, + String postalCode, + String state) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String city; + + private String country; + + private Map extraParams; + + private String line1; + + private String line2; + + private String postalCode; + + private String state; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentLocationCreateParams.Address build() { + return new PaymentLocationCreateParams.Address( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state); + } + + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } + + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PaymentLocationCreateParams.Address#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 PaymentLocationCreateParams.Address#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Address line 1, such as the street, PO Box, or company name. */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } + + /** Address line 2, such as the apartment, suite, unit, or building. */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } + + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } + + /** + * State, county, province, or region (ISO + * 3166-2). + */ + public Builder setState(String state) { + this.state = state; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BusinessRegistration { + /** + * 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; + + /** + * 14-digit SIRET (Système d'identification du répertoire des établissements) number for the + * location. + */ + @SerializedName("siret") + String siret; + + private BusinessRegistration(Map extraParams, String siret) { + this.extraParams = extraParams; + this.siret = siret; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private String siret; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentLocationCreateParams.BusinessRegistration build() { + return new PaymentLocationCreateParams.BusinessRegistration(this.extraParams, this.siret); + } + + /** + * 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 + * PaymentLocationCreateParams.BusinessRegistration#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 PaymentLocationCreateParams.BusinessRegistration#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * 14-digit SIRET (Système d'identification du répertoire des établissements) number for the + * location. + */ + public Builder setSiret(String siret) { + this.siret = siret; + return this; + } + } + } +} diff --git a/src/main/java/com/stripe/param/PaymentLocationRetrieveParams.java b/src/main/java/com/stripe/param/PaymentLocationRetrieveParams.java new file mode 100644 index 00000000000..197452e4932 --- /dev/null +++ b/src/main/java/com/stripe/param/PaymentLocationRetrieveParams.java @@ -0,0 +1,100 @@ +// File generated from our OpenAPI spec +package com.stripe.param; + +import com.google.gson.annotations.SerializedName; +import com.stripe.net.ApiRequestParams; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import lombok.EqualsAndHashCode; +import lombok.Getter; + +@Getter +@EqualsAndHashCode(callSuper = false) +public class PaymentLocationRetrieveParams 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 PaymentLocationRetrieveParams(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 PaymentLocationRetrieveParams build() { + return new PaymentLocationRetrieveParams(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 + * PaymentLocationRetrieveParams#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 + * PaymentLocationRetrieveParams#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 + * PaymentLocationRetrieveParams#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 PaymentLocationRetrieveParams#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/PaymentLocationUpdateParams.java b/src/main/java/com/stripe/param/PaymentLocationUpdateParams.java new file mode 100644 index 00000000000..b05cf3cb470 --- /dev/null +++ b/src/main/java/com/stripe/param/PaymentLocationUpdateParams.java @@ -0,0 +1,440 @@ +// File generated from our OpenAPI spec +package com.stripe.param; + +import com.google.gson.annotations.SerializedName; +import com.stripe.net.ApiRequestParams; +import com.stripe.param.common.EmptyParam; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import lombok.EqualsAndHashCode; +import lombok.Getter; + +@Getter +@EqualsAndHashCode(callSuper = false) +public class PaymentLocationUpdateParams extends ApiRequestParams { + /** The full address of the location. */ + @SerializedName("address") + Address address; + + /** Identification numbers associated with the location. */ + @SerializedName("business_registration") + BusinessRegistration businessRegistration; + + /** A name for the location. */ + @SerializedName("display_name") + Object displayName; + + /** 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 PaymentLocationUpdateParams( + Address address, + BusinessRegistration businessRegistration, + Object displayName, + List expand, + Map extraParams) { + this.address = address; + this.businessRegistration = businessRegistration; + this.displayName = displayName; + this.expand = expand; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Address address; + + private BusinessRegistration businessRegistration; + + private Object displayName; + + private List expand; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentLocationUpdateParams build() { + return new PaymentLocationUpdateParams( + this.address, this.businessRegistration, this.displayName, this.expand, this.extraParams); + } + + /** The full address of the location. */ + public Builder setAddress(PaymentLocationUpdateParams.Address address) { + this.address = address; + return this; + } + + /** Identification numbers associated with the location. */ + public Builder setBusinessRegistration( + PaymentLocationUpdateParams.BusinessRegistration businessRegistration) { + this.businessRegistration = businessRegistration; + return this; + } + + /** A name for the location. */ + public Builder setDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** A name for the location. */ + public Builder setDisplayName(EmptyParam displayName) { + this.displayName = displayName; + return this; + } + + /** + * Add an element to `expand` list. A list is initialized for the first `add/addAll` call, and + * subsequent calls adds additional elements to the original list. See {@link + * PaymentLocationUpdateParams#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 + * PaymentLocationUpdateParams#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 + * PaymentLocationUpdateParams#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 PaymentLocationUpdateParams#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Address { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + Object city; + + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + @SerializedName("country") + Object country; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Address line 1, such as the street, PO Box, or company name. */ + @SerializedName("line1") + Object line1; + + /** Address line 2, such as the apartment, suite, unit, or building. */ + @SerializedName("line2") + Object line2; + + /** ZIP or postal code. */ + @SerializedName("postal_code") + Object postalCode; + + /** + * State, county, province, or region (ISO + * 3166-2). + */ + @SerializedName("state") + Object state; + + private Address( + Object city, + Object country, + Map extraParams, + Object line1, + Object line2, + Object postalCode, + Object state) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object city; + + private Object country; + + private Map extraParams; + + private Object line1; + + private Object line2; + + private Object postalCode; + + private Object state; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentLocationUpdateParams.Address build() { + return new PaymentLocationUpdateParams.Address( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state); + } + + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } + + /** City, district, suburb, town, or village. */ + public Builder setCity(EmptyParam city) { + this.city = city; + return this; + } + + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } + + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(EmptyParam country) { + this.country = country; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PaymentLocationUpdateParams.Address#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 PaymentLocationUpdateParams.Address#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Address line 1, such as the street, PO Box, or company name. */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } + + /** Address line 1, such as the street, PO Box, or company name. */ + public Builder setLine1(EmptyParam line1) { + this.line1 = line1; + return this; + } + + /** Address line 2, such as the apartment, suite, unit, or building. */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } + + /** Address line 2, such as the apartment, suite, unit, or building. */ + public Builder setLine2(EmptyParam line2) { + this.line2 = line2; + return this; + } + + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } + + /** ZIP or postal code. */ + public Builder setPostalCode(EmptyParam postalCode) { + this.postalCode = postalCode; + return this; + } + + /** + * State, county, province, or region (ISO + * 3166-2). + */ + public Builder setState(String state) { + this.state = state; + return this; + } + + /** + * State, county, province, or region (ISO + * 3166-2). + */ + public Builder setState(EmptyParam state) { + this.state = state; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BusinessRegistration { + /** + * 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; + + /** + * 14-digit SIRET (Système d'identification du répertoire des établissements) number for the + * location. + */ + @SerializedName("siret") + Object siret; + + private BusinessRegistration(Map extraParams, Object siret) { + this.extraParams = extraParams; + this.siret = siret; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Object siret; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentLocationUpdateParams.BusinessRegistration build() { + return new PaymentLocationUpdateParams.BusinessRegistration(this.extraParams, this.siret); + } + + /** + * 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 + * PaymentLocationUpdateParams.BusinessRegistration#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 PaymentLocationUpdateParams.BusinessRegistration#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * 14-digit SIRET (Système d'identification du répertoire des établissements) number for the + * location. + */ + public Builder setSiret(String siret) { + this.siret = siret; + return this; + } + + /** + * 14-digit SIRET (Système d'identification du répertoire des établissements) number for the + * location. + */ + public Builder setSiret(EmptyParam siret) { + this.siret = siret; + return this; + } + } + } +} diff --git a/src/main/java/com/stripe/param/PaymentMethodCreateParams.java b/src/main/java/com/stripe/param/PaymentMethodCreateParams.java index 4cac6a6b46d..ebaa56615d5 100644 --- a/src/main/java/com/stripe/param/PaymentMethodCreateParams.java +++ b/src/main/java/com/stripe/param/PaymentMethodCreateParams.java @@ -180,6 +180,13 @@ public class PaymentMethodCreateParams extends ApiRequestParams { @SerializedName("fpx") Fpx fpx; + /** + * If this is a {@code gift_card} PaymentMethod, this hash contains details about the gift card + * payment method. + */ + @SerializedName("gift_card") + GiftCard giftCard; + /** * If this is a {@code giropay} PaymentMethod, this hash contains details about the Giropay * payment method. @@ -519,6 +526,7 @@ private PaymentMethodCreateParams( List expand, Map extraParams, Fpx fpx, + GiftCard giftCard, Giropay giropay, Gopay gopay, Grabpay grabpay, @@ -589,6 +597,7 @@ private PaymentMethodCreateParams( this.expand = expand; this.extraParams = extraParams; this.fpx = fpx; + this.giftCard = giftCard; this.giropay = giropay; this.gopay = gopay; this.grabpay = grabpay; @@ -690,6 +699,8 @@ public static class Builder { private Fpx fpx; + private GiftCard giftCard; + private Giropay giropay; private Gopay gopay; @@ -809,6 +820,7 @@ public PaymentMethodCreateParams build() { this.expand, this.extraParams, this.fpx, + this.giftCard, this.giropay, this.gopay, this.grabpay, @@ -1123,6 +1135,15 @@ public Builder setFpx(PaymentMethodCreateParams.Fpx fpx) { return this; } + /** + * If this is a {@code gift_card} PaymentMethod, this hash contains details about the gift card + * payment method. + */ + public Builder setGiftCard(PaymentMethodCreateParams.GiftCard giftCard) { + this.giftCard = giftCard; + return this; + } + /** * If this is a {@code giropay} PaymentMethod, this hash contains details about the Giropay * payment method. @@ -3466,6 +3487,75 @@ public enum Bank implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class GiftCard { + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. The gift card ID to redeem */ + @SerializedName("gift_card") + String giftCard; + + private GiftCard(Map extraParams, String giftCard) { + this.extraParams = extraParams; + this.giftCard = giftCard; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private String giftCard; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentMethodCreateParams.GiftCard build() { + return new PaymentMethodCreateParams.GiftCard(this.extraParams, this.giftCard); + } + + /** + * 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.GiftCard#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.GiftCard#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. The gift card ID to redeem */ + public Builder setGiftCard(String giftCard) { + this.giftCard = giftCard; + return this; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Giropay { @@ -7011,6 +7101,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("fpx") FPX("fpx"), + @SerializedName("gift_card") + GIFT_CARD("gift_card"), + @SerializedName("giropay") GIROPAY("giropay"), diff --git a/src/main/java/com/stripe/param/PaymentMethodListParams.java b/src/main/java/com/stripe/param/PaymentMethodListParams.java index 0ff519d8043..e7aeb42a16f 100644 --- a/src/main/java/com/stripe/param/PaymentMethodListParams.java +++ b/src/main/java/com/stripe/param/PaymentMethodListParams.java @@ -325,6 +325,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("fpx") FPX("fpx"), + @SerializedName("gift_card") + GIFT_CARD("gift_card"), + @SerializedName("giropay") GIROPAY("giropay"), diff --git a/src/main/java/com/stripe/param/SetupIntentConfirmParams.java b/src/main/java/com/stripe/param/SetupIntentConfirmParams.java index 220a3ed383e..9b235422f44 100644 --- a/src/main/java/com/stripe/param/SetupIntentConfirmParams.java +++ b/src/main/java/com/stripe/param/SetupIntentConfirmParams.java @@ -786,6 +786,13 @@ public static class PaymentMethodData { @SerializedName("fpx") Fpx fpx; + /** + * If this is a {@code gift_card} PaymentMethod, this hash contains details about the gift card + * payment method. + */ + @SerializedName("gift_card") + GiftCard giftCard; + /** * If this is a {@code giropay} PaymentMethod, this hash contains details about the Giropay * payment method. @@ -1124,6 +1131,7 @@ private PaymentMethodData( Eps eps, Map extraParams, Fpx fpx, + GiftCard giftCard, Giropay giropay, Gopay gopay, Grabpay grabpay, @@ -1190,6 +1198,7 @@ private PaymentMethodData( this.eps = eps; this.extraParams = extraParams; this.fpx = fpx; + this.giftCard = giftCard; this.giropay = giropay; this.gopay = gopay; this.grabpay = grabpay; @@ -1283,6 +1292,8 @@ public static class Builder { private Fpx fpx; + private GiftCard giftCard; + private Giropay giropay; private Gopay gopay; @@ -1398,6 +1409,7 @@ public SetupIntentConfirmParams.PaymentMethodData build() { this.eps, this.extraParams, this.fpx, + this.giftCard, this.giropay, this.gopay, this.grabpay, @@ -1651,6 +1663,15 @@ public Builder setFpx(SetupIntentConfirmParams.PaymentMethodData.Fpx fpx) { return this; } + /** + * If this is a {@code gift_card} PaymentMethod, this hash contains details about the gift + * card payment method. + */ + public Builder setGiftCard(SetupIntentConfirmParams.PaymentMethodData.GiftCard giftCard) { + this.giftCard = giftCard; + return this; + } + /** * If this is a {@code giropay} PaymentMethod, this hash contains details about the Giropay * payment method. @@ -3742,6 +3763,78 @@ public enum Bank implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class GiftCard { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. The gift card ID to redeem */ + @SerializedName("gift_card") + String giftCard; + + private GiftCard(Map extraParams, String giftCard) { + this.extraParams = extraParams; + this.giftCard = giftCard; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private String giftCard; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentConfirmParams.PaymentMethodData.GiftCard build() { + return new SetupIntentConfirmParams.PaymentMethodData.GiftCard( + this.extraParams, this.giftCard); + } + + /** + * 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.GiftCard#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.GiftCard#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. The gift card ID to redeem */ + public Builder setGiftCard(String giftCard) { + this.giftCard = giftCard; + return this; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Giropay { @@ -7303,6 +7396,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("fpx") FPX("fpx"), + @SerializedName("gift_card") + GIFT_CARD("gift_card"), + @SerializedName("giropay") GIROPAY("giropay"), diff --git a/src/main/java/com/stripe/param/SetupIntentCreateParams.java b/src/main/java/com/stripe/param/SetupIntentCreateParams.java index c4f4d42d7eb..1c87ab9827f 100644 --- a/src/main/java/com/stripe/param/SetupIntentCreateParams.java +++ b/src/main/java/com/stripe/param/SetupIntentCreateParams.java @@ -1324,6 +1324,13 @@ public static class PaymentMethodData { @SerializedName("fpx") Fpx fpx; + /** + * If this is a {@code gift_card} PaymentMethod, this hash contains details about the gift card + * payment method. + */ + @SerializedName("gift_card") + GiftCard giftCard; + /** * If this is a {@code giropay} PaymentMethod, this hash contains details about the Giropay * payment method. @@ -1662,6 +1669,7 @@ private PaymentMethodData( Eps eps, Map extraParams, Fpx fpx, + GiftCard giftCard, Giropay giropay, Gopay gopay, Grabpay grabpay, @@ -1728,6 +1736,7 @@ private PaymentMethodData( this.eps = eps; this.extraParams = extraParams; this.fpx = fpx; + this.giftCard = giftCard; this.giropay = giropay; this.gopay = gopay; this.grabpay = grabpay; @@ -1821,6 +1830,8 @@ public static class Builder { private Fpx fpx; + private GiftCard giftCard; + private Giropay giropay; private Gopay gopay; @@ -1936,6 +1947,7 @@ public SetupIntentCreateParams.PaymentMethodData build() { this.eps, this.extraParams, this.fpx, + this.giftCard, this.giropay, this.gopay, this.grabpay, @@ -2189,6 +2201,15 @@ public Builder setFpx(SetupIntentCreateParams.PaymentMethodData.Fpx fpx) { return this; } + /** + * If this is a {@code gift_card} PaymentMethod, this hash contains details about the gift + * card payment method. + */ + public Builder setGiftCard(SetupIntentCreateParams.PaymentMethodData.GiftCard giftCard) { + this.giftCard = giftCard; + return this; + } + /** * If this is a {@code giropay} PaymentMethod, this hash contains details about the Giropay * payment method. @@ -4278,6 +4299,78 @@ public enum Bank implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class GiftCard { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. The gift card ID to redeem */ + @SerializedName("gift_card") + String giftCard; + + private GiftCard(Map extraParams, String giftCard) { + this.extraParams = extraParams; + this.giftCard = giftCard; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private String giftCard; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentCreateParams.PaymentMethodData.GiftCard build() { + return new SetupIntentCreateParams.PaymentMethodData.GiftCard( + this.extraParams, this.giftCard); + } + + /** + * 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.GiftCard#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.GiftCard#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. The gift card ID to redeem */ + public Builder setGiftCard(String giftCard) { + this.giftCard = giftCard; + return this; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Giropay { @@ -7837,6 +7930,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("fpx") FPX("fpx"), + @SerializedName("gift_card") + GIFT_CARD("gift_card"), + @SerializedName("giropay") GIROPAY("giropay"), @@ -13747,6 +13843,9 @@ public enum ExcludedPaymentMethodType implements ApiRequestParams.EnumParam { @SerializedName("fpx") FPX("fpx"), + @SerializedName("gift_card") + GIFT_CARD("gift_card"), + @SerializedName("giropay") GIROPAY("giropay"), diff --git a/src/main/java/com/stripe/param/SetupIntentUpdateParams.java b/src/main/java/com/stripe/param/SetupIntentUpdateParams.java index f523acbff19..dd234de1581 100644 --- a/src/main/java/com/stripe/param/SetupIntentUpdateParams.java +++ b/src/main/java/com/stripe/param/SetupIntentUpdateParams.java @@ -693,6 +693,13 @@ public static class PaymentMethodData { @SerializedName("fpx") Fpx fpx; + /** + * If this is a {@code gift_card} PaymentMethod, this hash contains details about the gift card + * payment method. + */ + @SerializedName("gift_card") + GiftCard giftCard; + /** * If this is a {@code giropay} PaymentMethod, this hash contains details about the Giropay * payment method. @@ -1031,6 +1038,7 @@ private PaymentMethodData( Eps eps, Map extraParams, Fpx fpx, + GiftCard giftCard, Giropay giropay, Gopay gopay, Grabpay grabpay, @@ -1097,6 +1105,7 @@ private PaymentMethodData( this.eps = eps; this.extraParams = extraParams; this.fpx = fpx; + this.giftCard = giftCard; this.giropay = giropay; this.gopay = gopay; this.grabpay = grabpay; @@ -1190,6 +1199,8 @@ public static class Builder { private Fpx fpx; + private GiftCard giftCard; + private Giropay giropay; private Gopay gopay; @@ -1305,6 +1316,7 @@ public SetupIntentUpdateParams.PaymentMethodData build() { this.eps, this.extraParams, this.fpx, + this.giftCard, this.giropay, this.gopay, this.grabpay, @@ -1558,6 +1570,15 @@ public Builder setFpx(SetupIntentUpdateParams.PaymentMethodData.Fpx fpx) { return this; } + /** + * If this is a {@code gift_card} PaymentMethod, this hash contains details about the gift + * card payment method. + */ + public Builder setGiftCard(SetupIntentUpdateParams.PaymentMethodData.GiftCard giftCard) { + this.giftCard = giftCard; + return this; + } + /** * If this is a {@code giropay} PaymentMethod, this hash contains details about the Giropay * payment method. @@ -3755,6 +3776,84 @@ public enum Bank implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class GiftCard { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. The gift card ID to redeem */ + @SerializedName("gift_card") + Object giftCard; + + private GiftCard(Map extraParams, Object giftCard) { + this.extraParams = extraParams; + this.giftCard = giftCard; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Object giftCard; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentUpdateParams.PaymentMethodData.GiftCard build() { + return new SetupIntentUpdateParams.PaymentMethodData.GiftCard( + this.extraParams, this.giftCard); + } + + /** + * 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.GiftCard#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.GiftCard#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. The gift card ID to redeem */ + public Builder setGiftCard(String giftCard) { + this.giftCard = giftCard; + return this; + } + + /** Required. The gift card ID to redeem */ + public Builder setGiftCard(EmptyParam giftCard) { + this.giftCard = giftCard; + return this; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Giropay { @@ -7419,6 +7518,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("fpx") FPX("fpx"), + @SerializedName("gift_card") + GIFT_CARD("gift_card"), + @SerializedName("giropay") GIROPAY("giropay"), @@ -13419,6 +13521,9 @@ public enum ExcludedPaymentMethodType implements ApiRequestParams.EnumParam { @SerializedName("fpx") FPX("fpx"), + @SerializedName("gift_card") + GIFT_CARD("gift_card"), + @SerializedName("giropay") GIROPAY("giropay"), diff --git a/src/main/java/com/stripe/param/delegatedcheckout/RequestedSessionConfirmParams.java b/src/main/java/com/stripe/param/delegatedcheckout/RequestedSessionConfirmParams.java index a38fc2355e7..553e480769d 100644 --- a/src/main/java/com/stripe/param/delegatedcheckout/RequestedSessionConfirmParams.java +++ b/src/main/java/com/stripe/param/delegatedcheckout/RequestedSessionConfirmParams.java @@ -3,6 +3,7 @@ import com.google.gson.annotations.SerializedName; import com.stripe.net.ApiRequestParams; +import com.stripe.param.common.EmptyParam; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -34,6 +35,10 @@ public class RequestedSessionConfirmParams extends ApiRequestParams { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** The metadata for this requested session. */ + @SerializedName("metadata") + Object metadata; + /** The PaymentMethod to use with the requested session. */ @SerializedName("payment_method") String paymentMethod; @@ -54,6 +59,7 @@ private RequestedSessionConfirmParams( BuyerConsents buyerConsents, List expand, Map extraParams, + Object metadata, String paymentMethod, String returnUrl, RiskDetails riskDetails) { @@ -61,6 +67,7 @@ private RequestedSessionConfirmParams( this.buyerConsents = buyerConsents; this.expand = expand; this.extraParams = extraParams; + this.metadata = metadata; this.paymentMethod = paymentMethod; this.returnUrl = returnUrl; this.riskDetails = riskDetails; @@ -79,6 +86,8 @@ public static class Builder { private Map extraParams; + private Object metadata; + private String paymentMethod; private String returnUrl; @@ -92,6 +101,7 @@ public RequestedSessionConfirmParams build() { this.buyerConsents, this.expand, this.extraParams, + this.metadata, this.paymentMethod, this.returnUrl, this.riskDetails); @@ -162,6 +172,46 @@ public Builder putAllExtraParam(Map map) { return this; } + /** + * Add a key/value pair to `metadata` map. A map is initialized for the first `put/putAll` call, + * and subsequent calls add additional key/value pairs to the original map. See {@link + * RequestedSessionConfirmParams#metadata} for the field documentation. + */ + @SuppressWarnings("unchecked") + public Builder putMetadata(String key, String value) { + if (this.metadata == null || this.metadata instanceof EmptyParam) { + this.metadata = new HashMap(); + } + ((Map) this.metadata).put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `metadata` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link RequestedSessionConfirmParams#metadata} for the field documentation. + */ + @SuppressWarnings("unchecked") + public Builder putAllMetadata(Map map) { + if (this.metadata == null || this.metadata instanceof EmptyParam) { + this.metadata = new HashMap(); + } + ((Map) this.metadata).putAll(map); + return this; + } + + /** The metadata for this requested session. */ + public Builder setMetadata(EmptyParam metadata) { + this.metadata = metadata; + return this; + } + + /** The metadata for this requested session. */ + public Builder setMetadata(Map metadata) { + this.metadata = metadata; + return this; + } + /** The PaymentMethod to use with the requested session. */ public Builder setPaymentMethod(String paymentMethod) { this.paymentMethod = paymentMethod; diff --git a/src/main/java/com/stripe/service/PaymentLocationService.java b/src/main/java/com/stripe/service/PaymentLocationService.java new file mode 100644 index 00000000000..100fb3cb05c --- /dev/null +++ b/src/main/java/com/stripe/service/PaymentLocationService.java @@ -0,0 +1,104 @@ +// File generated from our OpenAPI spec +package com.stripe.service; + +import com.stripe.exception.StripeException; +import com.stripe.model.PaymentLocation; +import com.stripe.net.ApiRequest; +import com.stripe.net.ApiRequestParams; +import com.stripe.net.ApiResource; +import com.stripe.net.ApiService; +import com.stripe.net.BaseAddress; +import com.stripe.net.RequestOptions; +import com.stripe.net.StripeResponseGetter; +import com.stripe.param.PaymentLocationCreateParams; +import com.stripe.param.PaymentLocationRetrieveParams; +import com.stripe.param.PaymentLocationUpdateParams; + +public final class PaymentLocationService extends ApiService { + public PaymentLocationService(StripeResponseGetter responseGetter) { + super(responseGetter); + } + + /** Delete a Payment Location. */ + public PaymentLocation delete(String id) throws StripeException { + return delete(id, (RequestOptions) null); + } + /** Delete a Payment Location. */ + public PaymentLocation delete(String id, RequestOptions options) throws StripeException { + String path = String.format("/v1/payment_locations/%s", ApiResource.urlEncodeId(id)); + ApiRequest request = + new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.DELETE, path, null, options); + return this.request(request, PaymentLocation.class); + } + /** Retrieve a Payment Location. */ + public PaymentLocation retrieve(String id, PaymentLocationRetrieveParams params) + throws StripeException { + return retrieve(id, params, (RequestOptions) null); + } + /** Retrieve a Payment Location. */ + public PaymentLocation retrieve(String id, RequestOptions options) throws StripeException { + return retrieve(id, (PaymentLocationRetrieveParams) null, options); + } + /** Retrieve a Payment Location. */ + public PaymentLocation retrieve(String id) throws StripeException { + return retrieve(id, (PaymentLocationRetrieveParams) null, (RequestOptions) null); + } + /** Retrieve a Payment Location. */ + public PaymentLocation retrieve( + String id, PaymentLocationRetrieveParams params, RequestOptions options) + throws StripeException { + String path = String.format("/v1/payment_locations/%s", ApiResource.urlEncodeId(id)); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.GET, + path, + ApiRequestParams.paramsToMap(params), + options); + return this.request(request, PaymentLocation.class); + } + /** Update a Payment Location. */ + public PaymentLocation update(String id, PaymentLocationUpdateParams params) + throws StripeException { + return update(id, params, (RequestOptions) null); + } + /** Update a Payment Location. */ + public PaymentLocation update(String id, RequestOptions options) throws StripeException { + return update(id, (PaymentLocationUpdateParams) null, options); + } + /** Update a Payment Location. */ + public PaymentLocation update(String id) throws StripeException { + return update(id, (PaymentLocationUpdateParams) null, (RequestOptions) null); + } + /** Update a Payment Location. */ + public PaymentLocation update( + String id, PaymentLocationUpdateParams params, RequestOptions options) + throws StripeException { + String path = String.format("/v1/payment_locations/%s", ApiResource.urlEncodeId(id)); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + path, + ApiRequestParams.paramsToMap(params), + options); + return this.request(request, PaymentLocation.class); + } + /** Create a Payment Location. */ + public PaymentLocation create(PaymentLocationCreateParams params) throws StripeException { + return create(params, (RequestOptions) null); + } + /** Create a Payment Location. */ + public PaymentLocation create(PaymentLocationCreateParams params, RequestOptions options) + throws StripeException { + String path = "/v1/payment_locations"; + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + path, + ApiRequestParams.paramsToMap(params), + options); + return this.request(request, PaymentLocation.class); + } +} diff --git a/src/main/java/com/stripe/service/V1Services.java b/src/main/java/com/stripe/service/V1Services.java index a710222f790..ad9438bde9c 100644 --- a/src/main/java/com/stripe/service/V1Services.java +++ b/src/main/java/com/stripe/service/V1Services.java @@ -205,6 +205,10 @@ public com.stripe.service.PaymentLinkService paymentLinks() { return new com.stripe.service.PaymentLinkService(this.getResponseGetter()); } + public com.stripe.service.PaymentLocationService paymentLocations() { + return new com.stripe.service.PaymentLocationService(this.getResponseGetter()); + } + public com.stripe.service.PaymentMethodConfigurationService paymentMethodConfigurations() { return new com.stripe.service.PaymentMethodConfigurationService(this.getResponseGetter()); }