All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.recurly.v3.resources.PaymentMethod Maven / Gradle / Ivy

There is a newer version: 4.58.0
Show newest version
/**
 * 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.resources;

import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import com.recurly.v3.Constants;
import com.recurly.v3.Resource;

public class PaymentMethod extends Resource {

  /** The bank account type. Only present for ACH payment methods. */
  @SerializedName("account_type")
  @Expose
  private Constants.AccountType accountType;

  /** Billing Agreement identifier. Only present for Amazon or Paypal payment methods. */
  @SerializedName("billing_agreement_id")
  @Expose
  private String billingAgreementId;

  /**
   * 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;

  /** Visa, MasterCard, American Express, Discover, JCB, etc. */
  @SerializedName("card_type")
  @Expose
  private Constants.CardType cardType;

  /**
   * The 2-letter ISO 3166-1 alpha-2 country code associated with the credit card BIN, if known by
   * Recurly. Available on the BillingInfo object only. Available when the BIN country lookup
   * feature is enabled.
   */
  @SerializedName("cc_bin_country")
  @Expose
  private String ccBinCountry;

  /** Expiration month. */
  @SerializedName("exp_month")
  @Expose
  private Integer expMonth;

  /** Expiration year. */
  @SerializedName("exp_year")
  @Expose
  private Integer expYear;

  /** Credit card number's first six digits. */
  @SerializedName("first_six")
  @Expose
  private String firstSix;

  /** Gateway specific attributes associated with this PaymentMethod */
  @SerializedName("gateway_attributes")
  @Expose
  private GatewayAttributes gatewayAttributes;

  /** An identifier for a specific payment gateway. */
  @SerializedName("gateway_code")
  @Expose
  private String gatewayCode;

  /** A token used in place of a credit card in order to perform transactions. */
  @SerializedName("gateway_token")
  @Expose
  private String gatewayToken;

  /** Credit card number's last four digits. Will refer to bank account if payment method is ACH. */
  @SerializedName("last_four")
  @Expose
  private String lastFour;

  /** The IBAN bank account's last two digits. */
  @SerializedName("last_two")
  @Expose
  private String lastTwo;

  /** The name associated with the bank account. */
  @SerializedName("name_on_account")
  @Expose
  private String nameOnAccount;

  @SerializedName("object")
  @Expose
  private Constants.PaymentMethod object;

  /** The bank account's routing number. Only present for ACH payment methods. */
  @SerializedName("routing_number")
  @Expose
  private String routingNumber;

  /** The bank name of this routing number. */
  @SerializedName("routing_number_bank")
  @Expose
  private String routingNumberBank;

  /** Username of the associated payment method. Currently only associated with Venmo. */
  @SerializedName("username")
  @Expose
  private String username;

  /** The bank account type. Only present for ACH payment methods. */
  public Constants.AccountType getAccountType() {
    return this.accountType;
  }

  /** @param accountType The bank account type. Only present for ACH payment methods. */
  public void setAccountType(final Constants.AccountType accountType) {
    this.accountType = accountType;
  }

  /** Billing Agreement identifier. Only present for Amazon or Paypal payment methods. */
  public String getBillingAgreementId() {
    return this.billingAgreementId;
  }

  /**
   * @param billingAgreementId Billing Agreement identifier. Only present for Amazon or Paypal
   *     payment methods.
   */
  public void setBillingAgreementId(final String billingAgreementId) {
    this.billingAgreementId = billingAgreementId;
  }

  /**
   * 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;
  }

  /** Visa, MasterCard, American Express, Discover, JCB, etc. */
  public Constants.CardType getCardType() {
    return this.cardType;
  }

  /** @param cardType Visa, MasterCard, American Express, Discover, JCB, etc. */
  public void setCardType(final Constants.CardType cardType) {
    this.cardType = cardType;
  }

  /**
   * The 2-letter ISO 3166-1 alpha-2 country code associated with the credit card BIN, if known by
   * Recurly. Available on the BillingInfo object only. Available when the BIN country lookup
   * feature is enabled.
   */
  public String getCcBinCountry() {
    return this.ccBinCountry;
  }

  /**
   * @param ccBinCountry The 2-letter ISO 3166-1 alpha-2 country code associated with the credit
   *     card BIN, if known by Recurly. Available on the BillingInfo object only. Available when the
   *     BIN country lookup feature is enabled.
   */
  public void setCcBinCountry(final String ccBinCountry) {
    this.ccBinCountry = ccBinCountry;
  }

  /** Expiration month. */
  public Integer getExpMonth() {
    return this.expMonth;
  }

  /** @param expMonth Expiration month. */
  public void setExpMonth(final Integer expMonth) {
    this.expMonth = expMonth;
  }

  /** Expiration year. */
  public Integer getExpYear() {
    return this.expYear;
  }

  /** @param expYear Expiration year. */
  public void setExpYear(final Integer expYear) {
    this.expYear = expYear;
  }

  /** Credit card number's first six digits. */
  public String getFirstSix() {
    return this.firstSix;
  }

  /** @param firstSix Credit card number's first six digits. */
  public void setFirstSix(final String firstSix) {
    this.firstSix = firstSix;
  }

  /** Gateway specific attributes associated with this PaymentMethod */
  public GatewayAttributes getGatewayAttributes() {
    return this.gatewayAttributes;
  }

  /** @param gatewayAttributes Gateway specific attributes associated with this PaymentMethod */
  public void setGatewayAttributes(final GatewayAttributes gatewayAttributes) {
    this.gatewayAttributes = gatewayAttributes;
  }

  /** An identifier for a specific payment gateway. */
  public String getGatewayCode() {
    return this.gatewayCode;
  }

  /** @param gatewayCode An identifier for a specific payment gateway. */
  public void setGatewayCode(final String gatewayCode) {
    this.gatewayCode = gatewayCode;
  }

  /** A token used in place of a credit card in order to perform transactions. */
  public String getGatewayToken() {
    return this.gatewayToken;
  }

  /**
   * @param gatewayToken A token used in place of a credit card in order to perform transactions.
   */
  public void setGatewayToken(final String gatewayToken) {
    this.gatewayToken = gatewayToken;
  }

  /** Credit card number's last four digits. Will refer to bank account if payment method is ACH. */
  public String getLastFour() {
    return this.lastFour;
  }

  /**
   * @param lastFour Credit card number's last four digits. Will refer to bank account if payment
   *     method is ACH.
   */
  public void setLastFour(final String lastFour) {
    this.lastFour = lastFour;
  }

  /** The IBAN bank account's last two digits. */
  public String getLastTwo() {
    return this.lastTwo;
  }

  /** @param lastTwo The IBAN bank account's last two digits. */
  public void setLastTwo(final String lastTwo) {
    this.lastTwo = lastTwo;
  }

  /** The name associated with the bank account. */
  public String getNameOnAccount() {
    return this.nameOnAccount;
  }

  /** @param nameOnAccount The name associated with the bank account. */
  public void setNameOnAccount(final String nameOnAccount) {
    this.nameOnAccount = nameOnAccount;
  }

  public Constants.PaymentMethod getObject() {
    return this.object;
  }

  /** @param object */
  public void setObject(final Constants.PaymentMethod object) {
    this.object = object;
  }

  /** The bank account's routing number. Only present for ACH payment methods. */
  public String getRoutingNumber() {
    return this.routingNumber;
  }

  /**
   * @param routingNumber The bank account's routing number. Only present for ACH payment methods.
   */
  public void setRoutingNumber(final String routingNumber) {
    this.routingNumber = routingNumber;
  }

  /** The bank name of this routing number. */
  public String getRoutingNumberBank() {
    return this.routingNumberBank;
  }

  /** @param routingNumberBank The bank name of this routing number. */
  public void setRoutingNumberBank(final String routingNumberBank) {
    this.routingNumberBank = routingNumberBank;
  }

  /** Username of the associated payment method. Currently only associated with Venmo. */
  public String getUsername() {
    return this.username;
  }

  /**
   * @param username Username of the associated payment method. Currently only associated with
   *     Venmo.
   */
  public void setUsername(final String username) {
    this.username = username;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy