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: 26.13.0-beta.1
Show newest version
// Generated by com.stripe.generator.entity.SdkBuilder

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;

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

If present, payment methods used with this SetupIntent can only be attached to this * Customer, and payment methods attached to other Customers cannot be used with this SetupIntent. */ @SerializedName("customer") String customer; /** 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 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. */ @SerializedName("metadata") Map metadata; /** * ID of the payment method (a PaymentMethod, Card, BankAccount, or saved Source object) to attach * to this SetupIntent. */ @SerializedName("payment_method") String paymentMethod; /** * 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( String customer, String description, List expand, Map extraParams, Map metadata, String paymentMethod, List paymentMethodTypes) { this.customer = customer; this.description = description; this.expand = expand; this.extraParams = extraParams; this.metadata = metadata; this.paymentMethod = paymentMethod; this.paymentMethodTypes = paymentMethodTypes; } public static Builder builder() { return new com.stripe.param.SetupIntentUpdateParams.Builder(); } public static class Builder { private String customer; private String description; private List expand; private Map extraParams; private Map metadata; private String paymentMethod; 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.paymentMethodTypes); } /** * ID of the Customer this SetupIntent belongs to, if one exists. * *

If present, payment methods used with this SetupIntent can only be attached to this * Customer, and payment methods attached to other Customers cannot be used with this * SetupIntent. */ public Builder setCustomer(String 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; } /** * 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. */ 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 SetupIntentUpdateParams#metadata} for the field documentation. */ public Builder putAllMetadata(Map map) { if (this.metadata == null) { this.metadata = new HashMap<>(); } this.metadata.putAll(map); return this; } /** * ID of the payment method (a PaymentMethod, Card, BankAccount, or saved Source object) to * attach to this SetupIntent. */ public Builder setPaymentMethod(String paymentMethod) { this.paymentMethod = paymentMethod; 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; } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy