com.cardpay.sdk.model.UpdatedSubscriptionData Maven / Gradle / Ivy
/*
* 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 java.math.BigDecimal;
import java.time.OffsetDateTime;
import lombok.Data;
@Data
public class UpdatedSubscriptionData {
@SerializedName("change_status_claim_id")
private String changeStatusClaimId = null;
@SerializedName("details")
private String details = null;
@SerializedName("filing")
private RecurringResponseFiling filing = null;
@SerializedName("id")
private String id = null;
@SerializedName("is_executed")
private Boolean isExecuted = null;
@SerializedName("next_payment_date")
private OffsetDateTime nextPaymentDate = null;
@SerializedName("plan")
private Plan plan = null;
@SerializedName("recurring_data")
private UpdatedSubscriptionRecurringData recurringData = null;
@SerializedName("remaining_amount")
private BigDecimal remainingAmount = null;
/**
* Resulted status of subscription
*/
@JsonAdapter(StatusEnum.Adapter.class)
public enum StatusEnum {
ACTIVE("ACTIVE"),
INACTIVE("INACTIVE"),
CANCELLED("CANCELLED"),
PAST_DUE("PAST_DUE"),
PENDING("PENDING"),
COMPLETED("COMPLETED"),
CARD_EXPIRED("CARD_EXPIRED"),
ACTIVATION_FAILED("ACTIVATION_FAILED"),
UNPAID("UNPAID"),
WAITING("WAITING");
private String value;
StatusEnum(String value) {
this.value = value;
}
public String getValue() {
return value;
}
@Override
public String toString() {
return String.valueOf(value);
}
public static StatusEnum fromValue(String text) {
for (StatusEnum b : StatusEnum.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 StatusEnum enumeration) throws IOException {
jsonWriter.value(enumeration.getValue());
}
@Override
public StatusEnum read(final JsonReader jsonReader) throws IOException {
String value = jsonReader.nextString();
return StatusEnum.fromValue(String.valueOf(value));
}
}
}
@SerializedName("status")
private StatusEnum status = null;
/**
* Requested status of subscription. Mandatory for `CHANGE_STATUS` operation only.
*/
@JsonAdapter(StatusToEnum.Adapter.class)
public enum StatusToEnum {
ACTIVE("ACTIVE"),
INACTIVE("INACTIVE"),
CANCELLED("CANCELLED"),
PAST_DUE("PAST_DUE"),
PENDING("PENDING"),
COMPLETED("COMPLETED"),
CARD_EXPIRED("CARD_EXPIRED"),
ACTIVATION_FAILED("ACTIVATION_FAILED"),
UNPAID("UNPAID"),
WAITING("WAITING");
private String value;
StatusToEnum(String value) {
this.value = value;
}
public String getValue() {
return value;
}
@Override
public String toString() {
return String.valueOf(value);
}
public static StatusToEnum fromValue(String text) {
for (StatusToEnum b : StatusToEnum.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 StatusToEnum enumeration) throws IOException {
jsonWriter.value(enumeration.getValue());
}
@Override
public StatusToEnum read(final JsonReader jsonReader) throws IOException {
String value = jsonReader.nextString();
return StatusToEnum.fromValue(String.valueOf(value));
}
}
}
@SerializedName("status_to")
private StatusToEnum statusTo = null;
@SerializedName("units")
private Integer units = null;
@SerializedName("updated")
private OffsetDateTime updated = null;
public void setChangeStatusClaimId(String changeStatusClaimId) {
this.changeStatusClaimId = changeStatusClaimId;
}
/**
* @param changeStatusClaimId ID of claim; appears in case of request change was processed asynchronously and put in queue. Mandatory if request was put in queue.
* @return bean instance
**/
public UpdatedSubscriptionData changeStatusClaimId(String changeStatusClaimId) {
this.changeStatusClaimId = changeStatusClaimId;
return this;
}
public void setDetails(String details) {
this.details = details;
}
/**
* @param details Operation details, errors, etc.
* @return bean instance
**/
public UpdatedSubscriptionData details(String details) {
this.details = details;
return this;
}
public void setFiling(RecurringResponseFiling filing) {
this.filing = filing;
}
/**
* @param filing Filing data
* @return bean instance
**/
public UpdatedSubscriptionData filing(RecurringResponseFiling filing) {
this.filing = filing;
return this;
}
public void setId(String id) {
this.id = id;
}
/**
* @param id ID of subscription
* @return bean instance
**/
public UpdatedSubscriptionData id(String id) {
this.id = id;
return this;
}
public void setIsExecuted(Boolean isExecuted) {
this.isExecuted = isExecuted;
}
/**
* @param isExecuted Status of operation
* @return bean instance
**/
public UpdatedSubscriptionData isExecuted(Boolean isExecuted) {
this.isExecuted = isExecuted;
return this;
}
public void setNextPaymentDate(OffsetDateTime nextPaymentDate) {
this.nextPaymentDate = nextPaymentDate;
}
/**
* @param nextPaymentDate nextPaymentDate
* @return bean instance
**/
public UpdatedSubscriptionData nextPaymentDate(OffsetDateTime nextPaymentDate) {
this.nextPaymentDate = nextPaymentDate;
return this;
}
public void setPlan(Plan plan) {
this.plan = plan;
}
/**
* @param plan Plan data
* @return bean instance
**/
public UpdatedSubscriptionData plan(Plan plan) {
this.plan = plan;
return this;
}
public void setRecurringData(UpdatedSubscriptionRecurringData recurringData) {
this.recurringData = recurringData;
}
/**
* @param recurringData Recurring data
* @return bean instance
**/
public UpdatedSubscriptionData recurringData(UpdatedSubscriptionRecurringData recurringData) {
this.recurringData = recurringData;
return this;
}
public void setRemainingAmount(BigDecimal remainingAmount) {
this.remainingAmount = remainingAmount;
}
/**
* @param remainingAmount The amount remained to be paid after repayment operation. Mandatory for `REPAYMENT` operation only
* @return bean instance
**/
public UpdatedSubscriptionData remainingAmount(BigDecimal remainingAmount) {
this.remainingAmount = remainingAmount;
return this;
}
public void setStatus(StatusEnum status) {
this.status = status;
}
/**
* @param status Resulted status of subscription
* @return bean instance
**/
public UpdatedSubscriptionData status(StatusEnum status) {
this.status = status;
return this;
}
public void setStatusTo(StatusToEnum statusTo) {
this.statusTo = statusTo;
}
/**
* @param statusTo Requested status of subscription. Mandatory for `CHANGE_STATUS` operation only.
* @return bean instance
**/
public UpdatedSubscriptionData statusTo(StatusToEnum statusTo) {
this.statusTo = statusTo;
return this;
}
public void setUnits(Integer units) {
this.units = units;
}
/**
* @param units New quantity of subscription units
* @return bean instance
**/
public UpdatedSubscriptionData units(Integer units) {
this.units = units;
return this;
}
public void setUpdated(OffsetDateTime updated) {
this.updated = updated;
}
/**
* @param updated If request is successful then date and time returned in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (format - yyyy-MM-dd'T'HH:mm:ss'Z').
* @return bean instance
**/
public UpdatedSubscriptionData updated(OffsetDateTime updated) {
this.updated = updated;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("UpdatedSubscriptionData( ");
if (changeStatusClaimId != null) sb.append("changeStatusClaimId=").append(changeStatusClaimId.toString()).append("; ");
if (details != null) sb.append("details=").append(details.toString()).append("; ");
if (filing != null) sb.append("filing=").append(filing.toString()).append("; ");
if (id != null) sb.append("id=").append(id.toString()).append("; ");
if (isExecuted != null) sb.append("isExecuted=").append(isExecuted.toString()).append("; ");
if (nextPaymentDate != null) sb.append("nextPaymentDate=").append(nextPaymentDate.toString()).append("; ");
if (plan != null) sb.append("plan=").append(plan.toString()).append("; ");
if (recurringData != null) sb.append("recurringData=").append(recurringData.toString()).append("; ");
if (remainingAmount != null) sb.append("remainingAmount=").append(remainingAmount.toString()).append("; ");
if (status != null) sb.append("status=").append(status.toString()).append("; ");
if (statusTo != null) sb.append("statusTo=").append(statusTo.toString()).append("; ");
if (units != null) sb.append("units=").append(units.toString()).append("; ");
if (updated != null) sb.append("updated=").append(updated.toString()).append("; ");
sb.append(")");
return sb.toString();
}
}