
com.adyen.model.payment.PaymentRequest Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of adyen-java-api-library Show documentation
Show all versions of adyen-java-api-library Show documentation
Adyen API Client Library for Java
/*
* 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.Map;
import java.util.HashMap;
import com.adyen.model.payment.AccountInfo;
import com.adyen.model.payment.Address;
import com.adyen.model.payment.Amount;
import com.adyen.model.payment.ApplicationInfo;
import com.adyen.model.payment.BankAccount;
import com.adyen.model.payment.BrowserInfo;
import com.adyen.model.payment.Card;
import com.adyen.model.payment.ForexQuote;
import com.adyen.model.payment.FundDestination;
import com.adyen.model.payment.FundSource;
import com.adyen.model.payment.Installments;
import com.adyen.model.payment.Mandate;
import com.adyen.model.payment.MerchantRiskIndicator;
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;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonTypeName;
import com.fasterxml.jackson.annotation.JsonValue;
import java.time.LocalDate;
import java.time.OffsetDateTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.core.JsonProcessingException;
/**
* PaymentRequest
*/
@JsonPropertyOrder({
PaymentRequest.JSON_PROPERTY_ACCOUNT_INFO,
PaymentRequest.JSON_PROPERTY_ADDITIONAL_AMOUNT,
PaymentRequest.JSON_PROPERTY_ADDITIONAL_DATA,
PaymentRequest.JSON_PROPERTY_AMOUNT,
PaymentRequest.JSON_PROPERTY_APPLICATION_INFO,
PaymentRequest.JSON_PROPERTY_BANK_ACCOUNT,
PaymentRequest.JSON_PROPERTY_BILLING_ADDRESS,
PaymentRequest.JSON_PROPERTY_BROWSER_INFO,
PaymentRequest.JSON_PROPERTY_CAPTURE_DELAY_HOURS,
PaymentRequest.JSON_PROPERTY_CARD,
PaymentRequest.JSON_PROPERTY_DATE_OF_BIRTH,
PaymentRequest.JSON_PROPERTY_DCC_QUOTE,
PaymentRequest.JSON_PROPERTY_DELIVERY_ADDRESS,
PaymentRequest.JSON_PROPERTY_DELIVERY_DATE,
PaymentRequest.JSON_PROPERTY_DEVICE_FINGERPRINT,
PaymentRequest.JSON_PROPERTY_ENTITY_TYPE,
PaymentRequest.JSON_PROPERTY_FRAUD_OFFSET,
PaymentRequest.JSON_PROPERTY_FUND_DESTINATION,
PaymentRequest.JSON_PROPERTY_FUND_SOURCE,
PaymentRequest.JSON_PROPERTY_FUNDING_SOURCE,
PaymentRequest.JSON_PROPERTY_INSTALLMENTS,
PaymentRequest.JSON_PROPERTY_LOCALIZED_SHOPPER_STATEMENT,
PaymentRequest.JSON_PROPERTY_MANDATE,
PaymentRequest.JSON_PROPERTY_MCC,
PaymentRequest.JSON_PROPERTY_MERCHANT_ACCOUNT,
PaymentRequest.JSON_PROPERTY_MERCHANT_ORDER_REFERENCE,
PaymentRequest.JSON_PROPERTY_MERCHANT_RISK_INDICATOR,
PaymentRequest.JSON_PROPERTY_METADATA,
PaymentRequest.JSON_PROPERTY_MPI_DATA,
PaymentRequest.JSON_PROPERTY_NATIONALITY,
PaymentRequest.JSON_PROPERTY_ORDER_REFERENCE,
PaymentRequest.JSON_PROPERTY_PLATFORM_CHARGEBACK_LOGIC,
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,
PaymentRequest.JSON_PROPERTY_SHOPPER_EMAIL,
PaymentRequest.JSON_PROPERTY_SHOPPER_I_P,
PaymentRequest.JSON_PROPERTY_SHOPPER_INTERACTION,
PaymentRequest.JSON_PROPERTY_SHOPPER_LOCALE,
PaymentRequest.JSON_PROPERTY_SHOPPER_NAME,
PaymentRequest.JSON_PROPERTY_SHOPPER_REFERENCE,
PaymentRequest.JSON_PROPERTY_SHOPPER_STATEMENT,
PaymentRequest.JSON_PROPERTY_SOCIAL_SECURITY_NUMBER,
PaymentRequest.JSON_PROPERTY_SPLITS,
PaymentRequest.JSON_PROPERTY_STORE,
PaymentRequest.JSON_PROPERTY_TELEPHONE_NUMBER,
PaymentRequest.JSON_PROPERTY_THREE_D_S2_REQUEST_DATA,
PaymentRequest.JSON_PROPERTY_THREE_D_S_AUTHENTICATION_ONLY,
PaymentRequest.JSON_PROPERTY_TOTALS_GROUP,
PaymentRequest.JSON_PROPERTY_TRUSTED_SHOPPER
})
public class PaymentRequest {
public static final String JSON_PROPERTY_ACCOUNT_INFO = "accountInfo";
private AccountInfo accountInfo;
public static final String JSON_PROPERTY_ADDITIONAL_AMOUNT = "additionalAmount";
private Amount additionalAmount;
public static final String JSON_PROPERTY_ADDITIONAL_DATA = "additionalData";
private Map additionalData;
public static final String JSON_PROPERTY_AMOUNT = "amount";
private Amount amount;
public static final String JSON_PROPERTY_APPLICATION_INFO = "applicationInfo";
private ApplicationInfo applicationInfo;
public static final String JSON_PROPERTY_BANK_ACCOUNT = "bankAccount";
private BankAccount bankAccount;
public static final String JSON_PROPERTY_BILLING_ADDRESS = "billingAddress";
private Address billingAddress;
public static final String JSON_PROPERTY_BROWSER_INFO = "browserInfo";
private BrowserInfo browserInfo;
public static final String JSON_PROPERTY_CAPTURE_DELAY_HOURS = "captureDelayHours";
private Integer captureDelayHours;
public static final String JSON_PROPERTY_CARD = "card";
private Card card;
public static final String JSON_PROPERTY_DATE_OF_BIRTH = "dateOfBirth";
private LocalDate dateOfBirth;
public static final String JSON_PROPERTY_DCC_QUOTE = "dccQuote";
private ForexQuote dccQuote;
public static final String JSON_PROPERTY_DELIVERY_ADDRESS = "deliveryAddress";
private Address deliveryAddress;
public static final String JSON_PROPERTY_DELIVERY_DATE = "deliveryDate";
private OffsetDateTime deliveryDate;
public static final String JSON_PROPERTY_DEVICE_FINGERPRINT = "deviceFingerprint";
private String deviceFingerprint;
/**
* The type of the entity the payment is processed for.
*/
public enum EntityTypeEnum {
NATURALPERSON(String.valueOf("NaturalPerson")),
COMPANYNAME(String.valueOf("CompanyName"));
private String value;
EntityTypeEnum(String value) {
this.value = value;
}
@JsonValue
public String getValue() {
return value;
}
@Override
public String toString() {
return String.valueOf(value);
}
@JsonCreator
public static EntityTypeEnum fromValue(String value) {
for (EntityTypeEnum b : EntityTypeEnum.values()) {
if (b.value.equals(value)) {
return b;
}
}
throw new IllegalArgumentException("Unexpected value '" + value + "'");
}
}
public static final String JSON_PROPERTY_ENTITY_TYPE = "entityType";
private EntityTypeEnum entityType;
public static final String JSON_PROPERTY_FRAUD_OFFSET = "fraudOffset";
private Integer fraudOffset;
public static final String JSON_PROPERTY_FUND_DESTINATION = "fundDestination";
private FundDestination fundDestination;
public static final String JSON_PROPERTY_FUND_SOURCE = "fundSource";
private FundSource fundSource;
/**
* The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.
*/
public enum FundingSourceEnum {
CREDIT(String.valueOf("credit")),
DEBIT(String.valueOf("debit"));
private String value;
FundingSourceEnum(String value) {
this.value = value;
}
@JsonValue
public String getValue() {
return value;
}
@Override
public String toString() {
return String.valueOf(value);
}
@JsonCreator
public static FundingSourceEnum fromValue(String value) {
for (FundingSourceEnum b : FundingSourceEnum.values()) {
if (b.value.equals(value)) {
return b;
}
}
throw new IllegalArgumentException("Unexpected value '" + value + "'");
}
}
public static final String JSON_PROPERTY_FUNDING_SOURCE = "fundingSource";
private FundingSourceEnum fundingSource;
public static final String JSON_PROPERTY_INSTALLMENTS = "installments";
private Installments installments;
public static final String JSON_PROPERTY_LOCALIZED_SHOPPER_STATEMENT = "localizedShopperStatement";
private Map localizedShopperStatement;
public static final String JSON_PROPERTY_MANDATE = "mandate";
private Mandate mandate;
public static final String JSON_PROPERTY_MCC = "mcc";
private String mcc;
public static final String JSON_PROPERTY_MERCHANT_ACCOUNT = "merchantAccount";
private String merchantAccount;
public static final String JSON_PROPERTY_MERCHANT_ORDER_REFERENCE = "merchantOrderReference";
private String merchantOrderReference;
public static final String JSON_PROPERTY_MERCHANT_RISK_INDICATOR = "merchantRiskIndicator";
private MerchantRiskIndicator merchantRiskIndicator;
public static final String JSON_PROPERTY_METADATA = "metadata";
private Map metadata;
public static final String JSON_PROPERTY_MPI_DATA = "mpiData";
private ThreeDSecureData mpiData;
public static final String JSON_PROPERTY_NATIONALITY = "nationality";
private String nationality;
public static final String JSON_PROPERTY_ORDER_REFERENCE = "orderReference";
private String orderReference;
public static final String JSON_PROPERTY_PLATFORM_CHARGEBACK_LOGIC = "platformChargebackLogic";
private PlatformChargebackLogic platformChargebackLogic;
public static final String JSON_PROPERTY_RECURRING = "recurring";
private Recurring recurring;
/**
* Defines a recurring payment type. Required when creating a token to store payment details or using stored payment details. Allowed 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 have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.
*/
public enum RecurringProcessingModelEnum {
CARDONFILE(String.valueOf("CardOnFile")),
SUBSCRIPTION(String.valueOf("Subscription")),
UNSCHEDULEDCARDONFILE(String.valueOf("UnscheduledCardOnFile"));
private String value;
RecurringProcessingModelEnum(String value) {
this.value = value;
}
@JsonValue
public String getValue() {
return value;
}
@Override
public String toString() {
return String.valueOf(value);
}
@JsonCreator
public static RecurringProcessingModelEnum fromValue(String value) {
for (RecurringProcessingModelEnum b : RecurringProcessingModelEnum.values()) {
if (b.value.equals(value)) {
return b;
}
}
throw new IllegalArgumentException("Unexpected value '" + value + "'");
}
}
public static final String JSON_PROPERTY_RECURRING_PROCESSING_MODEL = "recurringProcessingModel";
private RecurringProcessingModelEnum recurringProcessingModel;
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;
public static final String JSON_PROPERTY_SELECTED_RECURRING_DETAIL_REFERENCE = "selectedRecurringDetailReference";
private String selectedRecurringDetailReference;
public static final String JSON_PROPERTY_SESSION_ID = "sessionId";
private String sessionId;
public static final String JSON_PROPERTY_SHOPPER_EMAIL = "shopperEmail";
private String shopperEmail;
public static final String JSON_PROPERTY_SHOPPER_I_P = "shopperIP";
private String shopperIP;
/**
* Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. For the web service API, Adyen assumes Ecommerce shopper interaction by default. This field has the following possible values: * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.
*/
public enum ShopperInteractionEnum {
ECOMMERCE(String.valueOf("Ecommerce")),
CONTAUTH(String.valueOf("ContAuth")),
MOTO(String.valueOf("Moto")),
POS(String.valueOf("POS"));
private String value;
ShopperInteractionEnum(String value) {
this.value = value;
}
@JsonValue
public String getValue() {
return value;
}
@Override
public String toString() {
return String.valueOf(value);
}
@JsonCreator
public static ShopperInteractionEnum fromValue(String value) {
for (ShopperInteractionEnum b : ShopperInteractionEnum.values()) {
if (b.value.equals(value)) {
return b;
}
}
throw new IllegalArgumentException("Unexpected value '" + value + "'");
}
}
public static final String JSON_PROPERTY_SHOPPER_INTERACTION = "shopperInteraction";
private ShopperInteractionEnum shopperInteraction;
public static final String JSON_PROPERTY_SHOPPER_LOCALE = "shopperLocale";
private String shopperLocale;
public static final String JSON_PROPERTY_SHOPPER_NAME = "shopperName";
private Name shopperName;
public static final String JSON_PROPERTY_SHOPPER_REFERENCE = "shopperReference";
private String shopperReference;
public static final String JSON_PROPERTY_SHOPPER_STATEMENT = "shopperStatement";
private String shopperStatement;
public static final String JSON_PROPERTY_SOCIAL_SECURITY_NUMBER = "socialSecurityNumber";
private String socialSecurityNumber;
public static final String JSON_PROPERTY_SPLITS = "splits";
private List splits;
public static final String JSON_PROPERTY_STORE = "store";
private String store;
public static final String JSON_PROPERTY_TELEPHONE_NUMBER = "telephoneNumber";
private String telephoneNumber;
public static final String JSON_PROPERTY_THREE_D_S2_REQUEST_DATA = "threeDS2RequestData";
private ThreeDS2RequestData threeDS2RequestData;
public static final String JSON_PROPERTY_THREE_D_S_AUTHENTICATION_ONLY = "threeDSAuthenticationOnly";
private Boolean threeDSAuthenticationOnly = false;
public static final String JSON_PROPERTY_TOTALS_GROUP = "totalsGroup";
private String totalsGroup;
public static final String JSON_PROPERTY_TRUSTED_SHOPPER = "trustedShopper";
private Boolean trustedShopper;
public PaymentRequest() {
}
/**
* accountInfo
*
* @param accountInfo
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest accountInfo(AccountInfo accountInfo) {
this.accountInfo = accountInfo;
return this;
}
/**
* Get accountInfo
* @return accountInfo
*/
@JsonProperty(JSON_PROPERTY_ACCOUNT_INFO)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public AccountInfo getAccountInfo() {
return accountInfo;
}
/**
* accountInfo
*
* @param accountInfo
*/
@JsonProperty(JSON_PROPERTY_ACCOUNT_INFO)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setAccountInfo(AccountInfo accountInfo) {
this.accountInfo = accountInfo;
}
/**
* additionalAmount
*
* @param additionalAmount
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest additionalAmount(Amount additionalAmount) {
this.additionalAmount = additionalAmount;
return this;
}
/**
* Get additionalAmount
* @return additionalAmount
*/
@JsonProperty(JSON_PROPERTY_ADDITIONAL_AMOUNT)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public Amount getAdditionalAmount() {
return additionalAmount;
}
/**
* additionalAmount
*
* @param additionalAmount
*/
@JsonProperty(JSON_PROPERTY_ADDITIONAL_AMOUNT)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setAdditionalAmount(Amount additionalAmount) {
this.additionalAmount = additionalAmount;
}
/**
* This field contains additional data, which may be required for a particular payment request. The `additionalData` object consists of entries, each of which includes the key and value.
*
* @param additionalData This field contains additional data, which may be required for a particular payment request. The `additionalData` object consists of entries, each of which includes the key and value.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest additionalData(Map additionalData) {
this.additionalData = additionalData;
return this;
}
public PaymentRequest putAdditionalDataItem(String key, String additionalDataItem) {
if (this.additionalData == null) {
this.additionalData = new HashMap<>();
}
this.additionalData.put(key, additionalDataItem);
return this;
}
/**
* This field contains additional data, which may be required for a particular payment request. The `additionalData` object consists of entries, each of which includes the key and value.
* @return additionalData This field contains additional data, which may be required for a particular payment request. The `additionalData` object consists of entries, each of which includes the key and value.
*/
@JsonProperty(JSON_PROPERTY_ADDITIONAL_DATA)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public Map getAdditionalData() {
return additionalData;
}
/**
* This field contains additional data, which may be required for a particular payment request. The `additionalData` object consists of entries, each of which includes the key and value.
*
* @param additionalData This field contains additional data, which may be required for a particular payment request. The `additionalData` object consists of entries, each of which includes the key and value.
*/
@JsonProperty(JSON_PROPERTY_ADDITIONAL_DATA)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setAdditionalData(Map additionalData) {
this.additionalData = additionalData;
}
/**
* amount
*
* @param amount
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest amount(Amount amount) {
this.amount = amount;
return this;
}
/**
* Get amount
* @return amount
*/
@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;
}
/**
* applicationInfo
*
* @param applicationInfo
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest applicationInfo(ApplicationInfo applicationInfo) {
this.applicationInfo = applicationInfo;
return this;
}
/**
* Get applicationInfo
* @return applicationInfo
*/
@JsonProperty(JSON_PROPERTY_APPLICATION_INFO)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public ApplicationInfo getApplicationInfo() {
return applicationInfo;
}
/**
* applicationInfo
*
* @param applicationInfo
*/
@JsonProperty(JSON_PROPERTY_APPLICATION_INFO)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setApplicationInfo(ApplicationInfo applicationInfo) {
this.applicationInfo = applicationInfo;
}
/**
* bankAccount
*
* @param bankAccount
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest bankAccount(BankAccount bankAccount) {
this.bankAccount = bankAccount;
return this;
}
/**
* Get bankAccount
* @return bankAccount
*/
@JsonProperty(JSON_PROPERTY_BANK_ACCOUNT)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public BankAccount getBankAccount() {
return bankAccount;
}
/**
* bankAccount
*
* @param bankAccount
*/
@JsonProperty(JSON_PROPERTY_BANK_ACCOUNT)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setBankAccount(BankAccount bankAccount) {
this.bankAccount = bankAccount;
}
/**
* billingAddress
*
* @param billingAddress
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest billingAddress(Address billingAddress) {
this.billingAddress = billingAddress;
return this;
}
/**
* Get billingAddress
* @return billingAddress
*/
@JsonProperty(JSON_PROPERTY_BILLING_ADDRESS)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public Address getBillingAddress() {
return billingAddress;
}
/**
* billingAddress
*
* @param billingAddress
*/
@JsonProperty(JSON_PROPERTY_BILLING_ADDRESS)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setBillingAddress(Address billingAddress) {
this.billingAddress = billingAddress;
}
/**
* browserInfo
*
* @param browserInfo
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest browserInfo(BrowserInfo browserInfo) {
this.browserInfo = browserInfo;
return this;
}
/**
* Get browserInfo
* @return browserInfo
*/
@JsonProperty(JSON_PROPERTY_BROWSER_INFO)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public BrowserInfo getBrowserInfo() {
return browserInfo;
}
/**
* browserInfo
*
* @param browserInfo
*/
@JsonProperty(JSON_PROPERTY_BROWSER_INFO)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setBrowserInfo(BrowserInfo browserInfo) {
this.browserInfo = browserInfo;
}
/**
* The delay between the authorisation and scheduled auto-capture, specified in hours.
*
* @param captureDelayHours The delay between the authorisation and scheduled auto-capture, specified in hours.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest captureDelayHours(Integer captureDelayHours) {
this.captureDelayHours = captureDelayHours;
return this;
}
/**
* The delay between the authorisation and scheduled auto-capture, specified in hours.
* @return captureDelayHours The delay between the authorisation and scheduled auto-capture, specified in hours.
*/
@JsonProperty(JSON_PROPERTY_CAPTURE_DELAY_HOURS)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public Integer getCaptureDelayHours() {
return captureDelayHours;
}
/**
* The delay between the authorisation and scheduled auto-capture, specified in hours.
*
* @param captureDelayHours The delay between the authorisation and scheduled auto-capture, specified in hours.
*/
@JsonProperty(JSON_PROPERTY_CAPTURE_DELAY_HOURS)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setCaptureDelayHours(Integer captureDelayHours) {
this.captureDelayHours = captureDelayHours;
}
/**
* card
*
* @param card
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest card(Card card) {
this.card = card;
return this;
}
/**
* Get card
* @return card
*/
@JsonProperty(JSON_PROPERTY_CARD)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public Card getCard() {
return card;
}
/**
* card
*
* @param card
*/
@JsonProperty(JSON_PROPERTY_CARD)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setCard(Card card) {
this.card = card;
}
/**
* The shopper's date of birth. Format [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD
*
* @param dateOfBirth The shopper's date of birth. Format [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest dateOfBirth(LocalDate dateOfBirth) {
this.dateOfBirth = dateOfBirth;
return this;
}
/**
* The shopper's date of birth. Format [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD
* @return dateOfBirth The shopper's date of birth. Format [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD
*/
@JsonProperty(JSON_PROPERTY_DATE_OF_BIRTH)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public LocalDate getDateOfBirth() {
return dateOfBirth;
}
/**
* The shopper's date of birth. Format [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD
*
* @param dateOfBirth The shopper's date of birth. Format [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD
*/
@JsonProperty(JSON_PROPERTY_DATE_OF_BIRTH)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setDateOfBirth(LocalDate dateOfBirth) {
this.dateOfBirth = dateOfBirth;
}
/**
* dccQuote
*
* @param dccQuote
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest dccQuote(ForexQuote dccQuote) {
this.dccQuote = dccQuote;
return this;
}
/**
* Get dccQuote
* @return dccQuote
*/
@JsonProperty(JSON_PROPERTY_DCC_QUOTE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public ForexQuote getDccQuote() {
return dccQuote;
}
/**
* dccQuote
*
* @param dccQuote
*/
@JsonProperty(JSON_PROPERTY_DCC_QUOTE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setDccQuote(ForexQuote dccQuote) {
this.dccQuote = dccQuote;
}
/**
* deliveryAddress
*
* @param deliveryAddress
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest deliveryAddress(Address deliveryAddress) {
this.deliveryAddress = deliveryAddress;
return this;
}
/**
* Get deliveryAddress
* @return deliveryAddress
*/
@JsonProperty(JSON_PROPERTY_DELIVERY_ADDRESS)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public Address getDeliveryAddress() {
return deliveryAddress;
}
/**
* deliveryAddress
*
* @param deliveryAddress
*/
@JsonProperty(JSON_PROPERTY_DELIVERY_ADDRESS)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setDeliveryAddress(Address deliveryAddress) {
this.deliveryAddress = deliveryAddress;
}
/**
* The date and time the purchased goods should be delivered. Format [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD Example: 2017-07-17T13:42:40.428+01:00
*
* @param deliveryDate The date and time the purchased goods should be delivered. Format [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD Example: 2017-07-17T13:42:40.428+01:00
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest deliveryDate(OffsetDateTime deliveryDate) {
this.deliveryDate = deliveryDate;
return this;
}
/**
* The date and time the purchased goods should be delivered. Format [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD Example: 2017-07-17T13:42:40.428+01:00
* @return deliveryDate The date and time the purchased goods should be delivered. Format [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD Example: 2017-07-17T13:42:40.428+01:00
*/
@JsonProperty(JSON_PROPERTY_DELIVERY_DATE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public OffsetDateTime getDeliveryDate() {
return deliveryDate;
}
/**
* The date and time the purchased goods should be delivered. Format [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD Example: 2017-07-17T13:42:40.428+01:00
*
* @param deliveryDate The date and time the purchased goods should be delivered. Format [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD Example: 2017-07-17T13:42:40.428+01:00
*/
@JsonProperty(JSON_PROPERTY_DELIVERY_DATE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setDeliveryDate(OffsetDateTime deliveryDate) {
this.deliveryDate = deliveryDate;
}
/**
* A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).
*
* @param deviceFingerprint A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest deviceFingerprint(String deviceFingerprint) {
this.deviceFingerprint = deviceFingerprint;
return this;
}
/**
* A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).
* @return deviceFingerprint A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).
*/
@JsonProperty(JSON_PROPERTY_DEVICE_FINGERPRINT)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getDeviceFingerprint() {
return deviceFingerprint;
}
/**
* A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).
*
* @param deviceFingerprint A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).
*/
@JsonProperty(JSON_PROPERTY_DEVICE_FINGERPRINT)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setDeviceFingerprint(String deviceFingerprint) {
this.deviceFingerprint = deviceFingerprint;
}
/**
* The type of the entity the payment is processed for.
*
* @param entityType The type of the entity the payment is processed for.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest entityType(EntityTypeEnum entityType) {
this.entityType = entityType;
return this;
}
/**
* The type of the entity the payment is processed for.
* @return entityType The type of the entity the payment is processed for.
*/
@JsonProperty(JSON_PROPERTY_ENTITY_TYPE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public EntityTypeEnum getEntityType() {
return entityType;
}
/**
* The type of the entity the payment is processed for.
*
* @param entityType The type of the entity the payment is processed for.
*/
@JsonProperty(JSON_PROPERTY_ENTITY_TYPE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setEntityType(EntityTypeEnum entityType) {
this.entityType = entityType;
}
/**
* An integer value that is added to the normal fraud score. The value can be either positive or negative.
*
* @param fraudOffset An integer value that is added to the normal fraud score. The value can be either positive or negative.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest fraudOffset(Integer fraudOffset) {
this.fraudOffset = fraudOffset;
return this;
}
/**
* An integer value that is added to the normal fraud score. The value can be either positive or negative.
* @return fraudOffset An integer value that is added to the normal fraud score. The value can be either positive or negative.
*/
@JsonProperty(JSON_PROPERTY_FRAUD_OFFSET)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public Integer getFraudOffset() {
return fraudOffset;
}
/**
* An integer value that is added to the normal fraud score. The value can be either positive or negative.
*
* @param fraudOffset An integer value that is added to the normal fraud score. The value can be either positive or negative.
*/
@JsonProperty(JSON_PROPERTY_FRAUD_OFFSET)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setFraudOffset(Integer fraudOffset) {
this.fraudOffset = fraudOffset;
}
/**
* fundDestination
*
* @param fundDestination
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest fundDestination(FundDestination fundDestination) {
this.fundDestination = fundDestination;
return this;
}
/**
* Get fundDestination
* @return fundDestination
*/
@JsonProperty(JSON_PROPERTY_FUND_DESTINATION)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public FundDestination getFundDestination() {
return fundDestination;
}
/**
* fundDestination
*
* @param fundDestination
*/
@JsonProperty(JSON_PROPERTY_FUND_DESTINATION)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setFundDestination(FundDestination fundDestination) {
this.fundDestination = fundDestination;
}
/**
* fundSource
*
* @param fundSource
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest fundSource(FundSource fundSource) {
this.fundSource = fundSource;
return this;
}
/**
* Get fundSource
* @return fundSource
*/
@JsonProperty(JSON_PROPERTY_FUND_SOURCE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public FundSource getFundSource() {
return fundSource;
}
/**
* fundSource
*
* @param fundSource
*/
@JsonProperty(JSON_PROPERTY_FUND_SOURCE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setFundSource(FundSource fundSource) {
this.fundSource = fundSource;
}
/**
* The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.
*
* @param fundingSource The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest fundingSource(FundingSourceEnum fundingSource) {
this.fundingSource = fundingSource;
return this;
}
/**
* The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.
* @return fundingSource The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.
*/
@JsonProperty(JSON_PROPERTY_FUNDING_SOURCE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public FundingSourceEnum getFundingSource() {
return fundingSource;
}
/**
* The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.
*
* @param fundingSource The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**.
*/
@JsonProperty(JSON_PROPERTY_FUNDING_SOURCE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setFundingSource(FundingSourceEnum fundingSource) {
this.fundingSource = fundingSource;
}
/**
* installments
*
* @param installments
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest installments(Installments installments) {
this.installments = installments;
return this;
}
/**
* Get installments
* @return installments
*/
@JsonProperty(JSON_PROPERTY_INSTALLMENTS)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public Installments getInstallments() {
return installments;
}
/**
* installments
*
* @param installments
*/
@JsonProperty(JSON_PROPERTY_INSTALLMENTS)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setInstallments(Installments installments) {
this.installments = installments;
}
/**
* The `localizedShopperStatement` field lets you use dynamic values for your shopper statement in a local character set. If not supplied, left empty, or for cross-border transactions, **shopperStatement** is used. Adyen currently supports the ja-Kana and ja-Hani character set for Visa, Mastercard and JCB payments in Japan using Japanese cards. This character set supports: * UTF-8 based Katakana, Kanji, capital letters, numbers and special characters. * Half-width or full-width characters.
*
* @param localizedShopperStatement The `localizedShopperStatement` field lets you use dynamic values for your shopper statement in a local character set. If not supplied, left empty, or for cross-border transactions, **shopperStatement** is used. Adyen currently supports the ja-Kana and ja-Hani character set for Visa, Mastercard and JCB payments in Japan using Japanese cards. This character set supports: * UTF-8 based Katakana, Kanji, capital letters, numbers and special characters. * Half-width or full-width characters.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest localizedShopperStatement(Map localizedShopperStatement) {
this.localizedShopperStatement = localizedShopperStatement;
return this;
}
public PaymentRequest putLocalizedShopperStatementItem(String key, String localizedShopperStatementItem) {
if (this.localizedShopperStatement == null) {
this.localizedShopperStatement = new HashMap<>();
}
this.localizedShopperStatement.put(key, localizedShopperStatementItem);
return this;
}
/**
* The `localizedShopperStatement` field lets you use dynamic values for your shopper statement in a local character set. If not supplied, left empty, or for cross-border transactions, **shopperStatement** is used. Adyen currently supports the ja-Kana and ja-Hani character set for Visa, Mastercard and JCB payments in Japan using Japanese cards. This character set supports: * UTF-8 based Katakana, Kanji, capital letters, numbers and special characters. * Half-width or full-width characters.
* @return localizedShopperStatement The `localizedShopperStatement` field lets you use dynamic values for your shopper statement in a local character set. If not supplied, left empty, or for cross-border transactions, **shopperStatement** is used. Adyen currently supports the ja-Kana and ja-Hani character set for Visa, Mastercard and JCB payments in Japan using Japanese cards. This character set supports: * UTF-8 based Katakana, Kanji, capital letters, numbers and special characters. * Half-width or full-width characters.
*/
@JsonProperty(JSON_PROPERTY_LOCALIZED_SHOPPER_STATEMENT)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public Map getLocalizedShopperStatement() {
return localizedShopperStatement;
}
/**
* The `localizedShopperStatement` field lets you use dynamic values for your shopper statement in a local character set. If not supplied, left empty, or for cross-border transactions, **shopperStatement** is used. Adyen currently supports the ja-Kana and ja-Hani character set for Visa, Mastercard and JCB payments in Japan using Japanese cards. This character set supports: * UTF-8 based Katakana, Kanji, capital letters, numbers and special characters. * Half-width or full-width characters.
*
* @param localizedShopperStatement The `localizedShopperStatement` field lets you use dynamic values for your shopper statement in a local character set. If not supplied, left empty, or for cross-border transactions, **shopperStatement** is used. Adyen currently supports the ja-Kana and ja-Hani character set for Visa, Mastercard and JCB payments in Japan using Japanese cards. This character set supports: * UTF-8 based Katakana, Kanji, capital letters, numbers and special characters. * Half-width or full-width characters.
*/
@JsonProperty(JSON_PROPERTY_LOCALIZED_SHOPPER_STATEMENT)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setLocalizedShopperStatement(Map localizedShopperStatement) {
this.localizedShopperStatement = localizedShopperStatement;
}
/**
* mandate
*
* @param mandate
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest mandate(Mandate mandate) {
this.mandate = mandate;
return this;
}
/**
* Get mandate
* @return mandate
*/
@JsonProperty(JSON_PROPERTY_MANDATE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public Mandate getMandate() {
return mandate;
}
/**
* mandate
*
* @param mandate
*/
@JsonProperty(JSON_PROPERTY_MANDATE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setMandate(Mandate mandate) {
this.mandate = mandate;
}
/**
* The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.
*
* @param mcc The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest mcc(String mcc) {
this.mcc = mcc;
return this;
}
/**
* The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.
* @return mcc The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.
*/
@JsonProperty(JSON_PROPERTY_MCC)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getMcc() {
return mcc;
}
/**
* The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.
*
* @param mcc The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.
*/
@JsonProperty(JSON_PROPERTY_MCC)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setMcc(String mcc) {
this.mcc = mcc;
}
/**
* The merchant account identifier, with which you want to process the transaction.
*
* @param merchantAccount The merchant account identifier, with which you want to process the transaction.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest merchantAccount(String merchantAccount) {
this.merchantAccount = merchantAccount;
return this;
}
/**
* The merchant account identifier, with which you want to process the transaction.
* @return merchantAccount The merchant account identifier, with which you want to process the transaction.
*/
@JsonProperty(JSON_PROPERTY_MERCHANT_ACCOUNT)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getMerchantAccount() {
return merchantAccount;
}
/**
* The merchant account identifier, with which you want to process the transaction.
*
* @param merchantAccount The merchant account identifier, with which you want to process the transaction.
*/
@JsonProperty(JSON_PROPERTY_MERCHANT_ACCOUNT)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setMerchantAccount(String merchantAccount) {
this.merchantAccount = merchantAccount;
}
/**
* This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations. > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.
*
* @param merchantOrderReference This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations. > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest merchantOrderReference(String merchantOrderReference) {
this.merchantOrderReference = merchantOrderReference;
return this;
}
/**
* This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations. > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.
* @return merchantOrderReference This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations. > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.
*/
@JsonProperty(JSON_PROPERTY_MERCHANT_ORDER_REFERENCE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getMerchantOrderReference() {
return merchantOrderReference;
}
/**
* This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations. > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.
*
* @param merchantOrderReference This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations. > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.
*/
@JsonProperty(JSON_PROPERTY_MERCHANT_ORDER_REFERENCE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setMerchantOrderReference(String merchantOrderReference) {
this.merchantOrderReference = merchantOrderReference;
}
/**
* merchantRiskIndicator
*
* @param merchantRiskIndicator
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest merchantRiskIndicator(MerchantRiskIndicator merchantRiskIndicator) {
this.merchantRiskIndicator = merchantRiskIndicator;
return this;
}
/**
* Get merchantRiskIndicator
* @return merchantRiskIndicator
*/
@JsonProperty(JSON_PROPERTY_MERCHANT_RISK_INDICATOR)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public MerchantRiskIndicator getMerchantRiskIndicator() {
return merchantRiskIndicator;
}
/**
* merchantRiskIndicator
*
* @param merchantRiskIndicator
*/
@JsonProperty(JSON_PROPERTY_MERCHANT_RISK_INDICATOR)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setMerchantRiskIndicator(MerchantRiskIndicator merchantRiskIndicator) {
this.merchantRiskIndicator = merchantRiskIndicator;
}
/**
* Metadata consists of entries, each of which includes a key and a value. Limits: * Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\". * Maximum 20 characters per key. * Maximum 80 characters per value.
*
* @param metadata Metadata consists of entries, each of which includes a key and a value. Limits: * Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\". * Maximum 20 characters per key. * Maximum 80 characters per value.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest metadata(Map metadata) {
this.metadata = metadata;
return this;
}
public PaymentRequest putMetadataItem(String key, String metadataItem) {
if (this.metadata == null) {
this.metadata = new HashMap<>();
}
this.metadata.put(key, metadataItem);
return this;
}
/**
* Metadata consists of entries, each of which includes a key and a value. Limits: * Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\". * Maximum 20 characters per key. * Maximum 80 characters per value.
* @return metadata Metadata consists of entries, each of which includes a key and a value. Limits: * Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\". * Maximum 20 characters per key. * Maximum 80 characters per value.
*/
@JsonProperty(JSON_PROPERTY_METADATA)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public Map getMetadata() {
return metadata;
}
/**
* Metadata consists of entries, each of which includes a key and a value. Limits: * Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\". * Maximum 20 characters per key. * Maximum 80 characters per value.
*
* @param metadata Metadata consists of entries, each of which includes a key and a value. Limits: * Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\". * Maximum 20 characters per key. * Maximum 80 characters per value.
*/
@JsonProperty(JSON_PROPERTY_METADATA)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setMetadata(Map metadata) {
this.metadata = metadata;
}
/**
* mpiData
*
* @param mpiData
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest mpiData(ThreeDSecureData mpiData) {
this.mpiData = mpiData;
return this;
}
/**
* Get mpiData
* @return mpiData
*/
@JsonProperty(JSON_PROPERTY_MPI_DATA)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public ThreeDSecureData getMpiData() {
return mpiData;
}
/**
* mpiData
*
* @param mpiData
*/
@JsonProperty(JSON_PROPERTY_MPI_DATA)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setMpiData(ThreeDSecureData mpiData) {
this.mpiData = mpiData;
}
/**
* The two-character country code of the shopper's nationality.
*
* @param nationality The two-character country code of the shopper's nationality.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest nationality(String nationality) {
this.nationality = nationality;
return this;
}
/**
* The two-character country code of the shopper's nationality.
* @return nationality The two-character country code of the shopper's nationality.
*/
@JsonProperty(JSON_PROPERTY_NATIONALITY)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getNationality() {
return nationality;
}
/**
* The two-character country code of the shopper's nationality.
*
* @param nationality The two-character country code of the shopper's nationality.
*/
@JsonProperty(JSON_PROPERTY_NATIONALITY)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setNationality(String nationality) {
this.nationality = nationality;
}
/**
* When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.
*
* @param orderReference When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest orderReference(String orderReference) {
this.orderReference = orderReference;
return this;
}
/**
* When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.
* @return orderReference When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.
*/
@JsonProperty(JSON_PROPERTY_ORDER_REFERENCE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getOrderReference() {
return orderReference;
}
/**
* When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.
*
* @param orderReference When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.
*/
@JsonProperty(JSON_PROPERTY_ORDER_REFERENCE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setOrderReference(String orderReference) {
this.orderReference = orderReference;
}
/**
* platformChargebackLogic
*
* @param platformChargebackLogic
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest platformChargebackLogic(PlatformChargebackLogic platformChargebackLogic) {
this.platformChargebackLogic = platformChargebackLogic;
return this;
}
/**
* Get platformChargebackLogic
* @return platformChargebackLogic
*/
@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;
}
/**
* recurring
*
* @param recurring
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest recurring(Recurring recurring) {
this.recurring = recurring;
return this;
}
/**
* Get recurring
* @return recurring
*/
@JsonProperty(JSON_PROPERTY_RECURRING)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public Recurring getRecurring() {
return recurring;
}
/**
* recurring
*
* @param recurring
*/
@JsonProperty(JSON_PROPERTY_RECURRING)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setRecurring(Recurring recurring) {
this.recurring = recurring;
}
/**
* Defines a recurring payment type. Required when creating a token to store payment details or using stored payment details. Allowed 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 have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.
*
* @param recurringProcessingModel Defines a recurring payment type. Required when creating a token to store payment details or using stored payment details. Allowed 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 have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest recurringProcessingModel(RecurringProcessingModelEnum recurringProcessingModel) {
this.recurringProcessingModel = recurringProcessingModel;
return this;
}
/**
* Defines a recurring payment type. Required when creating a token to store payment details or using stored payment details. Allowed 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 have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.
* @return recurringProcessingModel Defines a recurring payment type. Required when creating a token to store payment details or using stored payment details. Allowed 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 have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.
*/
@JsonProperty(JSON_PROPERTY_RECURRING_PROCESSING_MODEL)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public RecurringProcessingModelEnum getRecurringProcessingModel() {
return recurringProcessingModel;
}
/**
* Defines a recurring payment type. Required when creating a token to store payment details or using stored payment details. Allowed 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 have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.
*
* @param recurringProcessingModel Defines a recurring payment type. Required when creating a token to store payment details or using stored payment details. Allowed 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 have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.
*/
@JsonProperty(JSON_PROPERTY_RECURRING_PROCESSING_MODEL)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setRecurringProcessingModel(RecurringProcessingModelEnum recurringProcessingModel) {
this.recurringProcessingModel = recurringProcessingModel;
}
/**
* The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. If you need to provide multiple references for a transaction, separate them with hyphens (\"-\"). Maximum length: 80 characters.
*
* @param reference The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. If you need to provide multiple references for a transaction, separate them with hyphens (\"-\"). Maximum length: 80 characters.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest reference(String reference) {
this.reference = reference;
return this;
}
/**
* The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. If you need to provide multiple references for a transaction, separate them with hyphens (\"-\"). Maximum length: 80 characters.
* @return reference The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. If you need to provide multiple references for a transaction, separate them with hyphens (\"-\"). Maximum length: 80 characters.
*/
@JsonProperty(JSON_PROPERTY_REFERENCE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getReference() {
return reference;
}
/**
* The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. If you need to provide multiple references for a transaction, separate them with hyphens (\"-\"). Maximum length: 80 characters.
*
* @param reference The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. If you need to provide multiple references for a transaction, separate them with hyphens (\"-\"). Maximum length: 80 characters.
*/
@JsonProperty(JSON_PROPERTY_REFERENCE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setReference(String reference) {
this.reference = reference;
}
/**
* secureRemoteCommerceCheckoutData
*
* @param secureRemoteCommerceCheckoutData
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest secureRemoteCommerceCheckoutData(SecureRemoteCommerceCheckoutData secureRemoteCommerceCheckoutData) {
this.secureRemoteCommerceCheckoutData = secureRemoteCommerceCheckoutData;
return this;
}
/**
* Get secureRemoteCommerceCheckoutData
* @return secureRemoteCommerceCheckoutData
*/
@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;
}
/**
* Some payment methods require defining a value for this field to specify how to process the transaction. For the Bancontact payment method, it can be set to: * `maestro` (default), to be processed like a Maestro card, or * `bcmc`, to be processed like a Bancontact card.
*
* @param selectedBrand Some payment methods require defining a value for this field to specify how to process the transaction. For the Bancontact payment method, it can be set to: * `maestro` (default), to be processed like a Maestro card, or * `bcmc`, to be processed like a Bancontact card.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest selectedBrand(String selectedBrand) {
this.selectedBrand = selectedBrand;
return this;
}
/**
* Some payment methods require defining a value for this field to specify how to process the transaction. For the Bancontact payment method, it can be set to: * `maestro` (default), to be processed like a Maestro card, or * `bcmc`, to be processed like a Bancontact card.
* @return selectedBrand Some payment methods require defining a value for this field to specify how to process the transaction. For the Bancontact payment method, it can be set to: * `maestro` (default), to be processed like a Maestro card, or * `bcmc`, to be processed like a Bancontact card.
*/
@JsonProperty(JSON_PROPERTY_SELECTED_BRAND)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getSelectedBrand() {
return selectedBrand;
}
/**
* Some payment methods require defining a value for this field to specify how to process the transaction. For the Bancontact payment method, it can be set to: * `maestro` (default), to be processed like a Maestro card, or * `bcmc`, to be processed like a Bancontact card.
*
* @param selectedBrand Some payment methods require defining a value for this field to specify how to process the transaction. For the Bancontact payment method, it can be set to: * `maestro` (default), to be processed like a Maestro card, or * `bcmc`, to be processed like a Bancontact card.
*/
@JsonProperty(JSON_PROPERTY_SELECTED_BRAND)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setSelectedBrand(String selectedBrand) {
this.selectedBrand = selectedBrand;
}
/**
* The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail.
*
* @param selectedRecurringDetailReference The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest selectedRecurringDetailReference(String selectedRecurringDetailReference) {
this.selectedRecurringDetailReference = selectedRecurringDetailReference;
return this;
}
/**
* The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail.
* @return selectedRecurringDetailReference The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail.
*/
@JsonProperty(JSON_PROPERTY_SELECTED_RECURRING_DETAIL_REFERENCE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getSelectedRecurringDetailReference() {
return selectedRecurringDetailReference;
}
/**
* The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail.
*
* @param selectedRecurringDetailReference The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail.
*/
@JsonProperty(JSON_PROPERTY_SELECTED_RECURRING_DETAIL_REFERENCE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setSelectedRecurringDetailReference(String selectedRecurringDetailReference) {
this.selectedRecurringDetailReference = selectedRecurringDetailReference;
}
/**
* A session ID used to identify a payment session.
*
* @param sessionId A session ID used to identify a payment session.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest sessionId(String sessionId) {
this.sessionId = sessionId;
return this;
}
/**
* A session ID used to identify a payment session.
* @return sessionId A session ID used to identify a payment session.
*/
@JsonProperty(JSON_PROPERTY_SESSION_ID)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getSessionId() {
return sessionId;
}
/**
* A session ID used to identify a payment session.
*
* @param sessionId A session ID used to identify a payment session.
*/
@JsonProperty(JSON_PROPERTY_SESSION_ID)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setSessionId(String sessionId) {
this.sessionId = sessionId;
}
/**
* The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. > For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.
*
* @param shopperEmail The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. > For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest shopperEmail(String shopperEmail) {
this.shopperEmail = shopperEmail;
return this;
}
/**
* The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. > For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.
* @return shopperEmail The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. > For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.
*/
@JsonProperty(JSON_PROPERTY_SHOPPER_EMAIL)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getShopperEmail() {
return shopperEmail;
}
/**
* The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. > For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.
*
* @param shopperEmail The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. > For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.
*/
@JsonProperty(JSON_PROPERTY_SHOPPER_EMAIL)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setShopperEmail(String shopperEmail) {
this.shopperEmail = shopperEmail;
}
/**
* The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks). > For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://www.adyen.help/hc/en-us/requests/new).
*
* @param shopperIP The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks). > For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://www.adyen.help/hc/en-us/requests/new).
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest shopperIP(String shopperIP) {
this.shopperIP = shopperIP;
return this;
}
/**
* The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks). > For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://www.adyen.help/hc/en-us/requests/new).
* @return shopperIP The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks). > For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://www.adyen.help/hc/en-us/requests/new).
*/
@JsonProperty(JSON_PROPERTY_SHOPPER_I_P)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getShopperIP() {
return shopperIP;
}
/**
* The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks). > For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://www.adyen.help/hc/en-us/requests/new).
*
* @param shopperIP The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks). > For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://www.adyen.help/hc/en-us/requests/new).
*/
@JsonProperty(JSON_PROPERTY_SHOPPER_I_P)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setShopperIP(String shopperIP) {
this.shopperIP = shopperIP;
}
/**
* Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. For the web service API, Adyen assumes Ecommerce shopper interaction by default. This field has the following possible values: * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.
*
* @param shopperInteraction Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. For the web service API, Adyen assumes Ecommerce shopper interaction by default. This field has the following possible values: * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest shopperInteraction(ShopperInteractionEnum shopperInteraction) {
this.shopperInteraction = shopperInteraction;
return this;
}
/**
* Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. For the web service API, Adyen assumes Ecommerce shopper interaction by default. This field has the following possible values: * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.
* @return shopperInteraction Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. For the web service API, Adyen assumes Ecommerce shopper interaction by default. This field has the following possible values: * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.
*/
@JsonProperty(JSON_PROPERTY_SHOPPER_INTERACTION)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public ShopperInteractionEnum getShopperInteraction() {
return shopperInteraction;
}
/**
* Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. For the web service API, Adyen assumes Ecommerce shopper interaction by default. This field has the following possible values: * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.
*
* @param shopperInteraction Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. For the web service API, Adyen assumes Ecommerce shopper interaction by default. This field has the following possible values: * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.
*/
@JsonProperty(JSON_PROPERTY_SHOPPER_INTERACTION)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setShopperInteraction(ShopperInteractionEnum shopperInteraction) {
this.shopperInteraction = shopperInteraction;
}
/**
* The combination of a language code and a country code to specify the language to be used in the payment.
*
* @param shopperLocale The combination of a language code and a country code to specify the language to be used in the payment.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest shopperLocale(String shopperLocale) {
this.shopperLocale = shopperLocale;
return this;
}
/**
* The combination of a language code and a country code to specify the language to be used in the payment.
* @return shopperLocale The combination of a language code and a country code to specify the language to be used in the payment.
*/
@JsonProperty(JSON_PROPERTY_SHOPPER_LOCALE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getShopperLocale() {
return shopperLocale;
}
/**
* The combination of a language code and a country code to specify the language to be used in the payment.
*
* @param shopperLocale The combination of a language code and a country code to specify the language to be used in the payment.
*/
@JsonProperty(JSON_PROPERTY_SHOPPER_LOCALE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setShopperLocale(String shopperLocale) {
this.shopperLocale = shopperLocale;
}
/**
* shopperName
*
* @param shopperName
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest shopperName(Name shopperName) {
this.shopperName = shopperName;
return this;
}
/**
* Get shopperName
* @return shopperName
*/
@JsonProperty(JSON_PROPERTY_SHOPPER_NAME)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public Name getShopperName() {
return shopperName;
}
/**
* shopperName
*
* @param shopperName
*/
@JsonProperty(JSON_PROPERTY_SHOPPER_NAME)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setShopperName(Name shopperName) {
this.shopperName = shopperName;
}
/**
* Required for recurring payments. Your reference to uniquely identify this shopper, for example user ID or account ID. The value is case-sensitive and must be at least three characters. > Your reference must not include personally identifiable information (PII) such as name or email address.
*
* @param shopperReference Required for recurring payments. Your reference to uniquely identify this shopper, for example user ID or account ID. The value is case-sensitive and must be at least three characters. > Your reference must not include personally identifiable information (PII) such as name or email address.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest shopperReference(String shopperReference) {
this.shopperReference = shopperReference;
return this;
}
/**
* Required for recurring payments. Your reference to uniquely identify this shopper, for example user ID or account ID. The value is case-sensitive and must be at least three characters. > Your reference must not include personally identifiable information (PII) such as name or email address.
* @return shopperReference Required for recurring payments. Your reference to uniquely identify this shopper, for example user ID or account ID. The value is case-sensitive and must be at least three characters. > Your reference must not include personally identifiable information (PII) such as name or email address.
*/
@JsonProperty(JSON_PROPERTY_SHOPPER_REFERENCE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getShopperReference() {
return shopperReference;
}
/**
* Required for recurring payments. Your reference to uniquely identify this shopper, for example user ID or account ID. The value is case-sensitive and must be at least three characters. > Your reference must not include personally identifiable information (PII) such as name or email address.
*
* @param shopperReference Required for recurring payments. Your reference to uniquely identify this shopper, for example user ID or account ID. The value is case-sensitive and must be at least three characters. > Your reference must not include personally identifiable information (PII) such as name or email address.
*/
@JsonProperty(JSON_PROPERTY_SHOPPER_REFERENCE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setShopperReference(String shopperReference) {
this.shopperReference = shopperReference;
}
/**
* The text to be shown on the shopper's bank statement. We recommend sending a maximum of 22 characters, otherwise banks might truncate the string. Allowed characters: **a-z**, **A-Z**, **0-9**, spaces, and special characters **. , ' _ - ? + * /_**.
*
* @param shopperStatement The text to be shown on the shopper's bank statement. We recommend sending a maximum of 22 characters, otherwise banks might truncate the string. Allowed characters: **a-z**, **A-Z**, **0-9**, spaces, and special characters **. , ' _ - ? + * /_**.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest shopperStatement(String shopperStatement) {
this.shopperStatement = shopperStatement;
return this;
}
/**
* The text to be shown on the shopper's bank statement. We recommend sending a maximum of 22 characters, otherwise banks might truncate the string. Allowed characters: **a-z**, **A-Z**, **0-9**, spaces, and special characters **. , ' _ - ? + * /_**.
* @return shopperStatement The text to be shown on the shopper's bank statement. We recommend sending a maximum of 22 characters, otherwise banks might truncate the string. Allowed characters: **a-z**, **A-Z**, **0-9**, spaces, and special characters **. , ' _ - ? + * /_**.
*/
@JsonProperty(JSON_PROPERTY_SHOPPER_STATEMENT)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getShopperStatement() {
return shopperStatement;
}
/**
* The text to be shown on the shopper's bank statement. We recommend sending a maximum of 22 characters, otherwise banks might truncate the string. Allowed characters: **a-z**, **A-Z**, **0-9**, spaces, and special characters **. , ' _ - ? + * /_**.
*
* @param shopperStatement The text to be shown on the shopper's bank statement. We recommend sending a maximum of 22 characters, otherwise banks might truncate the string. Allowed characters: **a-z**, **A-Z**, **0-9**, spaces, and special characters **. , ' _ - ? + * /_**.
*/
@JsonProperty(JSON_PROPERTY_SHOPPER_STATEMENT)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setShopperStatement(String shopperStatement) {
this.shopperStatement = shopperStatement;
}
/**
* The shopper's social security number.
*
* @param socialSecurityNumber The shopper's social security number.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest socialSecurityNumber(String socialSecurityNumber) {
this.socialSecurityNumber = socialSecurityNumber;
return this;
}
/**
* The shopper's social security number.
* @return socialSecurityNumber The shopper's social security number.
*/
@JsonProperty(JSON_PROPERTY_SOCIAL_SECURITY_NUMBER)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getSocialSecurityNumber() {
return socialSecurityNumber;
}
/**
* The shopper's social security number.
*
* @param socialSecurityNumber The shopper's social security number.
*/
@JsonProperty(JSON_PROPERTY_SOCIAL_SECURITY_NUMBER)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setSocialSecurityNumber(String socialSecurityNumber) {
this.socialSecurityNumber = socialSecurityNumber;
}
/**
* An array of objects specifying how the payment should be split when using either Adyen for Platforms for [marketplaces](https://docs.adyen.com/marketplaces/split-payments) or [platforms](https://docs.adyen.com/platforms/split-payments), or standalone [Issuing](https://docs.adyen.com/issuing/add-manage-funds#split).
*
* @param splits An array of objects specifying how the payment should be split when using either Adyen for Platforms for [marketplaces](https://docs.adyen.com/marketplaces/split-payments) or [platforms](https://docs.adyen.com/platforms/split-payments), or standalone [Issuing](https://docs.adyen.com/issuing/add-manage-funds#split).
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest splits(List splits) {
this.splits = splits;
return this;
}
public PaymentRequest addSplitsItem(Split splitsItem) {
if (this.splits == null) {
this.splits = new ArrayList<>();
}
this.splits.add(splitsItem);
return this;
}
/**
* An array of objects specifying how the payment should be split when using either Adyen for Platforms for [marketplaces](https://docs.adyen.com/marketplaces/split-payments) or [platforms](https://docs.adyen.com/platforms/split-payments), or standalone [Issuing](https://docs.adyen.com/issuing/add-manage-funds#split).
* @return splits An array of objects specifying how the payment should be split when using either Adyen for Platforms for [marketplaces](https://docs.adyen.com/marketplaces/split-payments) or [platforms](https://docs.adyen.com/platforms/split-payments), or standalone [Issuing](https://docs.adyen.com/issuing/add-manage-funds#split).
*/
@JsonProperty(JSON_PROPERTY_SPLITS)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public List getSplits() {
return splits;
}
/**
* An array of objects specifying how the payment should be split when using either Adyen for Platforms for [marketplaces](https://docs.adyen.com/marketplaces/split-payments) or [platforms](https://docs.adyen.com/platforms/split-payments), or standalone [Issuing](https://docs.adyen.com/issuing/add-manage-funds#split).
*
* @param splits An array of objects specifying how the payment should be split when using either Adyen for Platforms for [marketplaces](https://docs.adyen.com/marketplaces/split-payments) or [platforms](https://docs.adyen.com/platforms/split-payments), or standalone [Issuing](https://docs.adyen.com/issuing/add-manage-funds#split).
*/
@JsonProperty(JSON_PROPERTY_SPLITS)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setSplits(List splits) {
this.splits = splits;
}
/**
* Required for Adyen for Platforms integrations if you are a platform model. This is your [reference](https://docs.adyen.com/api-explorer/Management/3/post/merchants/(merchantId)/stores#request-reference) (on [balance platform](https://docs.adyen.com/platforms)) or the [storeReference](https://docs.adyen.com/api-explorer/Account/latest/post/updateAccountHolder#request-accountHolderDetails-storeDetails-storeReference) (in the [classic integration](https://docs.adyen.com/classic-platforms/processing-payments/route-payment-to-store/#route-a-payment-to-a-store)) for the ecommerce or point-of-sale store that is processing the payment.
*
* @param store Required for Adyen for Platforms integrations if you are a platform model. This is your [reference](https://docs.adyen.com/api-explorer/Management/3/post/merchants/(merchantId)/stores#request-reference) (on [balance platform](https://docs.adyen.com/platforms)) or the [storeReference](https://docs.adyen.com/api-explorer/Account/latest/post/updateAccountHolder#request-accountHolderDetails-storeDetails-storeReference) (in the [classic integration](https://docs.adyen.com/classic-platforms/processing-payments/route-payment-to-store/#route-a-payment-to-a-store)) for the ecommerce or point-of-sale store that is processing the payment.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest store(String store) {
this.store = store;
return this;
}
/**
* Required for Adyen for Platforms integrations if you are a platform model. This is your [reference](https://docs.adyen.com/api-explorer/Management/3/post/merchants/(merchantId)/stores#request-reference) (on [balance platform](https://docs.adyen.com/platforms)) or the [storeReference](https://docs.adyen.com/api-explorer/Account/latest/post/updateAccountHolder#request-accountHolderDetails-storeDetails-storeReference) (in the [classic integration](https://docs.adyen.com/classic-platforms/processing-payments/route-payment-to-store/#route-a-payment-to-a-store)) for the ecommerce or point-of-sale store that is processing the payment.
* @return store Required for Adyen for Platforms integrations if you are a platform model. This is your [reference](https://docs.adyen.com/api-explorer/Management/3/post/merchants/(merchantId)/stores#request-reference) (on [balance platform](https://docs.adyen.com/platforms)) or the [storeReference](https://docs.adyen.com/api-explorer/Account/latest/post/updateAccountHolder#request-accountHolderDetails-storeDetails-storeReference) (in the [classic integration](https://docs.adyen.com/classic-platforms/processing-payments/route-payment-to-store/#route-a-payment-to-a-store)) for the ecommerce or point-of-sale store that is processing the payment.
*/
@JsonProperty(JSON_PROPERTY_STORE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getStore() {
return store;
}
/**
* Required for Adyen for Platforms integrations if you are a platform model. This is your [reference](https://docs.adyen.com/api-explorer/Management/3/post/merchants/(merchantId)/stores#request-reference) (on [balance platform](https://docs.adyen.com/platforms)) or the [storeReference](https://docs.adyen.com/api-explorer/Account/latest/post/updateAccountHolder#request-accountHolderDetails-storeDetails-storeReference) (in the [classic integration](https://docs.adyen.com/classic-platforms/processing-payments/route-payment-to-store/#route-a-payment-to-a-store)) for the ecommerce or point-of-sale store that is processing the payment.
*
* @param store Required for Adyen for Platforms integrations if you are a platform model. This is your [reference](https://docs.adyen.com/api-explorer/Management/3/post/merchants/(merchantId)/stores#request-reference) (on [balance platform](https://docs.adyen.com/platforms)) or the [storeReference](https://docs.adyen.com/api-explorer/Account/latest/post/updateAccountHolder#request-accountHolderDetails-storeDetails-storeReference) (in the [classic integration](https://docs.adyen.com/classic-platforms/processing-payments/route-payment-to-store/#route-a-payment-to-a-store)) for the ecommerce or point-of-sale store that is processing the payment.
*/
@JsonProperty(JSON_PROPERTY_STORE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setStore(String store) {
this.store = store;
}
/**
* The shopper's telephone number.
*
* @param telephoneNumber The shopper's telephone number.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest telephoneNumber(String telephoneNumber) {
this.telephoneNumber = telephoneNumber;
return this;
}
/**
* The shopper's telephone number.
* @return telephoneNumber The shopper's telephone number.
*/
@JsonProperty(JSON_PROPERTY_TELEPHONE_NUMBER)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getTelephoneNumber() {
return telephoneNumber;
}
/**
* The shopper's telephone number.
*
* @param telephoneNumber The shopper's telephone number.
*/
@JsonProperty(JSON_PROPERTY_TELEPHONE_NUMBER)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setTelephoneNumber(String telephoneNumber) {
this.telephoneNumber = telephoneNumber;
}
/**
* threeDS2RequestData
*
* @param threeDS2RequestData
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest threeDS2RequestData(ThreeDS2RequestData threeDS2RequestData) {
this.threeDS2RequestData = threeDS2RequestData;
return this;
}
/**
* Get threeDS2RequestData
* @return threeDS2RequestData
*/
@JsonProperty(JSON_PROPERTY_THREE_D_S2_REQUEST_DATA)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public ThreeDS2RequestData getThreeDS2RequestData() {
return threeDS2RequestData;
}
/**
* threeDS2RequestData
*
* @param threeDS2RequestData
*/
@JsonProperty(JSON_PROPERTY_THREE_D_S2_REQUEST_DATA)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setThreeDS2RequestData(ThreeDS2RequestData threeDS2RequestData) {
this.threeDS2RequestData = threeDS2RequestData;
}
/**
* If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.
*
* @param threeDSAuthenticationOnly If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest threeDSAuthenticationOnly(Boolean threeDSAuthenticationOnly) {
this.threeDSAuthenticationOnly = threeDSAuthenticationOnly;
return this;
}
/**
* If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.
* @return threeDSAuthenticationOnly If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.
*/
@JsonProperty(JSON_PROPERTY_THREE_D_S_AUTHENTICATION_ONLY)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public Boolean getThreeDSAuthenticationOnly() {
return threeDSAuthenticationOnly;
}
/**
* If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.
*
* @param threeDSAuthenticationOnly If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.
*/
@JsonProperty(JSON_PROPERTY_THREE_D_S_AUTHENTICATION_ONLY)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setThreeDSAuthenticationOnly(Boolean threeDSAuthenticationOnly) {
this.threeDSAuthenticationOnly = threeDSAuthenticationOnly;
}
/**
* The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).
*
* @param totalsGroup The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest totalsGroup(String totalsGroup) {
this.totalsGroup = totalsGroup;
return this;
}
/**
* The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).
* @return totalsGroup The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).
*/
@JsonProperty(JSON_PROPERTY_TOTALS_GROUP)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getTotalsGroup() {
return totalsGroup;
}
/**
* The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).
*
* @param totalsGroup The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).
*/
@JsonProperty(JSON_PROPERTY_TOTALS_GROUP)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setTotalsGroup(String totalsGroup) {
this.totalsGroup = totalsGroup;
}
/**
* Set to true if the payment should be routed to a trusted MID.
*
* @param trustedShopper Set to true if the payment should be routed to a trusted MID.
* @return the current {@code PaymentRequest} instance, allowing for method chaining
*/
public PaymentRequest trustedShopper(Boolean trustedShopper) {
this.trustedShopper = trustedShopper;
return this;
}
/**
* Set to true if the payment should be routed to a trusted MID.
* @return trustedShopper Set to true if the payment should be routed to a trusted MID.
*/
@JsonProperty(JSON_PROPERTY_TRUSTED_SHOPPER)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public Boolean getTrustedShopper() {
return trustedShopper;
}
/**
* Set to true if the payment should be routed to a trusted MID.
*
* @param trustedShopper Set to true if the payment should be routed to a trusted MID.
*/
@JsonProperty(JSON_PROPERTY_TRUSTED_SHOPPER)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setTrustedShopper(Boolean trustedShopper) {
this.trustedShopper = trustedShopper;
}
/**
* Return true if this PaymentRequest object is equal to o.
*/
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
PaymentRequest paymentRequest = (PaymentRequest) o;
return Objects.equals(this.accountInfo, paymentRequest.accountInfo) &&
Objects.equals(this.additionalAmount, paymentRequest.additionalAmount) &&
Objects.equals(this.additionalData, paymentRequest.additionalData) &&
Objects.equals(this.amount, paymentRequest.amount) &&
Objects.equals(this.applicationInfo, paymentRequest.applicationInfo) &&
Objects.equals(this.bankAccount, paymentRequest.bankAccount) &&
Objects.equals(this.billingAddress, paymentRequest.billingAddress) &&
Objects.equals(this.browserInfo, paymentRequest.browserInfo) &&
Objects.equals(this.captureDelayHours, paymentRequest.captureDelayHours) &&
Objects.equals(this.card, paymentRequest.card) &&
Objects.equals(this.dateOfBirth, paymentRequest.dateOfBirth) &&
Objects.equals(this.dccQuote, paymentRequest.dccQuote) &&
Objects.equals(this.deliveryAddress, paymentRequest.deliveryAddress) &&
Objects.equals(this.deliveryDate, paymentRequest.deliveryDate) &&
Objects.equals(this.deviceFingerprint, paymentRequest.deviceFingerprint) &&
Objects.equals(this.entityType, paymentRequest.entityType) &&
Objects.equals(this.fraudOffset, paymentRequest.fraudOffset) &&
Objects.equals(this.fundDestination, paymentRequest.fundDestination) &&
Objects.equals(this.fundSource, paymentRequest.fundSource) &&
Objects.equals(this.fundingSource, paymentRequest.fundingSource) &&
Objects.equals(this.installments, paymentRequest.installments) &&
Objects.equals(this.localizedShopperStatement, paymentRequest.localizedShopperStatement) &&
Objects.equals(this.mandate, paymentRequest.mandate) &&
Objects.equals(this.mcc, paymentRequest.mcc) &&
Objects.equals(this.merchantAccount, paymentRequest.merchantAccount) &&
Objects.equals(this.merchantOrderReference, paymentRequest.merchantOrderReference) &&
Objects.equals(this.merchantRiskIndicator, paymentRequest.merchantRiskIndicator) &&
Objects.equals(this.metadata, paymentRequest.metadata) &&
Objects.equals(this.mpiData, paymentRequest.mpiData) &&
Objects.equals(this.nationality, paymentRequest.nationality) &&
Objects.equals(this.orderReference, paymentRequest.orderReference) &&
Objects.equals(this.platformChargebackLogic, paymentRequest.platformChargebackLogic) &&
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) &&
Objects.equals(this.shopperEmail, paymentRequest.shopperEmail) &&
Objects.equals(this.shopperIP, paymentRequest.shopperIP) &&
Objects.equals(this.shopperInteraction, paymentRequest.shopperInteraction) &&
Objects.equals(this.shopperLocale, paymentRequest.shopperLocale) &&
Objects.equals(this.shopperName, paymentRequest.shopperName) &&
Objects.equals(this.shopperReference, paymentRequest.shopperReference) &&
Objects.equals(this.shopperStatement, paymentRequest.shopperStatement) &&
Objects.equals(this.socialSecurityNumber, paymentRequest.socialSecurityNumber) &&
Objects.equals(this.splits, paymentRequest.splits) &&
Objects.equals(this.store, paymentRequest.store) &&
Objects.equals(this.telephoneNumber, paymentRequest.telephoneNumber) &&
Objects.equals(this.threeDS2RequestData, paymentRequest.threeDS2RequestData) &&
Objects.equals(this.threeDSAuthenticationOnly, paymentRequest.threeDSAuthenticationOnly) &&
Objects.equals(this.totalsGroup, paymentRequest.totalsGroup) &&
Objects.equals(this.trustedShopper, paymentRequest.trustedShopper);
}
@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, secureRemoteCommerceCheckoutData, selectedBrand, selectedRecurringDetailReference, sessionId, shopperEmail, shopperIP, shopperInteraction, shopperLocale, shopperName, shopperReference, shopperStatement, socialSecurityNumber, splits, store, telephoneNumber, threeDS2RequestData, threeDSAuthenticationOnly, totalsGroup, trustedShopper);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class PaymentRequest {\n");
sb.append(" accountInfo: ").append(toIndentedString(accountInfo)).append("\n");
sb.append(" additionalAmount: ").append(toIndentedString(additionalAmount)).append("\n");
sb.append(" additionalData: ").append(toIndentedString(additionalData)).append("\n");
sb.append(" amount: ").append(toIndentedString(amount)).append("\n");
sb.append(" applicationInfo: ").append(toIndentedString(applicationInfo)).append("\n");
sb.append(" bankAccount: ").append(toIndentedString(bankAccount)).append("\n");
sb.append(" billingAddress: ").append(toIndentedString(billingAddress)).append("\n");
sb.append(" browserInfo: ").append(toIndentedString(browserInfo)).append("\n");
sb.append(" captureDelayHours: ").append(toIndentedString(captureDelayHours)).append("\n");
sb.append(" card: ").append(toIndentedString(card)).append("\n");
sb.append(" dateOfBirth: ").append(toIndentedString(dateOfBirth)).append("\n");
sb.append(" dccQuote: ").append(toIndentedString(dccQuote)).append("\n");
sb.append(" deliveryAddress: ").append(toIndentedString(deliveryAddress)).append("\n");
sb.append(" deliveryDate: ").append(toIndentedString(deliveryDate)).append("\n");
sb.append(" deviceFingerprint: ").append(toIndentedString(deviceFingerprint)).append("\n");
sb.append(" entityType: ").append(toIndentedString(entityType)).append("\n");
sb.append(" fraudOffset: ").append(toIndentedString(fraudOffset)).append("\n");
sb.append(" fundDestination: ").append(toIndentedString(fundDestination)).append("\n");
sb.append(" fundSource: ").append(toIndentedString(fundSource)).append("\n");
sb.append(" fundingSource: ").append(toIndentedString(fundingSource)).append("\n");
sb.append(" installments: ").append(toIndentedString(installments)).append("\n");
sb.append(" localizedShopperStatement: ").append(toIndentedString(localizedShopperStatement)).append("\n");
sb.append(" mandate: ").append(toIndentedString(mandate)).append("\n");
sb.append(" mcc: ").append(toIndentedString(mcc)).append("\n");
sb.append(" merchantAccount: ").append(toIndentedString(merchantAccount)).append("\n");
sb.append(" merchantOrderReference: ").append(toIndentedString(merchantOrderReference)).append("\n");
sb.append(" merchantRiskIndicator: ").append(toIndentedString(merchantRiskIndicator)).append("\n");
sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n");
sb.append(" mpiData: ").append(toIndentedString(mpiData)).append("\n");
sb.append(" nationality: ").append(toIndentedString(nationality)).append("\n");
sb.append(" orderReference: ").append(toIndentedString(orderReference)).append("\n");
sb.append(" platformChargebackLogic: ").append(toIndentedString(platformChargebackLogic)).append("\n");
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");
sb.append(" shopperEmail: ").append(toIndentedString(shopperEmail)).append("\n");
sb.append(" shopperIP: ").append(toIndentedString(shopperIP)).append("\n");
sb.append(" shopperInteraction: ").append(toIndentedString(shopperInteraction)).append("\n");
sb.append(" shopperLocale: ").append(toIndentedString(shopperLocale)).append("\n");
sb.append(" shopperName: ").append(toIndentedString(shopperName)).append("\n");
sb.append(" shopperReference: ").append(toIndentedString(shopperReference)).append("\n");
sb.append(" shopperStatement: ").append(toIndentedString(shopperStatement)).append("\n");
sb.append(" socialSecurityNumber: ").append(toIndentedString(socialSecurityNumber)).append("\n");
sb.append(" splits: ").append(toIndentedString(splits)).append("\n");
sb.append(" store: ").append(toIndentedString(store)).append("\n");
sb.append(" telephoneNumber: ").append(toIndentedString(telephoneNumber)).append("\n");
sb.append(" threeDS2RequestData: ").append(toIndentedString(threeDS2RequestData)).append("\n");
sb.append(" threeDSAuthenticationOnly: ").append(toIndentedString(threeDSAuthenticationOnly)).append("\n");
sb.append(" totalsGroup: ").append(toIndentedString(totalsGroup)).append("\n");
sb.append(" trustedShopper: ").append(toIndentedString(trustedShopper)).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 PaymentRequest given an JSON string
*
* @param jsonString JSON string
* @return An instance of PaymentRequest
* @throws JsonProcessingException if the JSON string is invalid with respect to PaymentRequest
*/
public static PaymentRequest fromJson(String jsonString) throws JsonProcessingException {
return JSON.getMapper().readValue(jsonString, PaymentRequest.class);
}
/**
* Convert an instance of PaymentRequest to an JSON string
*
* @return JSON string
*/
public String toJson() throws JsonProcessingException {
return JSON.getMapper().writeValueAsString(this);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy