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

com.cardpay.sdk.model.RecurringCustomer Maven / Gradle / Ivy

There is a newer version: 3.82.1
Show newest version
/*
 * CardPay REST API
 * Welcome to the CardPay REST API. The CardPay API uses HTTP verbs and a [REST](https://en.wikipedia.org/wiki/Representational_state_transfer) resources endpoint structure (see more info about REST). Request and response payloads are formatted as JSON. Merchant uses API to create payments, refunds, payouts or recurrings, check or update transaction status and get information about created transactions. In API authentication process based on [OAuth 2.0](https://oauth.net/2/) standard. For recent changes see changelog section.
 *
 * OpenAPI spec version: 3.0
 * 
 *
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen.git
 * Do not edit the class manually.
 */


package com.cardpay.sdk.model;

import com.google.gson.TypeAdapter;
import com.google.gson.annotations.JsonAdapter;
import com.google.gson.annotations.SerializedName;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import lombok.Data;

@Data

public class RecurringCustomer {
  @SerializedName("browser_info")
  private BrowserInfo browserInfo = null;
  @SerializedName("device")
  private Device device = null;
  @SerializedName("email")
  private String email = null;
  @SerializedName("home_phone")
  private String homePhone = null;
  @SerializedName("id")
  private String id = null;
  @SerializedName("identity")
  private String identity = null;
  @SerializedName("ip")
  private String ip = null;
  @SerializedName("ip_country")
  private String ipCountry = null;
  /**
   * Preferred locale for the payment page ([ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1) language code). The default locale will be applied if the selected locale is not supported. Supported locales are: `ru`, `en`, `zh`, `ja`
   */
  @JsonAdapter(LocaleEnum.Adapter.class)
  public enum LocaleEnum {
    RU("ru"),
    
    EN("en"),
    
    ZH("zh"),
    
    JA("ja");

    private String value;

    LocaleEnum(String value) {
      this.value = value;
    }

    public String getValue() {
      return value;
    }

    @Override
    public String toString() {
      return String.valueOf(value);
    }

    public static LocaleEnum fromValue(String text) {
      for (LocaleEnum b : LocaleEnum.values()) {
        if (String.valueOf(b.value).equals(text)) {
          return b;
        }
      }
      return null;
    }

    public static class Adapter extends TypeAdapter {
      @Override
      public void write(final JsonWriter jsonWriter, final LocaleEnum enumeration) throws IOException {
        jsonWriter.value(enumeration.getValue());
      }

      @Override
      public LocaleEnum read(final JsonReader jsonReader) throws IOException {
        String value = jsonReader.nextString();
        return LocaleEnum.fromValue(String.valueOf(value));
      }
    }
  }

  @SerializedName("locale")
  private LocaleEnum locale = null;
  @SerializedName("phone")
  private String phone = null;
  @SerializedName("user_agent")
  private String userAgent = null;
  @SerializedName("work_phone")
  private String workPhone = null;
  
  public void setBrowserInfo(BrowserInfo browserInfo) {
      this.browserInfo = browserInfo;
  }

  /**
   * @param browserInfo Browser info
   * @return bean instance
   **/
  public RecurringCustomer browserInfo(BrowserInfo browserInfo) {
      this.browserInfo = browserInfo;
      return this;
  }

  
  public void setDevice(Device device) {
      this.device = device;
  }

  /**
   * @param device Customer's device information
   * @return bean instance
   **/
  public RecurringCustomer device(Device device) {
      this.device = device;
      return this;
  }

  
  public void setEmail(String email) {
      this.email = email;
  }

  /**
   * @param email Customer's e-mail address. Mandatory by default, can be defined as optional by CardPay manager.
   * @return bean instance
   **/
  public RecurringCustomer email(String email) {
      this.email = email;
      return this;
  }

  
  public void setHomePhone(String homePhone) {
      this.homePhone = homePhone;
  }

