All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.stripe.param.SetupIntentUpdateParams Maven / Gradle / Ivy

There is a newer version: 28.2.0
Show newest version
// Generated by delombok at Wed Jun 10 17:29:55 PDT 2020
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;

public class SetupIntentUpdateParams extends ApiRequestParams {
  /**
   * ID of the Customer this SetupIntent belongs to, if one exists.
   *
   * 

If present, the SetupIntent's payment method will be attached to the Customer on successful * setup. Payment methods attached to other Customers cannot be used with this SetupIntent. */ @SerializedName("customer") Object customer; /** * An arbitrary string attached to the object. Often useful for displaying to users. */ @SerializedName("description") Object description; /** * 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; /** * Set of key-value pairs that you can attach to an object. This can be useful for storing * additional information about the object in a structured format. 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") Object metadata; /** * ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this * SetupIntent. */ @SerializedName("payment_method") Object paymentMethod; /** * Payment-method-specific configuration for this SetupIntent. */ @SerializedName("payment_method_options") PaymentMethodOptions paymentMethodOptions; /** * The list of payment method types (e.g. card) that this SetupIntent is allowed to set up. If * this is not provided, defaults to ["card"]. */ @SerializedName("payment_method_types") List paymentMethodTypes; private SetupIntentUpdateParams(Object customer, Object description, List expand, Map extraParams, Object metadata, Object paymentMethod, PaymentMethodOptions paymentMethodOptions, List paymentMethodTypes) { this.customer = customer; this.description = description; this.expand = expand; this.extraParams = extraParams; this.metadata = metadata; this.paymentMethod = paymentMethod; this.paymentMethodOptions = paymentMethodOptions; this.paymentMethodTypes = paymentMethodTypes; } public static Builder builder() { return new Builder(); } public static class Builder { private Object customer; private Object description; private List expand; private Map extraParams; private Object metadata; private Object paymentMethod; private PaymentMethodOptions paymentMethodOptions; private List paymentMethodTypes; /** * Finalize and obtain parameter instance from this builder. */ public SetupIntentUpdateParams build() { return new SetupIntentUpdateParams(this.customer, this.description, this.expand, this.extraParams, this.metadata, this.paymentMethod, this.paymentMethodOptions, this.paymentMethodTypes); } /** * ID of the Customer this SetupIntent belongs to, if one exists. * *

If present, the SetupIntent's payment method will be attached to the Customer on * successful setup. Payment methods attached to other Customers cannot be used with this * SetupIntent. */ public Builder setCustomer(String customer) { this.customer = customer; return this; } /** * ID of the Customer this SetupIntent belongs to, if one exists. * *

If present, the SetupIntent's payment method will be attached to the Customer on * successful setup. Payment methods attached to other Customers cannot be used with this * SetupIntent. */ public Builder setCustomer(EmptyParam customer) { this.customer = customer; 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; } /** * An arbitrary string attached to the object. Often useful for displaying to users. */ public Builder setDescription(EmptyParam 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 * SetupIntentUpdateParams#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 * SetupIntentUpdateParams#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 * SetupIntentUpdateParams#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#extraParams} for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { this.extraParams = new HashMap<>(); } this.extraParams.putAll(map); return this; } /** * Add a key/value pair to `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 * SetupIntentUpdateParams#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 SetupIntentUpdateParams#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; } /** * Set of key-value pairs that you can attach to an object. This can be useful for storing * additional information about the object in a structured format. 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}. */ public Builder setMetadata(EmptyParam metadata) { this.metadata = metadata; return this; } /** * Set of key-value pairs that you can attach to an object. This can be useful for storing * additional information about the object in a structured format. 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}. */ public Builder setMetadata(Map metadata) { this.metadata = metadata; return this; } /** * ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this * SetupIntent. */ public Builder setPaymentMethod(String paymentMethod) { this.paymentMethod = paymentMethod; return this; } /** * ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this * SetupIntent. */ public Builder setPaymentMethod(EmptyParam paymentMethod) { this.paymentMethod = paymentMethod; return this; } /** * Payment-method-specific configuration for this SetupIntent. */ public Builder setPaymentMethodOptions(PaymentMethodOptions paymentMethodOptions) { this.paymentMethodOptions = paymentMethodOptions; return this; } /** * Add an element to `paymentMethodTypes` list. A list is initialized for the first `add/addAll` * call, and subsequent calls adds additional elements to the original list. See {@link * SetupIntentUpdateParams#paymentMethodTypes} for the field documentation. */ public Builder addPaymentMethodType(String element) { if (this.paymentMethodTypes == null) { this.paymentMethodTypes = new ArrayList<>(); } this.paymentMethodTypes.add(element); return this; } /** * Add all elements to `paymentMethodTypes` list. A list is initialized for the first * `add/addAll` call, and subsequent calls adds additional elements to the original list. See * {@link SetupIntentUpdateParams#paymentMethodTypes} for the field documentation. */ public Builder addAllPaymentMethodType(List elements) { if (this.paymentMethodTypes == null) { this.paymentMethodTypes = new ArrayList<>(); } this.paymentMethodTypes.addAll(elements); return this; } } public static class PaymentMethodOptions { /** Configuration for any card setup attempted on this SetupIntent. */ @SerializedName("card") Card card; /** * Map of extra parameters for custom features not available in this client library. The content * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each * key/value pair is serialized as if the key is a root-level field (serialized) name in this * param object. Effectively, this map is flattened to its parent instance. */ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; private PaymentMethodOptions(Card card, Map extraParams) { this.card = card; this.extraParams = extraParams; } public static Builder builder() { return new Builder(); } public static class Builder { private Card card; private Map extraParams; /** Finalize and obtain parameter instance from this builder. */ public PaymentMethodOptions build() { return new PaymentMethodOptions(this.card, this.extraParams); } /** Configuration for any card setup attempted on this SetupIntent. */ public Builder setCard(Card card) { this.card = card; return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` * call, and subsequent calls add additional key/value pairs to the original map. See {@link * SetupIntentUpdateParams.PaymentMethodOptions#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.PaymentMethodOptions#extraParams} for the field * documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { this.extraParams = new HashMap<>(); } this.extraParams.putAll(map); return this; } } public static class Card { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) * name in this param object. Effectively, this map is flattened to its parent instance. */ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; /** * When specified, this parameter signals that a card has been collected as MOTO (Mail Order * Telephone Order) and thus out of scope for SCA. This parameter can only be provided during * confirmation. */ @SerializedName("moto") Boolean moto; /** * We strongly recommend that you rely on our SCA Engine to automatically prompt your * customers for authentication based on risk level and other requirements. * However, if you wish to request 3D Secure based on logic from your own fraud engine, * provide this option. Permitted values include: {@code automatic} or {@code any}. If not * provided, defaults to {@code automatic}. Read our guide on manually requesting 3D * Secure for more information on how this configuration interacts with Radar and our SCA * Engine. */ @SerializedName("request_three_d_secure") RequestThreeDSecure requestThreeDSecure; private Card(Map extraParams, Boolean moto, RequestThreeDSecure requestThreeDSecure) { this.extraParams = extraParams; this.moto = moto; this.requestThreeDSecure = requestThreeDSecure; } public static Builder builder() { return new Builder(); } public static class Builder { private Map extraParams; private Boolean moto; private RequestThreeDSecure requestThreeDSecure; /** Finalize and obtain parameter instance from this builder. */ public Card build() { return new Card(this.extraParams, this.moto, this.requestThreeDSecure); } /** * 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.PaymentMethodOptions.Card#extraParams} for the * field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { this.extraParams = new HashMap<>(); } this.extraParams.put(key, value); return this; } /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original * map. See {@link SetupIntentUpdateParams.PaymentMethodOptions.Card#extraParams} for the * field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { this.extraParams = new HashMap<>(); } this.extraParams.putAll(map); return this; } /** * When specified, this parameter signals that a card has been collected as MOTO (Mail Order * Telephone Order) and thus out of scope for SCA. This parameter can only be provided * during confirmation. */ public Builder setMoto(Boolean moto) { this.moto = moto; return this; } /** * We strongly recommend that you rely on our SCA Engine to automatically prompt your * customers for authentication based on risk level and other requirements. * However, if you wish to request 3D Secure based on logic from your own fraud engine, * provide this option. Permitted values include: {@code automatic} or {@code any}. If not * provided, defaults to {@code automatic}. Read our guide on manually requesting 3D * Secure for more information on how this configuration interacts with Radar and our * SCA Engine. */ public Builder setRequestThreeDSecure(RequestThreeDSecure requestThreeDSecure) { this.requestThreeDSecure = requestThreeDSecure; return this; } } public enum RequestThreeDSecure implements ApiRequestParams.EnumParam { @SerializedName("any") ANY("any"), @SerializedName("automatic") AUTOMATIC("automatic"); private final String value; RequestThreeDSecure(String value) { this.value = value; } @Override @java.lang.SuppressWarnings("all") @lombok.Generated public String getValue() { return this.value; } } @java.lang.SuppressWarnings("all") @lombok.Generated public Map getExtraParams() { return this.extraParams; } @java.lang.SuppressWarnings("all") @lombok.Generated public Boolean getMoto() { return this.moto; } @java.lang.SuppressWarnings("all") @lombok.Generated public RequestThreeDSecure getRequestThreeDSecure() { return this.requestThreeDSecure; } } @java.lang.SuppressWarnings("all") @lombok.Generated public Card getCard() { return this.card; } @java.lang.SuppressWarnings("all") @lombok.Generated public Map getExtraParams() { return this.extraParams; } } /** * ID of the Customer this SetupIntent belongs to, if one exists. * *

If present, the SetupIntent's payment method will be attached to the Customer on successful * setup. Payment methods attached to other Customers cannot be used with this SetupIntent. */ @java.lang.SuppressWarnings("all") @lombok.Generated public Object getCustomer() { return this.customer; } /** * An arbitrary string attached to the object. Often useful for displaying to users. */ @java.lang.SuppressWarnings("all") @lombok.Generated public Object getDescription() { return this.description; } /** * Specifies which fields in the response should be expanded. */ @java.lang.SuppressWarnings("all") @lombok.Generated public List getExpand() { return this.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. */ @java.lang.SuppressWarnings("all") @lombok.Generated public Map getExtraParams() { return this.extraParams; } /** * Set of key-value pairs that you can attach to an object. This can be useful for storing * additional information about the object in a structured format. 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}. */ @java.lang.SuppressWarnings("all") @lombok.Generated public Object getMetadata() { return this.metadata; } /** * ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this * SetupIntent. */ @java.lang.SuppressWarnings("all") @lombok.Generated public Object getPaymentMethod() { return this.paymentMethod; } /** * Payment-method-specific configuration for this SetupIntent. */ @java.lang.SuppressWarnings("all") @lombok.Generated public PaymentMethodOptions getPaymentMethodOptions() { return this.paymentMethodOptions; } /** * The list of payment method types (e.g. card) that this SetupIntent is allowed to set up. If * this is not provided, defaults to ["card"]. */ @java.lang.SuppressWarnings("all") @lombok.Generated public List getPaymentMethodTypes() { return this.paymentMethodTypes; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy