
com.adyen.model.management.PayoutSettings Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of adyen-java-api-library Show documentation
Show all versions of adyen-java-api-library Show documentation
Adyen API Client Library for Java
/*
* Management API
*
* The version of the OpenAPI document: 3
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
package com.adyen.model.management;
import java.util.Objects;
import java.util.Map;
import java.util.HashMap;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonTypeName;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.core.JsonProcessingException;
/**
* PayoutSettings
*/
@JsonPropertyOrder({
PayoutSettings.JSON_PROPERTY_ALLOWED,
PayoutSettings.JSON_PROPERTY_ENABLED,
PayoutSettings.JSON_PROPERTY_ENABLED_FROM_DATE,
PayoutSettings.JSON_PROPERTY_ID,
PayoutSettings.JSON_PROPERTY_PRIORITY,
PayoutSettings.JSON_PROPERTY_TRANSFER_INSTRUMENT_ID,
PayoutSettings.JSON_PROPERTY_VERIFICATION_STATUS
})
public class PayoutSettings {
public static final String JSON_PROPERTY_ALLOWED = "allowed";
private Boolean allowed;
public static final String JSON_PROPERTY_ENABLED = "enabled";
private Boolean enabled;
public static final String JSON_PROPERTY_ENABLED_FROM_DATE = "enabledFromDate";
private String enabledFromDate;
public static final String JSON_PROPERTY_ID = "id";
private String id;
/**
* Determines how long it takes for the funds to reach the bank account. Adyen pays out based on the [payout frequency](https://docs.adyen.com/account/getting-paid#payout-frequency). Depending on the currencies and banks involved in transferring the money, it may take up to three days for the payout funds to arrive in the bank account. Possible values: * **first**: same day. * **urgent**: the next day. * **normal**: between 1 and 3 days.
*/
public enum PriorityEnum {
FIRST(String.valueOf("first")),
NORMAL(String.valueOf("normal")),
URGENT(String.valueOf("urgent"));
private String value;
PriorityEnum(String value) {
this.value = value;
}
@JsonValue
public String getValue() {
return value;
}
@Override
public String toString() {
return String.valueOf(value);
}
@JsonCreator
public static PriorityEnum fromValue(String value) {
for (PriorityEnum b : PriorityEnum.values()) {
if (b.value.equals(value)) {
return b;
}
}
throw new IllegalArgumentException("Unexpected value '" + value + "'");
}
}
public static final String JSON_PROPERTY_PRIORITY = "priority";
private PriorityEnum priority;
public static final String JSON_PROPERTY_TRANSFER_INSTRUMENT_ID = "transferInstrumentId";
private String transferInstrumentId;
/**
* The status of the verification process for the bank account. Possible values: * **valid**: the verification was successful. * **pending**: the verification is in progress. * **invalid**: the information provided is not complete. * **rejected**: there are reasons to refuse working with this entity.
*/
public enum VerificationStatusEnum {
INVALID(String.valueOf("invalid")),
PENDING(String.valueOf("pending")),
REJECTED(String.valueOf("rejected")),
VALID(String.valueOf("valid"));
private String value;
VerificationStatusEnum(String value) {
this.value = value;
}
@JsonValue
public String getValue() {
return value;
}
@Override
public String toString() {
return String.valueOf(value);
}
@JsonCreator
public static VerificationStatusEnum fromValue(String value) {
for (VerificationStatusEnum b : VerificationStatusEnum.values()) {
if (b.value.equals(value)) {
return b;
}
}
throw new IllegalArgumentException("Unexpected value '" + value + "'");
}
}
public static final String JSON_PROPERTY_VERIFICATION_STATUS = "verificationStatus";
private VerificationStatusEnum verificationStatus;
public PayoutSettings() {
}
/**
* Indicates if payouts to the bank account are allowed. This value is set automatically based on the status of the verification process. The value is: * **true** if `verificationStatus` is **valid**. * **false** for all other values.
*
* @param allowed Indicates if payouts to the bank account are allowed. This value is set automatically based on the status of the verification process. The value is: * **true** if `verificationStatus` is **valid**. * **false** for all other values.
* @return the current {@code PayoutSettings} instance, allowing for method chaining
*/
public PayoutSettings allowed(Boolean allowed) {
this.allowed = allowed;
return this;
}
/**
* Indicates if payouts to the bank account are allowed. This value is set automatically based on the status of the verification process. The value is: * **true** if `verificationStatus` is **valid**. * **false** for all other values.
* @return allowed Indicates if payouts to the bank account are allowed. This value is set automatically based on the status of the verification process. The value is: * **true** if `verificationStatus` is **valid**. * **false** for all other values.
*/
@JsonProperty(JSON_PROPERTY_ALLOWED)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public Boolean getAllowed() {
return allowed;
}
/**
* Indicates if payouts to the bank account are allowed. This value is set automatically based on the status of the verification process. The value is: * **true** if `verificationStatus` is **valid**. * **false** for all other values.
*
* @param allowed Indicates if payouts to the bank account are allowed. This value is set automatically based on the status of the verification process. The value is: * **true** if `verificationStatus` is **valid**. * **false** for all other values.
*/
@JsonProperty(JSON_PROPERTY_ALLOWED)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setAllowed(Boolean allowed) {
this.allowed = allowed;
}
/**
* Indicates if payouts to this bank account are enabled. Default: **true**. To receive payouts into this bank account, both `enabled` and `allowed` must be **true**.
*
* @param enabled Indicates if payouts to this bank account are enabled. Default: **true**. To receive payouts into this bank account, both `enabled` and `allowed` must be **true**.
* @return the current {@code PayoutSettings} instance, allowing for method chaining
*/
public PayoutSettings enabled(Boolean enabled) {
this.enabled = enabled;
return this;
}
/**
* Indicates if payouts to this bank account are enabled. Default: **true**. To receive payouts into this bank account, both `enabled` and `allowed` must be **true**.
* @return enabled Indicates if payouts to this bank account are enabled. Default: **true**. To receive payouts into this bank account, both `enabled` and `allowed` must be **true**.
*/
@JsonProperty(JSON_PROPERTY_ENABLED)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public Boolean getEnabled() {
return enabled;
}
/**
* Indicates if payouts to this bank account are enabled. Default: **true**. To receive payouts into this bank account, both `enabled` and `allowed` must be **true**.
*
* @param enabled Indicates if payouts to this bank account are enabled. Default: **true**. To receive payouts into this bank account, both `enabled` and `allowed` must be **true**.
*/
@JsonProperty(JSON_PROPERTY_ENABLED)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setEnabled(Boolean enabled) {
this.enabled = enabled;
}
/**
* The date when Adyen starts paying out to this bank account. Format: [ISO 8601](https://www.w3.org/TR/NOTE-datetime), for example, **2019-11-23T12:25:28Z** or **2020-05-27T20:25:28+08:00**. If not specified, the `enabled` field indicates if payouts are enabled for this bank account. If a date is specified and: * `enabled`: **true**, payouts are enabled starting the specified date. * `enabled`: **false**, payouts are disabled until the specified date. On the specified date, `enabled` changes to **true** and this field is reset to **null**.
*
* @param enabledFromDate The date when Adyen starts paying out to this bank account. Format: [ISO 8601](https://www.w3.org/TR/NOTE-datetime), for example, **2019-11-23T12:25:28Z** or **2020-05-27T20:25:28+08:00**. If not specified, the `enabled` field indicates if payouts are enabled for this bank account. If a date is specified and: * `enabled`: **true**, payouts are enabled starting the specified date. * `enabled`: **false**, payouts are disabled until the specified date. On the specified date, `enabled` changes to **true** and this field is reset to **null**.
* @return the current {@code PayoutSettings} instance, allowing for method chaining
*/
public PayoutSettings enabledFromDate(String enabledFromDate) {
this.enabledFromDate = enabledFromDate;
return this;
}
/**
* The date when Adyen starts paying out to this bank account. Format: [ISO 8601](https://www.w3.org/TR/NOTE-datetime), for example, **2019-11-23T12:25:28Z** or **2020-05-27T20:25:28+08:00**. If not specified, the `enabled` field indicates if payouts are enabled for this bank account. If a date is specified and: * `enabled`: **true**, payouts are enabled starting the specified date. * `enabled`: **false**, payouts are disabled until the specified date. On the specified date, `enabled` changes to **true** and this field is reset to **null**.
* @return enabledFromDate The date when Adyen starts paying out to this bank account. Format: [ISO 8601](https://www.w3.org/TR/NOTE-datetime), for example, **2019-11-23T12:25:28Z** or **2020-05-27T20:25:28+08:00**. If not specified, the `enabled` field indicates if payouts are enabled for this bank account. If a date is specified and: * `enabled`: **true**, payouts are enabled starting the specified date. * `enabled`: **false**, payouts are disabled until the specified date. On the specified date, `enabled` changes to **true** and this field is reset to **null**.
*/
@JsonProperty(JSON_PROPERTY_ENABLED_FROM_DATE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getEnabledFromDate() {
return enabledFromDate;
}
/**
* The date when Adyen starts paying out to this bank account. Format: [ISO 8601](https://www.w3.org/TR/NOTE-datetime), for example, **2019-11-23T12:25:28Z** or **2020-05-27T20:25:28+08:00**. If not specified, the `enabled` field indicates if payouts are enabled for this bank account. If a date is specified and: * `enabled`: **true**, payouts are enabled starting the specified date. * `enabled`: **false**, payouts are disabled until the specified date. On the specified date, `enabled` changes to **true** and this field is reset to **null**.
*
* @param enabledFromDate The date when Adyen starts paying out to this bank account. Format: [ISO 8601](https://www.w3.org/TR/NOTE-datetime), for example, **2019-11-23T12:25:28Z** or **2020-05-27T20:25:28+08:00**. If not specified, the `enabled` field indicates if payouts are enabled for this bank account. If a date is specified and: * `enabled`: **true**, payouts are enabled starting the specified date. * `enabled`: **false**, payouts are disabled until the specified date. On the specified date, `enabled` changes to **true** and this field is reset to **null**.
*/
@JsonProperty(JSON_PROPERTY_ENABLED_FROM_DATE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setEnabledFromDate(String enabledFromDate) {
this.enabledFromDate = enabledFromDate;
}
/**
* The unique identifier of the payout setting.
*
* @param id The unique identifier of the payout setting.
* @return the current {@code PayoutSettings} instance, allowing for method chaining
*/
public PayoutSettings id(String id) {
this.id = id;
return this;
}
/**
* The unique identifier of the payout setting.
* @return id The unique identifier of the payout setting.
*/
@JsonProperty(JSON_PROPERTY_ID)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getId() {
return id;
}
/**
* The unique identifier of the payout setting.
*
* @param id The unique identifier of the payout setting.
*/
@JsonProperty(JSON_PROPERTY_ID)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setId(String id) {
this.id = id;
}
/**
* Determines how long it takes for the funds to reach the bank account. Adyen pays out based on the [payout frequency](https://docs.adyen.com/account/getting-paid#payout-frequency). Depending on the currencies and banks involved in transferring the money, it may take up to three days for the payout funds to arrive in the bank account. Possible values: * **first**: same day. * **urgent**: the next day. * **normal**: between 1 and 3 days.
*
* @param priority Determines how long it takes for the funds to reach the bank account. Adyen pays out based on the [payout frequency](https://docs.adyen.com/account/getting-paid#payout-frequency). Depending on the currencies and banks involved in transferring the money, it may take up to three days for the payout funds to arrive in the bank account. Possible values: * **first**: same day. * **urgent**: the next day. * **normal**: between 1 and 3 days.
* @return the current {@code PayoutSettings} instance, allowing for method chaining
*/
public PayoutSettings priority(PriorityEnum priority) {
this.priority = priority;
return this;
}
/**
* Determines how long it takes for the funds to reach the bank account. Adyen pays out based on the [payout frequency](https://docs.adyen.com/account/getting-paid#payout-frequency). Depending on the currencies and banks involved in transferring the money, it may take up to three days for the payout funds to arrive in the bank account. Possible values: * **first**: same day. * **urgent**: the next day. * **normal**: between 1 and 3 days.
* @return priority Determines how long it takes for the funds to reach the bank account. Adyen pays out based on the [payout frequency](https://docs.adyen.com/account/getting-paid#payout-frequency). Depending on the currencies and banks involved in transferring the money, it may take up to three days for the payout funds to arrive in the bank account. Possible values: * **first**: same day. * **urgent**: the next day. * **normal**: between 1 and 3 days.
*/
@JsonProperty(JSON_PROPERTY_PRIORITY)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public PriorityEnum getPriority() {
return priority;
}
/**
* Determines how long it takes for the funds to reach the bank account. Adyen pays out based on the [payout frequency](https://docs.adyen.com/account/getting-paid#payout-frequency). Depending on the currencies and banks involved in transferring the money, it may take up to three days for the payout funds to arrive in the bank account. Possible values: * **first**: same day. * **urgent**: the next day. * **normal**: between 1 and 3 days.
*
* @param priority Determines how long it takes for the funds to reach the bank account. Adyen pays out based on the [payout frequency](https://docs.adyen.com/account/getting-paid#payout-frequency). Depending on the currencies and banks involved in transferring the money, it may take up to three days for the payout funds to arrive in the bank account. Possible values: * **first**: same day. * **urgent**: the next day. * **normal**: between 1 and 3 days.
*/
@JsonProperty(JSON_PROPERTY_PRIORITY)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setPriority(PriorityEnum priority) {
this.priority = priority;
}
/**
* The unique identifier of the [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments) that contains the details of the bank account.
*
* @param transferInstrumentId The unique identifier of the [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments) that contains the details of the bank account.
* @return the current {@code PayoutSettings} instance, allowing for method chaining
*/
public PayoutSettings transferInstrumentId(String transferInstrumentId) {
this.transferInstrumentId = transferInstrumentId;
return this;
}
/**
* The unique identifier of the [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments) that contains the details of the bank account.
* @return transferInstrumentId The unique identifier of the [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments) that contains the details of the bank account.
*/
@JsonProperty(JSON_PROPERTY_TRANSFER_INSTRUMENT_ID)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getTransferInstrumentId() {
return transferInstrumentId;
}
/**
* The unique identifier of the [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments) that contains the details of the bank account.
*
* @param transferInstrumentId The unique identifier of the [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments) that contains the details of the bank account.
*/
@JsonProperty(JSON_PROPERTY_TRANSFER_INSTRUMENT_ID)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setTransferInstrumentId(String transferInstrumentId) {
this.transferInstrumentId = transferInstrumentId;
}
/**
* The status of the verification process for the bank account. Possible values: * **valid**: the verification was successful. * **pending**: the verification is in progress. * **invalid**: the information provided is not complete. * **rejected**: there are reasons to refuse working with this entity.
*
* @param verificationStatus The status of the verification process for the bank account. Possible values: * **valid**: the verification was successful. * **pending**: the verification is in progress. * **invalid**: the information provided is not complete. * **rejected**: there are reasons to refuse working with this entity.
* @return the current {@code PayoutSettings} instance, allowing for method chaining
*/
public PayoutSettings verificationStatus(VerificationStatusEnum verificationStatus) {
this.verificationStatus = verificationStatus;
return this;
}
/**
* The status of the verification process for the bank account. Possible values: * **valid**: the verification was successful. * **pending**: the verification is in progress. * **invalid**: the information provided is not complete. * **rejected**: there are reasons to refuse working with this entity.
* @return verificationStatus The status of the verification process for the bank account. Possible values: * **valid**: the verification was successful. * **pending**: the verification is in progress. * **invalid**: the information provided is not complete. * **rejected**: there are reasons to refuse working with this entity.
*/
@JsonProperty(JSON_PROPERTY_VERIFICATION_STATUS)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public VerificationStatusEnum getVerificationStatus() {
return verificationStatus;
}
/**
* The status of the verification process for the bank account. Possible values: * **valid**: the verification was successful. * **pending**: the verification is in progress. * **invalid**: the information provided is not complete. * **rejected**: there are reasons to refuse working with this entity.
*
* @param verificationStatus The status of the verification process for the bank account. Possible values: * **valid**: the verification was successful. * **pending**: the verification is in progress. * **invalid**: the information provided is not complete. * **rejected**: there are reasons to refuse working with this entity.
*/
@JsonProperty(JSON_PROPERTY_VERIFICATION_STATUS)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setVerificationStatus(VerificationStatusEnum verificationStatus) {
this.verificationStatus = verificationStatus;
}
/**
* Return true if this PayoutSettings object is equal to o.
*/
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
PayoutSettings payoutSettings = (PayoutSettings) o;
return Objects.equals(this.allowed, payoutSettings.allowed) &&
Objects.equals(this.enabled, payoutSettings.enabled) &&
Objects.equals(this.enabledFromDate, payoutSettings.enabledFromDate) &&
Objects.equals(this.id, payoutSettings.id) &&
Objects.equals(this.priority, payoutSettings.priority) &&
Objects.equals(this.transferInstrumentId, payoutSettings.transferInstrumentId) &&
Objects.equals(this.verificationStatus, payoutSettings.verificationStatus);
}
@Override
public int hashCode() {
return Objects.hash(allowed, enabled, enabledFromDate, id, priority, transferInstrumentId, verificationStatus);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class PayoutSettings {\n");
sb.append(" allowed: ").append(toIndentedString(allowed)).append("\n");
sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n");
sb.append(" enabledFromDate: ").append(toIndentedString(enabledFromDate)).append("\n");
sb.append(" id: ").append(toIndentedString(id)).append("\n");
sb.append(" priority: ").append(toIndentedString(priority)).append("\n");
sb.append(" transferInstrumentId: ").append(toIndentedString(transferInstrumentId)).append("\n");
sb.append(" verificationStatus: ").append(toIndentedString(verificationStatus)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private String toIndentedString(Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
/**
* Create an instance of PayoutSettings given an JSON string
*
* @param jsonString JSON string
* @return An instance of PayoutSettings
* @throws JsonProcessingException if the JSON string is invalid with respect to PayoutSettings
*/
public static PayoutSettings fromJson(String jsonString) throws JsonProcessingException {
return JSON.getMapper().readValue(jsonString, PayoutSettings.class);
}
/**
* Convert an instance of PayoutSettings to an JSON string
*
* @return JSON string
*/
public String toJson() throws JsonProcessingException {
return JSON.getMapper().writeValueAsString(this);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy