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

com.cardpay.sdk.model.SubscriptionUpdateRequest 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 SubscriptionUpdateRequest {
  @SerializedName("request")
  private Request request = null;
  /**
   * Set operation on subscription: `CHANGE_STATUS` - initiates status changing `REPAYMENT` - **for installment only**; makes repayment in advance `CHANGE_FILING` - replaces card binding via new filing id.
   */
  @JsonAdapter(OperationEnum.Adapter.class)
  public enum OperationEnum {
    CHANGE_STATUS("CHANGE_STATUS"),
    
    REPAYMENT("REPAYMENT"),
    
    CHANGE_FILING("CHANGE_FILING"),
    
    CHANGE_PLAN("CHANGE_PLAN"),
    
    CHANGE_PAYMENT_DATE("CHANGE_PAYMENT_DATE"),
    
    CHANGE_UNITS("CHANGE_UNITS");

    private String value;

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

    public String getValue() {
      return value;
    }

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

    public static OperationEnum fromValue(String text) {
      for (OperationEnum b : OperationEnum.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 OperationEnum enumeration) throws IOException {
        jsonWriter.value(enumeration.getValue());
      }

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

  @SerializedName("operation")
  private OperationEnum operation = null;
  @SerializedName("subscription_data")
  private SubscriptionUpdateRequestSubscriptionData subscriptionData = null;
  
  public void setRequest(Request request) {
      this.request = request;
  }

  /**
   * @param request Request
   * @return bean instance
   **/
  public SubscriptionUpdateRequest request(Request request) {
      this.request = request;
      return this;
  }

  
  public void setOperation(OperationEnum operation) {
      this.operation = operation;
  }

  /**
   * @param operation Set operation on subscription: `CHANGE_STATUS` - initiates status changing `REPAYMENT` - **for installment only**; makes repayment in advance `CHANGE_FILING` - replaces card binding via new filing id.
   * @return bean instance
   **/
  public SubscriptionUpdateRequest operation(OperationEnum operation) {
      this.operation = operation;
      return this;
  }

  
  public void setSubscriptionData(SubscriptionUpdateRequestSubscriptionData subscriptionData) {
      this.subscriptionData = subscriptionData;
  }

  /**
   * @param subscriptionData Subscription data
   * @return bean instance
   **/
  public SubscriptionUpdateRequest subscriptionData(SubscriptionUpdateRequestSubscriptionData subscriptionData) {
      this.subscriptionData = subscriptionData;
      return this;
  }


  @Override
  public String toString() {
     StringBuilder sb = new StringBuilder();
     sb.append("SubscriptionUpdateRequest( ");
     
     if (request != null) sb.append("request=").append(request.toString()).append("; ");
     if (operation != null) sb.append("operation=").append(operation.toString()).append("; ");
     if (subscriptionData != null) sb.append("subscriptionData=").append(subscriptionData.toString()).append("; ");
     sb.append(")");
     return sb.toString();
  }

}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy