diff --git a/src/main/java/com/adyen/model/balanceplatform/AccountHolder.java b/src/main/java/com/adyen/model/balanceplatform/AccountHolder.java index dd975f6c1..4917af816 100644 --- a/src/main/java/com/adyen/model/balanceplatform/AccountHolder.java +++ b/src/main/java/com/adyen/model/balanceplatform/AccountHolder.java @@ -61,6 +61,7 @@ public class AccountHolder { private Map capabilities = null; public static final String JSON_PROPERTY_CONTACT_DETAILS = "contactDetails"; + @Deprecated private ContactDetails contactDetails; public static final String JSON_PROPERTY_DESCRIPTION = "description"; @@ -201,6 +202,7 @@ public void setCapabilities(Map capabilities) { } + @Deprecated public AccountHolder contactDetails(ContactDetails contactDetails) { this.contactDetails = contactDetails; return this; @@ -209,7 +211,9 @@ public AccountHolder contactDetails(ContactDetails contactDetails) { /** * Get contactDetails * @return contactDetails + * @deprecated **/ + @Deprecated @ApiModelProperty(value = "") @JsonProperty(JSON_PROPERTY_CONTACT_DETAILS) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -224,6 +228,7 @@ public ContactDetails getContactDetails() { * * @param contactDetails */ + @Deprecated @JsonProperty(JSON_PROPERTY_CONTACT_DETAILS) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public void setContactDetails(ContactDetails contactDetails) { diff --git a/src/main/java/com/adyen/model/balanceplatform/AccountHolderInfo.java b/src/main/java/com/adyen/model/balanceplatform/AccountHolderInfo.java index 389dc9f44..ceca15d95 100644 --- a/src/main/java/com/adyen/model/balanceplatform/AccountHolderInfo.java +++ b/src/main/java/com/adyen/model/balanceplatform/AccountHolderInfo.java @@ -55,6 +55,7 @@ public class AccountHolderInfo { private Map capabilities = null; public static final String JSON_PROPERTY_CONTACT_DETAILS = "contactDetails"; + @Deprecated private ContactDetails contactDetails; public static final String JSON_PROPERTY_DESCRIPTION = "description"; @@ -146,6 +147,7 @@ public void setCapabilities(Map capabilities) { } + @Deprecated public AccountHolderInfo contactDetails(ContactDetails contactDetails) { this.contactDetails = contactDetails; return this; @@ -154,7 +156,9 @@ public AccountHolderInfo contactDetails(ContactDetails contactDetails) { /** * Get contactDetails * @return contactDetails + * @deprecated **/ + @Deprecated @ApiModelProperty(value = "") @JsonProperty(JSON_PROPERTY_CONTACT_DETAILS) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -169,6 +173,7 @@ public ContactDetails getContactDetails() { * * @param contactDetails */ + @Deprecated @JsonProperty(JSON_PROPERTY_CONTACT_DETAILS) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public void setContactDetails(ContactDetails contactDetails) { diff --git a/src/main/java/com/adyen/model/balanceplatform/AccountHolderUpdateRequest.java b/src/main/java/com/adyen/model/balanceplatform/AccountHolderUpdateRequest.java index c6e37ded2..c64c16a78 100644 --- a/src/main/java/com/adyen/model/balanceplatform/AccountHolderUpdateRequest.java +++ b/src/main/java/com/adyen/model/balanceplatform/AccountHolderUpdateRequest.java @@ -59,6 +59,7 @@ public class AccountHolderUpdateRequest { private Map capabilities = null; public static final String JSON_PROPERTY_CONTACT_DETAILS = "contactDetails"; + @Deprecated private ContactDetails contactDetails; public static final String JSON_PROPERTY_DESCRIPTION = "description"; @@ -193,6 +194,7 @@ public void setCapabilities(Map capabilities) { } + @Deprecated public AccountHolderUpdateRequest contactDetails(ContactDetails contactDetails) { this.contactDetails = contactDetails; return this; @@ -201,7 +203,9 @@ public AccountHolderUpdateRequest contactDetails(ContactDetails contactDetails) /** * Get contactDetails * @return contactDetails + * @deprecated **/ + @Deprecated @ApiModelProperty(value = "") @JsonProperty(JSON_PROPERTY_CONTACT_DETAILS) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -216,6 +220,7 @@ public ContactDetails getContactDetails() { * * @param contactDetails */ + @Deprecated @JsonProperty(JSON_PROPERTY_CONTACT_DETAILS) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public void setContactDetails(ContactDetails contactDetails) { diff --git a/src/main/java/com/adyen/model/balanceplatform/ContactDetails.java b/src/main/java/com/adyen/model/balanceplatform/ContactDetails.java index e4a72027a..2a3ddefdd 100644 --- a/src/main/java/com/adyen/model/balanceplatform/ContactDetails.java +++ b/src/main/java/com/adyen/model/balanceplatform/ContactDetails.java @@ -31,7 +31,9 @@ /** * ContactDetails + * @deprecated */ +@Deprecated @JsonPropertyOrder({ ContactDetails.JSON_PROPERTY_ADDRESS, ContactDetails.JSON_PROPERTY_EMAIL, diff --git a/src/main/java/com/adyen/model/balanceplatform/CreateSweepConfigurationV2.java b/src/main/java/com/adyen/model/balanceplatform/CreateSweepConfigurationV2.java index 8b0d50061..139daa73d 100644 --- a/src/main/java/com/adyen/model/balanceplatform/CreateSweepConfigurationV2.java +++ b/src/main/java/com/adyen/model/balanceplatform/CreateSweepConfigurationV2.java @@ -170,6 +170,8 @@ public enum ReasonEnum { COUNTERPARTYBANKUNAVAILABLE("counterpartyBankUnavailable"), + DECLINED("declined"), + DECLINEDBYTRANSACTIONRULE("declinedByTransactionRule"), ERROR("error"), @@ -447,10 +449,10 @@ public CreateSweepConfigurationV2 addPrioritiesItem(PrioritiesEnum prioritiesIte } /** - * The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority you list first. If that's not possible, it moves on to the next option in the order of your provided priorities. Possible values: * **regular**: For normal, low-value transactions. * **fast**: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions. * **wire**: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: Instant way to transfer funds in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: High-value transfer to a recipient in a different country. * **internal**: Transfer to an Adyen-issued business bank account (by bank account number/IBAN). Set `category` to **bank**. For more details, see optional priorities setup for [marketplaces](https://docs.adyen.com/marketplaces/payout-to-users/scheduled-payouts#optional-priorities-setup) or [platforms](https://docs.adyen.com/platforms/payout-to-users/scheduled-payouts#optional-priorities-setup). + * The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority you list first. If that's not possible, it moves on to the next option in the order of your provided priorities. Possible values: * **regular**: for normal, low-value transactions. * **fast**: a faster way to transfer funds, but the fees are higher. Recommended for high-priority, low-value transactions. * **wire**: the fastest way to transfer funds, but this has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: for instant funds transfers in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: for high-value transfers to a recipient in a different country. * **internal**: for transfers to an Adyen-issued business bank account (by bank account number/IBAN). Set `category` to **bank**. For more details, see optional priorities setup for [marketplaces](https://docs.adyen.com/marketplaces/payout-to-users/scheduled-payouts#optional-priorities-setup) or [platforms](https://docs.adyen.com/platforms/payout-to-users/scheduled-payouts#optional-priorities-setup). * @return priorities **/ - @ApiModelProperty(value = "The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority you list first. If that's not possible, it moves on to the next option in the order of your provided priorities. Possible values: * **regular**: For normal, low-value transactions. * **fast**: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions. * **wire**: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: Instant way to transfer funds in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: High-value transfer to a recipient in a different country. * **internal**: Transfer to an Adyen-issued business bank account (by bank account number/IBAN). Set `category` to **bank**. For more details, see optional priorities setup for [marketplaces](https://docs.adyen.com/marketplaces/payout-to-users/scheduled-payouts#optional-priorities-setup) or [platforms](https://docs.adyen.com/platforms/payout-to-users/scheduled-payouts#optional-priorities-setup).") + @ApiModelProperty(value = "The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority you list first. If that's not possible, it moves on to the next option in the order of your provided priorities. Possible values: * **regular**: for normal, low-value transactions. * **fast**: a faster way to transfer funds, but the fees are higher. Recommended for high-priority, low-value transactions. * **wire**: the fastest way to transfer funds, but this has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: for instant funds transfers in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: for high-value transfers to a recipient in a different country. * **internal**: for transfers to an Adyen-issued business bank account (by bank account number/IBAN). Set `category` to **bank**. For more details, see optional priorities setup for [marketplaces](https://docs.adyen.com/marketplaces/payout-to-users/scheduled-payouts#optional-priorities-setup) or [platforms](https://docs.adyen.com/platforms/payout-to-users/scheduled-payouts#optional-priorities-setup).") @JsonProperty(JSON_PROPERTY_PRIORITIES) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -460,7 +462,7 @@ public List getPriorities() { /** - * The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority you list first. If that's not possible, it moves on to the next option in the order of your provided priorities. Possible values: * **regular**: For normal, low-value transactions. * **fast**: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions. * **wire**: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: Instant way to transfer funds in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: High-value transfer to a recipient in a different country. * **internal**: Transfer to an Adyen-issued business bank account (by bank account number/IBAN). Set `category` to **bank**. For more details, see optional priorities setup for [marketplaces](https://docs.adyen.com/marketplaces/payout-to-users/scheduled-payouts#optional-priorities-setup) or [platforms](https://docs.adyen.com/platforms/payout-to-users/scheduled-payouts#optional-priorities-setup). + * The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority you list first. If that's not possible, it moves on to the next option in the order of your provided priorities. Possible values: * **regular**: for normal, low-value transactions. * **fast**: a faster way to transfer funds, but the fees are higher. Recommended for high-priority, low-value transactions. * **wire**: the fastest way to transfer funds, but this has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: for instant funds transfers in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: for high-value transfers to a recipient in a different country. * **internal**: for transfers to an Adyen-issued business bank account (by bank account number/IBAN). Set `category` to **bank**. For more details, see optional priorities setup for [marketplaces](https://docs.adyen.com/marketplaces/payout-to-users/scheduled-payouts#optional-priorities-setup) or [platforms](https://docs.adyen.com/platforms/payout-to-users/scheduled-payouts#optional-priorities-setup). * * @param priorities */ diff --git a/src/main/java/com/adyen/model/balanceplatform/MatchingValuesRestriction.java b/src/main/java/com/adyen/model/balanceplatform/MatchingValuesRestriction.java new file mode 100644 index 000000000..9fb154382 --- /dev/null +++ b/src/main/java/com/adyen/model/balanceplatform/MatchingValuesRestriction.java @@ -0,0 +1,220 @@ +/* + * Configuration API + * + * The version of the OpenAPI document: 2 + * + * + * 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.balanceplatform; + +import java.util.Objects; +import java.util.Arrays; +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 io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.core.JsonProcessingException; + + +/** + * MatchingValuesRestriction + */ +@JsonPropertyOrder({ + MatchingValuesRestriction.JSON_PROPERTY_OPERATION, + MatchingValuesRestriction.JSON_PROPERTY_VALUE +}) + +public class MatchingValuesRestriction { + public static final String JSON_PROPERTY_OPERATION = "operation"; + private String operation; + + /** + * Gets or Sets value + */ + public enum ValueEnum { + ACQUIRERID("acquirerId"), + + AMOUNT("amount"), + + CURRENCY("currency"), + + MERCHANTID("merchantId"), + + MERCHANTNAME("merchantName"); + + private String value; + + ValueEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static ValueEnum fromValue(String value) { + for (ValueEnum b : ValueEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + public static final String JSON_PROPERTY_VALUE = "value"; + private List value = null; + + public MatchingValuesRestriction() { + } + + public MatchingValuesRestriction operation(String operation) { + this.operation = operation; + return this; + } + + /** + * Defines how the condition must be evaluated. + * @return operation + **/ + @ApiModelProperty(required = true, value = "Defines how the condition must be evaluated.") + @JsonProperty(JSON_PROPERTY_OPERATION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getOperation() { + return operation; + } + + + /** + * Defines how the condition must be evaluated. + * + * @param operation + */ + @JsonProperty(JSON_PROPERTY_OPERATION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setOperation(String operation) { + this.operation = operation; + } + + + public MatchingValuesRestriction value(List value) { + this.value = value; + return this; + } + + public MatchingValuesRestriction addValueItem(ValueEnum valueItem) { + if (this.value == null) { + this.value = new ArrayList<>(); + } + this.value.add(valueItem); + return this; + } + + /** + * Get value + * @return value + **/ + @ApiModelProperty(value = "") + @JsonProperty(JSON_PROPERTY_VALUE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public List getValue() { + return value; + } + + + /** + * value + * + * @param value + */ + @JsonProperty(JSON_PROPERTY_VALUE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setValue(List value) { + this.value = value; + } + + + /** + * Return true if this MatchingValuesRestriction object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MatchingValuesRestriction matchingValuesRestriction = (MatchingValuesRestriction) o; + return Objects.equals(this.operation, matchingValuesRestriction.operation) && + Objects.equals(this.value, matchingValuesRestriction.value); + } + + @Override + public int hashCode() { + return Objects.hash(operation, value); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MatchingValuesRestriction {\n"); + sb.append(" operation: ").append(toIndentedString(operation)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).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 MatchingValuesRestriction given an JSON string + * + * @param jsonString JSON string + * @return An instance of MatchingValuesRestriction + * @throws JsonProcessingException if the JSON string is invalid with respect to MatchingValuesRestriction + */ + public static MatchingValuesRestriction fromJson(String jsonString) throws JsonProcessingException { + return JSON.getMapper().readValue(jsonString, MatchingValuesRestriction.class); + } +/** + * Convert an instance of MatchingValuesRestriction to an JSON string + * + * @return JSON string + */ + public String toJson() throws JsonProcessingException { + return JSON.getMapper().writeValueAsString(this); + } +} + diff --git a/src/main/java/com/adyen/model/balanceplatform/PaymentInstrument.java b/src/main/java/com/adyen/model/balanceplatform/PaymentInstrument.java index 609d4e15d..fdcdccdac 100644 --- a/src/main/java/com/adyen/model/balanceplatform/PaymentInstrument.java +++ b/src/main/java/com/adyen/model/balanceplatform/PaymentInstrument.java @@ -46,6 +46,7 @@ PaymentInstrument.JSON_PROPERTY_PAYMENT_INSTRUMENT_GROUP_ID, PaymentInstrument.JSON_PROPERTY_REFERENCE, PaymentInstrument.JSON_PROPERTY_STATUS, + PaymentInstrument.JSON_PROPERTY_STATUS_COMMENT, PaymentInstrument.JSON_PROPERTY_STATUS_REASON, PaymentInstrument.JSON_PROPERTY_TYPE }) @@ -121,6 +122,9 @@ public static StatusEnum fromValue(String value) { public static final String JSON_PROPERTY_STATUS = "status"; private StatusEnum status; + public static final String JSON_PROPERTY_STATUS_COMMENT = "statusComment"; + private String statusComment; + /** * The reason for the status of the payment instrument. Possible values: **accountClosure**, **damaged**, **endOfLife**, **expired**, **lost**, **stolen**, **suspectedFraud**, **transactionRule**, **other**. If the reason is **other**, you must also send the `statusComment` parameter describing the status change. */ @@ -526,6 +530,36 @@ public void setStatus(StatusEnum status) { } + public PaymentInstrument statusComment(String statusComment) { + this.statusComment = statusComment; + return this; + } + + /** + * The status comment provides additional information for the statusReason of the payment instrument. + * @return statusComment + **/ + @ApiModelProperty(value = "The status comment provides additional information for the statusReason of the payment instrument.") + @JsonProperty(JSON_PROPERTY_STATUS_COMMENT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getStatusComment() { + return statusComment; + } + + + /** + * The status comment provides additional information for the statusReason of the payment instrument. + * + * @param statusComment + */ + @JsonProperty(JSON_PROPERTY_STATUS_COMMENT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setStatusComment(String statusComment) { + this.statusComment = statusComment; + } + + public PaymentInstrument statusReason(StatusReasonEnum statusReason) { this.statusReason = statusReason; return this; @@ -608,13 +642,14 @@ public boolean equals(Object o) { Objects.equals(this.paymentInstrumentGroupId, paymentInstrument.paymentInstrumentGroupId) && Objects.equals(this.reference, paymentInstrument.reference) && Objects.equals(this.status, paymentInstrument.status) && + Objects.equals(this.statusComment, paymentInstrument.statusComment) && Objects.equals(this.statusReason, paymentInstrument.statusReason) && Objects.equals(this.type, paymentInstrument.type); } @Override public int hashCode() { - return Objects.hash(additionalBankAccountIdentifications, balanceAccountId, bankAccount, card, description, id, issuingCountryCode, paymentInstrumentGroupId, reference, status, statusReason, type); + return Objects.hash(additionalBankAccountIdentifications, balanceAccountId, bankAccount, card, description, id, issuingCountryCode, paymentInstrumentGroupId, reference, status, statusComment, statusReason, type); } @Override @@ -631,6 +666,7 @@ public String toString() { sb.append(" paymentInstrumentGroupId: ").append(toIndentedString(paymentInstrumentGroupId)).append("\n"); sb.append(" reference: ").append(toIndentedString(reference)).append("\n"); sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" statusComment: ").append(toIndentedString(statusComment)).append("\n"); sb.append(" statusReason: ").append(toIndentedString(statusReason)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append("}"); diff --git a/src/main/java/com/adyen/model/balanceplatform/PaymentInstrumentInfo.java b/src/main/java/com/adyen/model/balanceplatform/PaymentInstrumentInfo.java index 867e4a0e5..5707e98ae 100644 --- a/src/main/java/com/adyen/model/balanceplatform/PaymentInstrumentInfo.java +++ b/src/main/java/com/adyen/model/balanceplatform/PaymentInstrumentInfo.java @@ -41,6 +41,7 @@ PaymentInstrumentInfo.JSON_PROPERTY_PAYMENT_INSTRUMENT_GROUP_ID, PaymentInstrumentInfo.JSON_PROPERTY_REFERENCE, PaymentInstrumentInfo.JSON_PROPERTY_STATUS, + PaymentInstrumentInfo.JSON_PROPERTY_STATUS_COMMENT, PaymentInstrumentInfo.JSON_PROPERTY_STATUS_REASON, PaymentInstrumentInfo.JSON_PROPERTY_TYPE }) @@ -109,6 +110,9 @@ public static StatusEnum fromValue(String value) { public static final String JSON_PROPERTY_STATUS = "status"; private StatusEnum status; + public static final String JSON_PROPERTY_STATUS_COMMENT = "statusComment"; + private String statusComment; + /** * The reason for the status of the payment instrument. Possible values: **accountClosure**, **damaged**, **endOfLife**, **expired**, **lost**, **stolen**, **suspectedFraud**, **transactionRule**, **other**. If the reason is **other**, you must also send the `statusComment` parameter describing the status change. */ @@ -442,6 +446,36 @@ public void setStatus(StatusEnum status) { } + public PaymentInstrumentInfo statusComment(String statusComment) { + this.statusComment = statusComment; + return this; + } + + /** + * The status comment provides additional information for the statusReason of the payment instrument. + * @return statusComment + **/ + @ApiModelProperty(value = "The status comment provides additional information for the statusReason of the payment instrument.") + @JsonProperty(JSON_PROPERTY_STATUS_COMMENT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getStatusComment() { + return statusComment; + } + + + /** + * The status comment provides additional information for the statusReason of the payment instrument. + * + * @param statusComment + */ + @JsonProperty(JSON_PROPERTY_STATUS_COMMENT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setStatusComment(String statusComment) { + this.statusComment = statusComment; + } + + public PaymentInstrumentInfo statusReason(StatusReasonEnum statusReason) { this.statusReason = statusReason; return this; @@ -522,13 +556,14 @@ public boolean equals(Object o) { Objects.equals(this.paymentInstrumentGroupId, paymentInstrumentInfo.paymentInstrumentGroupId) && Objects.equals(this.reference, paymentInstrumentInfo.reference) && Objects.equals(this.status, paymentInstrumentInfo.status) && + Objects.equals(this.statusComment, paymentInstrumentInfo.statusComment) && Objects.equals(this.statusReason, paymentInstrumentInfo.statusReason) && Objects.equals(this.type, paymentInstrumentInfo.type); } @Override public int hashCode() { - return Objects.hash(balanceAccountId, bankAccount, card, description, issuingCountryCode, paymentInstrumentGroupId, reference, status, statusReason, type); + return Objects.hash(balanceAccountId, bankAccount, card, description, issuingCountryCode, paymentInstrumentGroupId, reference, status, statusComment, statusReason, type); } @Override @@ -543,6 +578,7 @@ public String toString() { sb.append(" paymentInstrumentGroupId: ").append(toIndentedString(paymentInstrumentGroupId)).append("\n"); sb.append(" reference: ").append(toIndentedString(reference)).append("\n"); sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" statusComment: ").append(toIndentedString(statusComment)).append("\n"); sb.append(" statusReason: ").append(toIndentedString(statusReason)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append("}"); diff --git a/src/main/java/com/adyen/model/balanceplatform/SweepConfigurationV2.java b/src/main/java/com/adyen/model/balanceplatform/SweepConfigurationV2.java index c3f04875f..b9f0ade32 100644 --- a/src/main/java/com/adyen/model/balanceplatform/SweepConfigurationV2.java +++ b/src/main/java/com/adyen/model/balanceplatform/SweepConfigurationV2.java @@ -174,6 +174,8 @@ public enum ReasonEnum { COUNTERPARTYBANKUNAVAILABLE("counterpartyBankUnavailable"), + DECLINED("declined"), + DECLINEDBYTRANSACTIONRULE("declinedByTransactionRule"), ERROR("error"), @@ -481,10 +483,10 @@ public SweepConfigurationV2 addPrioritiesItem(PrioritiesEnum prioritiesItem) { } /** - * The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority you list first. If that's not possible, it moves on to the next option in the order of your provided priorities. Possible values: * **regular**: For normal, low-value transactions. * **fast**: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions. * **wire**: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: Instant way to transfer funds in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: High-value transfer to a recipient in a different country. * **internal**: Transfer to an Adyen-issued business bank account (by bank account number/IBAN). Set `category` to **bank**. For more details, see optional priorities setup for [marketplaces](https://docs.adyen.com/marketplaces/payout-to-users/scheduled-payouts#optional-priorities-setup) or [platforms](https://docs.adyen.com/platforms/payout-to-users/scheduled-payouts#optional-priorities-setup). + * The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority you list first. If that's not possible, it moves on to the next option in the order of your provided priorities. Possible values: * **regular**: for normal, low-value transactions. * **fast**: a faster way to transfer funds, but the fees are higher. Recommended for high-priority, low-value transactions. * **wire**: the fastest way to transfer funds, but this has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: for instant funds transfers in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: for high-value transfers to a recipient in a different country. * **internal**: for transfers to an Adyen-issued business bank account (by bank account number/IBAN). Set `category` to **bank**. For more details, see optional priorities setup for [marketplaces](https://docs.adyen.com/marketplaces/payout-to-users/scheduled-payouts#optional-priorities-setup) or [platforms](https://docs.adyen.com/platforms/payout-to-users/scheduled-payouts#optional-priorities-setup). * @return priorities **/ - @ApiModelProperty(value = "The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority you list first. If that's not possible, it moves on to the next option in the order of your provided priorities. Possible values: * **regular**: For normal, low-value transactions. * **fast**: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions. * **wire**: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: Instant way to transfer funds in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: High-value transfer to a recipient in a different country. * **internal**: Transfer to an Adyen-issued business bank account (by bank account number/IBAN). Set `category` to **bank**. For more details, see optional priorities setup for [marketplaces](https://docs.adyen.com/marketplaces/payout-to-users/scheduled-payouts#optional-priorities-setup) or [platforms](https://docs.adyen.com/platforms/payout-to-users/scheduled-payouts#optional-priorities-setup).") + @ApiModelProperty(value = "The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority you list first. If that's not possible, it moves on to the next option in the order of your provided priorities. Possible values: * **regular**: for normal, low-value transactions. * **fast**: a faster way to transfer funds, but the fees are higher. Recommended for high-priority, low-value transactions. * **wire**: the fastest way to transfer funds, but this has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: for instant funds transfers in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: for high-value transfers to a recipient in a different country. * **internal**: for transfers to an Adyen-issued business bank account (by bank account number/IBAN). Set `category` to **bank**. For more details, see optional priorities setup for [marketplaces](https://docs.adyen.com/marketplaces/payout-to-users/scheduled-payouts#optional-priorities-setup) or [platforms](https://docs.adyen.com/platforms/payout-to-users/scheduled-payouts#optional-priorities-setup).") @JsonProperty(JSON_PROPERTY_PRIORITIES) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -494,7 +496,7 @@ public List getPriorities() { /** - * The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority you list first. If that's not possible, it moves on to the next option in the order of your provided priorities. Possible values: * **regular**: For normal, low-value transactions. * **fast**: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions. * **wire**: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: Instant way to transfer funds in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: High-value transfer to a recipient in a different country. * **internal**: Transfer to an Adyen-issued business bank account (by bank account number/IBAN). Set `category` to **bank**. For more details, see optional priorities setup for [marketplaces](https://docs.adyen.com/marketplaces/payout-to-users/scheduled-payouts#optional-priorities-setup) or [platforms](https://docs.adyen.com/platforms/payout-to-users/scheduled-payouts#optional-priorities-setup). + * The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority you list first. If that's not possible, it moves on to the next option in the order of your provided priorities. Possible values: * **regular**: for normal, low-value transactions. * **fast**: a faster way to transfer funds, but the fees are higher. Recommended for high-priority, low-value transactions. * **wire**: the fastest way to transfer funds, but this has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: for instant funds transfers in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: for high-value transfers to a recipient in a different country. * **internal**: for transfers to an Adyen-issued business bank account (by bank account number/IBAN). Set `category` to **bank**. For more details, see optional priorities setup for [marketplaces](https://docs.adyen.com/marketplaces/payout-to-users/scheduled-payouts#optional-priorities-setup) or [platforms](https://docs.adyen.com/platforms/payout-to-users/scheduled-payouts#optional-priorities-setup). * * @param priorities */ diff --git a/src/main/java/com/adyen/model/balanceplatform/SweepCounterparty.java b/src/main/java/com/adyen/model/balanceplatform/SweepCounterparty.java index b823c4efd..f81fc4ee2 100644 --- a/src/main/java/com/adyen/model/balanceplatform/SweepCounterparty.java +++ b/src/main/java/com/adyen/model/balanceplatform/SweepCounterparty.java @@ -55,10 +55,10 @@ public SweepCounterparty balanceAccountId(String balanceAccountId) { } /** - * The unique identifier of the destination or source [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id). You can only use this for periodic sweep schedules such as `schedule.type` **daily** or **monthly**. + * The unique identifier of the destination or source [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id). > If you are updating the counterparty from a transfer instrument to a balance account, set `transferInstrumentId` to **null**. * @return balanceAccountId **/ - @ApiModelProperty(value = "The unique identifier of the destination or source [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id). You can only use this for periodic sweep schedules such as `schedule.type` **daily** or **monthly**.") + @ApiModelProperty(value = "The unique identifier of the destination or source [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id). > If you are updating the counterparty from a transfer instrument to a balance account, set `transferInstrumentId` to **null**.") @JsonProperty(JSON_PROPERTY_BALANCE_ACCOUNT_ID) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -68,7 +68,7 @@ public String getBalanceAccountId() { /** - * The unique identifier of the destination or source [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id). You can only use this for periodic sweep schedules such as `schedule.type` **daily** or **monthly**. + * The unique identifier of the destination or source [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id). > If you are updating the counterparty from a transfer instrument to a balance account, set `transferInstrumentId` to **null**. * * @param balanceAccountId */ @@ -85,10 +85,10 @@ public SweepCounterparty merchantAccount(String merchantAccount) { } /** - * The merchant account that will be the source of funds. You can only use this parameter with sweeps of `type` **pull** and `schedule.type` **balance**, and if you are processing payments with Adyen. + * The merchant account that will be the source of funds. You can only use this parameter with sweeps of `type` **pull** and if you are processing payments with Adyen. * @return merchantAccount **/ - @ApiModelProperty(value = "The merchant account that will be the source of funds. You can only use this parameter with sweeps of `type` **pull** and `schedule.type` **balance**, and if you are processing payments with Adyen.") + @ApiModelProperty(value = "The merchant account that will be the source of funds. You can only use this parameter with sweeps of `type` **pull** and if you are processing payments with Adyen.") @JsonProperty(JSON_PROPERTY_MERCHANT_ACCOUNT) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -98,7 +98,7 @@ public String getMerchantAccount() { /** - * The merchant account that will be the source of funds. You can only use this parameter with sweeps of `type` **pull** and `schedule.type` **balance**, and if you are processing payments with Adyen. + * The merchant account that will be the source of funds. You can only use this parameter with sweeps of `type` **pull** and if you are processing payments with Adyen. * * @param merchantAccount */ @@ -115,10 +115,10 @@ public SweepCounterparty transferInstrumentId(String transferInstrumentId) { } /** - * The unique identifier of the destination or source [transfer instrument](https://docs.adyen.com/api-explorer/legalentity/latest/post/transferInstruments#responses-200-id) depending on the sweep `type`. To set up automated top-up sweeps to balance accounts in your [marketplace](https://docs.adyen.com/marketplaces/top-up-balance-account/#before-you-begin) or [platform](https://docs.adyen.com/platforms/top-up-balance-account/#before-you-begin), use this parameter in combination with a `merchantAccount` and a sweep `type` of **pull**. Top-up sweeps start a direct debit request from the source transfer instrument. Contact Adyen Support to enable this feature. + * The unique identifier of the destination or source [transfer instrument](https://docs.adyen.com/api-explorer/legalentity/latest/post/transferInstruments#responses-200-id) depending on the sweep `type` . To set up automated top-up sweeps to balance accounts in your [marketplace](https://docs.adyen.com/marketplaces/top-up-balance-account/#before-you-begin) or [platform](https://docs.adyen.com/platforms/top-up-balance-account/#before-you-begin), use this parameter in combination with a `merchantAccount` and a sweep `type` of **pull**. Top-up sweeps start a direct debit request from the source transfer instrument. Contact Adyen Support to enable this feature.> If you are updating the counterparty from a balance account to a transfer instrument, set `balanceAccountId` to **null**. * @return transferInstrumentId **/ - @ApiModelProperty(value = "The unique identifier of the destination or source [transfer instrument](https://docs.adyen.com/api-explorer/legalentity/latest/post/transferInstruments#responses-200-id) depending on the sweep `type`. To set up automated top-up sweeps to balance accounts in your [marketplace](https://docs.adyen.com/marketplaces/top-up-balance-account/#before-you-begin) or [platform](https://docs.adyen.com/platforms/top-up-balance-account/#before-you-begin), use this parameter in combination with a `merchantAccount` and a sweep `type` of **pull**. Top-up sweeps start a direct debit request from the source transfer instrument. Contact Adyen Support to enable this feature.") + @ApiModelProperty(value = "The unique identifier of the destination or source [transfer instrument](https://docs.adyen.com/api-explorer/legalentity/latest/post/transferInstruments#responses-200-id) depending on the sweep `type` . To set up automated top-up sweeps to balance accounts in your [marketplace](https://docs.adyen.com/marketplaces/top-up-balance-account/#before-you-begin) or [platform](https://docs.adyen.com/platforms/top-up-balance-account/#before-you-begin), use this parameter in combination with a `merchantAccount` and a sweep `type` of **pull**. Top-up sweeps start a direct debit request from the source transfer instrument. Contact Adyen Support to enable this feature.> If you are updating the counterparty from a balance account to a transfer instrument, set `balanceAccountId` to **null**.") @JsonProperty(JSON_PROPERTY_TRANSFER_INSTRUMENT_ID) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -128,7 +128,7 @@ public String getTransferInstrumentId() { /** - * The unique identifier of the destination or source [transfer instrument](https://docs.adyen.com/api-explorer/legalentity/latest/post/transferInstruments#responses-200-id) depending on the sweep `type`. To set up automated top-up sweeps to balance accounts in your [marketplace](https://docs.adyen.com/marketplaces/top-up-balance-account/#before-you-begin) or [platform](https://docs.adyen.com/platforms/top-up-balance-account/#before-you-begin), use this parameter in combination with a `merchantAccount` and a sweep `type` of **pull**. Top-up sweeps start a direct debit request from the source transfer instrument. Contact Adyen Support to enable this feature. + * The unique identifier of the destination or source [transfer instrument](https://docs.adyen.com/api-explorer/legalentity/latest/post/transferInstruments#responses-200-id) depending on the sweep `type` . To set up automated top-up sweeps to balance accounts in your [marketplace](https://docs.adyen.com/marketplaces/top-up-balance-account/#before-you-begin) or [platform](https://docs.adyen.com/platforms/top-up-balance-account/#before-you-begin), use this parameter in combination with a `merchantAccount` and a sweep `type` of **pull**. Top-up sweeps start a direct debit request from the source transfer instrument. Contact Adyen Support to enable this feature.> If you are updating the counterparty from a balance account to a transfer instrument, set `balanceAccountId` to **null**. * * @param transferInstrumentId */ diff --git a/src/main/java/com/adyen/model/balanceplatform/SweepSchedule.java b/src/main/java/com/adyen/model/balanceplatform/SweepSchedule.java index d0fc65383..0c632128e 100644 --- a/src/main/java/com/adyen/model/balanceplatform/SweepSchedule.java +++ b/src/main/java/com/adyen/model/balanceplatform/SweepSchedule.java @@ -40,7 +40,7 @@ public class SweepSchedule { private String cronExpression; /** - * The schedule type. Possible values: * **cron**: push out funds based on a `cronExpression`. * **daily**: push out funds daily at 07:00 AM CET. * **weekly**: push out funds every Monday at 07:00 AM CET. * **monthly**: push out funds every first of the month at 07:00 AM CET. * **balance**: pull in funds instantly if the balance is less than or equal to the `triggerAmount`. You can only use this for sweeps of `type` **pull** and when the source is a `merchantAccount` or `transferInstrument`. If the source is transferInstrument, merchant account identifier is still required, with which you want to process the transaction. + * The schedule type. Possible values: * **cron**: push out funds based on a `cronExpression`. * **daily**: push out funds daily at 07:00 AM CET. * **weekly**: push out funds every Monday at 07:00 AM CET. * **monthly**: push out funds every first of the month at 07:00 AM CET. * **balance**: execute the sweep instantly if the `triggerAmount` is reached. */ public enum TypeEnum { DAILY("daily"), @@ -122,10 +122,10 @@ public SweepSchedule type(TypeEnum type) { } /** - * The schedule type. Possible values: * **cron**: push out funds based on a `cronExpression`. * **daily**: push out funds daily at 07:00 AM CET. * **weekly**: push out funds every Monday at 07:00 AM CET. * **monthly**: push out funds every first of the month at 07:00 AM CET. * **balance**: pull in funds instantly if the balance is less than or equal to the `triggerAmount`. You can only use this for sweeps of `type` **pull** and when the source is a `merchantAccount` or `transferInstrument`. If the source is transferInstrument, merchant account identifier is still required, with which you want to process the transaction. + * The schedule type. Possible values: * **cron**: push out funds based on a `cronExpression`. * **daily**: push out funds daily at 07:00 AM CET. * **weekly**: push out funds every Monday at 07:00 AM CET. * **monthly**: push out funds every first of the month at 07:00 AM CET. * **balance**: execute the sweep instantly if the `triggerAmount` is reached. * @return type **/ - @ApiModelProperty(required = true, value = "The schedule type. Possible values: * **cron**: push out funds based on a `cronExpression`. * **daily**: push out funds daily at 07:00 AM CET. * **weekly**: push out funds every Monday at 07:00 AM CET. * **monthly**: push out funds every first of the month at 07:00 AM CET. * **balance**: pull in funds instantly if the balance is less than or equal to the `triggerAmount`. You can only use this for sweeps of `type` **pull** and when the source is a `merchantAccount` or `transferInstrument`. If the source is transferInstrument, merchant account identifier is still required, with which you want to process the transaction. ") + @ApiModelProperty(required = true, value = "The schedule type. Possible values: * **cron**: push out funds based on a `cronExpression`. * **daily**: push out funds daily at 07:00 AM CET. * **weekly**: push out funds every Monday at 07:00 AM CET. * **monthly**: push out funds every first of the month at 07:00 AM CET. * **balance**: execute the sweep instantly if the `triggerAmount` is reached. ") @JsonProperty(JSON_PROPERTY_TYPE) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -135,7 +135,7 @@ public TypeEnum getType() { /** - * The schedule type. Possible values: * **cron**: push out funds based on a `cronExpression`. * **daily**: push out funds daily at 07:00 AM CET. * **weekly**: push out funds every Monday at 07:00 AM CET. * **monthly**: push out funds every first of the month at 07:00 AM CET. * **balance**: pull in funds instantly if the balance is less than or equal to the `triggerAmount`. You can only use this for sweeps of `type` **pull** and when the source is a `merchantAccount` or `transferInstrument`. If the source is transferInstrument, merchant account identifier is still required, with which you want to process the transaction. + * The schedule type. Possible values: * **cron**: push out funds based on a `cronExpression`. * **daily**: push out funds daily at 07:00 AM CET. * **weekly**: push out funds every Monday at 07:00 AM CET. * **monthly**: push out funds every first of the month at 07:00 AM CET. * **balance**: execute the sweep instantly if the `triggerAmount` is reached. * * @param type */ diff --git a/src/main/java/com/adyen/model/balanceplatform/TransactionRuleRestrictions.java b/src/main/java/com/adyen/model/balanceplatform/TransactionRuleRestrictions.java index 115627c0a..ea0f2958a 100644 --- a/src/main/java/com/adyen/model/balanceplatform/TransactionRuleRestrictions.java +++ b/src/main/java/com/adyen/model/balanceplatform/TransactionRuleRestrictions.java @@ -25,6 +25,7 @@ import com.adyen.model.balanceplatform.EntryModesRestriction; import com.adyen.model.balanceplatform.InternationalTransactionRestriction; import com.adyen.model.balanceplatform.MatchingTransactionsRestriction; +import com.adyen.model.balanceplatform.MatchingValuesRestriction; import com.adyen.model.balanceplatform.MccsRestriction; import com.adyen.model.balanceplatform.MerchantNamesRestriction; import com.adyen.model.balanceplatform.MerchantsRestriction; @@ -58,6 +59,7 @@ TransactionRuleRestrictions.JSON_PROPERTY_ENTRY_MODES, TransactionRuleRestrictions.JSON_PROPERTY_INTERNATIONAL_TRANSACTION, TransactionRuleRestrictions.JSON_PROPERTY_MATCHING_TRANSACTIONS, + TransactionRuleRestrictions.JSON_PROPERTY_MATCHING_VALUES, TransactionRuleRestrictions.JSON_PROPERTY_MCCS, TransactionRuleRestrictions.JSON_PROPERTY_MERCHANT_NAMES, TransactionRuleRestrictions.JSON_PROPERTY_MERCHANTS, @@ -97,6 +99,9 @@ public class TransactionRuleRestrictions { public static final String JSON_PROPERTY_MATCHING_TRANSACTIONS = "matchingTransactions"; private MatchingTransactionsRestriction matchingTransactions; + public static final String JSON_PROPERTY_MATCHING_VALUES = "matchingValues"; + private MatchingValuesRestriction matchingValues; + public static final String JSON_PROPERTY_MCCS = "mccs"; private MccsRestriction mccs; @@ -397,6 +402,36 @@ public void setMatchingTransactions(MatchingTransactionsRestriction matchingTran } + public TransactionRuleRestrictions matchingValues(MatchingValuesRestriction matchingValues) { + this.matchingValues = matchingValues; + return this; + } + + /** + * Get matchingValues + * @return matchingValues + **/ + @ApiModelProperty(value = "") + @JsonProperty(JSON_PROPERTY_MATCHING_VALUES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public MatchingValuesRestriction getMatchingValues() { + return matchingValues; + } + + + /** + * matchingValues + * + * @param matchingValues + */ + @JsonProperty(JSON_PROPERTY_MATCHING_VALUES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setMatchingValues(MatchingValuesRestriction matchingValues) { + this.matchingValues = matchingValues; + } + + public TransactionRuleRestrictions mccs(MccsRestriction mccs) { this.mccs = mccs; return this; @@ -688,6 +723,7 @@ public boolean equals(Object o) { Objects.equals(this.entryModes, transactionRuleRestrictions.entryModes) && Objects.equals(this.internationalTransaction, transactionRuleRestrictions.internationalTransaction) && Objects.equals(this.matchingTransactions, transactionRuleRestrictions.matchingTransactions) && + Objects.equals(this.matchingValues, transactionRuleRestrictions.matchingValues) && Objects.equals(this.mccs, transactionRuleRestrictions.mccs) && Objects.equals(this.merchantNames, transactionRuleRestrictions.merchantNames) && Objects.equals(this.merchants, transactionRuleRestrictions.merchants) && @@ -701,7 +737,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(activeNetworkTokens, brandVariants, counterpartyBank, countries, dayOfWeek, differentCurrencies, entryModes, internationalTransaction, matchingTransactions, mccs, merchantNames, merchants, processingTypes, riskScores, sameAmountRestriction, sameCounterpartyRestriction, timeOfDay, totalAmount); + return Objects.hash(activeNetworkTokens, brandVariants, counterpartyBank, countries, dayOfWeek, differentCurrencies, entryModes, internationalTransaction, matchingTransactions, matchingValues, mccs, merchantNames, merchants, processingTypes, riskScores, sameAmountRestriction, sameCounterpartyRestriction, timeOfDay, totalAmount); } @Override @@ -717,6 +753,7 @@ public String toString() { sb.append(" entryModes: ").append(toIndentedString(entryModes)).append("\n"); sb.append(" internationalTransaction: ").append(toIndentedString(internationalTransaction)).append("\n"); sb.append(" matchingTransactions: ").append(toIndentedString(matchingTransactions)).append("\n"); + sb.append(" matchingValues: ").append(toIndentedString(matchingValues)).append("\n"); sb.append(" mccs: ").append(toIndentedString(mccs)).append("\n"); sb.append(" merchantNames: ").append(toIndentedString(merchantNames)).append("\n"); sb.append(" merchants: ").append(toIndentedString(merchants)).append("\n"); diff --git a/src/main/java/com/adyen/model/balanceplatform/TransferRoute.java b/src/main/java/com/adyen/model/balanceplatform/TransferRoute.java index 145e53735..70be6d404 100644 --- a/src/main/java/com/adyen/model/balanceplatform/TransferRoute.java +++ b/src/main/java/com/adyen/model/balanceplatform/TransferRoute.java @@ -101,7 +101,7 @@ public static CategoryEnum fromValue(String value) { private String currency; /** - * The priority for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. Possible values: * **regular**: For normal, low-value transactions. * **fast**: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions. * **wire**: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: Instant way to transfer funds in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: High-value transfer to a recipient in a different country. * **internal**: Transfer to an Adyen-issued business bank account (by bank account number/IBAN). + * The priority for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. Possible values: * **regular**: for normal, low-value transactions. * **fast**: a faster way to transfer funds, but the fees are higher. Recommended for high-priority, low-value transactions. * **wire**: the fastest way to transfer funds, but this has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: for instant funds transfers in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: for high-value transfers to a recipient in a different country. * **internal**: for transfers to an Adyen-issued business bank account (by bank account number/IBAN). */ public enum PriorityEnum { CROSSBORDER("crossBorder"), @@ -248,10 +248,10 @@ public TransferRoute priority(PriorityEnum priority) { } /** - * The priority for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. Possible values: * **regular**: For normal, low-value transactions. * **fast**: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions. * **wire**: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: Instant way to transfer funds in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: High-value transfer to a recipient in a different country. * **internal**: Transfer to an Adyen-issued business bank account (by bank account number/IBAN). + * The priority for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. Possible values: * **regular**: for normal, low-value transactions. * **fast**: a faster way to transfer funds, but the fees are higher. Recommended for high-priority, low-value transactions. * **wire**: the fastest way to transfer funds, but this has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: for instant funds transfers in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: for high-value transfers to a recipient in a different country. * **internal**: for transfers to an Adyen-issued business bank account (by bank account number/IBAN). * @return priority **/ - @ApiModelProperty(value = "The priority for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. Possible values: * **regular**: For normal, low-value transactions. * **fast**: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions. * **wire**: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: Instant way to transfer funds in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: High-value transfer to a recipient in a different country. * **internal**: Transfer to an Adyen-issued business bank account (by bank account number/IBAN).") + @ApiModelProperty(value = "The priority for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. Possible values: * **regular**: for normal, low-value transactions. * **fast**: a faster way to transfer funds, but the fees are higher. Recommended for high-priority, low-value transactions. * **wire**: the fastest way to transfer funds, but this has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: for instant funds transfers in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: for high-value transfers to a recipient in a different country. * **internal**: for transfers to an Adyen-issued business bank account (by bank account number/IBAN).") @JsonProperty(JSON_PROPERTY_PRIORITY) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -261,7 +261,7 @@ public PriorityEnum getPriority() { /** - * The priority for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. Possible values: * **regular**: For normal, low-value transactions. * **fast**: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions. * **wire**: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: Instant way to transfer funds in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: High-value transfer to a recipient in a different country. * **internal**: Transfer to an Adyen-issued business bank account (by bank account number/IBAN). + * The priority for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. Possible values: * **regular**: for normal, low-value transactions. * **fast**: a faster way to transfer funds, but the fees are higher. Recommended for high-priority, low-value transactions. * **wire**: the fastest way to transfer funds, but this has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: for instant funds transfers in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: for high-value transfers to a recipient in a different country. * **internal**: for transfers to an Adyen-issued business bank account (by bank account number/IBAN). * * @param priority */ diff --git a/src/main/java/com/adyen/model/balanceplatform/TransferRouteRequest.java b/src/main/java/com/adyen/model/balanceplatform/TransferRouteRequest.java index 14893cb9d..094918567 100644 --- a/src/main/java/com/adyen/model/balanceplatform/TransferRouteRequest.java +++ b/src/main/java/com/adyen/model/balanceplatform/TransferRouteRequest.java @@ -338,10 +338,10 @@ public TransferRouteRequest addPrioritiesItem(PrioritiesEnum prioritiesItem) { } /** - * The list of priorities for the bank transfer. Priorities set the speed at which the transfer is sent and the fees that you have to pay. Multiple values can be provided. Possible values: * **regular**: For normal, low-value transactions. * **fast**: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions. * **wire**: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: Instant way to transfer funds in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: High-value transfer to a recipient in a different country. * **internal**: Transfer to an Adyen-issued business bank account (by bank account number/IBAN). + * The list of priorities for the bank transfer. Priorities set the speed at which the transfer is sent and the fees that you have to pay. Multiple values can be provided. Possible values: * **regular**: for normal, low-value transactions. * **fast**: a faster way to transfer funds, but the fees are higher. Recommended for high-priority, low-value transactions. * **wire**: the fastest way to transfer funds, but this has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: for instant funds transfers in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: for high-value transfers to a recipient in a different country. * **internal**: for transfers to an Adyen-issued business bank account (by bank account number/IBAN). * @return priorities **/ - @ApiModelProperty(value = "The list of priorities for the bank transfer. Priorities set the speed at which the transfer is sent and the fees that you have to pay. Multiple values can be provided. Possible values: * **regular**: For normal, low-value transactions. * **fast**: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions. * **wire**: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: Instant way to transfer funds in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: High-value transfer to a recipient in a different country. * **internal**: Transfer to an Adyen-issued business bank account (by bank account number/IBAN).") + @ApiModelProperty(value = "The list of priorities for the bank transfer. Priorities set the speed at which the transfer is sent and the fees that you have to pay. Multiple values can be provided. Possible values: * **regular**: for normal, low-value transactions. * **fast**: a faster way to transfer funds, but the fees are higher. Recommended for high-priority, low-value transactions. * **wire**: the fastest way to transfer funds, but this has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: for instant funds transfers in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: for high-value transfers to a recipient in a different country. * **internal**: for transfers to an Adyen-issued business bank account (by bank account number/IBAN).") @JsonProperty(JSON_PROPERTY_PRIORITIES) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -351,7 +351,7 @@ public List getPriorities() { /** - * The list of priorities for the bank transfer. Priorities set the speed at which the transfer is sent and the fees that you have to pay. Multiple values can be provided. Possible values: * **regular**: For normal, low-value transactions. * **fast**: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions. * **wire**: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: Instant way to transfer funds in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: High-value transfer to a recipient in a different country. * **internal**: Transfer to an Adyen-issued business bank account (by bank account number/IBAN). + * The list of priorities for the bank transfer. Priorities set the speed at which the transfer is sent and the fees that you have to pay. Multiple values can be provided. Possible values: * **regular**: for normal, low-value transactions. * **fast**: a faster way to transfer funds, but the fees are higher. Recommended for high-priority, low-value transactions. * **wire**: the fastest way to transfer funds, but this has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: for instant funds transfers in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: for high-value transfers to a recipient in a different country. * **internal**: for transfers to an Adyen-issued business bank account (by bank account number/IBAN). * * @param priorities */ diff --git a/src/main/java/com/adyen/model/balanceplatform/UpdateSweepConfigurationV2.java b/src/main/java/com/adyen/model/balanceplatform/UpdateSweepConfigurationV2.java index 088b5a71a..7e7654ca2 100644 --- a/src/main/java/com/adyen/model/balanceplatform/UpdateSweepConfigurationV2.java +++ b/src/main/java/com/adyen/model/balanceplatform/UpdateSweepConfigurationV2.java @@ -174,6 +174,8 @@ public enum ReasonEnum { COUNTERPARTYBANKUNAVAILABLE("counterpartyBankUnavailable"), + DECLINED("declined"), + DECLINEDBYTRANSACTIONRULE("declinedByTransactionRule"), ERROR("error"), @@ -481,10 +483,10 @@ public UpdateSweepConfigurationV2 addPrioritiesItem(PrioritiesEnum prioritiesIte } /** - * The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority you list first. If that's not possible, it moves on to the next option in the order of your provided priorities. Possible values: * **regular**: For normal, low-value transactions. * **fast**: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions. * **wire**: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: Instant way to transfer funds in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: High-value transfer to a recipient in a different country. * **internal**: Transfer to an Adyen-issued business bank account (by bank account number/IBAN). Set `category` to **bank**. For more details, see optional priorities setup for [marketplaces](https://docs.adyen.com/marketplaces/payout-to-users/scheduled-payouts#optional-priorities-setup) or [platforms](https://docs.adyen.com/platforms/payout-to-users/scheduled-payouts#optional-priorities-setup). + * The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority you list first. If that's not possible, it moves on to the next option in the order of your provided priorities. Possible values: * **regular**: for normal, low-value transactions. * **fast**: a faster way to transfer funds, but the fees are higher. Recommended for high-priority, low-value transactions. * **wire**: the fastest way to transfer funds, but this has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: for instant funds transfers in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: for high-value transfers to a recipient in a different country. * **internal**: for transfers to an Adyen-issued business bank account (by bank account number/IBAN). Set `category` to **bank**. For more details, see optional priorities setup for [marketplaces](https://docs.adyen.com/marketplaces/payout-to-users/scheduled-payouts#optional-priorities-setup) or [platforms](https://docs.adyen.com/platforms/payout-to-users/scheduled-payouts#optional-priorities-setup). * @return priorities **/ - @ApiModelProperty(value = "The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority you list first. If that's not possible, it moves on to the next option in the order of your provided priorities. Possible values: * **regular**: For normal, low-value transactions. * **fast**: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions. * **wire**: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: Instant way to transfer funds in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: High-value transfer to a recipient in a different country. * **internal**: Transfer to an Adyen-issued business bank account (by bank account number/IBAN). Set `category` to **bank**. For more details, see optional priorities setup for [marketplaces](https://docs.adyen.com/marketplaces/payout-to-users/scheduled-payouts#optional-priorities-setup) or [platforms](https://docs.adyen.com/platforms/payout-to-users/scheduled-payouts#optional-priorities-setup).") + @ApiModelProperty(value = "The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority you list first. If that's not possible, it moves on to the next option in the order of your provided priorities. Possible values: * **regular**: for normal, low-value transactions. * **fast**: a faster way to transfer funds, but the fees are higher. Recommended for high-priority, low-value transactions. * **wire**: the fastest way to transfer funds, but this has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: for instant funds transfers in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: for high-value transfers to a recipient in a different country. * **internal**: for transfers to an Adyen-issued business bank account (by bank account number/IBAN). Set `category` to **bank**. For more details, see optional priorities setup for [marketplaces](https://docs.adyen.com/marketplaces/payout-to-users/scheduled-payouts#optional-priorities-setup) or [platforms](https://docs.adyen.com/platforms/payout-to-users/scheduled-payouts#optional-priorities-setup).") @JsonProperty(JSON_PROPERTY_PRIORITIES) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -494,7 +496,7 @@ public List getPriorities() { /** - * The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority you list first. If that's not possible, it moves on to the next option in the order of your provided priorities. Possible values: * **regular**: For normal, low-value transactions. * **fast**: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions. * **wire**: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: Instant way to transfer funds in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: High-value transfer to a recipient in a different country. * **internal**: Transfer to an Adyen-issued business bank account (by bank account number/IBAN). Set `category` to **bank**. For more details, see optional priorities setup for [marketplaces](https://docs.adyen.com/marketplaces/payout-to-users/scheduled-payouts#optional-priorities-setup) or [platforms](https://docs.adyen.com/platforms/payout-to-users/scheduled-payouts#optional-priorities-setup). + * The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority you list first. If that's not possible, it moves on to the next option in the order of your provided priorities. Possible values: * **regular**: for normal, low-value transactions. * **fast**: a faster way to transfer funds, but the fees are higher. Recommended for high-priority, low-value transactions. * **wire**: the fastest way to transfer funds, but this has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: for instant funds transfers in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: for high-value transfers to a recipient in a different country. * **internal**: for transfers to an Adyen-issued business bank account (by bank account number/IBAN). Set `category` to **bank**. For more details, see optional priorities setup for [marketplaces](https://docs.adyen.com/marketplaces/payout-to-users/scheduled-payouts#optional-priorities-setup) or [platforms](https://docs.adyen.com/platforms/payout-to-users/scheduled-payouts#optional-priorities-setup). * * @param priorities */ diff --git a/src/main/java/com/adyen/model/checkout/AdditionalDataRiskStandalone.java b/src/main/java/com/adyen/model/checkout/AdditionalDataRiskStandalone.java index 89ab93619..799e41cdc 100644 --- a/src/main/java/com/adyen/model/checkout/AdditionalDataRiskStandalone.java +++ b/src/main/java/com/adyen/model/checkout/AdditionalDataRiskStandalone.java @@ -373,10 +373,10 @@ public AdditionalDataRiskStandalone bin(String bin) { } /** - * The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request). + * The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/online-payments/tokenization). * @return bin **/ - @ApiModelProperty(value = "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).") + @ApiModelProperty(value = "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/online-payments/tokenization).") @JsonProperty(JSON_PROPERTY_BIN) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -386,7 +386,7 @@ public String getBin() { /** - * The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request). + * The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/online-payments/tokenization). * * @param bin */ diff --git a/src/main/java/com/adyen/model/checkout/CashAppDetails.java b/src/main/java/com/adyen/model/checkout/CashAppDetails.java index 95514a4d9..b1ed7cc69 100644 --- a/src/main/java/com/adyen/model/checkout/CashAppDetails.java +++ b/src/main/java/com/adyen/model/checkout/CashAppDetails.java @@ -39,6 +39,7 @@ CashAppDetails.JSON_PROPERTY_RECURRING_DETAIL_REFERENCE, CashAppDetails.JSON_PROPERTY_REQUEST_ID, CashAppDetails.JSON_PROPERTY_STORED_PAYMENT_METHOD_ID, + CashAppDetails.JSON_PROPERTY_SUBTYPE, CashAppDetails.JSON_PROPERTY_TYPE }) @@ -68,6 +69,9 @@ public class CashAppDetails { public static final String JSON_PROPERTY_STORED_PAYMENT_METHOD_ID = "storedPaymentMethodId"; private String storedPaymentMethodId; + public static final String JSON_PROPERTY_SUBTYPE = "subtype"; + private String subtype; + /** * cashapp */ @@ -351,6 +355,36 @@ public void setStoredPaymentMethodId(String storedPaymentMethodId) { } + public CashAppDetails subtype(String subtype) { + this.subtype = subtype; + return this; + } + + /** + * The payment method subtype. + * @return subtype + **/ + @ApiModelProperty(value = "The payment method subtype.") + @JsonProperty(JSON_PROPERTY_SUBTYPE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getSubtype() { + return subtype; + } + + + /** + * The payment method subtype. + * + * @param subtype + */ + @JsonProperty(JSON_PROPERTY_SUBTYPE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setSubtype(String subtype) { + this.subtype = subtype; + } + + public CashAppDetails type(TypeEnum type) { this.type = type; return this; @@ -401,12 +435,13 @@ public boolean equals(Object o) { Objects.equals(this.recurringDetailReference, cashAppDetails.recurringDetailReference) && Objects.equals(this.requestId, cashAppDetails.requestId) && Objects.equals(this.storedPaymentMethodId, cashAppDetails.storedPaymentMethodId) && + Objects.equals(this.subtype, cashAppDetails.subtype) && Objects.equals(this.type, cashAppDetails.type); } @Override public int hashCode() { - return Objects.hash(cashtag, checkoutAttemptId, customerId, grantId, onFileGrantId, recurringDetailReference, requestId, storedPaymentMethodId, type); + return Objects.hash(cashtag, checkoutAttemptId, customerId, grantId, onFileGrantId, recurringDetailReference, requestId, storedPaymentMethodId, subtype, type); } @Override @@ -421,6 +456,7 @@ public String toString() { sb.append(" recurringDetailReference: ").append(toIndentedString(recurringDetailReference)).append("\n"); sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n"); sb.append(" storedPaymentMethodId: ").append(toIndentedString(storedPaymentMethodId)).append("\n"); + sb.append(" subtype: ").append(toIndentedString(subtype)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/java/com/adyen/model/checkout/CheckoutPaymentMethod.java b/src/main/java/com/adyen/model/checkout/CheckoutPaymentMethod.java index 90d7d1583..224f9b62f 100644 --- a/src/main/java/com/adyen/model/checkout/CheckoutPaymentMethod.java +++ b/src/main/java/com/adyen/model/checkout/CheckoutPaymentMethod.java @@ -42,6 +42,7 @@ import com.adyen.model.checkout.MobilePayDetails; import com.adyen.model.checkout.MolPayDetails; import com.adyen.model.checkout.OpenInvoiceDetails; +import com.adyen.model.checkout.PayByBankDetails; import com.adyen.model.checkout.PayPalDetails; import com.adyen.model.checkout.PayUUpiDetails; import com.adyen.model.checkout.PayWithGoogleDetails; @@ -861,6 +862,34 @@ public CheckoutPaymentMethod deserialize(JsonParser jp, DeserializationContext c } + // deserialize PayByBankDetails + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (PayByBankDetails.class.equals(Integer.class) || PayByBankDetails.class.equals(Long.class) || PayByBankDetails.class.equals(Float.class) || PayByBankDetails.class.equals(Double.class) || PayByBankDetails.class.equals(Boolean.class) || PayByBankDetails.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((PayByBankDetails.class.equals(Integer.class) || PayByBankDetails.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((PayByBankDetails.class.equals(Float.class) || PayByBankDetails.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (PayByBankDetails.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (PayByBankDetails.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + // Checks if the unique type of the oneOf json matches any of the object TypeEnum values + boolean typeMatch = Arrays.stream(PayByBankDetails.TypeEnum.values()).anyMatch((t) -> t.getValue().contains(tree.findValue("type").asText())); + if (attemptParsing || typeMatch) { + // Strict deserialization for oneOf models + deserialized = JSON.getMapper().readValue(tree.toString(), PayByBankDetails.class); + // typeMatch should enforce proper deserialization + match++; + log.log(Level.FINER, "Input data matches schema 'PayByBankDetails'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'PayByBankDetails'", e); + } + + // deserialize PayPalDetails try { boolean attemptParsing = true; @@ -1440,6 +1469,11 @@ public CheckoutPaymentMethod(OpenInvoiceDetails o) { setActualInstance(o); } + public CheckoutPaymentMethod(PayByBankDetails o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + public CheckoutPaymentMethod(PayPalDetails o) { super("oneOf", Boolean.FALSE); setActualInstance(o); @@ -1568,6 +1602,8 @@ public CheckoutPaymentMethod(ZipDetails o) { }); schemas.put("OpenInvoiceDetails", new GenericType() { }); + schemas.put("PayByBankDetails", new GenericType() { + }); schemas.put("PayPalDetails", new GenericType() { }); schemas.put("PayUUpiDetails", new GenericType() { @@ -1609,7 +1645,7 @@ public Map getSchemas() { /** * Set the instance that matches the oneOf child schema, check * the instance parameter is valid against the oneOf child schemas: - * AchDetails, AfterpayDetails, AmazonPayDetails, AncvDetails, AndroidPayDetails, ApplePayDetails, BacsDirectDebitDetails, BillDeskDetails, BlikDetails, CardDetails, CashAppDetails, CellulantDetails, DokuDetails, DotpayDetails, DragonpayDetails, EcontextVoucherDetails, GenericIssuerPaymentMethodDetails, GiropayDetails, GooglePayDetails, IdealDetails, KlarnaDetails, MasterpassDetails, MbwayDetails, MobilePayDetails, MolPayDetails, OpenInvoiceDetails, PayPalDetails, PayUUpiDetails, PayWithGoogleDetails, PaymentDetails, RatepayDetails, SamsungPayDetails, SepaDirectDebitDetails, StoredPaymentMethodDetails, UpiCollectDetails, UpiIntentDetails, VippsDetails, VisaCheckoutDetails, WeChatPayDetails, WeChatPayMiniProgramDetails, ZipDetails + * AchDetails, AfterpayDetails, AmazonPayDetails, AncvDetails, AndroidPayDetails, ApplePayDetails, BacsDirectDebitDetails, BillDeskDetails, BlikDetails, CardDetails, CashAppDetails, CellulantDetails, DokuDetails, DotpayDetails, DragonpayDetails, EcontextVoucherDetails, GenericIssuerPaymentMethodDetails, GiropayDetails, GooglePayDetails, IdealDetails, KlarnaDetails, MasterpassDetails, MbwayDetails, MobilePayDetails, MolPayDetails, OpenInvoiceDetails, PayByBankDetails, PayPalDetails, PayUUpiDetails, PayWithGoogleDetails, PaymentDetails, RatepayDetails, SamsungPayDetails, SepaDirectDebitDetails, StoredPaymentMethodDetails, UpiCollectDetails, UpiIntentDetails, VippsDetails, VisaCheckoutDetails, WeChatPayDetails, WeChatPayMiniProgramDetails, ZipDetails * * It could be an instance of the 'oneOf' schemas. * The oneOf child schemas may themselves be a composed schema (allOf, anyOf, oneOf). @@ -1746,6 +1782,11 @@ public void setActualInstance(Object instance) { return; } + if (JSON.isInstanceOf(PayByBankDetails.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + if (JSON.isInstanceOf(PayPalDetails.class, instance, new HashSet>())) { super.setActualInstance(instance); return; @@ -1821,14 +1862,14 @@ public void setActualInstance(Object instance) { return; } - throw new RuntimeException("Invalid instance type. Must be AchDetails, AfterpayDetails, AmazonPayDetails, AncvDetails, AndroidPayDetails, ApplePayDetails, BacsDirectDebitDetails, BillDeskDetails, BlikDetails, CardDetails, CashAppDetails, CellulantDetails, DokuDetails, DotpayDetails, DragonpayDetails, EcontextVoucherDetails, GenericIssuerPaymentMethodDetails, GiropayDetails, GooglePayDetails, IdealDetails, KlarnaDetails, MasterpassDetails, MbwayDetails, MobilePayDetails, MolPayDetails, OpenInvoiceDetails, PayPalDetails, PayUUpiDetails, PayWithGoogleDetails, PaymentDetails, RatepayDetails, SamsungPayDetails, SepaDirectDebitDetails, StoredPaymentMethodDetails, UpiCollectDetails, UpiIntentDetails, VippsDetails, VisaCheckoutDetails, WeChatPayDetails, WeChatPayMiniProgramDetails, ZipDetails"); + throw new RuntimeException("Invalid instance type. Must be AchDetails, AfterpayDetails, AmazonPayDetails, AncvDetails, AndroidPayDetails, ApplePayDetails, BacsDirectDebitDetails, BillDeskDetails, BlikDetails, CardDetails, CashAppDetails, CellulantDetails, DokuDetails, DotpayDetails, DragonpayDetails, EcontextVoucherDetails, GenericIssuerPaymentMethodDetails, GiropayDetails, GooglePayDetails, IdealDetails, KlarnaDetails, MasterpassDetails, MbwayDetails, MobilePayDetails, MolPayDetails, OpenInvoiceDetails, PayByBankDetails, PayPalDetails, PayUUpiDetails, PayWithGoogleDetails, PaymentDetails, RatepayDetails, SamsungPayDetails, SepaDirectDebitDetails, StoredPaymentMethodDetails, UpiCollectDetails, UpiIntentDetails, VippsDetails, VisaCheckoutDetails, WeChatPayDetails, WeChatPayMiniProgramDetails, ZipDetails"); } /** * Get the actual instance, which can be the following: - * AchDetails, AfterpayDetails, AmazonPayDetails, AncvDetails, AndroidPayDetails, ApplePayDetails, BacsDirectDebitDetails, BillDeskDetails, BlikDetails, CardDetails, CashAppDetails, CellulantDetails, DokuDetails, DotpayDetails, DragonpayDetails, EcontextVoucherDetails, GenericIssuerPaymentMethodDetails, GiropayDetails, GooglePayDetails, IdealDetails, KlarnaDetails, MasterpassDetails, MbwayDetails, MobilePayDetails, MolPayDetails, OpenInvoiceDetails, PayPalDetails, PayUUpiDetails, PayWithGoogleDetails, PaymentDetails, RatepayDetails, SamsungPayDetails, SepaDirectDebitDetails, StoredPaymentMethodDetails, UpiCollectDetails, UpiIntentDetails, VippsDetails, VisaCheckoutDetails, WeChatPayDetails, WeChatPayMiniProgramDetails, ZipDetails + * AchDetails, AfterpayDetails, AmazonPayDetails, AncvDetails, AndroidPayDetails, ApplePayDetails, BacsDirectDebitDetails, BillDeskDetails, BlikDetails, CardDetails, CashAppDetails, CellulantDetails, DokuDetails, DotpayDetails, DragonpayDetails, EcontextVoucherDetails, GenericIssuerPaymentMethodDetails, GiropayDetails, GooglePayDetails, IdealDetails, KlarnaDetails, MasterpassDetails, MbwayDetails, MobilePayDetails, MolPayDetails, OpenInvoiceDetails, PayByBankDetails, PayPalDetails, PayUUpiDetails, PayWithGoogleDetails, PaymentDetails, RatepayDetails, SamsungPayDetails, SepaDirectDebitDetails, StoredPaymentMethodDetails, UpiCollectDetails, UpiIntentDetails, VippsDetails, VisaCheckoutDetails, WeChatPayDetails, WeChatPayMiniProgramDetails, ZipDetails * - * @return The actual instance (AchDetails, AfterpayDetails, AmazonPayDetails, AncvDetails, AndroidPayDetails, ApplePayDetails, BacsDirectDebitDetails, BillDeskDetails, BlikDetails, CardDetails, CashAppDetails, CellulantDetails, DokuDetails, DotpayDetails, DragonpayDetails, EcontextVoucherDetails, GenericIssuerPaymentMethodDetails, GiropayDetails, GooglePayDetails, IdealDetails, KlarnaDetails, MasterpassDetails, MbwayDetails, MobilePayDetails, MolPayDetails, OpenInvoiceDetails, PayPalDetails, PayUUpiDetails, PayWithGoogleDetails, PaymentDetails, RatepayDetails, SamsungPayDetails, SepaDirectDebitDetails, StoredPaymentMethodDetails, UpiCollectDetails, UpiIntentDetails, VippsDetails, VisaCheckoutDetails, WeChatPayDetails, WeChatPayMiniProgramDetails, ZipDetails) + * @return The actual instance (AchDetails, AfterpayDetails, AmazonPayDetails, AncvDetails, AndroidPayDetails, ApplePayDetails, BacsDirectDebitDetails, BillDeskDetails, BlikDetails, CardDetails, CashAppDetails, CellulantDetails, DokuDetails, DotpayDetails, DragonpayDetails, EcontextVoucherDetails, GenericIssuerPaymentMethodDetails, GiropayDetails, GooglePayDetails, IdealDetails, KlarnaDetails, MasterpassDetails, MbwayDetails, MobilePayDetails, MolPayDetails, OpenInvoiceDetails, PayByBankDetails, PayPalDetails, PayUUpiDetails, PayWithGoogleDetails, PaymentDetails, RatepayDetails, SamsungPayDetails, SepaDirectDebitDetails, StoredPaymentMethodDetails, UpiCollectDetails, UpiIntentDetails, VippsDetails, VisaCheckoutDetails, WeChatPayDetails, WeChatPayMiniProgramDetails, ZipDetails) */ @Override public Object getActualInstance() { @@ -2121,6 +2162,17 @@ public OpenInvoiceDetails getOpenInvoiceDetails() throws ClassCastException { return (OpenInvoiceDetails)super.getActualInstance(); } + /** + * Get the actual instance of `PayByBankDetails`. If the actual instance is not `PayByBankDetails`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `PayByBankDetails` + * @throws ClassCastException if the instance is not `PayByBankDetails` + */ + public PayByBankDetails getPayByBankDetails() throws ClassCastException { + return (PayByBankDetails)super.getActualInstance(); + } + /** * Get the actual instance of `PayPalDetails`. If the actual instance is not `PayPalDetails`, * the ClassCastException will be thrown. diff --git a/src/main/java/com/adyen/model/checkout/CheckoutVoucherAction.java b/src/main/java/com/adyen/model/checkout/CheckoutVoucherAction.java index 9af9cacff..4d4b4cde8 100644 --- a/src/main/java/com/adyen/model/checkout/CheckoutVoucherAction.java +++ b/src/main/java/com/adyen/model/checkout/CheckoutVoucherAction.java @@ -491,10 +491,10 @@ public CheckoutVoucherAction passCreationToken(String passCreationToken) { } /** - * A base64 encoded signature of all properties + * A Base64-encoded token containing all properties of the voucher. For iOS, you can use this to pass a voucher to Apple Wallet. * @return passCreationToken **/ - @ApiModelProperty(value = "A base64 encoded signature of all properties") + @ApiModelProperty(value = "A Base64-encoded token containing all properties of the voucher. For iOS, you can use this to pass a voucher to Apple Wallet.") @JsonProperty(JSON_PROPERTY_PASS_CREATION_TOKEN) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -504,7 +504,7 @@ public String getPassCreationToken() { /** - * A base64 encoded signature of all properties + * A Base64-encoded token containing all properties of the voucher. For iOS, you can use this to pass a voucher to Apple Wallet. * * @param passCreationToken */ diff --git a/src/main/java/com/adyen/model/checkout/CreateCheckoutSessionRequest.java b/src/main/java/com/adyen/model/checkout/CreateCheckoutSessionRequest.java index 6dd6b9902..affac08c6 100644 --- a/src/main/java/com/adyen/model/checkout/CreateCheckoutSessionRequest.java +++ b/src/main/java/com/adyen/model/checkout/CreateCheckoutSessionRequest.java @@ -2079,10 +2079,10 @@ public CreateCheckoutSessionRequest addSplitsItem(Split splitsItem) { } /** - * An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split). + * An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/process-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split). * @return splits **/ - @ApiModelProperty(value = "An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).") + @ApiModelProperty(value = "An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/process-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).") @JsonProperty(JSON_PROPERTY_SPLITS) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -2092,7 +2092,7 @@ public List getSplits() { /** - * An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split). + * An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/process-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split). * * @param splits */ diff --git a/src/main/java/com/adyen/model/checkout/CreateCheckoutSessionResponse.java b/src/main/java/com/adyen/model/checkout/CreateCheckoutSessionResponse.java index f353994ee..8b10e9e63 100644 --- a/src/main/java/com/adyen/model/checkout/CreateCheckoutSessionResponse.java +++ b/src/main/java/com/adyen/model/checkout/CreateCheckoutSessionResponse.java @@ -2150,10 +2150,10 @@ public CreateCheckoutSessionResponse addSplitsItem(Split splitsItem) { } /** - * An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split). + * An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/process-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split). * @return splits **/ - @ApiModelProperty(value = "An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).") + @ApiModelProperty(value = "An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/process-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).") @JsonProperty(JSON_PROPERTY_SPLITS) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -2163,7 +2163,7 @@ public List getSplits() { /** - * An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split). + * An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/process-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split). * * @param splits */ diff --git a/src/main/java/com/adyen/model/checkout/GooglePayDetails.java b/src/main/java/com/adyen/model/checkout/GooglePayDetails.java index 938955bb1..0eb0687ff 100644 --- a/src/main/java/com/adyen/model/checkout/GooglePayDetails.java +++ b/src/main/java/com/adyen/model/checkout/GooglePayDetails.java @@ -37,6 +37,7 @@ GooglePayDetails.JSON_PROPERTY_GOOGLE_PAY_TOKEN, GooglePayDetails.JSON_PROPERTY_RECURRING_DETAIL_REFERENCE, GooglePayDetails.JSON_PROPERTY_STORED_PAYMENT_METHOD_ID, + GooglePayDetails.JSON_PROPERTY_THREE_D_S2_SDK_VERSION, GooglePayDetails.JSON_PROPERTY_TYPE }) @@ -95,6 +96,9 @@ public static FundingSourceEnum fromValue(String value) { public static final String JSON_PROPERTY_STORED_PAYMENT_METHOD_ID = "storedPaymentMethodId"; private String storedPaymentMethodId; + public static final String JSON_PROPERTY_THREE_D_S2_SDK_VERSION = "threeDS2SdkVersion"; + private String threeDS2SdkVersion; + /** * **googlepay**, **paywithgoogle** */ @@ -318,6 +322,36 @@ public void setStoredPaymentMethodId(String storedPaymentMethodId) { } + public GooglePayDetails threeDS2SdkVersion(String threeDS2SdkVersion) { + this.threeDS2SdkVersion = threeDS2SdkVersion; + return this; + } + + /** + * Required for mobile integrations. Version of the 3D Secure 2 mobile SDK. + * @return threeDS2SdkVersion + **/ + @ApiModelProperty(value = "Required for mobile integrations. Version of the 3D Secure 2 mobile SDK.") + @JsonProperty(JSON_PROPERTY_THREE_D_S2_SDK_VERSION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getThreeDS2SdkVersion() { + return threeDS2SdkVersion; + } + + + /** + * Required for mobile integrations. Version of the 3D Secure 2 mobile SDK. + * + * @param threeDS2SdkVersion + */ + @JsonProperty(JSON_PROPERTY_THREE_D_S2_SDK_VERSION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setThreeDS2SdkVersion(String threeDS2SdkVersion) { + this.threeDS2SdkVersion = threeDS2SdkVersion; + } + + public GooglePayDetails type(TypeEnum type) { this.type = type; return this; @@ -366,12 +400,13 @@ public boolean equals(Object o) { Objects.equals(this.googlePayToken, googlePayDetails.googlePayToken) && Objects.equals(this.recurringDetailReference, googlePayDetails.recurringDetailReference) && Objects.equals(this.storedPaymentMethodId, googlePayDetails.storedPaymentMethodId) && + Objects.equals(this.threeDS2SdkVersion, googlePayDetails.threeDS2SdkVersion) && Objects.equals(this.type, googlePayDetails.type); } @Override public int hashCode() { - return Objects.hash(checkoutAttemptId, fundingSource, googlePayCardNetwork, googlePayToken, recurringDetailReference, storedPaymentMethodId, type); + return Objects.hash(checkoutAttemptId, fundingSource, googlePayCardNetwork, googlePayToken, recurringDetailReference, storedPaymentMethodId, threeDS2SdkVersion, type); } @Override @@ -384,6 +419,7 @@ public String toString() { sb.append(" googlePayToken: ").append(toIndentedString(googlePayToken)).append("\n"); sb.append(" recurringDetailReference: ").append(toIndentedString(recurringDetailReference)).append("\n"); sb.append(" storedPaymentMethodId: ").append(toIndentedString(storedPaymentMethodId)).append("\n"); + sb.append(" threeDS2SdkVersion: ").append(toIndentedString(threeDS2SdkVersion)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/java/com/adyen/model/checkout/GooglePayDonations.java b/src/main/java/com/adyen/model/checkout/GooglePayDonations.java index 5865c35b3..961d35502 100644 --- a/src/main/java/com/adyen/model/checkout/GooglePayDonations.java +++ b/src/main/java/com/adyen/model/checkout/GooglePayDonations.java @@ -37,6 +37,7 @@ GooglePayDonations.JSON_PROPERTY_GOOGLE_PAY_TOKEN, GooglePayDonations.JSON_PROPERTY_RECURRING_DETAIL_REFERENCE, GooglePayDonations.JSON_PROPERTY_STORED_PAYMENT_METHOD_ID, + GooglePayDonations.JSON_PROPERTY_THREE_D_S2_SDK_VERSION, GooglePayDonations.JSON_PROPERTY_TYPE }) @@ -95,6 +96,9 @@ public static FundingSourceEnum fromValue(String value) { public static final String JSON_PROPERTY_STORED_PAYMENT_METHOD_ID = "storedPaymentMethodId"; private String storedPaymentMethodId; + public static final String JSON_PROPERTY_THREE_D_S2_SDK_VERSION = "threeDS2SdkVersion"; + private String threeDS2SdkVersion; + /** * **googlepay**, **paywithgoogle** */ @@ -318,6 +322,36 @@ public void setStoredPaymentMethodId(String storedPaymentMethodId) { } + public GooglePayDonations threeDS2SdkVersion(String threeDS2SdkVersion) { + this.threeDS2SdkVersion = threeDS2SdkVersion; + return this; + } + + /** + * Required for mobile integrations. Version of the 3D Secure 2 mobile SDK. + * @return threeDS2SdkVersion + **/ + @ApiModelProperty(value = "Required for mobile integrations. Version of the 3D Secure 2 mobile SDK.") + @JsonProperty(JSON_PROPERTY_THREE_D_S2_SDK_VERSION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getThreeDS2SdkVersion() { + return threeDS2SdkVersion; + } + + + /** + * Required for mobile integrations. Version of the 3D Secure 2 mobile SDK. + * + * @param threeDS2SdkVersion + */ + @JsonProperty(JSON_PROPERTY_THREE_D_S2_SDK_VERSION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setThreeDS2SdkVersion(String threeDS2SdkVersion) { + this.threeDS2SdkVersion = threeDS2SdkVersion; + } + + public GooglePayDonations type(TypeEnum type) { this.type = type; return this; @@ -366,12 +400,13 @@ public boolean equals(Object o) { Objects.equals(this.googlePayToken, googlePayDonations.googlePayToken) && Objects.equals(this.recurringDetailReference, googlePayDonations.recurringDetailReference) && Objects.equals(this.storedPaymentMethodId, googlePayDonations.storedPaymentMethodId) && + Objects.equals(this.threeDS2SdkVersion, googlePayDonations.threeDS2SdkVersion) && Objects.equals(this.type, googlePayDonations.type); } @Override public int hashCode() { - return Objects.hash(checkoutAttemptId, fundingSource, googlePayCardNetwork, googlePayToken, recurringDetailReference, storedPaymentMethodId, type); + return Objects.hash(checkoutAttemptId, fundingSource, googlePayCardNetwork, googlePayToken, recurringDetailReference, storedPaymentMethodId, threeDS2SdkVersion, type); } @Override @@ -384,6 +419,7 @@ public String toString() { sb.append(" googlePayToken: ").append(toIndentedString(googlePayToken)).append("\n"); sb.append(" recurringDetailReference: ").append(toIndentedString(recurringDetailReference)).append("\n"); sb.append(" storedPaymentMethodId: ").append(toIndentedString(storedPaymentMethodId)).append("\n"); + sb.append(" threeDS2SdkVersion: ").append(toIndentedString(threeDS2SdkVersion)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/java/com/adyen/model/checkout/PayByBankDetails.java b/src/main/java/com/adyen/model/checkout/PayByBankDetails.java new file mode 100644 index 000000000..536902c84 --- /dev/null +++ b/src/main/java/com/adyen/model/checkout/PayByBankDetails.java @@ -0,0 +1,238 @@ +/* + * Adyen Checkout API + * + * The version of the OpenAPI document: 71 + * + * + * 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.checkout; + +import java.util.Objects; +import java.util.Arrays; +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 io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.core.JsonProcessingException; + + +/** + * PayByBankDetails + */ +@JsonPropertyOrder({ + PayByBankDetails.JSON_PROPERTY_CHECKOUT_ATTEMPT_ID, + PayByBankDetails.JSON_PROPERTY_ISSUER, + PayByBankDetails.JSON_PROPERTY_TYPE +}) + +public class PayByBankDetails { + public static final String JSON_PROPERTY_CHECKOUT_ATTEMPT_ID = "checkoutAttemptId"; + private String checkoutAttemptId; + + public static final String JSON_PROPERTY_ISSUER = "issuer"; + private String issuer; + + /** + * **paybybank** + */ + public enum TypeEnum { + PAYBYBANK("paybybank"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + public static final String JSON_PROPERTY_TYPE = "type"; + private TypeEnum type; + + public PayByBankDetails() { + } + + public PayByBankDetails checkoutAttemptId(String checkoutAttemptId) { + this.checkoutAttemptId = checkoutAttemptId; + return this; + } + + /** + * The checkout attempt identifier. + * @return checkoutAttemptId + **/ + @ApiModelProperty(value = "The checkout attempt identifier.") + @JsonProperty(JSON_PROPERTY_CHECKOUT_ATTEMPT_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getCheckoutAttemptId() { + return checkoutAttemptId; + } + + + /** + * The checkout attempt identifier. + * + * @param checkoutAttemptId + */ + @JsonProperty(JSON_PROPERTY_CHECKOUT_ATTEMPT_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCheckoutAttemptId(String checkoutAttemptId) { + this.checkoutAttemptId = checkoutAttemptId; + } + + + public PayByBankDetails issuer(String issuer) { + this.issuer = issuer; + return this; + } + + /** + * The PayByBank issuer value of the shopper's selected bank. + * @return issuer + **/ + @ApiModelProperty(value = "The PayByBank issuer value of the shopper's selected bank.") + @JsonProperty(JSON_PROPERTY_ISSUER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getIssuer() { + return issuer; + } + + + /** + * The PayByBank issuer value of the shopper's selected bank. + * + * @param issuer + */ + @JsonProperty(JSON_PROPERTY_ISSUER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setIssuer(String issuer) { + this.issuer = issuer; + } + + + public PayByBankDetails type(TypeEnum type) { + this.type = type; + return this; + } + + /** + * **paybybank** + * @return type + **/ + @ApiModelProperty(required = true, value = "**paybybank**") + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public TypeEnum getType() { + return type; + } + + + /** + * **paybybank** + * + * @param type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setType(TypeEnum type) { + this.type = type; + } + + + /** + * Return true if this PayByBankDetails object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PayByBankDetails payByBankDetails = (PayByBankDetails) o; + return Objects.equals(this.checkoutAttemptId, payByBankDetails.checkoutAttemptId) && + Objects.equals(this.issuer, payByBankDetails.issuer) && + Objects.equals(this.type, payByBankDetails.type); + } + + @Override + public int hashCode() { + return Objects.hash(checkoutAttemptId, issuer, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PayByBankDetails {\n"); + sb.append(" checkoutAttemptId: ").append(toIndentedString(checkoutAttemptId)).append("\n"); + sb.append(" issuer: ").append(toIndentedString(issuer)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).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 PayByBankDetails given an JSON string + * + * @param jsonString JSON string + * @return An instance of PayByBankDetails + * @throws JsonProcessingException if the JSON string is invalid with respect to PayByBankDetails + */ + public static PayByBankDetails fromJson(String jsonString) throws JsonProcessingException { + return JSON.getMapper().readValue(jsonString, PayByBankDetails.class); + } +/** + * Convert an instance of PayByBankDetails to an JSON string + * + * @return JSON string + */ + public String toJson() throws JsonProcessingException { + return JSON.getMapper().writeValueAsString(this); + } +} + diff --git a/src/main/java/com/adyen/model/checkout/PayWithGoogleDetails.java b/src/main/java/com/adyen/model/checkout/PayWithGoogleDetails.java index 9ab8ed3f2..f66dfa15a 100644 --- a/src/main/java/com/adyen/model/checkout/PayWithGoogleDetails.java +++ b/src/main/java/com/adyen/model/checkout/PayWithGoogleDetails.java @@ -36,6 +36,7 @@ PayWithGoogleDetails.JSON_PROPERTY_GOOGLE_PAY_TOKEN, PayWithGoogleDetails.JSON_PROPERTY_RECURRING_DETAIL_REFERENCE, PayWithGoogleDetails.JSON_PROPERTY_STORED_PAYMENT_METHOD_ID, + PayWithGoogleDetails.JSON_PROPERTY_THREE_D_S2_SDK_VERSION, PayWithGoogleDetails.JSON_PROPERTY_TYPE }) @@ -91,6 +92,9 @@ public static FundingSourceEnum fromValue(String value) { public static final String JSON_PROPERTY_STORED_PAYMENT_METHOD_ID = "storedPaymentMethodId"; private String storedPaymentMethodId; + public static final String JSON_PROPERTY_THREE_D_S2_SDK_VERSION = "threeDS2SdkVersion"; + private String threeDS2SdkVersion; + /** * **paywithgoogle** */ @@ -284,6 +288,36 @@ public void setStoredPaymentMethodId(String storedPaymentMethodId) { } + public PayWithGoogleDetails threeDS2SdkVersion(String threeDS2SdkVersion) { + this.threeDS2SdkVersion = threeDS2SdkVersion; + return this; + } + + /** + * Required for mobile integrations. Version of the 3D Secure 2 mobile SDK. + * @return threeDS2SdkVersion + **/ + @ApiModelProperty(value = "Required for mobile integrations. Version of the 3D Secure 2 mobile SDK.") + @JsonProperty(JSON_PROPERTY_THREE_D_S2_SDK_VERSION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getThreeDS2SdkVersion() { + return threeDS2SdkVersion; + } + + + /** + * Required for mobile integrations. Version of the 3D Secure 2 mobile SDK. + * + * @param threeDS2SdkVersion + */ + @JsonProperty(JSON_PROPERTY_THREE_D_S2_SDK_VERSION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setThreeDS2SdkVersion(String threeDS2SdkVersion) { + this.threeDS2SdkVersion = threeDS2SdkVersion; + } + + public PayWithGoogleDetails type(TypeEnum type) { this.type = type; return this; @@ -331,12 +365,13 @@ public boolean equals(Object o) { Objects.equals(this.googlePayToken, payWithGoogleDetails.googlePayToken) && Objects.equals(this.recurringDetailReference, payWithGoogleDetails.recurringDetailReference) && Objects.equals(this.storedPaymentMethodId, payWithGoogleDetails.storedPaymentMethodId) && + Objects.equals(this.threeDS2SdkVersion, payWithGoogleDetails.threeDS2SdkVersion) && Objects.equals(this.type, payWithGoogleDetails.type); } @Override public int hashCode() { - return Objects.hash(checkoutAttemptId, fundingSource, googlePayToken, recurringDetailReference, storedPaymentMethodId, type); + return Objects.hash(checkoutAttemptId, fundingSource, googlePayToken, recurringDetailReference, storedPaymentMethodId, threeDS2SdkVersion, type); } @Override @@ -348,6 +383,7 @@ public String toString() { sb.append(" googlePayToken: ").append(toIndentedString(googlePayToken)).append("\n"); sb.append(" recurringDetailReference: ").append(toIndentedString(recurringDetailReference)).append("\n"); sb.append(" storedPaymentMethodId: ").append(toIndentedString(storedPaymentMethodId)).append("\n"); + sb.append(" threeDS2SdkVersion: ").append(toIndentedString(threeDS2SdkVersion)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/java/com/adyen/model/checkout/PayWithGoogleDonations.java b/src/main/java/com/adyen/model/checkout/PayWithGoogleDonations.java index a4adf9f54..6134f242f 100644 --- a/src/main/java/com/adyen/model/checkout/PayWithGoogleDonations.java +++ b/src/main/java/com/adyen/model/checkout/PayWithGoogleDonations.java @@ -36,6 +36,7 @@ PayWithGoogleDonations.JSON_PROPERTY_GOOGLE_PAY_TOKEN, PayWithGoogleDonations.JSON_PROPERTY_RECURRING_DETAIL_REFERENCE, PayWithGoogleDonations.JSON_PROPERTY_STORED_PAYMENT_METHOD_ID, + PayWithGoogleDonations.JSON_PROPERTY_THREE_D_S2_SDK_VERSION, PayWithGoogleDonations.JSON_PROPERTY_TYPE }) @@ -91,6 +92,9 @@ public static FundingSourceEnum fromValue(String value) { public static final String JSON_PROPERTY_STORED_PAYMENT_METHOD_ID = "storedPaymentMethodId"; private String storedPaymentMethodId; + public static final String JSON_PROPERTY_THREE_D_S2_SDK_VERSION = "threeDS2SdkVersion"; + private String threeDS2SdkVersion; + /** * **paywithgoogle** */ @@ -284,6 +288,36 @@ public void setStoredPaymentMethodId(String storedPaymentMethodId) { } + public PayWithGoogleDonations threeDS2SdkVersion(String threeDS2SdkVersion) { + this.threeDS2SdkVersion = threeDS2SdkVersion; + return this; + } + + /** + * Required for mobile integrations. Version of the 3D Secure 2 mobile SDK. + * @return threeDS2SdkVersion + **/ + @ApiModelProperty(value = "Required for mobile integrations. Version of the 3D Secure 2 mobile SDK.") + @JsonProperty(JSON_PROPERTY_THREE_D_S2_SDK_VERSION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getThreeDS2SdkVersion() { + return threeDS2SdkVersion; + } + + + /** + * Required for mobile integrations. Version of the 3D Secure 2 mobile SDK. + * + * @param threeDS2SdkVersion + */ + @JsonProperty(JSON_PROPERTY_THREE_D_S2_SDK_VERSION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setThreeDS2SdkVersion(String threeDS2SdkVersion) { + this.threeDS2SdkVersion = threeDS2SdkVersion; + } + + public PayWithGoogleDonations type(TypeEnum type) { this.type = type; return this; @@ -331,12 +365,13 @@ public boolean equals(Object o) { Objects.equals(this.googlePayToken, payWithGoogleDonations.googlePayToken) && Objects.equals(this.recurringDetailReference, payWithGoogleDonations.recurringDetailReference) && Objects.equals(this.storedPaymentMethodId, payWithGoogleDonations.storedPaymentMethodId) && + Objects.equals(this.threeDS2SdkVersion, payWithGoogleDonations.threeDS2SdkVersion) && Objects.equals(this.type, payWithGoogleDonations.type); } @Override public int hashCode() { - return Objects.hash(checkoutAttemptId, fundingSource, googlePayToken, recurringDetailReference, storedPaymentMethodId, type); + return Objects.hash(checkoutAttemptId, fundingSource, googlePayToken, recurringDetailReference, storedPaymentMethodId, threeDS2SdkVersion, type); } @Override @@ -348,6 +383,7 @@ public String toString() { sb.append(" googlePayToken: ").append(toIndentedString(googlePayToken)).append("\n"); sb.append(" recurringDetailReference: ").append(toIndentedString(recurringDetailReference)).append("\n"); sb.append(" storedPaymentMethodId: ").append(toIndentedString(storedPaymentMethodId)).append("\n"); + sb.append(" threeDS2SdkVersion: ").append(toIndentedString(threeDS2SdkVersion)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/java/com/adyen/model/checkout/PaymentDetails.java b/src/main/java/com/adyen/model/checkout/PaymentDetails.java index e18ba872d..b865a25b0 100644 --- a/src/main/java/com/adyen/model/checkout/PaymentDetails.java +++ b/src/main/java/com/adyen/model/checkout/PaymentDetails.java @@ -103,8 +103,6 @@ public enum TypeEnum { MOLPAY_EBANKING_VN("molpay_ebanking_VN"), - PAYBYBANK("paybybank"), - EBANKING_FI("ebanking_FI"), MOLPAY_EBANKING_MY("molpay_ebanking_MY"), diff --git a/src/main/java/com/adyen/model/checkout/PaymentLinkRequest.java b/src/main/java/com/adyen/model/checkout/PaymentLinkRequest.java index 6ec9f805f..fa9cc8fb6 100644 --- a/src/main/java/com/adyen/model/checkout/PaymentLinkRequest.java +++ b/src/main/java/com/adyen/model/checkout/PaymentLinkRequest.java @@ -23,6 +23,7 @@ import com.adyen.model.checkout.InstallmentOption; import com.adyen.model.checkout.LineItem; import com.adyen.model.checkout.Name; +import com.adyen.model.checkout.PlatformChargebackLogic; import com.adyen.model.checkout.RiskData; import com.adyen.model.checkout.Split; import com.fasterxml.jackson.annotation.JsonInclude; @@ -65,6 +66,7 @@ PaymentLinkRequest.JSON_PROPERTY_MERCHANT_ACCOUNT, PaymentLinkRequest.JSON_PROPERTY_MERCHANT_ORDER_REFERENCE, PaymentLinkRequest.JSON_PROPERTY_METADATA, + PaymentLinkRequest.JSON_PROPERTY_PLATFORM_CHARGEBACK_LOGIC, PaymentLinkRequest.JSON_PROPERTY_RECURRING_PROCESSING_MODEL, PaymentLinkRequest.JSON_PROPERTY_REFERENCE, PaymentLinkRequest.JSON_PROPERTY_REQUIRED_SHOPPER_FIELDS, @@ -145,6 +147,9 @@ public class PaymentLinkRequest { public static final String JSON_PROPERTY_METADATA = "metadata"; private Map metadata = null; + public static final String JSON_PROPERTY_PLATFORM_CHARGEBACK_LOGIC = "platformChargebackLogic"; + private PlatformChargebackLogic platformChargebackLogic; + /** * Defines a recurring payment type. Required when `storePaymentMethodMode` is set to **askForConsent** or **enabled**. Possible values: * **Subscription** – A transaction for a fixed or variable amount, which follows a fixed schedule. * **CardOnFile** – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. * **UnscheduledCardOnFile** – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. */ @@ -933,6 +938,36 @@ public void setMetadata(Map metadata) { } + public PaymentLinkRequest platformChargebackLogic(PlatformChargebackLogic platformChargebackLogic) { + this.platformChargebackLogic = platformChargebackLogic; + return this; + } + + /** + * Get platformChargebackLogic + * @return platformChargebackLogic + **/ + @ApiModelProperty(value = "") + @JsonProperty(JSON_PROPERTY_PLATFORM_CHARGEBACK_LOGIC) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public PlatformChargebackLogic getPlatformChargebackLogic() { + return platformChargebackLogic; + } + + + /** + * platformChargebackLogic + * + * @param platformChargebackLogic + */ + @JsonProperty(JSON_PROPERTY_PLATFORM_CHARGEBACK_LOGIC) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setPlatformChargebackLogic(PlatformChargebackLogic platformChargebackLogic) { + this.platformChargebackLogic = platformChargebackLogic; + } + + public PaymentLinkRequest recurringProcessingModel(RecurringProcessingModelEnum recurringProcessingModel) { this.recurringProcessingModel = recurringProcessingModel; return this; @@ -1375,10 +1410,10 @@ public PaymentLinkRequest addSplitsItem(Split splitsItem) { } /** - * An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split). + * An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/process-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split). * @return splits **/ - @ApiModelProperty(value = "An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).") + @ApiModelProperty(value = "An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/process-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).") @JsonProperty(JSON_PROPERTY_SPLITS) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -1388,7 +1423,7 @@ public List getSplits() { /** - * An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split). + * An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/process-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split). * * @param splits */ @@ -1580,6 +1615,7 @@ public boolean equals(Object o) { Objects.equals(this.merchantAccount, paymentLinkRequest.merchantAccount) && Objects.equals(this.merchantOrderReference, paymentLinkRequest.merchantOrderReference) && Objects.equals(this.metadata, paymentLinkRequest.metadata) && + Objects.equals(this.platformChargebackLogic, paymentLinkRequest.platformChargebackLogic) && Objects.equals(this.recurringProcessingModel, paymentLinkRequest.recurringProcessingModel) && Objects.equals(this.reference, paymentLinkRequest.reference) && Objects.equals(this.requiredShopperFields, paymentLinkRequest.requiredShopperFields) && @@ -1604,7 +1640,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(allowedPaymentMethods, amount, applicationInfo, billingAddress, blockedPaymentMethods, captureDelayHours, countryCode, dateOfBirth, deliverAt, deliveryAddress, description, expiresAt, installmentOptions, lineItems, manualCapture, mcc, merchantAccount, merchantOrderReference, metadata, recurringProcessingModel, reference, requiredShopperFields, returnUrl, reusable, riskData, shopperEmail, shopperLocale, shopperName, shopperReference, shopperStatement, showRemovePaymentMethodButton, socialSecurityNumber, splitCardFundingSources, splits, store, storePaymentMethodMode, telephoneNumber, themeId, threeDS2RequestData); + return Objects.hash(allowedPaymentMethods, amount, applicationInfo, billingAddress, blockedPaymentMethods, captureDelayHours, countryCode, dateOfBirth, deliverAt, deliveryAddress, description, expiresAt, installmentOptions, lineItems, manualCapture, mcc, merchantAccount, merchantOrderReference, metadata, platformChargebackLogic, recurringProcessingModel, reference, requiredShopperFields, returnUrl, reusable, riskData, shopperEmail, shopperLocale, shopperName, shopperReference, shopperStatement, showRemovePaymentMethodButton, socialSecurityNumber, splitCardFundingSources, splits, store, storePaymentMethodMode, telephoneNumber, themeId, threeDS2RequestData); } @Override @@ -1630,6 +1666,7 @@ public String toString() { sb.append(" merchantAccount: ").append(toIndentedString(merchantAccount)).append("\n"); sb.append(" merchantOrderReference: ").append(toIndentedString(merchantOrderReference)).append("\n"); sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append(" platformChargebackLogic: ").append(toIndentedString(platformChargebackLogic)).append("\n"); sb.append(" recurringProcessingModel: ").append(toIndentedString(recurringProcessingModel)).append("\n"); sb.append(" reference: ").append(toIndentedString(reference)).append("\n"); sb.append(" requiredShopperFields: ").append(toIndentedString(requiredShopperFields)).append("\n"); diff --git a/src/main/java/com/adyen/model/checkout/PaymentLinkResponse.java b/src/main/java/com/adyen/model/checkout/PaymentLinkResponse.java index 0aa248c53..ae1639880 100644 --- a/src/main/java/com/adyen/model/checkout/PaymentLinkResponse.java +++ b/src/main/java/com/adyen/model/checkout/PaymentLinkResponse.java @@ -23,6 +23,7 @@ import com.adyen.model.checkout.InstallmentOption; import com.adyen.model.checkout.LineItem; import com.adyen.model.checkout.Name; +import com.adyen.model.checkout.PlatformChargebackLogic; import com.adyen.model.checkout.RiskData; import com.adyen.model.checkout.Split; import com.fasterxml.jackson.annotation.JsonInclude; @@ -66,6 +67,7 @@ PaymentLinkResponse.JSON_PROPERTY_MERCHANT_ACCOUNT, PaymentLinkResponse.JSON_PROPERTY_MERCHANT_ORDER_REFERENCE, PaymentLinkResponse.JSON_PROPERTY_METADATA, + PaymentLinkResponse.JSON_PROPERTY_PLATFORM_CHARGEBACK_LOGIC, PaymentLinkResponse.JSON_PROPERTY_RECURRING_PROCESSING_MODEL, PaymentLinkResponse.JSON_PROPERTY_REFERENCE, PaymentLinkResponse.JSON_PROPERTY_REQUIRED_SHOPPER_FIELDS, @@ -152,6 +154,9 @@ public class PaymentLinkResponse { public static final String JSON_PROPERTY_METADATA = "metadata"; private Map metadata = null; + public static final String JSON_PROPERTY_PLATFORM_CHARGEBACK_LOGIC = "platformChargebackLogic"; + private PlatformChargebackLogic platformChargebackLogic; + /** * Defines a recurring payment type. Required when `storePaymentMethodMode` is set to **askForConsent** or **enabled**. Possible values: * **Subscription** – A transaction for a fixed or variable amount, which follows a fixed schedule. * **CardOnFile** – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. * **UnscheduledCardOnFile** – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. */ @@ -1020,6 +1025,36 @@ public void setMetadata(Map metadata) { } + public PaymentLinkResponse platformChargebackLogic(PlatformChargebackLogic platformChargebackLogic) { + this.platformChargebackLogic = platformChargebackLogic; + return this; + } + + /** + * Get platformChargebackLogic + * @return platformChargebackLogic + **/ + @ApiModelProperty(value = "") + @JsonProperty(JSON_PROPERTY_PLATFORM_CHARGEBACK_LOGIC) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public PlatformChargebackLogic getPlatformChargebackLogic() { + return platformChargebackLogic; + } + + + /** + * platformChargebackLogic + * + * @param platformChargebackLogic + */ + @JsonProperty(JSON_PROPERTY_PLATFORM_CHARGEBACK_LOGIC) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setPlatformChargebackLogic(PlatformChargebackLogic platformChargebackLogic) { + this.platformChargebackLogic = platformChargebackLogic; + } + + public PaymentLinkResponse recurringProcessingModel(RecurringProcessingModelEnum recurringProcessingModel) { this.recurringProcessingModel = recurringProcessingModel; return this; @@ -1462,10 +1497,10 @@ public PaymentLinkResponse addSplitsItem(Split splitsItem) { } /** - * An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split). + * An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/process-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split). * @return splits **/ - @ApiModelProperty(value = "An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).") + @ApiModelProperty(value = "An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/process-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).") @JsonProperty(JSON_PROPERTY_SPLITS) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -1475,7 +1510,7 @@ public List getSplits() { /** - * An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split). + * An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/process-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split). * * @param splits */ @@ -1758,6 +1793,7 @@ public boolean equals(Object o) { Objects.equals(this.merchantAccount, paymentLinkResponse.merchantAccount) && Objects.equals(this.merchantOrderReference, paymentLinkResponse.merchantOrderReference) && Objects.equals(this.metadata, paymentLinkResponse.metadata) && + Objects.equals(this.platformChargebackLogic, paymentLinkResponse.platformChargebackLogic) && Objects.equals(this.recurringProcessingModel, paymentLinkResponse.recurringProcessingModel) && Objects.equals(this.reference, paymentLinkResponse.reference) && Objects.equals(this.requiredShopperFields, paymentLinkResponse.requiredShopperFields) && @@ -1785,7 +1821,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(allowedPaymentMethods, amount, applicationInfo, billingAddress, blockedPaymentMethods, captureDelayHours, countryCode, dateOfBirth, deliverAt, deliveryAddress, description, expiresAt, id, installmentOptions, lineItems, manualCapture, mcc, merchantAccount, merchantOrderReference, metadata, recurringProcessingModel, reference, requiredShopperFields, returnUrl, reusable, riskData, shopperEmail, shopperLocale, shopperName, shopperReference, shopperStatement, showRemovePaymentMethodButton, socialSecurityNumber, splitCardFundingSources, splits, status, store, storePaymentMethodMode, telephoneNumber, themeId, threeDS2RequestData, updatedAt, url); + return Objects.hash(allowedPaymentMethods, amount, applicationInfo, billingAddress, blockedPaymentMethods, captureDelayHours, countryCode, dateOfBirth, deliverAt, deliveryAddress, description, expiresAt, id, installmentOptions, lineItems, manualCapture, mcc, merchantAccount, merchantOrderReference, metadata, platformChargebackLogic, recurringProcessingModel, reference, requiredShopperFields, returnUrl, reusable, riskData, shopperEmail, shopperLocale, shopperName, shopperReference, shopperStatement, showRemovePaymentMethodButton, socialSecurityNumber, splitCardFundingSources, splits, status, store, storePaymentMethodMode, telephoneNumber, themeId, threeDS2RequestData, updatedAt, url); } @Override @@ -1812,6 +1848,7 @@ public String toString() { sb.append(" merchantAccount: ").append(toIndentedString(merchantAccount)).append("\n"); sb.append(" merchantOrderReference: ").append(toIndentedString(merchantOrderReference)).append("\n"); sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n"); + sb.append(" platformChargebackLogic: ").append(toIndentedString(platformChargebackLogic)).append("\n"); sb.append(" recurringProcessingModel: ").append(toIndentedString(recurringProcessingModel)).append("\n"); sb.append(" reference: ").append(toIndentedString(reference)).append("\n"); sb.append(" requiredShopperFields: ").append(toIndentedString(requiredShopperFields)).append("\n"); diff --git a/src/main/java/com/adyen/model/checkout/PaymentRequest.java b/src/main/java/com/adyen/model/checkout/PaymentRequest.java index e6f38f827..b60665a5f 100644 --- a/src/main/java/com/adyen/model/checkout/PaymentRequest.java +++ b/src/main/java/com/adyen/model/checkout/PaymentRequest.java @@ -2375,10 +2375,10 @@ public PaymentRequest addSplitsItem(Split splitsItem) { } /** - * An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split). + * An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/process-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split). * @return splits **/ - @ApiModelProperty(value = "An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).") + @ApiModelProperty(value = "An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/process-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).") @JsonProperty(JSON_PROPERTY_SPLITS) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -2388,7 +2388,7 @@ public List getSplits() { /** - * An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split). + * An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/platforms/process-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split). * * @param splits */ diff --git a/src/main/java/com/adyen/model/checkout/SubMerchantInfo.java b/src/main/java/com/adyen/model/checkout/SubMerchantInfo.java index 32cf342b0..a64a80b51 100644 --- a/src/main/java/com/adyen/model/checkout/SubMerchantInfo.java +++ b/src/main/java/com/adyen/model/checkout/SubMerchantInfo.java @@ -16,6 +16,7 @@ import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import com.adyen.model.checkout.Amount; import com.adyen.model.checkout.BillingAddress; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; @@ -33,17 +34,27 @@ */ @JsonPropertyOrder({ SubMerchantInfo.JSON_PROPERTY_ADDRESS, + SubMerchantInfo.JSON_PROPERTY_AMOUNT, + SubMerchantInfo.JSON_PROPERTY_EMAIL, SubMerchantInfo.JSON_PROPERTY_ID, SubMerchantInfo.JSON_PROPERTY_MCC, SubMerchantInfo.JSON_PROPERTY_NAME, + SubMerchantInfo.JSON_PROPERTY_PHONE_NUMBER, SubMerchantInfo.JSON_PROPERTY_REGISTERED_SINCE, - SubMerchantInfo.JSON_PROPERTY_TAX_ID + SubMerchantInfo.JSON_PROPERTY_TAX_ID, + SubMerchantInfo.JSON_PROPERTY_URL }) public class SubMerchantInfo { public static final String JSON_PROPERTY_ADDRESS = "address"; private BillingAddress address; + public static final String JSON_PROPERTY_AMOUNT = "amount"; + private Amount amount; + + public static final String JSON_PROPERTY_EMAIL = "email"; + private String email; + public static final String JSON_PROPERTY_ID = "id"; private String id; @@ -53,12 +64,18 @@ public class SubMerchantInfo { public static final String JSON_PROPERTY_NAME = "name"; private String name; + public static final String JSON_PROPERTY_PHONE_NUMBER = "phoneNumber"; + private String phoneNumber; + public static final String JSON_PROPERTY_REGISTERED_SINCE = "registeredSince"; private String registeredSince; public static final String JSON_PROPERTY_TAX_ID = "taxId"; private String taxId; + public static final String JSON_PROPERTY_URL = "url"; + private String url; + public SubMerchantInfo() { } @@ -92,6 +109,66 @@ public void setAddress(BillingAddress address) { } + public SubMerchantInfo amount(Amount amount) { + this.amount = amount; + return this; + } + + /** + * Get amount + * @return amount + **/ + @ApiModelProperty(value = "") + @JsonProperty(JSON_PROPERTY_AMOUNT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public Amount getAmount() { + return amount; + } + + + /** + * amount + * + * @param amount + */ + @JsonProperty(JSON_PROPERTY_AMOUNT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAmount(Amount amount) { + this.amount = amount; + } + + + public SubMerchantInfo email(String email) { + this.email = email; + return this; + } + + /** + * Get email + * @return email + **/ + @ApiModelProperty(value = "") + @JsonProperty(JSON_PROPERTY_EMAIL) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getEmail() { + return email; + } + + + /** + * email + * + * @param email + */ + @JsonProperty(JSON_PROPERTY_EMAIL) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setEmail(String email) { + this.email = email; + } + + public SubMerchantInfo id(String id) { this.id = id; return this; @@ -182,6 +259,36 @@ public void setName(String name) { } + public SubMerchantInfo phoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + return this; + } + + /** + * Get phoneNumber + * @return phoneNumber + **/ + @ApiModelProperty(value = "") + @JsonProperty(JSON_PROPERTY_PHONE_NUMBER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getPhoneNumber() { + return phoneNumber; + } + + + /** + * phoneNumber + * + * @param phoneNumber + */ + @JsonProperty(JSON_PROPERTY_PHONE_NUMBER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + public SubMerchantInfo registeredSince(String registeredSince) { this.registeredSince = registeredSince; return this; @@ -242,6 +349,36 @@ public void setTaxId(String taxId) { } + public SubMerchantInfo url(String url) { + this.url = url; + return this; + } + + /** + * Get url + * @return url + **/ + @ApiModelProperty(value = "") + @JsonProperty(JSON_PROPERTY_URL) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getUrl() { + return url; + } + + + /** + * url + * + * @param url + */ + @JsonProperty(JSON_PROPERTY_URL) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setUrl(String url) { + this.url = url; + } + + /** * Return true if this SubMerchantInfo object is equal to o. */ @@ -255,16 +392,20 @@ public boolean equals(Object o) { } SubMerchantInfo subMerchantInfo = (SubMerchantInfo) o; return Objects.equals(this.address, subMerchantInfo.address) && + Objects.equals(this.amount, subMerchantInfo.amount) && + Objects.equals(this.email, subMerchantInfo.email) && Objects.equals(this.id, subMerchantInfo.id) && Objects.equals(this.mcc, subMerchantInfo.mcc) && Objects.equals(this.name, subMerchantInfo.name) && + Objects.equals(this.phoneNumber, subMerchantInfo.phoneNumber) && Objects.equals(this.registeredSince, subMerchantInfo.registeredSince) && - Objects.equals(this.taxId, subMerchantInfo.taxId); + Objects.equals(this.taxId, subMerchantInfo.taxId) && + Objects.equals(this.url, subMerchantInfo.url); } @Override public int hashCode() { - return Objects.hash(address, id, mcc, name, registeredSince, taxId); + return Objects.hash(address, amount, email, id, mcc, name, phoneNumber, registeredSince, taxId, url); } @Override @@ -272,11 +413,15 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class SubMerchantInfo {\n"); sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); + sb.append(" email: ").append(toIndentedString(email)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" mcc: ").append(toIndentedString(mcc)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).append("\n"); sb.append(" registeredSince: ").append(toIndentedString(registeredSince)).append("\n"); sb.append(" taxId: ").append(toIndentedString(taxId)).append("\n"); + sb.append(" url: ").append(toIndentedString(url)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/com/adyen/model/configurationwebhooks/AccountHolder.java b/src/main/java/com/adyen/model/configurationwebhooks/AccountHolder.java index 40bcaefa5..c785b5953 100644 --- a/src/main/java/com/adyen/model/configurationwebhooks/AccountHolder.java +++ b/src/main/java/com/adyen/model/configurationwebhooks/AccountHolder.java @@ -61,6 +61,7 @@ public class AccountHolder { private Map capabilities = null; public static final String JSON_PROPERTY_CONTACT_DETAILS = "contactDetails"; + @Deprecated private ContactDetails contactDetails; public static final String JSON_PROPERTY_DESCRIPTION = "description"; @@ -201,6 +202,7 @@ public void setCapabilities(Map capabilities) { } + @Deprecated public AccountHolder contactDetails(ContactDetails contactDetails) { this.contactDetails = contactDetails; return this; @@ -209,7 +211,9 @@ public AccountHolder contactDetails(ContactDetails contactDetails) { /** * Get contactDetails * @return contactDetails + * @deprecated **/ + @Deprecated @ApiModelProperty(value = "") @JsonProperty(JSON_PROPERTY_CONTACT_DETAILS) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -224,6 +228,7 @@ public ContactDetails getContactDetails() { * * @param contactDetails */ + @Deprecated @JsonProperty(JSON_PROPERTY_CONTACT_DETAILS) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public void setContactDetails(ContactDetails contactDetails) { diff --git a/src/main/java/com/adyen/model/configurationwebhooks/BalancePlatformNotificationResponse.java b/src/main/java/com/adyen/model/configurationwebhooks/BalancePlatformNotificationResponse.java index 0b9388969..844574281 100644 --- a/src/main/java/com/adyen/model/configurationwebhooks/BalancePlatformNotificationResponse.java +++ b/src/main/java/com/adyen/model/configurationwebhooks/BalancePlatformNotificationResponse.java @@ -47,10 +47,10 @@ public BalancePlatformNotificationResponse notificationResponse(String notificat } /** - * Respond with **HTTP 200 OK** and `[accepted]` in the response body to [accept the webhook](https://docs.adyen.com/development-resources/webhooks#accept-notifications). + * Respond with any **2xx** HTTP status code to [accept the webhook](https://docs.adyen.com/development-resources/webhooks#accept-notifications). * @return notificationResponse **/ - @ApiModelProperty(value = "Respond with **HTTP 200 OK** and `[accepted]` in the response body to [accept the webhook](https://docs.adyen.com/development-resources/webhooks#accept-notifications).") + @ApiModelProperty(value = "Respond with any **2xx** HTTP status code to [accept the webhook](https://docs.adyen.com/development-resources/webhooks#accept-notifications).") @JsonProperty(JSON_PROPERTY_NOTIFICATION_RESPONSE) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -60,7 +60,7 @@ public String getNotificationResponse() { /** - * Respond with **HTTP 200 OK** and `[accepted]` in the response body to [accept the webhook](https://docs.adyen.com/development-resources/webhooks#accept-notifications). + * Respond with any **2xx** HTTP status code to [accept the webhook](https://docs.adyen.com/development-resources/webhooks#accept-notifications). * * @param notificationResponse */ diff --git a/src/main/java/com/adyen/model/configurationwebhooks/ContactDetails.java b/src/main/java/com/adyen/model/configurationwebhooks/ContactDetails.java index 4c7083b0e..bfdbe340a 100644 --- a/src/main/java/com/adyen/model/configurationwebhooks/ContactDetails.java +++ b/src/main/java/com/adyen/model/configurationwebhooks/ContactDetails.java @@ -31,7 +31,9 @@ /** * ContactDetails + * @deprecated */ +@Deprecated @JsonPropertyOrder({ ContactDetails.JSON_PROPERTY_ADDRESS, ContactDetails.JSON_PROPERTY_EMAIL, diff --git a/src/main/java/com/adyen/model/configurationwebhooks/PaymentInstrument.java b/src/main/java/com/adyen/model/configurationwebhooks/PaymentInstrument.java index 2bef88d40..b837ed90e 100644 --- a/src/main/java/com/adyen/model/configurationwebhooks/PaymentInstrument.java +++ b/src/main/java/com/adyen/model/configurationwebhooks/PaymentInstrument.java @@ -46,6 +46,7 @@ PaymentInstrument.JSON_PROPERTY_PAYMENT_INSTRUMENT_GROUP_ID, PaymentInstrument.JSON_PROPERTY_REFERENCE, PaymentInstrument.JSON_PROPERTY_STATUS, + PaymentInstrument.JSON_PROPERTY_STATUS_COMMENT, PaymentInstrument.JSON_PROPERTY_STATUS_REASON, PaymentInstrument.JSON_PROPERTY_TYPE }) @@ -121,6 +122,9 @@ public static StatusEnum fromValue(String value) { public static final String JSON_PROPERTY_STATUS = "status"; private StatusEnum status; + public static final String JSON_PROPERTY_STATUS_COMMENT = "statusComment"; + private String statusComment; + /** * The reason for the status of the payment instrument. Possible values: **accountClosure**, **damaged**, **endOfLife**, **expired**, **lost**, **stolen**, **suspectedFraud**, **transactionRule**, **other**. If the reason is **other**, you must also send the `statusComment` parameter describing the status change. */ @@ -526,6 +530,36 @@ public void setStatus(StatusEnum status) { } + public PaymentInstrument statusComment(String statusComment) { + this.statusComment = statusComment; + return this; + } + + /** + * The status comment provides additional information for the statusReason of the payment instrument. + * @return statusComment + **/ + @ApiModelProperty(value = "The status comment provides additional information for the statusReason of the payment instrument.") + @JsonProperty(JSON_PROPERTY_STATUS_COMMENT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getStatusComment() { + return statusComment; + } + + + /** + * The status comment provides additional information for the statusReason of the payment instrument. + * + * @param statusComment + */ + @JsonProperty(JSON_PROPERTY_STATUS_COMMENT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setStatusComment(String statusComment) { + this.statusComment = statusComment; + } + + public PaymentInstrument statusReason(StatusReasonEnum statusReason) { this.statusReason = statusReason; return this; @@ -608,13 +642,14 @@ public boolean equals(Object o) { Objects.equals(this.paymentInstrumentGroupId, paymentInstrument.paymentInstrumentGroupId) && Objects.equals(this.reference, paymentInstrument.reference) && Objects.equals(this.status, paymentInstrument.status) && + Objects.equals(this.statusComment, paymentInstrument.statusComment) && Objects.equals(this.statusReason, paymentInstrument.statusReason) && Objects.equals(this.type, paymentInstrument.type); } @Override public int hashCode() { - return Objects.hash(additionalBankAccountIdentifications, balanceAccountId, bankAccount, card, description, id, issuingCountryCode, paymentInstrumentGroupId, reference, status, statusReason, type); + return Objects.hash(additionalBankAccountIdentifications, balanceAccountId, bankAccount, card, description, id, issuingCountryCode, paymentInstrumentGroupId, reference, status, statusComment, statusReason, type); } @Override @@ -631,6 +666,7 @@ public String toString() { sb.append(" paymentInstrumentGroupId: ").append(toIndentedString(paymentInstrumentGroupId)).append("\n"); sb.append(" reference: ").append(toIndentedString(reference)).append("\n"); sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" statusComment: ").append(toIndentedString(statusComment)).append("\n"); sb.append(" statusReason: ").append(toIndentedString(statusReason)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append("}"); diff --git a/src/main/java/com/adyen/model/configurationwebhooks/SweepConfigurationV2.java b/src/main/java/com/adyen/model/configurationwebhooks/SweepConfigurationV2.java index bf8127a60..238c236b6 100644 --- a/src/main/java/com/adyen/model/configurationwebhooks/SweepConfigurationV2.java +++ b/src/main/java/com/adyen/model/configurationwebhooks/SweepConfigurationV2.java @@ -174,6 +174,8 @@ public enum ReasonEnum { COUNTERPARTYBANKUNAVAILABLE("counterpartyBankUnavailable"), + DECLINED("declined"), + DECLINEDBYTRANSACTIONRULE("declinedByTransactionRule"), ERROR("error"), @@ -481,10 +483,10 @@ public SweepConfigurationV2 addPrioritiesItem(PrioritiesEnum prioritiesItem) { } /** - * The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority you list first. If that's not possible, it moves on to the next option in the order of your provided priorities. Possible values: * **regular**: For normal, low-value transactions. * **fast**: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions. * **wire**: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: Instant way to transfer funds in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: High-value transfer to a recipient in a different country. * **internal**: Transfer to an Adyen-issued business bank account (by bank account number/IBAN). Set `category` to **bank**. For more details, see optional priorities setup for [marketplaces](https://docs.adyen.com/marketplaces/payout-to-users/scheduled-payouts#optional-priorities-setup) or [platforms](https://docs.adyen.com/platforms/payout-to-users/scheduled-payouts#optional-priorities-setup). + * The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority you list first. If that's not possible, it moves on to the next option in the order of your provided priorities. Possible values: * **regular**: for normal, low-value transactions. * **fast**: a faster way to transfer funds, but the fees are higher. Recommended for high-priority, low-value transactions. * **wire**: the fastest way to transfer funds, but this has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: for instant funds transfers in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: for high-value transfers to a recipient in a different country. * **internal**: for transfers to an Adyen-issued business bank account (by bank account number/IBAN). Set `category` to **bank**. For more details, see optional priorities setup for [marketplaces](https://docs.adyen.com/marketplaces/payout-to-users/scheduled-payouts#optional-priorities-setup) or [platforms](https://docs.adyen.com/platforms/payout-to-users/scheduled-payouts#optional-priorities-setup). * @return priorities **/ - @ApiModelProperty(value = "The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority you list first. If that's not possible, it moves on to the next option in the order of your provided priorities. Possible values: * **regular**: For normal, low-value transactions. * **fast**: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions. * **wire**: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: Instant way to transfer funds in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: High-value transfer to a recipient in a different country. * **internal**: Transfer to an Adyen-issued business bank account (by bank account number/IBAN). Set `category` to **bank**. For more details, see optional priorities setup for [marketplaces](https://docs.adyen.com/marketplaces/payout-to-users/scheduled-payouts#optional-priorities-setup) or [platforms](https://docs.adyen.com/platforms/payout-to-users/scheduled-payouts#optional-priorities-setup).") + @ApiModelProperty(value = "The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority you list first. If that's not possible, it moves on to the next option in the order of your provided priorities. Possible values: * **regular**: for normal, low-value transactions. * **fast**: a faster way to transfer funds, but the fees are higher. Recommended for high-priority, low-value transactions. * **wire**: the fastest way to transfer funds, but this has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: for instant funds transfers in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: for high-value transfers to a recipient in a different country. * **internal**: for transfers to an Adyen-issued business bank account (by bank account number/IBAN). Set `category` to **bank**. For more details, see optional priorities setup for [marketplaces](https://docs.adyen.com/marketplaces/payout-to-users/scheduled-payouts#optional-priorities-setup) or [platforms](https://docs.adyen.com/platforms/payout-to-users/scheduled-payouts#optional-priorities-setup).") @JsonProperty(JSON_PROPERTY_PRIORITIES) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -494,7 +496,7 @@ public List getPriorities() { /** - * The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority you list first. If that's not possible, it moves on to the next option in the order of your provided priorities. Possible values: * **regular**: For normal, low-value transactions. * **fast**: Faster way to transfer funds but has higher fees. Recommended for high-priority, low-value transactions. * **wire**: Fastest way to transfer funds but has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: Instant way to transfer funds in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: High-value transfer to a recipient in a different country. * **internal**: Transfer to an Adyen-issued business bank account (by bank account number/IBAN). Set `category` to **bank**. For more details, see optional priorities setup for [marketplaces](https://docs.adyen.com/marketplaces/payout-to-users/scheduled-payouts#optional-priorities-setup) or [platforms](https://docs.adyen.com/platforms/payout-to-users/scheduled-payouts#optional-priorities-setup). + * The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority you list first. If that's not possible, it moves on to the next option in the order of your provided priorities. Possible values: * **regular**: for normal, low-value transactions. * **fast**: a faster way to transfer funds, but the fees are higher. Recommended for high-priority, low-value transactions. * **wire**: the fastest way to transfer funds, but this has the highest fees. Recommended for high-priority, high-value transactions. * **instant**: for instant funds transfers in [SEPA countries](https://www.ecb.europa.eu/paym/integration/retail/sepa/html/index.en.html). * **crossBorder**: for high-value transfers to a recipient in a different country. * **internal**: for transfers to an Adyen-issued business bank account (by bank account number/IBAN). Set `category` to **bank**. For more details, see optional priorities setup for [marketplaces](https://docs.adyen.com/marketplaces/payout-to-users/scheduled-payouts#optional-priorities-setup) or [platforms](https://docs.adyen.com/platforms/payout-to-users/scheduled-payouts#optional-priorities-setup). * * @param priorities */ diff --git a/src/main/java/com/adyen/model/configurationwebhooks/SweepCounterparty.java b/src/main/java/com/adyen/model/configurationwebhooks/SweepCounterparty.java index d521cdcfd..bf0fc8de6 100644 --- a/src/main/java/com/adyen/model/configurationwebhooks/SweepCounterparty.java +++ b/src/main/java/com/adyen/model/configurationwebhooks/SweepCounterparty.java @@ -55,10 +55,10 @@ public SweepCounterparty balanceAccountId(String balanceAccountId) { } /** - * The unique identifier of the destination or source [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id). You can only use this for periodic sweep schedules such as `schedule.type` **daily** or **monthly**. + * The unique identifier of the destination or source [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id). > If you are updating the counterparty from a transfer instrument to a balance account, set `transferInstrumentId` to **null**. * @return balanceAccountId **/ - @ApiModelProperty(value = "The unique identifier of the destination or source [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id). You can only use this for periodic sweep schedules such as `schedule.type` **daily** or **monthly**.") + @ApiModelProperty(value = "The unique identifier of the destination or source [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id). > If you are updating the counterparty from a transfer instrument to a balance account, set `transferInstrumentId` to **null**.") @JsonProperty(JSON_PROPERTY_BALANCE_ACCOUNT_ID) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -68,7 +68,7 @@ public String getBalanceAccountId() { /** - * The unique identifier of the destination or source [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id). You can only use this for periodic sweep schedules such as `schedule.type` **daily** or **monthly**. + * The unique identifier of the destination or source [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id). > If you are updating the counterparty from a transfer instrument to a balance account, set `transferInstrumentId` to **null**. * * @param balanceAccountId */ @@ -85,10 +85,10 @@ public SweepCounterparty merchantAccount(String merchantAccount) { } /** - * The merchant account that will be the source of funds. You can only use this parameter with sweeps of `type` **pull** and `schedule.type` **balance**, and if you are processing payments with Adyen. + * The merchant account that will be the source of funds. You can only use this parameter with sweeps of `type` **pull** and if you are processing payments with Adyen. * @return merchantAccount **/ - @ApiModelProperty(value = "The merchant account that will be the source of funds. You can only use this parameter with sweeps of `type` **pull** and `schedule.type` **balance**, and if you are processing payments with Adyen.") + @ApiModelProperty(value = "The merchant account that will be the source of funds. You can only use this parameter with sweeps of `type` **pull** and if you are processing payments with Adyen.") @JsonProperty(JSON_PROPERTY_MERCHANT_ACCOUNT) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -98,7 +98,7 @@ public String getMerchantAccount() { /** - * The merchant account that will be the source of funds. You can only use this parameter with sweeps of `type` **pull** and `schedule.type` **balance**, and if you are processing payments with Adyen. + * The merchant account that will be the source of funds. You can only use this parameter with sweeps of `type` **pull** and if you are processing payments with Adyen. * * @param merchantAccount */ @@ -115,10 +115,10 @@ public SweepCounterparty transferInstrumentId(String transferInstrumentId) { } /** - * The unique identifier of the destination or source [transfer instrument](https://docs.adyen.com/api-explorer/legalentity/latest/post/transferInstruments#responses-200-id) depending on the sweep `type`. To set up automated top-up sweeps to balance accounts in your [marketplace](https://docs.adyen.com/marketplaces/top-up-balance-account/#before-you-begin) or [platform](https://docs.adyen.com/platforms/top-up-balance-account/#before-you-begin), use this parameter in combination with a `merchantAccount` and a sweep `type` of **pull**. Top-up sweeps start a direct debit request from the source transfer instrument. Contact Adyen Support to enable this feature. + * The unique identifier of the destination or source [transfer instrument](https://docs.adyen.com/api-explorer/legalentity/latest/post/transferInstruments#responses-200-id) depending on the sweep `type` . To set up automated top-up sweeps to balance accounts in your [marketplace](https://docs.adyen.com/marketplaces/top-up-balance-account/#before-you-begin) or [platform](https://docs.adyen.com/platforms/top-up-balance-account/#before-you-begin), use this parameter in combination with a `merchantAccount` and a sweep `type` of **pull**. Top-up sweeps start a direct debit request from the source transfer instrument. Contact Adyen Support to enable this feature.> If you are updating the counterparty from a balance account to a transfer instrument, set `balanceAccountId` to **null**. * @return transferInstrumentId **/ - @ApiModelProperty(value = "The unique identifier of the destination or source [transfer instrument](https://docs.adyen.com/api-explorer/legalentity/latest/post/transferInstruments#responses-200-id) depending on the sweep `type`. To set up automated top-up sweeps to balance accounts in your [marketplace](https://docs.adyen.com/marketplaces/top-up-balance-account/#before-you-begin) or [platform](https://docs.adyen.com/platforms/top-up-balance-account/#before-you-begin), use this parameter in combination with a `merchantAccount` and a sweep `type` of **pull**. Top-up sweeps start a direct debit request from the source transfer instrument. Contact Adyen Support to enable this feature.") + @ApiModelProperty(value = "The unique identifier of the destination or source [transfer instrument](https://docs.adyen.com/api-explorer/legalentity/latest/post/transferInstruments#responses-200-id) depending on the sweep `type` . To set up automated top-up sweeps to balance accounts in your [marketplace](https://docs.adyen.com/marketplaces/top-up-balance-account/#before-you-begin) or [platform](https://docs.adyen.com/platforms/top-up-balance-account/#before-you-begin), use this parameter in combination with a `merchantAccount` and a sweep `type` of **pull**. Top-up sweeps start a direct debit request from the source transfer instrument. Contact Adyen Support to enable this feature.> If you are updating the counterparty from a balance account to a transfer instrument, set `balanceAccountId` to **null**.") @JsonProperty(JSON_PROPERTY_TRANSFER_INSTRUMENT_ID) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -128,7 +128,7 @@ public String getTransferInstrumentId() { /** - * The unique identifier of the destination or source [transfer instrument](https://docs.adyen.com/api-explorer/legalentity/latest/post/transferInstruments#responses-200-id) depending on the sweep `type`. To set up automated top-up sweeps to balance accounts in your [marketplace](https://docs.adyen.com/marketplaces/top-up-balance-account/#before-you-begin) or [platform](https://docs.adyen.com/platforms/top-up-balance-account/#before-you-begin), use this parameter in combination with a `merchantAccount` and a sweep `type` of **pull**. Top-up sweeps start a direct debit request from the source transfer instrument. Contact Adyen Support to enable this feature. + * The unique identifier of the destination or source [transfer instrument](https://docs.adyen.com/api-explorer/legalentity/latest/post/transferInstruments#responses-200-id) depending on the sweep `type` . To set up automated top-up sweeps to balance accounts in your [marketplace](https://docs.adyen.com/marketplaces/top-up-balance-account/#before-you-begin) or [platform](https://docs.adyen.com/platforms/top-up-balance-account/#before-you-begin), use this parameter in combination with a `merchantAccount` and a sweep `type` of **pull**. Top-up sweeps start a direct debit request from the source transfer instrument. Contact Adyen Support to enable this feature.> If you are updating the counterparty from a balance account to a transfer instrument, set `balanceAccountId` to **null**. * * @param transferInstrumentId */ diff --git a/src/main/java/com/adyen/model/configurationwebhooks/SweepSchedule.java b/src/main/java/com/adyen/model/configurationwebhooks/SweepSchedule.java index 892b3e216..14e80046f 100644 --- a/src/main/java/com/adyen/model/configurationwebhooks/SweepSchedule.java +++ b/src/main/java/com/adyen/model/configurationwebhooks/SweepSchedule.java @@ -40,7 +40,7 @@ public class SweepSchedule { private String cronExpression; /** - * The schedule type. Possible values: * **cron**: push out funds based on a `cronExpression`. * **daily**: push out funds daily at 07:00 AM CET. * **weekly**: push out funds every Monday at 07:00 AM CET. * **monthly**: push out funds every first of the month at 07:00 AM CET. * **balance**: pull in funds instantly if the balance is less than or equal to the `triggerAmount`. You can only use this for sweeps of `type` **pull** and when the source is a `merchantAccount` or `transferInstrument`. If the source is transferInstrument, merchant account identifier is still required, with which you want to process the transaction. + * The schedule type. Possible values: * **cron**: push out funds based on a `cronExpression`. * **daily**: push out funds daily at 07:00 AM CET. * **weekly**: push out funds every Monday at 07:00 AM CET. * **monthly**: push out funds every first of the month at 07:00 AM CET. * **balance**: execute the sweep instantly if the `triggerAmount` is reached. */ public enum TypeEnum { DAILY("daily"), @@ -122,10 +122,10 @@ public SweepSchedule type(TypeEnum type) { } /** - * The schedule type. Possible values: * **cron**: push out funds based on a `cronExpression`. * **daily**: push out funds daily at 07:00 AM CET. * **weekly**: push out funds every Monday at 07:00 AM CET. * **monthly**: push out funds every first of the month at 07:00 AM CET. * **balance**: pull in funds instantly if the balance is less than or equal to the `triggerAmount`. You can only use this for sweeps of `type` **pull** and when the source is a `merchantAccount` or `transferInstrument`. If the source is transferInstrument, merchant account identifier is still required, with which you want to process the transaction. + * The schedule type. Possible values: * **cron**: push out funds based on a `cronExpression`. * **daily**: push out funds daily at 07:00 AM CET. * **weekly**: push out funds every Monday at 07:00 AM CET. * **monthly**: push out funds every first of the month at 07:00 AM CET. * **balance**: execute the sweep instantly if the `triggerAmount` is reached. * @return type **/ - @ApiModelProperty(required = true, value = "The schedule type. Possible values: * **cron**: push out funds based on a `cronExpression`. * **daily**: push out funds daily at 07:00 AM CET. * **weekly**: push out funds every Monday at 07:00 AM CET. * **monthly**: push out funds every first of the month at 07:00 AM CET. * **balance**: pull in funds instantly if the balance is less than or equal to the `triggerAmount`. You can only use this for sweeps of `type` **pull** and when the source is a `merchantAccount` or `transferInstrument`. If the source is transferInstrument, merchant account identifier is still required, with which you want to process the transaction. ") + @ApiModelProperty(required = true, value = "The schedule type. Possible values: * **cron**: push out funds based on a `cronExpression`. * **daily**: push out funds daily at 07:00 AM CET. * **weekly**: push out funds every Monday at 07:00 AM CET. * **monthly**: push out funds every first of the month at 07:00 AM CET. * **balance**: execute the sweep instantly if the `triggerAmount` is reached. ") @JsonProperty(JSON_PROPERTY_TYPE) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -135,7 +135,7 @@ public TypeEnum getType() { /** - * The schedule type. Possible values: * **cron**: push out funds based on a `cronExpression`. * **daily**: push out funds daily at 07:00 AM CET. * **weekly**: push out funds every Monday at 07:00 AM CET. * **monthly**: push out funds every first of the month at 07:00 AM CET. * **balance**: pull in funds instantly if the balance is less than or equal to the `triggerAmount`. You can only use this for sweeps of `type` **pull** and when the source is a `merchantAccount` or `transferInstrument`. If the source is transferInstrument, merchant account identifier is still required, with which you want to process the transaction. + * The schedule type. Possible values: * **cron**: push out funds based on a `cronExpression`. * **daily**: push out funds daily at 07:00 AM CET. * **weekly**: push out funds every Monday at 07:00 AM CET. * **monthly**: push out funds every first of the month at 07:00 AM CET. * **balance**: execute the sweep instantly if the `triggerAmount` is reached. * * @param type */ diff --git a/src/main/java/com/adyen/model/payment/AdditionalDataAirline.java b/src/main/java/com/adyen/model/payment/AdditionalDataAirline.java index b1d09fb45..721c2436e 100644 --- a/src/main/java/com/adyen/model/payment/AdditionalDataAirline.java +++ b/src/main/java/com/adyen/model/payment/AdditionalDataAirline.java @@ -40,6 +40,7 @@ AdditionalDataAirline.JSON_PROPERTY_AIRLINE_CUSTOMER_REFERENCE_NUMBER, AdditionalDataAirline.JSON_PROPERTY_AIRLINE_DOCUMENT_TYPE, AdditionalDataAirline.JSON_PROPERTY_AIRLINE_FLIGHT_DATE, + AdditionalDataAirline.JSON_PROPERTY_AIRLINE_ISSUE_DATE, AdditionalDataAirline.JSON_PROPERTY_AIRLINE_LEG_CARRIER_CODE, AdditionalDataAirline.JSON_PROPERTY_AIRLINE_LEG_CLASS_OF_TRAVEL, AdditionalDataAirline.JSON_PROPERTY_AIRLINE_LEG_DATE_OF_TRAVEL, @@ -89,6 +90,9 @@ public class AdditionalDataAirline { public static final String JSON_PROPERTY_AIRLINE_FLIGHT_DATE = "airline.flight_date"; private String airlineFlightDate; + public static final String JSON_PROPERTY_AIRLINE_ISSUE_DATE = "airline.issue_date"; + private String airlineIssueDate; + public static final String JSON_PROPERTY_AIRLINE_LEG_CARRIER_CODE = "airline.leg.carrier_code"; private String airlineLegCarrierCode; @@ -419,6 +423,36 @@ public void setAirlineFlightDate(String airlineFlightDate) { } + public AdditionalDataAirline airlineIssueDate(String airlineIssueDate) { + this.airlineIssueDate = airlineIssueDate; + return this; + } + + /** + * The date that the ticket was issued to the passenger. * minLength: 6 characters * maxLength: 6 characters * Date format: YYMMDD + * @return airlineIssueDate + **/ + @ApiModelProperty(value = "The date that the ticket was issued to the passenger. * minLength: 6 characters * maxLength: 6 characters * Date format: YYMMDD") + @JsonProperty(JSON_PROPERTY_AIRLINE_ISSUE_DATE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getAirlineIssueDate() { + return airlineIssueDate; + } + + + /** + * The date that the ticket was issued to the passenger. * minLength: 6 characters * maxLength: 6 characters * Date format: YYMMDD + * + * @param airlineIssueDate + */ + @JsonProperty(JSON_PROPERTY_AIRLINE_ISSUE_DATE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAirlineIssueDate(String airlineIssueDate) { + this.airlineIssueDate = airlineIssueDate; + } + + public AdditionalDataAirline airlineLegCarrierCode(String airlineLegCarrierCode) { this.airlineLegCarrierCode = airlineLegCarrierCode; return this; @@ -1010,6 +1044,7 @@ public boolean equals(Object o) { Objects.equals(this.airlineCustomerReferenceNumber, additionalDataAirline.airlineCustomerReferenceNumber) && Objects.equals(this.airlineDocumentType, additionalDataAirline.airlineDocumentType) && Objects.equals(this.airlineFlightDate, additionalDataAirline.airlineFlightDate) && + Objects.equals(this.airlineIssueDate, additionalDataAirline.airlineIssueDate) && Objects.equals(this.airlineLegCarrierCode, additionalDataAirline.airlineLegCarrierCode) && Objects.equals(this.airlineLegClassOfTravel, additionalDataAirline.airlineLegClassOfTravel) && Objects.equals(this.airlineLegDateOfTravel, additionalDataAirline.airlineLegDateOfTravel) && @@ -1033,7 +1068,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(airlineAgencyInvoiceNumber, airlineAgencyPlanName, airlineAirlineCode, airlineAirlineDesignatorCode, airlineBoardingFee, airlineComputerizedReservationSystem, airlineCustomerReferenceNumber, airlineDocumentType, airlineFlightDate, airlineLegCarrierCode, airlineLegClassOfTravel, airlineLegDateOfTravel, airlineLegDepartAirport, airlineLegDepartTax, airlineLegDestinationCode, airlineLegFareBaseCode, airlineLegFlightNumber, airlineLegStopOverCode, airlinePassengerDateOfBirth, airlinePassengerFirstName, airlinePassengerLastName, airlinePassengerTelephoneNumber, airlinePassengerTravellerType, airlinePassengerName, airlineTicketIssueAddress, airlineTicketNumber, airlineTravelAgencyCode, airlineTravelAgencyName); + return Objects.hash(airlineAgencyInvoiceNumber, airlineAgencyPlanName, airlineAirlineCode, airlineAirlineDesignatorCode, airlineBoardingFee, airlineComputerizedReservationSystem, airlineCustomerReferenceNumber, airlineDocumentType, airlineFlightDate, airlineIssueDate, airlineLegCarrierCode, airlineLegClassOfTravel, airlineLegDateOfTravel, airlineLegDepartAirport, airlineLegDepartTax, airlineLegDestinationCode, airlineLegFareBaseCode, airlineLegFlightNumber, airlineLegStopOverCode, airlinePassengerDateOfBirth, airlinePassengerFirstName, airlinePassengerLastName, airlinePassengerTelephoneNumber, airlinePassengerTravellerType, airlinePassengerName, airlineTicketIssueAddress, airlineTicketNumber, airlineTravelAgencyCode, airlineTravelAgencyName); } @Override @@ -1049,6 +1084,7 @@ public String toString() { sb.append(" airlineCustomerReferenceNumber: ").append(toIndentedString(airlineCustomerReferenceNumber)).append("\n"); sb.append(" airlineDocumentType: ").append(toIndentedString(airlineDocumentType)).append("\n"); sb.append(" airlineFlightDate: ").append(toIndentedString(airlineFlightDate)).append("\n"); + sb.append(" airlineIssueDate: ").append(toIndentedString(airlineIssueDate)).append("\n"); sb.append(" airlineLegCarrierCode: ").append(toIndentedString(airlineLegCarrierCode)).append("\n"); sb.append(" airlineLegClassOfTravel: ").append(toIndentedString(airlineLegClassOfTravel)).append("\n"); sb.append(" airlineLegDateOfTravel: ").append(toIndentedString(airlineLegDateOfTravel)).append("\n"); diff --git a/src/main/java/com/adyen/model/payment/AdditionalDataLodging.java b/src/main/java/com/adyen/model/payment/AdditionalDataLodging.java index 12febe380..364fc475e 100644 --- a/src/main/java/com/adyen/model/payment/AdditionalDataLodging.java +++ b/src/main/java/com/adyen/model/payment/AdditionalDataLodging.java @@ -31,6 +31,7 @@ * AdditionalDataLodging */ @JsonPropertyOrder({ + AdditionalDataLodging.JSON_PROPERTY_LODGING_SPECIAL_PROGRAM_CODE, AdditionalDataLodging.JSON_PROPERTY_LODGING_CHECK_IN_DATE, AdditionalDataLodging.JSON_PROPERTY_LODGING_CHECK_OUT_DATE, AdditionalDataLodging.JSON_PROPERTY_LODGING_CUSTOMER_SERVICE_TOLL_FREE_NUMBER, @@ -50,6 +51,9 @@ }) public class AdditionalDataLodging { + public static final String JSON_PROPERTY_LODGING_SPECIAL_PROGRAM_CODE = "lodging.SpecialProgramCode"; + private String lodgingSpecialProgramCode; + public static final String JSON_PROPERTY_LODGING_CHECK_IN_DATE = "lodging.checkInDate"; private String lodgingCheckInDate; @@ -101,6 +105,36 @@ public class AdditionalDataLodging { public AdditionalDataLodging() { } + public AdditionalDataLodging lodgingSpecialProgramCode(String lodgingSpecialProgramCode) { + this.lodgingSpecialProgramCode = lodgingSpecialProgramCode; + return this; + } + + /** + * A code that corresponds to the category of lodging charges for the payment. Possible values: * 1: Lodging * 2: No show reservation * 3: Advanced deposit + * @return lodgingSpecialProgramCode + **/ + @ApiModelProperty(value = "A code that corresponds to the category of lodging charges for the payment. Possible values: * 1: Lodging * 2: No show reservation * 3: Advanced deposit") + @JsonProperty(JSON_PROPERTY_LODGING_SPECIAL_PROGRAM_CODE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getLodgingSpecialProgramCode() { + return lodgingSpecialProgramCode; + } + + + /** + * A code that corresponds to the category of lodging charges for the payment. Possible values: * 1: Lodging * 2: No show reservation * 3: Advanced deposit + * + * @param lodgingSpecialProgramCode + */ + @JsonProperty(JSON_PROPERTY_LODGING_SPECIAL_PROGRAM_CODE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setLodgingSpecialProgramCode(String lodgingSpecialProgramCode) { + this.lodgingSpecialProgramCode = lodgingSpecialProgramCode; + } + + public AdditionalDataLodging lodgingCheckInDate(String lodgingCheckInDate) { this.lodgingCheckInDate = lodgingCheckInDate; return this; @@ -593,7 +627,8 @@ public boolean equals(Object o) { return false; } AdditionalDataLodging additionalDataLodging = (AdditionalDataLodging) o; - return Objects.equals(this.lodgingCheckInDate, additionalDataLodging.lodgingCheckInDate) && + return Objects.equals(this.lodgingSpecialProgramCode, additionalDataLodging.lodgingSpecialProgramCode) && + Objects.equals(this.lodgingCheckInDate, additionalDataLodging.lodgingCheckInDate) && Objects.equals(this.lodgingCheckOutDate, additionalDataLodging.lodgingCheckOutDate) && Objects.equals(this.lodgingCustomerServiceTollFreeNumber, additionalDataLodging.lodgingCustomerServiceTollFreeNumber) && Objects.equals(this.lodgingFireSafetyActIndicator, additionalDataLodging.lodgingFireSafetyActIndicator) && @@ -613,13 +648,14 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(lodgingCheckInDate, lodgingCheckOutDate, lodgingCustomerServiceTollFreeNumber, lodgingFireSafetyActIndicator, lodgingFolioCashAdvances, lodgingFolioNumber, lodgingFoodBeverageCharges, lodgingNoShowIndicator, lodgingPrepaidExpenses, lodgingPropertyPhoneNumber, lodgingRoom1NumberOfNights, lodgingRoom1Rate, lodgingTotalRoomTax, lodgingTotalTax, travelEntertainmentAuthDataDuration, travelEntertainmentAuthDataMarket); + return Objects.hash(lodgingSpecialProgramCode, lodgingCheckInDate, lodgingCheckOutDate, lodgingCustomerServiceTollFreeNumber, lodgingFireSafetyActIndicator, lodgingFolioCashAdvances, lodgingFolioNumber, lodgingFoodBeverageCharges, lodgingNoShowIndicator, lodgingPrepaidExpenses, lodgingPropertyPhoneNumber, lodgingRoom1NumberOfNights, lodgingRoom1Rate, lodgingTotalRoomTax, lodgingTotalTax, travelEntertainmentAuthDataDuration, travelEntertainmentAuthDataMarket); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class AdditionalDataLodging {\n"); + sb.append(" lodgingSpecialProgramCode: ").append(toIndentedString(lodgingSpecialProgramCode)).append("\n"); sb.append(" lodgingCheckInDate: ").append(toIndentedString(lodgingCheckInDate)).append("\n"); sb.append(" lodgingCheckOutDate: ").append(toIndentedString(lodgingCheckOutDate)).append("\n"); sb.append(" lodgingCustomerServiceTollFreeNumber: ").append(toIndentedString(lodgingCustomerServiceTollFreeNumber)).append("\n"); diff --git a/src/main/java/com/adyen/model/payment/AdditionalDataRiskStandalone.java b/src/main/java/com/adyen/model/payment/AdditionalDataRiskStandalone.java index e4524df9d..8a015b72a 100644 --- a/src/main/java/com/adyen/model/payment/AdditionalDataRiskStandalone.java +++ b/src/main/java/com/adyen/model/payment/AdditionalDataRiskStandalone.java @@ -373,10 +373,10 @@ public AdditionalDataRiskStandalone bin(String bin) { } /** - * The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request). + * The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/online-payments/tokenization). * @return bin **/ - @ApiModelProperty(value = "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).") + @ApiModelProperty(value = "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/online-payments/tokenization).") @JsonProperty(JSON_PROPERTY_BIN) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -386,7 +386,7 @@ public String getBin() { /** - * The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request). + * The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/online-payments/tokenization). * * @param bin */ diff --git a/src/main/java/com/adyen/model/payment/PaymentRequest.java b/src/main/java/com/adyen/model/payment/PaymentRequest.java index dde41ddab..5d6530968 100644 --- a/src/main/java/com/adyen/model/payment/PaymentRequest.java +++ b/src/main/java/com/adyen/model/payment/PaymentRequest.java @@ -32,6 +32,7 @@ import com.adyen.model.payment.Name; import com.adyen.model.payment.PlatformChargebackLogic; import com.adyen.model.payment.Recurring; +import com.adyen.model.payment.SecureRemoteCommerceCheckoutData; import com.adyen.model.payment.Split; import com.adyen.model.payment.ThreeDS2RequestData; import com.adyen.model.payment.ThreeDSecureData; @@ -91,6 +92,7 @@ PaymentRequest.JSON_PROPERTY_RECURRING, PaymentRequest.JSON_PROPERTY_RECURRING_PROCESSING_MODEL, PaymentRequest.JSON_PROPERTY_REFERENCE, + PaymentRequest.JSON_PROPERTY_SECURE_REMOTE_COMMERCE_CHECKOUT_DATA, PaymentRequest.JSON_PROPERTY_SELECTED_BRAND, PaymentRequest.JSON_PROPERTY_SELECTED_RECURRING_DETAIL_REFERENCE, PaymentRequest.JSON_PROPERTY_SESSION_ID, @@ -324,6 +326,9 @@ public static RecurringProcessingModelEnum fromValue(String value) { public static final String JSON_PROPERTY_REFERENCE = "reference"; private String reference; + public static final String JSON_PROPERTY_SECURE_REMOTE_COMMERCE_CHECKOUT_DATA = "secureRemoteCommerceCheckoutData"; + private SecureRemoteCommerceCheckoutData secureRemoteCommerceCheckoutData; + public static final String JSON_PROPERTY_SELECTED_BRAND = "selectedBrand"; private String selectedBrand; @@ -1494,6 +1499,36 @@ public void setReference(String reference) { } + public PaymentRequest secureRemoteCommerceCheckoutData(SecureRemoteCommerceCheckoutData secureRemoteCommerceCheckoutData) { + this.secureRemoteCommerceCheckoutData = secureRemoteCommerceCheckoutData; + return this; + } + + /** + * Get secureRemoteCommerceCheckoutData + * @return secureRemoteCommerceCheckoutData + **/ + @ApiModelProperty(value = "") + @JsonProperty(JSON_PROPERTY_SECURE_REMOTE_COMMERCE_CHECKOUT_DATA) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public SecureRemoteCommerceCheckoutData getSecureRemoteCommerceCheckoutData() { + return secureRemoteCommerceCheckoutData; + } + + + /** + * secureRemoteCommerceCheckoutData + * + * @param secureRemoteCommerceCheckoutData + */ + @JsonProperty(JSON_PROPERTY_SECURE_REMOTE_COMMERCE_CHECKOUT_DATA) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setSecureRemoteCommerceCheckoutData(SecureRemoteCommerceCheckoutData secureRemoteCommerceCheckoutData) { + this.secureRemoteCommerceCheckoutData = secureRemoteCommerceCheckoutData; + } + + public PaymentRequest selectedBrand(String selectedBrand) { this.selectedBrand = selectedBrand; return this; @@ -2089,6 +2124,7 @@ public boolean equals(Object o) { Objects.equals(this.recurring, paymentRequest.recurring) && Objects.equals(this.recurringProcessingModel, paymentRequest.recurringProcessingModel) && Objects.equals(this.reference, paymentRequest.reference) && + Objects.equals(this.secureRemoteCommerceCheckoutData, paymentRequest.secureRemoteCommerceCheckoutData) && Objects.equals(this.selectedBrand, paymentRequest.selectedBrand) && Objects.equals(this.selectedRecurringDetailReference, paymentRequest.selectedRecurringDetailReference) && Objects.equals(this.sessionId, paymentRequest.sessionId) && @@ -2111,7 +2147,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(accountInfo, additionalAmount, additionalData, amount, applicationInfo, bankAccount, billingAddress, browserInfo, captureDelayHours, card, dateOfBirth, dccQuote, deliveryAddress, deliveryDate, deviceFingerprint, entityType, fraudOffset, fundDestination, fundSource, fundingSource, installments, localizedShopperStatement, mandate, mcc, merchantAccount, merchantOrderReference, merchantRiskIndicator, metadata, mpiData, nationality, orderReference, platformChargebackLogic, recurring, recurringProcessingModel, reference, selectedBrand, selectedRecurringDetailReference, sessionId, shopperEmail, shopperIP, shopperInteraction, shopperLocale, shopperName, shopperReference, shopperStatement, socialSecurityNumber, splits, store, telephoneNumber, threeDS2RequestData, threeDSAuthenticationOnly, totalsGroup, trustedShopper); + return Objects.hash(accountInfo, additionalAmount, additionalData, amount, applicationInfo, bankAccount, billingAddress, browserInfo, captureDelayHours, card, dateOfBirth, dccQuote, deliveryAddress, deliveryDate, deviceFingerprint, entityType, fraudOffset, fundDestination, fundSource, fundingSource, installments, localizedShopperStatement, mandate, mcc, merchantAccount, merchantOrderReference, merchantRiskIndicator, metadata, mpiData, nationality, orderReference, platformChargebackLogic, recurring, recurringProcessingModel, reference, secureRemoteCommerceCheckoutData, selectedBrand, selectedRecurringDetailReference, sessionId, shopperEmail, shopperIP, shopperInteraction, shopperLocale, shopperName, shopperReference, shopperStatement, socialSecurityNumber, splits, store, telephoneNumber, threeDS2RequestData, threeDSAuthenticationOnly, totalsGroup, trustedShopper); } @Override @@ -2153,6 +2189,7 @@ public String toString() { sb.append(" recurring: ").append(toIndentedString(recurring)).append("\n"); sb.append(" recurringProcessingModel: ").append(toIndentedString(recurringProcessingModel)).append("\n"); sb.append(" reference: ").append(toIndentedString(reference)).append("\n"); + sb.append(" secureRemoteCommerceCheckoutData: ").append(toIndentedString(secureRemoteCommerceCheckoutData)).append("\n"); sb.append(" selectedBrand: ").append(toIndentedString(selectedBrand)).append("\n"); sb.append(" selectedRecurringDetailReference: ").append(toIndentedString(selectedRecurringDetailReference)).append("\n"); sb.append(" sessionId: ").append(toIndentedString(sessionId)).append("\n"); diff --git a/src/main/java/com/adyen/model/payment/SecureRemoteCommerceCheckoutData.java b/src/main/java/com/adyen/model/payment/SecureRemoteCommerceCheckoutData.java new file mode 100644 index 000000000..d50d3cffd --- /dev/null +++ b/src/main/java/com/adyen/model/payment/SecureRemoteCommerceCheckoutData.java @@ -0,0 +1,348 @@ +/* + * Adyen Payment API + * + * The version of the OpenAPI document: 68 + * + * + * 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.payment; + +import java.util.Objects; +import java.util.Arrays; +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 io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.core.JsonProcessingException; + + +/** + * SecureRemoteCommerceCheckoutData + */ +@JsonPropertyOrder({ + SecureRemoteCommerceCheckoutData.JSON_PROPERTY_CHECKOUT_PAYLOAD, + SecureRemoteCommerceCheckoutData.JSON_PROPERTY_CORRELATION_ID, + SecureRemoteCommerceCheckoutData.JSON_PROPERTY_CVC, + SecureRemoteCommerceCheckoutData.JSON_PROPERTY_DIGITAL_CARD_ID, + SecureRemoteCommerceCheckoutData.JSON_PROPERTY_SCHEME, + SecureRemoteCommerceCheckoutData.JSON_PROPERTY_TOKEN_REFERENCE +}) + +public class SecureRemoteCommerceCheckoutData { + public static final String JSON_PROPERTY_CHECKOUT_PAYLOAD = "checkoutPayload"; + private String checkoutPayload; + + public static final String JSON_PROPERTY_CORRELATION_ID = "correlationId"; + private String correlationId; + + public static final String JSON_PROPERTY_CVC = "cvc"; + private String cvc; + + public static final String JSON_PROPERTY_DIGITAL_CARD_ID = "digitalCardId"; + private String digitalCardId; + + /** + * The Secure Remote Commerce scheme. + */ + public enum SchemeEnum { + MC("mc"), + + VISA("visa"); + + private String value; + + SchemeEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static SchemeEnum fromValue(String value) { + for (SchemeEnum b : SchemeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + public static final String JSON_PROPERTY_SCHEME = "scheme"; + private SchemeEnum scheme; + + public static final String JSON_PROPERTY_TOKEN_REFERENCE = "tokenReference"; + private String tokenReference; + + public SecureRemoteCommerceCheckoutData() { + } + + public SecureRemoteCommerceCheckoutData checkoutPayload(String checkoutPayload) { + this.checkoutPayload = checkoutPayload; + return this; + } + + /** + * The Secure Remote Commerce checkout payload to process the payment with. + * @return checkoutPayload + **/ + @ApiModelProperty(value = "The Secure Remote Commerce checkout payload to process the payment with.") + @JsonProperty(JSON_PROPERTY_CHECKOUT_PAYLOAD) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getCheckoutPayload() { + return checkoutPayload; + } + + + /** + * The Secure Remote Commerce checkout payload to process the payment with. + * + * @param checkoutPayload + */ + @JsonProperty(JSON_PROPERTY_CHECKOUT_PAYLOAD) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCheckoutPayload(String checkoutPayload) { + this.checkoutPayload = checkoutPayload; + } + + + public SecureRemoteCommerceCheckoutData correlationId(String correlationId) { + this.correlationId = correlationId; + return this; + } + + /** + * This is the unique identifier generated by SRC system to track and link SRC messages. Available within the present checkout session (e.g. received in an earlier API response during the present session). + * @return correlationId + **/ + @ApiModelProperty(value = "This is the unique identifier generated by SRC system to track and link SRC messages. Available within the present checkout session (e.g. received in an earlier API response during the present session).") + @JsonProperty(JSON_PROPERTY_CORRELATION_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getCorrelationId() { + return correlationId; + } + + + /** + * This is the unique identifier generated by SRC system to track and link SRC messages. Available within the present checkout session (e.g. received in an earlier API response during the present session). + * + * @param correlationId + */ + @JsonProperty(JSON_PROPERTY_CORRELATION_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCorrelationId(String correlationId) { + this.correlationId = correlationId; + } + + + public SecureRemoteCommerceCheckoutData cvc(String cvc) { + this.cvc = cvc; + return this; + } + + /** + * The [card verification code](https://docs.adyen.com/get-started-with-adyen/payment-glossary/#card-security-code-cvc-cvv-cid). + * @return cvc + **/ + @ApiModelProperty(value = "The [card verification code](https://docs.adyen.com/get-started-with-adyen/payment-glossary/#card-security-code-cvc-cvv-cid).") + @JsonProperty(JSON_PROPERTY_CVC) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getCvc() { + return cvc; + } + + + /** + * The [card verification code](https://docs.adyen.com/get-started-with-adyen/payment-glossary/#card-security-code-cvc-cvv-cid). + * + * @param cvc + */ + @JsonProperty(JSON_PROPERTY_CVC) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCvc(String cvc) { + this.cvc = cvc; + } + + + public SecureRemoteCommerceCheckoutData digitalCardId(String digitalCardId) { + this.digitalCardId = digitalCardId; + return this; + } + + /** + * A unique identifier that represents the token associated with a card enrolled. Required for scheme 'mc'. + * @return digitalCardId + **/ + @ApiModelProperty(value = "A unique identifier that represents the token associated with a card enrolled. Required for scheme 'mc'.") + @JsonProperty(JSON_PROPERTY_DIGITAL_CARD_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getDigitalCardId() { + return digitalCardId; + } + + + /** + * A unique identifier that represents the token associated with a card enrolled. Required for scheme 'mc'. + * + * @param digitalCardId + */ + @JsonProperty(JSON_PROPERTY_DIGITAL_CARD_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setDigitalCardId(String digitalCardId) { + this.digitalCardId = digitalCardId; + } + + + public SecureRemoteCommerceCheckoutData scheme(SchemeEnum scheme) { + this.scheme = scheme; + return this; + } + + /** + * The Secure Remote Commerce scheme. + * @return scheme + **/ + @ApiModelProperty(value = "The Secure Remote Commerce scheme.") + @JsonProperty(JSON_PROPERTY_SCHEME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public SchemeEnum getScheme() { + return scheme; + } + + + /** + * The Secure Remote Commerce scheme. + * + * @param scheme + */ + @JsonProperty(JSON_PROPERTY_SCHEME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setScheme(SchemeEnum scheme) { + this.scheme = scheme; + } + + + public SecureRemoteCommerceCheckoutData tokenReference(String tokenReference) { + this.tokenReference = tokenReference; + return this; + } + + /** + * A unique identifier that represents the token associated with a card enrolled. Required for scheme 'visa'. + * @return tokenReference + **/ + @ApiModelProperty(value = "A unique identifier that represents the token associated with a card enrolled. Required for scheme 'visa'.") + @JsonProperty(JSON_PROPERTY_TOKEN_REFERENCE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getTokenReference() { + return tokenReference; + } + + + /** + * A unique identifier that represents the token associated with a card enrolled. Required for scheme 'visa'. + * + * @param tokenReference + */ + @JsonProperty(JSON_PROPERTY_TOKEN_REFERENCE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setTokenReference(String tokenReference) { + this.tokenReference = tokenReference; + } + + + /** + * Return true if this SecureRemoteCommerceCheckoutData object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecureRemoteCommerceCheckoutData secureRemoteCommerceCheckoutData = (SecureRemoteCommerceCheckoutData) o; + return Objects.equals(this.checkoutPayload, secureRemoteCommerceCheckoutData.checkoutPayload) && + Objects.equals(this.correlationId, secureRemoteCommerceCheckoutData.correlationId) && + Objects.equals(this.cvc, secureRemoteCommerceCheckoutData.cvc) && + Objects.equals(this.digitalCardId, secureRemoteCommerceCheckoutData.digitalCardId) && + Objects.equals(this.scheme, secureRemoteCommerceCheckoutData.scheme) && + Objects.equals(this.tokenReference, secureRemoteCommerceCheckoutData.tokenReference); + } + + @Override + public int hashCode() { + return Objects.hash(checkoutPayload, correlationId, cvc, digitalCardId, scheme, tokenReference); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecureRemoteCommerceCheckoutData {\n"); + sb.append(" checkoutPayload: ").append(toIndentedString(checkoutPayload)).append("\n"); + sb.append(" correlationId: ").append(toIndentedString(correlationId)).append("\n"); + sb.append(" cvc: ").append(toIndentedString(cvc)).append("\n"); + sb.append(" digitalCardId: ").append(toIndentedString(digitalCardId)).append("\n"); + sb.append(" scheme: ").append(toIndentedString(scheme)).append("\n"); + sb.append(" tokenReference: ").append(toIndentedString(tokenReference)).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 SecureRemoteCommerceCheckoutData given an JSON string + * + * @param jsonString JSON string + * @return An instance of SecureRemoteCommerceCheckoutData + * @throws JsonProcessingException if the JSON string is invalid with respect to SecureRemoteCommerceCheckoutData + */ + public static SecureRemoteCommerceCheckoutData fromJson(String jsonString) throws JsonProcessingException { + return JSON.getMapper().readValue(jsonString, SecureRemoteCommerceCheckoutData.class); + } +/** + * Convert an instance of SecureRemoteCommerceCheckoutData to an JSON string + * + * @return JSON string + */ + public String toJson() throws JsonProcessingException { + return JSON.getMapper().writeValueAsString(this); + } +} + diff --git a/src/main/java/com/adyen/model/reportwebhooks/BalancePlatformNotificationResponse.java b/src/main/java/com/adyen/model/reportwebhooks/BalancePlatformNotificationResponse.java index c67de11fe..888406600 100644 --- a/src/main/java/com/adyen/model/reportwebhooks/BalancePlatformNotificationResponse.java +++ b/src/main/java/com/adyen/model/reportwebhooks/BalancePlatformNotificationResponse.java @@ -47,10 +47,10 @@ public BalancePlatformNotificationResponse notificationResponse(String notificat } /** - * Respond with **HTTP 200 OK** and `[accepted]` in the response body to [accept the webhook](https://docs.adyen.com/development-resources/webhooks#accept-notifications). + * Respond with any **2xx** HTTP status code to [accept the webhook](https://docs.adyen.com/development-resources/webhooks#accept-notifications). * @return notificationResponse **/ - @ApiModelProperty(value = "Respond with **HTTP 200 OK** and `[accepted]` in the response body to [accept the webhook](https://docs.adyen.com/development-resources/webhooks#accept-notifications).") + @ApiModelProperty(value = "Respond with any **2xx** HTTP status code to [accept the webhook](https://docs.adyen.com/development-resources/webhooks#accept-notifications).") @JsonProperty(JSON_PROPERTY_NOTIFICATION_RESPONSE) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -60,7 +60,7 @@ public String getNotificationResponse() { /** - * Respond with **HTTP 200 OK** and `[accepted]` in the response body to [accept the webhook](https://docs.adyen.com/development-resources/webhooks#accept-notifications). + * Respond with any **2xx** HTTP status code to [accept the webhook](https://docs.adyen.com/development-resources/webhooks#accept-notifications). * * @param notificationResponse */ diff --git a/src/main/java/com/adyen/model/transfers/Transfer.java b/src/main/java/com/adyen/model/transfers/Transfer.java index 560f591a2..2f9c6bf8f 100644 --- a/src/main/java/com/adyen/model/transfers/Transfer.java +++ b/src/main/java/com/adyen/model/transfers/Transfer.java @@ -185,6 +185,8 @@ public enum ReasonEnum { COUNTERPARTYBANKUNAVAILABLE("counterpartyBankUnavailable"), + DECLINED("declined"), + DECLINEDBYTRANSACTIONRULE("declinedByTransactionRule"), ERROR("error"), diff --git a/src/main/java/com/adyen/model/transfers/TransferData.java b/src/main/java/com/adyen/model/transfers/TransferData.java index 3abbded49..338b55be0 100644 --- a/src/main/java/com/adyen/model/transfers/TransferData.java +++ b/src/main/java/com/adyen/model/transfers/TransferData.java @@ -206,6 +206,8 @@ public enum ReasonEnum { COUNTERPARTYBANKUNAVAILABLE("counterpartyBankUnavailable"), + DECLINED("declined"), + DECLINEDBYTRANSACTIONRULE("declinedByTransactionRule"), ERROR("error"), diff --git a/src/main/java/com/adyen/model/transfers/TransferEvent.java b/src/main/java/com/adyen/model/transfers/TransferEvent.java index 76d0b0a17..dd6dd958e 100644 --- a/src/main/java/com/adyen/model/transfers/TransferEvent.java +++ b/src/main/java/com/adyen/model/transfers/TransferEvent.java @@ -42,6 +42,7 @@ @JsonPropertyOrder({ TransferEvent.JSON_PROPERTY_AMOUNT, TransferEvent.JSON_PROPERTY_AMOUNT_ADJUSTMENTS, + TransferEvent.JSON_PROPERTY_ARN, TransferEvent.JSON_PROPERTY_BOOKING_DATE, TransferEvent.JSON_PROPERTY_ESTIMATED_ARRIVAL_TIME, TransferEvent.JSON_PROPERTY_EXTERNAL_REASON, @@ -65,6 +66,9 @@ public class TransferEvent { public static final String JSON_PROPERTY_AMOUNT_ADJUSTMENTS = "amountAdjustments"; private List amountAdjustments = null; + public static final String JSON_PROPERTY_ARN = "arn"; + private String arn; + public static final String JSON_PROPERTY_BOOKING_DATE = "bookingDate"; private OffsetDateTime bookingDate; @@ -108,6 +112,8 @@ public enum ReasonEnum { COUNTERPARTYBANKUNAVAILABLE("counterpartyBankUnavailable"), + DECLINED("declined"), + DECLINEDBYTRANSACTIONRULE("declinedByTransactionRule"), ERROR("error"), @@ -439,6 +445,36 @@ public void setAmountAdjustments(List amountAdjustments) { } + public TransferEvent arn(String arn) { + this.arn = arn; + return this; + } + + /** + * Scheme unique arn identifier useful for tracing captures, chargebacks, refunds, etc. + * @return arn + **/ + @ApiModelProperty(value = "Scheme unique arn identifier useful for tracing captures, chargebacks, refunds, etc.") + @JsonProperty(JSON_PROPERTY_ARN) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getArn() { + return arn; + } + + + /** + * Scheme unique arn identifier useful for tracing captures, chargebacks, refunds, etc. + * + * @param arn + */ + @JsonProperty(JSON_PROPERTY_ARN) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setArn(String arn) { + this.arn = arn; + } + + public TransferEvent bookingDate(OffsetDateTime bookingDate) { this.bookingDate = bookingDate; return this; @@ -881,6 +917,7 @@ public boolean equals(Object o) { TransferEvent transferEvent = (TransferEvent) o; return Objects.equals(this.amount, transferEvent.amount) && Objects.equals(this.amountAdjustments, transferEvent.amountAdjustments) && + Objects.equals(this.arn, transferEvent.arn) && Objects.equals(this.bookingDate, transferEvent.bookingDate) && Objects.equals(this.estimatedArrivalTime, transferEvent.estimatedArrivalTime) && Objects.equals(this.externalReason, transferEvent.externalReason) && @@ -899,7 +936,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(amount, amountAdjustments, bookingDate, estimatedArrivalTime, externalReason, id, modification, mutations, originalAmount, reason, status, trackingData, transactionId, type, updateDate, valueDate); + return Objects.hash(amount, amountAdjustments, arn, bookingDate, estimatedArrivalTime, externalReason, id, modification, mutations, originalAmount, reason, status, trackingData, transactionId, type, updateDate, valueDate); } @Override @@ -908,6 +945,7 @@ public String toString() { sb.append("class TransferEvent {\n"); sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); sb.append(" amountAdjustments: ").append(toIndentedString(amountAdjustments)).append("\n"); + sb.append(" arn: ").append(toIndentedString(arn)).append("\n"); sb.append(" bookingDate: ").append(toIndentedString(bookingDate)).append("\n"); sb.append(" estimatedArrivalTime: ").append(toIndentedString(estimatedArrivalTime)).append("\n"); sb.append(" externalReason: ").append(toIndentedString(externalReason)).append("\n"); diff --git a/src/main/java/com/adyen/model/transfers/TransferInfo.java b/src/main/java/com/adyen/model/transfers/TransferInfo.java index cbedff400..3df1aa402 100644 --- a/src/main/java/com/adyen/model/transfers/TransferInfo.java +++ b/src/main/java/com/adyen/model/transfers/TransferInfo.java @@ -43,6 +43,7 @@ TransferInfo.JSON_PROPERTY_PRIORITY, TransferInfo.JSON_PROPERTY_REFERENCE, TransferInfo.JSON_PROPERTY_REFERENCE_FOR_BENEFICIARY, + TransferInfo.JSON_PROPERTY_TYPE, TransferInfo.JSON_PROPERTY_ULTIMATE_PARTY }) @@ -158,6 +159,46 @@ public static PriorityEnum fromValue(String value) { public static final String JSON_PROPERTY_REFERENCE_FOR_BENEFICIARY = "referenceForBeneficiary"; private String referenceForBeneficiary; + /** + * The type of transfer. Possible values: - **bankTransfer**: for push transfers to a transfer instrument or a bank account. The `category` must be **bank**. - **internalTransfer**: for push transfers between balance accounts. The `category` must be **internal**. - **internalDirectDebit**: for pull transfers (direct debits) between balance accounts. The `category` must be **internal**. + */ + public enum TypeEnum { + BANKTRANSFER("bankTransfer"), + + INTERNALTRANSFER("internalTransfer"), + + INTERNALDIRECTDEBIT("internalDirectDebit"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + public static final String JSON_PROPERTY_TYPE = "type"; + private TypeEnum type; + public static final String JSON_PROPERTY_ULTIMATE_PARTY = "ultimateParty"; private UltimatePartyIdentification ultimateParty; @@ -200,10 +241,10 @@ public TransferInfo balanceAccountId(String balanceAccountId) { } /** - * The unique identifier of the source [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id). + * The unique identifier of the source [balance account](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/balanceAccounts#responses-200-id). If you want to make a transfer using a **virtual** **bankAccount** assigned to the balance account, you must specify the [payment instrument ID](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/paymentInstruments#responses-200-id) of the **virtual** **bankAccount**. If you only specify a balance account ID, Adyen uses the default **physical** **bankAccount** payment instrument assigned to the balance account. * @return balanceAccountId **/ - @ApiModelProperty(value = "The unique identifier of the source [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id).") + @ApiModelProperty(value = "The unique identifier of the source [balance account](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/balanceAccounts#responses-200-id). If you want to make a transfer using a **virtual** **bankAccount** assigned to the balance account, you must specify the [payment instrument ID](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/paymentInstruments#responses-200-id) of the **virtual** **bankAccount**. If you only specify a balance account ID, Adyen uses the default **physical** **bankAccount** payment instrument assigned to the balance account.") @JsonProperty(JSON_PROPERTY_BALANCE_ACCOUNT_ID) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -213,7 +254,7 @@ public String getBalanceAccountId() { /** - * The unique identifier of the source [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id). + * The unique identifier of the source [balance account](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/balanceAccounts#responses-200-id). If you want to make a transfer using a **virtual** **bankAccount** assigned to the balance account, you must specify the [payment instrument ID](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/paymentInstruments#responses-200-id) of the **virtual** **bankAccount**. If you only specify a balance account ID, Adyen uses the default **physical** **bankAccount** payment instrument assigned to the balance account. * * @param balanceAccountId */ @@ -320,10 +361,10 @@ public TransferInfo paymentInstrumentId(String paymentInstrumentId) { } /** - * The unique identifier of the source [payment instrument](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/paymentInstruments__resParam_id). + * The unique identifier of the source [payment instrument](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/paymentInstruments#responses-200-id). If you want to make a transfer using a **virtual** **bankAccount**, you must specify the payment instrument ID of the **virtual** **bankAccount**. If you only specify a balance account ID, Adyen uses the default **physical** **bankAccount** payment instrument assigned to the balance account. * @return paymentInstrumentId **/ - @ApiModelProperty(value = "The unique identifier of the source [payment instrument](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/paymentInstruments__resParam_id).") + @ApiModelProperty(value = "The unique identifier of the source [payment instrument](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/paymentInstruments#responses-200-id). If you want to make a transfer using a **virtual** **bankAccount**, you must specify the payment instrument ID of the **virtual** **bankAccount**. If you only specify a balance account ID, Adyen uses the default **physical** **bankAccount** payment instrument assigned to the balance account.") @JsonProperty(JSON_PROPERTY_PAYMENT_INSTRUMENT_ID) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -333,7 +374,7 @@ public String getPaymentInstrumentId() { /** - * The unique identifier of the source [payment instrument](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/paymentInstruments__resParam_id). + * The unique identifier of the source [payment instrument](https://docs.adyen.com/api-explorer/balanceplatform/latest/post/paymentInstruments#responses-200-id). If you want to make a transfer using a **virtual** **bankAccount**, you must specify the payment instrument ID of the **virtual** **bankAccount**. If you only specify a balance account ID, Adyen uses the default **physical** **bankAccount** payment instrument assigned to the balance account. * * @param paymentInstrumentId */ @@ -434,6 +475,36 @@ public void setReferenceForBeneficiary(String referenceForBeneficiary) { } + public TransferInfo type(TypeEnum type) { + this.type = type; + return this; + } + + /** + * The type of transfer. Possible values: - **bankTransfer**: for push transfers to a transfer instrument or a bank account. The `category` must be **bank**. - **internalTransfer**: for push transfers between balance accounts. The `category` must be **internal**. - **internalDirectDebit**: for pull transfers (direct debits) between balance accounts. The `category` must be **internal**. + * @return type + **/ + @ApiModelProperty(value = "The type of transfer. Possible values: - **bankTransfer**: for push transfers to a transfer instrument or a bank account. The `category` must be **bank**. - **internalTransfer**: for push transfers between balance accounts. The `category` must be **internal**. - **internalDirectDebit**: for pull transfers (direct debits) between balance accounts. The `category` must be **internal**. ") + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public TypeEnum getType() { + return type; + } + + + /** + * The type of transfer. Possible values: - **bankTransfer**: for push transfers to a transfer instrument or a bank account. The `category` must be **bank**. - **internalTransfer**: for push transfers between balance accounts. The `category` must be **internal**. - **internalDirectDebit**: for pull transfers (direct debits) between balance accounts. The `category` must be **internal**. + * + * @param type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setType(TypeEnum type) { + this.type = type; + } + + public TransferInfo ultimateParty(UltimatePartyIdentification ultimateParty) { this.ultimateParty = ultimateParty; return this; @@ -485,12 +556,13 @@ public boolean equals(Object o) { Objects.equals(this.priority, transferInfo.priority) && Objects.equals(this.reference, transferInfo.reference) && Objects.equals(this.referenceForBeneficiary, transferInfo.referenceForBeneficiary) && + Objects.equals(this.type, transferInfo.type) && Objects.equals(this.ultimateParty, transferInfo.ultimateParty); } @Override public int hashCode() { - return Objects.hash(amount, balanceAccountId, category, counterparty, description, paymentInstrumentId, priority, reference, referenceForBeneficiary, ultimateParty); + return Objects.hash(amount, balanceAccountId, category, counterparty, description, paymentInstrumentId, priority, reference, referenceForBeneficiary, type, ultimateParty); } @Override @@ -506,6 +578,7 @@ public String toString() { sb.append(" priority: ").append(toIndentedString(priority)).append("\n"); sb.append(" reference: ").append(toIndentedString(reference)).append("\n"); sb.append(" referenceForBeneficiary: ").append(toIndentedString(referenceForBeneficiary)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" ultimateParty: ").append(toIndentedString(ultimateParty)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/java/com/adyen/model/transferwebhooks/TransferData.java b/src/main/java/com/adyen/model/transferwebhooks/TransferData.java index 04875761b..77295d4a2 100644 --- a/src/main/java/com/adyen/model/transferwebhooks/TransferData.java +++ b/src/main/java/com/adyen/model/transferwebhooks/TransferData.java @@ -206,6 +206,8 @@ public enum ReasonEnum { COUNTERPARTYBANKUNAVAILABLE("counterpartyBankUnavailable"), + DECLINED("declined"), + DECLINEDBYTRANSACTIONRULE("declinedByTransactionRule"), ERROR("error"), diff --git a/src/main/java/com/adyen/model/transferwebhooks/TransferEvent.java b/src/main/java/com/adyen/model/transferwebhooks/TransferEvent.java index 71245cc60..759c29cc3 100644 --- a/src/main/java/com/adyen/model/transferwebhooks/TransferEvent.java +++ b/src/main/java/com/adyen/model/transferwebhooks/TransferEvent.java @@ -42,6 +42,7 @@ @JsonPropertyOrder({ TransferEvent.JSON_PROPERTY_AMOUNT, TransferEvent.JSON_PROPERTY_AMOUNT_ADJUSTMENTS, + TransferEvent.JSON_PROPERTY_ARN, TransferEvent.JSON_PROPERTY_BOOKING_DATE, TransferEvent.JSON_PROPERTY_ESTIMATED_ARRIVAL_TIME, TransferEvent.JSON_PROPERTY_EXTERNAL_REASON, @@ -65,6 +66,9 @@ public class TransferEvent { public static final String JSON_PROPERTY_AMOUNT_ADJUSTMENTS = "amountAdjustments"; private List amountAdjustments = null; + public static final String JSON_PROPERTY_ARN = "arn"; + private String arn; + public static final String JSON_PROPERTY_BOOKING_DATE = "bookingDate"; private OffsetDateTime bookingDate; @@ -108,6 +112,8 @@ public enum ReasonEnum { COUNTERPARTYBANKUNAVAILABLE("counterpartyBankUnavailable"), + DECLINED("declined"), + DECLINEDBYTRANSACTIONRULE("declinedByTransactionRule"), ERROR("error"), @@ -439,6 +445,36 @@ public void setAmountAdjustments(List amountAdjustments) { } + public TransferEvent arn(String arn) { + this.arn = arn; + return this; + } + + /** + * Scheme unique arn identifier useful for tracing captures, chargebacks, refunds, etc. + * @return arn + **/ + @ApiModelProperty(value = "Scheme unique arn identifier useful for tracing captures, chargebacks, refunds, etc.") + @JsonProperty(JSON_PROPERTY_ARN) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getArn() { + return arn; + } + + + /** + * Scheme unique arn identifier useful for tracing captures, chargebacks, refunds, etc. + * + * @param arn + */ + @JsonProperty(JSON_PROPERTY_ARN) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setArn(String arn) { + this.arn = arn; + } + + public TransferEvent bookingDate(OffsetDateTime bookingDate) { this.bookingDate = bookingDate; return this; @@ -881,6 +917,7 @@ public boolean equals(Object o) { TransferEvent transferEvent = (TransferEvent) o; return Objects.equals(this.amount, transferEvent.amount) && Objects.equals(this.amountAdjustments, transferEvent.amountAdjustments) && + Objects.equals(this.arn, transferEvent.arn) && Objects.equals(this.bookingDate, transferEvent.bookingDate) && Objects.equals(this.estimatedArrivalTime, transferEvent.estimatedArrivalTime) && Objects.equals(this.externalReason, transferEvent.externalReason) && @@ -899,7 +936,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(amount, amountAdjustments, bookingDate, estimatedArrivalTime, externalReason, id, modification, mutations, originalAmount, reason, status, trackingData, transactionId, type, updateDate, valueDate); + return Objects.hash(amount, amountAdjustments, arn, bookingDate, estimatedArrivalTime, externalReason, id, modification, mutations, originalAmount, reason, status, trackingData, transactionId, type, updateDate, valueDate); } @Override @@ -908,6 +945,7 @@ public String toString() { sb.append("class TransferEvent {\n"); sb.append(" amount: ").append(toIndentedString(amount)).append("\n"); sb.append(" amountAdjustments: ").append(toIndentedString(amountAdjustments)).append("\n"); + sb.append(" arn: ").append(toIndentedString(arn)).append("\n"); sb.append(" bookingDate: ").append(toIndentedString(bookingDate)).append("\n"); sb.append(" estimatedArrivalTime: ").append(toIndentedString(estimatedArrivalTime)).append("\n"); sb.append(" externalReason: ").append(toIndentedString(externalReason)).append("\n");