  /**
   * @param homePhone The work phone number provided by the Cardholder. Required (if available), unless market or regional mandate restricts sending this information. Characters Format: string (10-18 symbols) country code + Subscriber number. Refer to ITU-E.164 for additional information on format and length.
   * @return bean instance
   **/
  public RecurringCustomer homePhone(String homePhone) {
      this.homePhone = homePhone;
      return this;
  }

  
  public void setId(String id) {
      this.id = id;
  }

  /**
   * @param id Customer's ID in Merchant's system
   * @return bean instance
   **/
  public RecurringCustomer id(String id) {
      this.id = id;
      return this;
  }

  
  public void setIdentity(String identity) {
      this.identity = identity;
  }

  /**
   * @param identity Customer's identity in Merchant's system required for Brazil Installments
   * @return bean instance
   **/
  public RecurringCustomer identity(String identity) {
      this.identity = identity;
      return this;
  }

  
  public void setIp(String ip) {
      this.ip = ip;
  }

  /**
   * @param ip Customer IPv4
   * @return bean instance
   **/
  public RecurringCustomer ip(String ip) {
      this.ip = ip;
      return this;
  }

  
  public void setIpCountry(String ipCountry) {
      this.ipCountry = ipCountry;
  }

  /**
   * @param ipCountry Customer country by IP
   * @return bean instance
   **/
  public RecurringCustomer ipCountry(String ipCountry) {
      this.ipCountry = ipCountry;
      return this;
  }

  
  public void setLocale(LocaleEnum locale) {
      this.locale = locale;
  }

  /**
   * @param locale Preferred locale for the payment page ([ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1) language code). The default locale will be applied if the selected locale is not supported. Supported locales are: `ru`, `en`, `zh`, `ja`
   * @return bean instance
   **/
  public RecurringCustomer locale(LocaleEnum locale) {
      this.locale = locale;
      return this;
  }

  
  public void setPhone(String phone) {
      this.phone = phone;
  }

  /**
   * @param phone Customer phone number. Optional by default, can be defined as mandatory by CardPay manager.
   * @return bean instance
   **/
  public RecurringCustomer phone(String phone) {
      this.phone = phone;
      return this;
  }

  
  public void setUserAgent(String userAgent) {
      this.userAgent = userAgent;
  }

  /**
   * @param userAgent User agent
   * @return bean instance
   **/
  public RecurringCustomer userAgent(String userAgent) {
      this.userAgent = userAgent;
      return this;
  }

  
  public void setWorkPhone(String workPhone) {
      this.workPhone = workPhone;
  }

  /**
   * @param workPhone The home phone number provided by the Cardholder. Required (if available) unless market or regional mandate restricts sending this information. Characters Format: string (10-18 symbols) country code + Subscriber number. Refer to ITU-E.164 for additional information on format and length.
   * @return bean instance
   **/
  public RecurringCustomer workPhone(String workPhone) {
      this.workPhone = workPhone;
      return this;
  }


  @Override
  public String toString() {
     StringBuilder sb = new StringBuilder();
     sb.append("RecurringCustomer( ");
     
     if (browserInfo != null) sb.append("browserInfo=").append(browserInfo.toString()).append("; ");
     if (device != null) sb.append("device=").append(device.toString()).append("; ");
     if (email != null) sb.append("email=").append(email.toString()).append("; ");
     if (homePhone != null) sb.append("homePhone=").append(homePhone.toString()).append("; ");
     if (id != null) sb.append("id=").append(id.toString()).append("; ");
     if (identity != null) sb.append("identity=").append(identity.toString()).append("; ");
     if (ip != null) sb.append("ip=").append(ip.toString()).append("; ");
     if (ipCountry != null) sb.append("ipCountry=").append(ipCountry.toString()).append("; ");
     if (locale != null) sb.append("locale=").append(locale.toString()).append("; ");
     if (phone != null) sb.append("phone=").append(phone.toString()).append("; ");
     if (userAgent != null) sb.append("userAgent=").append(userAgent.toString()).append("; ");
     if (workPhone != null) sb.append("workPhone=").append(workPhone.toString()).append("; ");
     sb.append(")");
     return sb.toString();
  }

}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy