tech.carpentum.sdk.payment.internal.generated.model.AccountPayinRequestOfflineImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of payment-client-v2 Show documentation
Show all versions of payment-client-v2 Show documentation
Carpentum Payment system Java SDK
The newest version!
//THE FILE IS GENERATED, DO NOT MODIFY IT MANUALLY!!!
package tech.carpentum.sdk.payment.internal.generated.model;
import com.squareup.moshi.JsonClass;
import java.util.Objects;
import java.util.Optional;
import org.jetbrains.annotations.NotNull;
import tech.carpentum.sdk.payment.internal.generated.model.*;
import tech.carpentum.sdk.payment.model.*;
/** AccountPayinRequestOffline
*
* Parameters of your customer's bank or wallet account which your customer sends funds from. These account parameters are used for the sender's account verification in processing of the payment.
Which parameters are mandatory depends on the payment method and the currency your customer choose to pay.
*
*
*
* The model class is immutable.
* Use static {@link #builder} method to create a new {@link Builder} instance to build the model class instance.
*
*/
@JsonClass(generateAdapter = false)
public class AccountPayinRequestOfflineImpl implements AccountPayinRequestOffline {
/** Account Name is the name of the person who holds the bank or wallet account which your customer sends funds from to make his payment.
The name should be in the same format as the account holder name of the account. Allows numbers, some special characters and UNICODE symbols, see validation pattern.
If currency is CNY, JPY or KRW, then accountName field is required. Otherwise, it is optional. */
private final Optional accountName;
@Override
public Optional getAccountName() {
return accountName;
}
/** Account Number is the number of your customer's bank account which your customer sends funds from to make his payment. Must contain only numbers.
If currency is THB, then accountNumber field is required. Otherwise, it is optional. */
private final Optional accountNumber;
@Override
public Optional getAccountNumber() {
return accountNumber;
}
private final int hashCode;
private final String toString;
private AccountPayinRequestOfflineImpl(BuilderImpl builder) {
this.accountName = Optional.ofNullable(builder.accountName);
this.accountNumber = Optional.ofNullable(builder.accountNumber);
this.hashCode = Objects.hash(accountName, accountNumber);
this.toString = builder.type + "(" +
"accountName=" + accountName +
", accountNumber=" + accountNumber +
')';
}
@Override
public int hashCode() {
return hashCode;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof AccountPayinRequestOfflineImpl)) {
return false;
}
AccountPayinRequestOfflineImpl that = (AccountPayinRequestOfflineImpl) obj;
if (!Objects.equals(this.accountName, that.accountName)) return false;
if (!Objects.equals(this.accountNumber, that.accountNumber)) return false;
return true;
}
@Override
public String toString() {
return toString;
}
/** Builder for {@link AccountPayinRequestOffline} model class. */
public static class BuilderImpl implements AccountPayinRequestOffline.Builder {
private String accountName = null;
private String accountNumber = null;
private final String type;
public BuilderImpl(String type) {
this.type = type;
}
public BuilderImpl() {
this("AccountPayinRequestOffline");
}
/**
* Set {@link AccountPayinRequestOffline#getAccountName} property.
*
* Account Name is the name of the person who holds the bank or wallet account which your customer sends funds from to make his payment.
The name should be in the same format as the account holder name of the account. Allows numbers, some special characters and UNICODE symbols, see validation pattern.
If currency is CNY, JPY or KRW, then accountName field is required. Otherwise, it is optional.
*/
@Override
public BuilderImpl accountName(String accountName) {
this.accountName = accountName;
return this;
}
/**
* Set {@link AccountPayinRequestOffline#getAccountNumber} property.
*
* Account Number is the number of your customer's bank account which your customer sends funds from to make his payment. Must contain only numbers.
If currency is THB, then accountNumber field is required. Otherwise, it is optional.
*/
@Override
public BuilderImpl accountNumber(String accountNumber) {
this.accountNumber = accountNumber;
return this;
}
/**
* Create new instance of {@link AccountPayinRequestOffline} model class with the builder instance properties.
*
* @throws NullPointerException in case required properties are not specified.
*/
@Override
public AccountPayinRequestOfflineImpl build() {
return new AccountPayinRequestOfflineImpl(this);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy