com.recurly.v3.requests.BillingInfoCreate Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of api-client Show documentation
Show all versions of api-client Show documentation
The official Java client for Recurly's V3 API.
/**
* This file is automatically created by Recurly's OpenAPI generation process and thus any edits you
* make by hand will be lost. If you wish to make a change to this file, please create a Github
* issue explaining the changes you need and we will usher them to the appropriate places.
*/
package com.recurly.v3.requests;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import com.recurly.v3.Constants;
import com.recurly.v3.Request;
import com.recurly.v3.resources.*;
public class BillingInfoCreate extends Request {
/** The bank account number. (ACH, Bacs only) */
@SerializedName("account_number")
@Expose
private String accountNumber;
/** The bank account type. (ACH only) */
@SerializedName("account_type")
@Expose
private Constants.AchAccountType accountType;
@SerializedName("address")
@Expose
private Address address;
/** Amazon billing agreement ID */
@SerializedName("amazon_billing_agreement_id")
@Expose
private String amazonBillingAgreementId;
/**
* The `backup_payment_method` field is used to designate a billing info as a backup on the
* account that will be tried if the initial billing info used for an invoice is declined. All
* payment methods, including the billing info marked `primary_payment_method` can be set as a
* backup. An account can have a maximum of 1 backup, if a user sets a different payment method as
* a backup, the existing backup will no longer be marked as such.
*/
@SerializedName("backup_payment_method")
@Expose
private Boolean backupPaymentMethod;
/**
* Represents the card network preference associated with the billing info for dual badged cards.
* Must be a supported card network.
*/
@SerializedName("card_network_preference")
@Expose
private Constants.CardNetwork cardNetworkPreference;
@SerializedName("card_type")
@Expose
private Constants.CardType cardType;
/** Company name */
@SerializedName("company")
@Expose
private String company;
/** 3-letter ISO 4217 currency code. */
@SerializedName("currency")
@Expose
private String currency;
/** *STRONGLY RECOMMENDED* */
@SerializedName("cvv")
@Expose
private String cvv;
/**
* Use for Adyen HPP billing info. This should only be used as part of a pending purchase request,
* when the billing info is nested inside an account object.
*/
@SerializedName("external_hpp_type")
@Expose
private Constants.ExternalHppType externalHppType;
/** First name */
@SerializedName("first_name")
@Expose
private String firstName;
/** Fraud Session ID */
@SerializedName("fraud_session_id")
@Expose
private String fraudSessionId;
/** Additional attributes to send to the gateway. */
@SerializedName("gateway_attributes")
@Expose
private GatewayAttributes gatewayAttributes;
/**
* An identifier for a specific payment gateway. Must be used in conjunction with `gateway_token`.
*/
@SerializedName("gateway_code")
@Expose
private String gatewayCode;
/**
* A token used in place of a credit card in order to perform transactions. Must be used in
* conjunction with `gateway_code`.
*/
@SerializedName("gateway_token")
@Expose
private String gatewayToken;
/**
* The International Bank Account Number, up to 34 alphanumeric characters comprising a country
* code; two check digits; and a number that includes the domestic bank account number, branch
* identifier, and potential routing information
*/
@SerializedName("iban")
@Expose
private String iban;
/** *STRONGLY RECOMMENDED* Customer's IP address when updating their billing information. */
@SerializedName("ip_address")
@Expose
private String ipAddress;
/** Last name */
@SerializedName("last_name")
@Expose
private String lastName;
/** Expiration month */
@SerializedName("month")
@Expose
private String month;
/** The name associated with the bank account (ACH, SEPA, Bacs only) */
@SerializedName("name_on_account")
@Expose
private String nameOnAccount;
/** Credit card number, spaces and dashes are accepted. */
@SerializedName("number")
@Expose
private String number;
/**
* Use for Online Banking billing info. This should only be used as part of a pending purchase
* request, when the billing info is nested inside an account object.
*/
@SerializedName("online_banking_payment_type")
@Expose
private Constants.OnlineBankingPaymentType onlineBankingPaymentType;
/** PayPal billing agreement ID */
@SerializedName("paypal_billing_agreement_id")
@Expose
private String paypalBillingAgreementId;
/**
* The `primary_payment_method` field is used to designate the primary billing info on the
* account. The first billing info created on an account will always become primary. Adding
* additional billing infos provides the flexibility to mark another billing info as primary, or
* adding additional non-primary billing infos. This can be accomplished by passing the
* `primary_payment_method` with a value of `true`. When adding billing infos via the billing_info
* and /accounts endpoints, this value is not permitted, and will return an error if provided.
*/
@SerializedName("primary_payment_method")
@Expose
private Boolean primaryPaymentMethod;
/** Roku's CIB if billing through Roku */
@SerializedName("roku_billing_agreement_id")
@Expose
private String rokuBillingAgreementId;
/** The bank's rounting number. (ACH only) */
@SerializedName("routing_number")
@Expose
private String routingNumber;
/** Bank identifier code for UK based banks. Required for Bacs based billing infos. (Bacs only) */
@SerializedName("sort_code")
@Expose
private String sortCode;
/**
* Tax identifier is required if adding a billing info that is a consumer card in Brazil or in
* Argentina. This would be the customer's CPF/CNPJ (Brazil) and CUIT (Argentina). CPF, CNPJ and
* CUIT are tax identifiers for all residents who pay taxes in Brazil and Argentina respectively.
*/
@SerializedName("tax_identifier")
@Expose
private String taxIdentifier;
/**
* This field and a value of `cpf`, `cnpj` or `cuit` are required if adding a billing info that is
* an elo or hipercard type in Brazil or in Argentina.
*/
@SerializedName("tax_identifier_type")
@Expose
private Constants.TaxIdentifierType taxIdentifierType;
/**
* A token generated by Recurly.js after completing a 3-D Secure device fingerprinting or
* authentication challenge.
*/
@SerializedName("three_d_secure_action_result_token_id")
@Expose
private String threeDSecureActionResultTokenId;
/**
* A token [generated by
* Recurly.js](https://recurly.com/developers/reference/recurly-js/#getting-a-token).
*/
@SerializedName("token_id")
@Expose
private String tokenId;
/**
* An optional type designation for the payment gateway transaction created by this request.
* Supports 'moto' value, which is the acronym for mail order and telephone transactions.
*/
@SerializedName("transaction_type")
@Expose
private Constants.GatewayTransactionType transactionType;
/**
* The payment method type for a non-credit card based billing info. `bacs` and `becs` are the
* only accepted values.
*/
@SerializedName("type")
@Expose
private Constants.AchType type;
/** VAT number */
@SerializedName("vat_number")
@Expose
private String vatNumber;
/** Expiration year */
@SerializedName("year")
@Expose
private String year;
/** The bank account number. (ACH, Bacs only) */
public String getAccountNumber() {
return this.accountNumber;
}
/** @param accountNumber The bank account number. (ACH, Bacs only) */
public void setAccountNumber(final String accountNumber) {
this.accountNumber = accountNumber;
}
/** The bank account type. (ACH only) */
public Constants.AchAccountType getAccountType() {
return this.accountType;
}
/** @param accountType The bank account type. (ACH only) */
public void setAccountType(final Constants.AchAccountType accountType) {
this.accountType = accountType;
}
public Address getAddress() {
return this.address;
}
/** @param address */
public void setAddress(final Address address) {
this.address = address;
}
/** Amazon billing agreement ID */
public String getAmazonBillingAgreementId() {
return this.amazonBillingAgreementId;
}
/** @param amazonBillingAgreementId Amazon billing agreement ID */
public void setAmazonBillingAgreementId(final String amazonBillingAgreementId) {
this.amazonBillingAgreementId = amazonBillingAgreementId;
}
/**
* The `backup_payment_method` field is used to designate a billing info as a backup on the
* account that will be tried if the initial billing info used for an invoice is declined. All
* payment methods, including the billing info marked `primary_payment_method` can be set as a
* backup. An account can have a maximum of 1 backup, if a user sets a different payment method as
* a backup, the existing backup will no longer be marked as such.
*/
public Boolean getBackupPaymentMethod() {
return this.backupPaymentMethod;
}
/**
* @param backupPaymentMethod The `backup_payment_method` field is used to designate a billing
* info as a backup on the account that will be tried if the initial billing info used for an
* invoice is declined. All payment methods, including the billing info marked
* `primary_payment_method` can be set as a backup. An account can have a maximum of 1 backup,
* if a user sets a different payment method as a backup, the existing backup will no longer
* be marked as such.
*/
public void setBackupPaymentMethod(final Boolean backupPaymentMethod) {
this.backupPaymentMethod = backupPaymentMethod;
}
/**
* Represents the card network preference associated with the billing info for dual badged cards.
* Must be a supported card network.
*/
public Constants.CardNetwork getCardNetworkPreference() {
return this.cardNetworkPreference;
}
/**
* @param cardNetworkPreference Represents the card network preference associated with the billing
* info for dual badged cards. Must be a supported card network.
*/
public void setCardNetworkPreference(final Constants.CardNetwork cardNetworkPreference) {
this.cardNetworkPreference = cardNetworkPreference;
}
public Constants.CardType getCardType() {
return this.cardType;
}
/** @param cardType */
public void setCardType(final Constants.CardType cardType) {
this.cardType = cardType;
}
/** Company name */
public String getCompany() {
return this.company;
}
/** @param company Company name */
public void setCompany(final String company) {
this.company = company;
}
/** 3-letter ISO 4217 currency code. */
public String getCurrency() {
return this.currency;
}
/** @param currency 3-letter ISO 4217 currency code. */
public void setCurrency(final String currency) {
this.currency = currency;
}
/** *STRONGLY RECOMMENDED* */
public String getCvv() {
return this.cvv;
}
/** @param cvv *STRONGLY RECOMMENDED* */
public void setCvv(final String cvv) {
this.cvv = cvv;
}
/**
* Use for Adyen HPP billing info. This should only be used as part of a pending purchase request,
* when the billing info is nested inside an account object.
*/
public Constants.ExternalHppType getExternalHppType() {
return this.externalHppType;
}
/**
* @param externalHppType Use for Adyen HPP billing info. This should only be used as part of a
* pending purchase request, when the billing info is nested inside an account object.
*/
public void setExternalHppType(final Constants.ExternalHppType externalHppType) {
this.externalHppType = externalHppType;
}
/** First name */
public String getFirstName() {
return this.firstName;
}
/** @param firstName First name */
public void setFirstName(final String firstName) {
this.firstName = firstName;
}
/** Fraud Session ID */
public String getFraudSessionId() {
return this.fraudSessionId;
}
/** @param fraudSessionId Fraud Session ID */
public void setFraudSessionId(final String fraudSessionId) {
this.fraudSessionId = fraudSessionId;
}
/** Additional attributes to send to the gateway. */
public GatewayAttributes getGatewayAttributes() {
return this.gatewayAttributes;
}
/** @param gatewayAttributes Additional attributes to send to the gateway. */
public void setGatewayAttributes(final GatewayAttributes gatewayAttributes) {
this.gatewayAttributes = gatewayAttributes;
}
/**
* An identifier for a specific payment gateway. Must be used in conjunction with `gateway_token`.
*/
public String getGatewayCode() {
return this.gatewayCode;
}
/**
* @param gatewayCode An identifier for a specific payment gateway. Must be used in conjunction
* with `gateway_token`.
*/
public void setGatewayCode(final String gatewayCode) {
this.gatewayCode = gatewayCode;
}
/**
* A token used in place of a credit card in order to perform transactions. Must be used in
* conjunction with `gateway_code`.
*/
public String getGatewayToken() {
return this.gatewayToken;
}
/**
* @param gatewayToken A token used in place of a credit card in order to perform transactions.
* Must be used in conjunction with `gateway_code`.
*/
public void setGatewayToken(final String gatewayToken) {
this.gatewayToken = gatewayToken;
}
/**
* The International Bank Account Number, up to 34 alphanumeric characters comprising a country
* code; two check digits; and a number that includes the domestic bank account number, branch
* identifier, and potential routing information
*/
public String getIban() {
return this.iban;
}
/**
* @param iban The International Bank Account Number, up to 34 alphanumeric characters comprising
* a country code; two check digits; and a number that includes the domestic bank account
* number, branch identifier, and potential routing information
*/
public void setIban(final String iban) {
this.iban = iban;
}
/** *STRONGLY RECOMMENDED* Customer's IP address when updating their billing information. */
public String getIpAddress() {
return this.ipAddress;
}
/**
* @param ipAddress *STRONGLY RECOMMENDED* Customer's IP address when updating their billing
* information.
*/
public void setIpAddress(final String ipAddress) {
this.ipAddress = ipAddress;
}
/** Last name */
public String getLastName() {
return this.lastName;
}
/** @param lastName Last name */
public void setLastName(final String lastName) {
this.lastName = lastName;
}
/** Expiration month */
public String getMonth() {
return this.month;
}
/** @param month Expiration month */
public void setMonth(final String month) {
this.month = month;
}
/** The name associated with the bank account (ACH, SEPA, Bacs only) */
public String getNameOnAccount() {
return this.nameOnAccount;
}
/** @param nameOnAccount The name associated with the bank account (ACH, SEPA, Bacs only) */
public void setNameOnAccount(final String nameOnAccount) {
this.nameOnAccount = nameOnAccount;
}
/** Credit card number, spaces and dashes are accepted. */
public String getNumber() {
return this.number;
}
/** @param number Credit card number, spaces and dashes are accepted. */
public void setNumber(final String number) {
this.number = number;
}
/**
* Use for Online Banking billing info. This should only be used as part of a pending purchase
* request, when the billing info is nested inside an account object.
*/
public Constants.OnlineBankingPaymentType getOnlineBankingPaymentType() {
return this.onlineBankingPaymentType;
}
/**
* @param onlineBankingPaymentType Use for Online Banking billing info. This should only be used
* as part of a pending purchase request, when the billing info is nested inside an account
* object.
*/
public void setOnlineBankingPaymentType(
final Constants.OnlineBankingPaymentType onlineBankingPaymentType) {
this.onlineBankingPaymentType = onlineBankingPaymentType;
}
/** PayPal billing agreement ID */
public String getPaypalBillingAgreementId() {
return this.paypalBillingAgreementId;
}
/** @param paypalBillingAgreementId PayPal billing agreement ID */
public void setPaypalBillingAgreementId(final String paypalBillingAgreementId) {
this.paypalBillingAgreementId = paypalBillingAgreementId;
}
/**
* The `primary_payment_method` field is used to designate the primary billing info on the
* account. The first billing info created on an account will always become primary. Adding
* additional billing infos provides the flexibility to mark another billing info as primary, or
* adding additional non-primary billing infos. This can be accomplished by passing the
* `primary_payment_method` with a value of `true`. When adding billing infos via the billing_info
* and /accounts endpoints, this value is not permitted, and will return an error if provided.
*/
public Boolean getPrimaryPaymentMethod() {
return this.primaryPaymentMethod;
}
/**
* @param primaryPaymentMethod The `primary_payment_method` field is used to designate the primary
* billing info on the account. The first billing info created on an account will always
* become primary. Adding additional billing infos provides the flexibility to mark another
* billing info as primary, or adding additional non-primary billing infos. This can be
* accomplished by passing the `primary_payment_method` with a value of `true`. When adding
* billing infos via the billing_info and /accounts endpoints, this value is not permitted,
* and will return an error if provided.
*/
public void setPrimaryPaymentMethod(final Boolean primaryPaymentMethod) {
this.primaryPaymentMethod = primaryPaymentMethod;
}
/** Roku's CIB if billing through Roku */
public String getRokuBillingAgreementId() {
return this.rokuBillingAgreementId;
}
/** @param rokuBillingAgreementId Roku's CIB if billing through Roku */
public void setRokuBillingAgreementId(final String rokuBillingAgreementId) {
this.rokuBillingAgreementId = rokuBillingAgreementId;
}
/** The bank's rounting number. (ACH only) */
public String getRoutingNumber() {
return this.routingNumber;
}
/** @param routingNumber The bank's rounting number. (ACH only) */
public void setRoutingNumber(final String routingNumber) {
this.routingNumber = routingNumber;
}
/** Bank identifier code for UK based banks. Required for Bacs based billing infos. (Bacs only) */
public String getSortCode() {
return this.sortCode;
}
/**
* @param sortCode Bank identifier code for UK based banks. Required for Bacs based billing infos.
* (Bacs only)
*/
public void setSortCode(final String sortCode) {
this.sortCode = sortCode;
}
/**
* Tax identifier is required if adding a billing info that is a consumer card in Brazil or in
* Argentina. This would be the customer's CPF/CNPJ (Brazil) and CUIT (Argentina). CPF, CNPJ and
* CUIT are tax identifiers for all residents who pay taxes in Brazil and Argentina respectively.
*/
public String getTaxIdentifier() {
return this.taxIdentifier;
}
/**
* @param taxIdentifier Tax identifier is required if adding a billing info that is a consumer
* card in Brazil or in Argentina. This would be the customer's CPF/CNPJ (Brazil) and CUIT
* (Argentina). CPF, CNPJ and CUIT are tax identifiers for all residents who pay taxes in
* Brazil and Argentina respectively.
*/
public void setTaxIdentifier(final String taxIdentifier) {
this.taxIdentifier = taxIdentifier;
}
/**
* This field and a value of `cpf`, `cnpj` or `cuit` are required if adding a billing info that is
* an elo or hipercard type in Brazil or in Argentina.
*/
public Constants.TaxIdentifierType getTaxIdentifierType() {
return this.taxIdentifierType;
}
/**
* @param taxIdentifierType This field and a value of `cpf`, `cnpj` or `cuit` are required if
* adding a billing info that is an elo or hipercard type in Brazil or in Argentina.
*/
public void setTaxIdentifierType(final Constants.TaxIdentifierType taxIdentifierType) {
this.taxIdentifierType = taxIdentifierType;
}
/**
* A token generated by Recurly.js after completing a 3-D Secure device fingerprinting or
* authentication challenge.
*/
public String getThreeDSecureActionResultTokenId() {
return this.threeDSecureActionResultTokenId;
}
/**
* @param threeDSecureActionResultTokenId A token generated by Recurly.js after completing a 3-D
* Secure device fingerprinting or authentication challenge.
*/
public void setThreeDSecureActionResultTokenId(final String threeDSecureActionResultTokenId) {
this.threeDSecureActionResultTokenId = threeDSecureActionResultTokenId;
}
/**
* A token [generated by
* Recurly.js](https://recurly.com/developers/reference/recurly-js/#getting-a-token).
*/
public String getTokenId() {
return this.tokenId;
}
/**
* @param tokenId A token [generated by
* Recurly.js](https://recurly.com/developers/reference/recurly-js/#getting-a-token).
*/
public void setTokenId(final String tokenId) {
this.tokenId = tokenId;
}
/**
* An optional type designation for the payment gateway transaction created by this request.
* Supports 'moto' value, which is the acronym for mail order and telephone transactions.
*/
public Constants.GatewayTransactionType getTransactionType() {
return this.transactionType;
}
/**
* @param transactionType An optional type designation for the payment gateway transaction created
* by this request. Supports 'moto' value, which is the acronym for mail order and telephone
* transactions.
*/
public void setTransactionType(final Constants.GatewayTransactionType transactionType) {
this.transactionType = transactionType;
}
/**
* The payment method type for a non-credit card based billing info. `bacs` and `becs` are the
* only accepted values.
*/
public Constants.AchType getType() {
return this.type;
}
/**
* @param type The payment method type for a non-credit card based billing info. `bacs` and `becs`
* are the only accepted values.
*/
public void setType(final Constants.AchType type) {
this.type = type;
}
/** VAT number */
public String getVatNumber() {
return this.vatNumber;
}
/** @param vatNumber VAT number */
public void setVatNumber(final String vatNumber) {
this.vatNumber = vatNumber;
}
/** Expiration year */
public String getYear() {
return this.year;
}
/** @param year Expiration year */
public void setYear(final String year) {
this.year = year;
}
}