/src/main/java/com/stripe/param/PaymentIntentIncrementAuthorizationParams.java
https://github.com/stripe/stripe-java · Java · 300 lines · 160 code · 38 blank · 102 comment · 16 complexity · b147c165ae4edfb3a04474a4be4a4343 MD5 · raw file
- // 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.Getter;
- @Getter
- public class PaymentIntentIncrementAuthorizationParams extends ApiRequestParams {
- /**
- * The updated total amount you intend to collect from the cardholder. This amount must be greater
- * than the currently authorized amount.
- */
- @SerializedName("amount")
- Long amount;
- /**
- * The amount of the application fee (if any) that will be requested to be applied to the payment
- * and transferred to the application owner's Stripe account. The amount of the application fee
- * collected will be capped at the total payment amount. For more information, see the
- * PaymentIntents <a href="https://stripe.com/docs/payments/connected-accounts">use case for
- * connected accounts</a>.
- */
- @SerializedName("application_fee_amount")
- Long applicationFeeAmount;
- /** An arbitrary string attached to the object. Often useful for displaying to users. */
- @SerializedName("description")
- String description;
- /** Specifies which fields in the response should be expanded. */
- @SerializedName("expand")
- List<String> 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<String, Object> extraParams;
- /**
- * Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can attach
- * to an object. This can be useful for storing additional information about the object in a
- * structured format. Individual keys can be unset by posting an empty value to them. All keys can
- * be unset by posting an empty value to {@code metadata}.
- */
- @SerializedName("metadata")
- Map<String, String> metadata;
- /**
- * The parameters used to automatically create a Transfer when the payment is captured. For more
- * information, see the PaymentIntents <a
- * href="https://stripe.com/docs/payments/connected-accounts">use case for connected accounts</a>.
- */
- @SerializedName("transfer_data")
- TransferData transferData;
- private PaymentIntentIncrementAuthorizationParams(
- Long amount,
- Long applicationFeeAmount,
- String description,
- List<String> expand,
- Map<String, Object> extraParams,
- Map<String, String> metadata,
- TransferData transferData) {
- this.amount = amount;
- this.applicationFeeAmount = applicationFeeAmount;
- this.description = description;
- this.expand = expand;
- this.extraParams = extraParams;
- this.metadata = metadata;
- this.transferData = transferData;
- }
- public static Builder builder() {
- return new Builder();
- }
- public static class Builder {
- private Long amount;
- private Long applicationFeeAmount;
- private String description;
- private List<String> expand;
- private Map<String, Object> extraParams;
- private Map<String, String> metadata;
- private TransferData transferData;
- /** Finalize and obtain parameter instance from this builder. */
- public PaymentIntentIncrementAuthorizationParams build() {
- return new PaymentIntentIncrementAuthorizationParams(
- this.amount,
- this.applicationFeeAmount,
- this.description,
- this.expand,
- this.extraParams,
- this.metadata,
- this.transferData);
- }
- /**
- * The updated total amount you intend to collect from the cardholder. This amount must be
- * greater than the currently authorized amount.
- */
- public Builder setAmount(Long amount) {
- this.amount = amount;
- return this;
- }
- /**
- * The amount of the application fee (if any) that will be requested to be applied to the
- * payment and transferred to the application owner's Stripe account. The amount of the
- * application fee collected will be capped at the total payment amount. For more information,
- * see the PaymentIntents <a href="https://stripe.com/docs/payments/connected-accounts">use case
- * for connected accounts</a>.
- */
- public Builder setApplicationFeeAmount(Long applicationFeeAmount) {
- this.applicationFeeAmount = applicationFeeAmount;
- return this;
- }
- /** An arbitrary string attached to the object. Often useful for displaying to users. */
- public Builder setDescription(String description) {
- this.description = description;
- 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
- * PaymentIntentIncrementAuthorizationParams#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
- * PaymentIntentIncrementAuthorizationParams#expand} for the field documentation.
- */
- public Builder addAllExpand(List<String> 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
- * PaymentIntentIncrementAuthorizationParams#extraParams} for the field documentation.
- */
- public Builder putExtraParam(String key, Object value) {
- if (this.extraParams == null) {
- this.extraParams = new HashMap<>();
- }
- this.extraParams.put(key, value);
- return this;
- }
- /**
- * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
- * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
- * See {@link PaymentIntentIncrementAuthorizationParams#extraParams} for the field
- * documentation.
- */
- public Builder putAllExtraParam(Map<String, Object> map) {
- if (this.extraParams == null) {
- this.extraParams = new HashMap<>();
- }
- this.extraParams.putAll(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
- * PaymentIntentIncrementAuthorizationParams#metadata} for the field documentation.
- */
- public Builder putMetadata(String key, String value) {
- if (this.metadata == null) {
- this.metadata = new HashMap<>();
- }
- 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 PaymentIntentIncrementAuthorizationParams#metadata} for the field documentation.
- */
- public Builder putAllMetadata(Map<String, String> map) {
- if (this.metadata == null) {
- this.metadata = new HashMap<>();
- }
- this.metadata.putAll(map);
- return this;
- }
- /**
- * The parameters used to automatically create a Transfer when the payment is captured. For more
- * information, see the PaymentIntents <a
- * href="https://stripe.com/docs/payments/connected-accounts">use case for connected
- * accounts</a>.
- */
- public Builder setTransferData(TransferData transferData) {
- this.transferData = transferData;
- return this;
- }
- }
- @Getter
- public static class TransferData {
- /** The amount that will be transferred automatically when a charge succeeds. */
- @SerializedName("amount")
- Long amount;
- /**
- * 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<String, Object> extraParams;
- private TransferData(Long amount, Map<String, Object> extraParams) {
- this.amount = amount;
- this.extraParams = extraParams;
- }
- public static Builder builder() {
- return new Builder();
- }
- public static class Builder {
- private Long amount;
- private Map<String, Object> extraParams;
- /** Finalize and obtain parameter instance from this builder. */
- public TransferData build() {
- return new TransferData(this.amount, this.extraParams);
- }
- /** The amount that will be transferred automatically when a charge succeeds. */
- public Builder setAmount(Long amount) {
- this.amount = amount;
- return this;
- }
- /**
- * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll`
- * call, and subsequent calls add additional key/value pairs to the original map. See {@link
- * PaymentIntentIncrementAuthorizationParams.TransferData#extraParams} for the field
- * documentation.
- */
- public Builder putExtraParam(String key, Object value) {
- if (this.extraParams == null) {
- this.extraParams = new HashMap<>();
- }
- this.extraParams.put(key, value);
- return this;
- }
- /**
- * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
- * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
- * See {@link PaymentIntentIncrementAuthorizationParams.TransferData#extraParams} for the
- * field documentation.
- */
- public Builder putAllExtraParam(Map<String, Object> map) {
- if (this.extraParams == null) {
- this.extraParams = new HashMap<>();
- }
- this.extraParams.putAll(map);
- return this;
- }
- }
- }
- }