dev.vality.swag.payments.model.Payment Maven / Gradle / Ivy
/*
* Vality Payments API
* ## Описание Vality Payments API предназначен для мерчантов, принимающих платежи из своего пользовательского интерфейса, например веб-сайта или мобильного приложения, и является единственной точкой взаимодействия с системой для проведения операций оплаты товаров и услуг. ## Детали взаимодействия При любом обращении к API в заголовке `X-Request-ID` соответствующего запроса необходимо передать его уникальный идентификатор: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Тип содержимого и кодировка Система принимает и возвращает данные в формате JSON и кодировке UTF-8: ``` Content-Type: application/json; charset=utf-8 ``` ### Формат дат Система принимает и возвращает значения отметок времени в формате `date-time`, описанном в [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Максимальное время обработки запроса При любом обращении к API в заголовке `X-Request-Deadline` соответствующего запроса можно передать параметр отсечки по времени, определяющий максимальное время ожидания завершения операции по запросу: ``` X-Request-Deadline: 10s ``` По истечении указанного времени система прекращает обработку запроса. Рекомендуется указывать значение не более одной минуты, но не менее трёх секунд. `X-Request-Deadline` может: * задаваться в формате `date-time` согласно [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * задаваться в относительных величинах: в миллисекундах (`150000ms`), секундах (`540s`) или минутах (`3.5m`).
*
* OpenAPI spec version: 2.0.1
*
*
* 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 dev.vality.swag.payments.model;
import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import dev.vality.swag.payments.model.AllocationTransaction;
import dev.vality.swag.payments.model.Payer;
import dev.vality.swag.payments.model.PaymentError;
import dev.vality.swag.payments.model.PaymentFlow;
import dev.vality.swag.payments.model.TransactionInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.time.OffsetDateTime;
import java.util.ArrayList;
import java.util.List;
/**
* Payment
*/
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2022-08-22T08:18:24.176Z")
public class Payment {
@JsonProperty("id")
private String id = null;
@JsonProperty("externalID")
private String externalID = null;
@JsonProperty("invoiceID")
private String invoiceID = null;
@JsonProperty("createdAt")
private OffsetDateTime createdAt = null;
@JsonProperty("amount")
private Long amount = null;
@JsonProperty("currency")
private String currency = null;
@JsonProperty("flow")
private PaymentFlow flow = null;
@JsonProperty("payer")
private Payer payer = null;
@JsonProperty("transactionInfo")
private TransactionInfo transactionInfo = null;
@JsonProperty("makeRecurrent")
private Boolean makeRecurrent = false;
@JsonProperty("metadata")
private Object metadata = null;
@JsonProperty("allocation")
private List allocation = null;
/**
* Статус платежа
*/
public enum StatusEnum {
PENDING("pending"),
PROCESSED("processed"),
CAPTURED("captured"),
CANCELLED("cancelled"),
REFUNDED("refunded"),
FAILED("failed");
private String value;
StatusEnum(String value) {
this.value = value;
}
@JsonValue
public String getValue() {
return value;
}
@Override
public String toString() {
return String.valueOf(value);
}
@JsonCreator
public static StatusEnum fromValue(String text) {
for (StatusEnum b : StatusEnum.values()) {
if (String.valueOf(b.value).equals(text)) {
return b;
}
}
return null;
}
}
@JsonProperty("status")
private StatusEnum status = null;
@JsonProperty("error")
private PaymentError error = null;
public Payment id(String id) {
this.id = id;
return this;
}
/**
* Идентификатор платежа
* @return id
**/
@ApiModelProperty(required = true, value = "Идентификатор платежа")
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Payment externalID(String externalID) {
this.externalID = externalID;
return this;
}
/**
* Уникальный в рамках платформы идентификатор сущности для данного участника. Используется для обеспечения идемпотентности запроса.
* @return externalID
**/
@ApiModelProperty(value = "Уникальный в рамках платформы идентификатор сущности для данного участника. Используется для обеспечения идемпотентности запроса. ")
public String getExternalID() {
return externalID;
}
public void setExternalID(String externalID) {
this.externalID = externalID;
}
public Payment invoiceID(String invoiceID) {
this.invoiceID = invoiceID;
return this;
}
/**
* Идентификатор инвойса, в рамках которого был создан платеж
* @return invoiceID
**/
@ApiModelProperty(required = true, value = "Идентификатор инвойса, в рамках которого был создан платеж")
public String getInvoiceID() {
return invoiceID;
}
public void setInvoiceID(String invoiceID) {
this.invoiceID = invoiceID;
}
public Payment createdAt(OffsetDateTime createdAt) {
this.createdAt = createdAt;
return this;
}
/**
* Дата и время создания
* @return createdAt
**/
@ApiModelProperty(required = true, value = "Дата и время создания")
public OffsetDateTime getCreatedAt() {
return createdAt;
}
public void setCreatedAt(OffsetDateTime createdAt) {
this.createdAt = createdAt;
}
public Payment amount(Long amount) {
this.amount = amount;
return this;
}
/**
* Стоимость предлагаемых товаров или услуг, в минорных денежных единицах, например в копейках в случае указания российских рублей в качестве валюты.
* minimum: 1
* @return amount
**/
@ApiModelProperty(required = true, value = "Стоимость предлагаемых товаров или услуг, в минорных денежных единицах, например в копейках в случае указания российских рублей в качестве валюты. ")
public Long getAmount() {
return amount;
}
public void setAmount(Long amount) {
this.amount = amount;
}
public Payment currency(String currency) {
this.currency = currency;
return this;
}
/**
* Валюта, символьный код согласно [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).
* @return currency
**/
@ApiModelProperty(required = true, value = "Валюта, символьный код согласно [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).")
public String getCurrency() {
return currency;
}
public void setCurrency(String currency) {
this.currency = currency;
}
public Payment flow(PaymentFlow flow) {
this.flow = flow;
return this;
}
/**
* Get flow
* @return flow
**/
@ApiModelProperty(required = true, value = "")
public PaymentFlow getFlow() {
return flow;
}
public void setFlow(PaymentFlow flow) {
this.flow = flow;
}
public Payment payer(Payer payer) {
this.payer = payer;
return this;
}
/**
* Get payer
* @return payer
**/
@ApiModelProperty(required = true, value = "")
public Payer getPayer() {
return payer;
}
public void setPayer(Payer payer) {
this.payer = payer;
}
public Payment transactionInfo(TransactionInfo transactionInfo) {
this.transactionInfo = transactionInfo;
return this;
}
/**
* Get transactionInfo
* @return transactionInfo
**/
@ApiModelProperty(value = "")
public TransactionInfo getTransactionInfo() {
return transactionInfo;
}
public void setTransactionInfo(TransactionInfo transactionInfo) {
this.transactionInfo = transactionInfo;
}
/**
* Признак создания родительского рекуррентного платежа. Успешно проведеный платеж с этим признаком можно использовать как родительский в других рекуррентных платежах.
* @return makeRecurrent
**/
@ApiModelProperty(value = "Признак создания родительского рекуррентного платежа. Успешно проведеный платеж с этим признаком можно использовать как родительский в других рекуррентных платежах. ")
public Boolean isMakeRecurrent() {
return makeRecurrent;
}
public Payment metadata(Object metadata) {
this.metadata = metadata;
return this;
}
/**
* Связанные с платежом метаданные
* @return metadata
**/
@ApiModelProperty(value = "Связанные с платежом метаданные")
public Object getMetadata() {
return metadata;
}
public void setMetadata(Object metadata) {
this.metadata = metadata;
}
public Payment allocation(List allocation) {
this.allocation = allocation;
return this;
}
public Payment addAllocationItem(AllocationTransaction allocationItem) {
if (this.allocation == null) {
this.allocation = new ArrayList<>();
}
this.allocation.add(allocationItem);
return this;
}
/**
* Распределение денежных средств
* @return allocation
**/
@ApiModelProperty(value = "Распределение денежных средств ")
public List getAllocation() {
return allocation;
}
public void setAllocation(List allocation) {
this.allocation = allocation;
}
public Payment status(StatusEnum status) {
this.status = status;
return this;
}
/**
* Статус платежа
* @return status
**/
@ApiModelProperty(required = true, value = "Статус платежа")
public StatusEnum getStatus() {
return status;
}
public void setStatus(StatusEnum status) {
this.status = status;
}
public Payment error(PaymentError error) {
this.error = error;
return this;
}
/**
* Get error
* @return error
**/
@ApiModelProperty(value = "")
public PaymentError getError() {
return error;
}
public void setError(PaymentError error) {
this.error = error;
}
@Override
public boolean equals(java.lang.Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
Payment payment = (Payment) o;
return Objects.equals(this.id, payment.id) &&
Objects.equals(this.externalID, payment.externalID) &&
Objects.equals(this.invoiceID, payment.invoiceID) &&
Objects.equals(this.createdAt, payment.createdAt) &&
Objects.equals(this.amount, payment.amount) &&
Objects.equals(this.currency, payment.currency) &&
Objects.equals(this.flow, payment.flow) &&
Objects.equals(this.payer, payment.payer) &&
Objects.equals(this.transactionInfo, payment.transactionInfo) &&
Objects.equals(this.makeRecurrent, payment.makeRecurrent) &&
Objects.equals(this.metadata, payment.metadata) &&
Objects.equals(this.allocation, payment.allocation) &&
Objects.equals(this.status, payment.status) &&
Objects.equals(this.error, payment.error);
}
@Override
public int hashCode() {
return Objects.hash(id, externalID, invoiceID, createdAt, amount, currency, flow, payer, transactionInfo, makeRecurrent, metadata, allocation, status, error);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class Payment {\n");
sb.append(" id: ").append(toIndentedString(id)).append("\n");
sb.append(" externalID: ").append(toIndentedString(externalID)).append("\n");
sb.append(" invoiceID: ").append(toIndentedString(invoiceID)).append("\n");
sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n");
sb.append(" amount: ").append(toIndentedString(amount)).append("\n");
sb.append(" currency: ").append(toIndentedString(currency)).append("\n");
sb.append(" flow: ").append(toIndentedString(flow)).append("\n");
sb.append(" payer: ").append(toIndentedString(payer)).append("\n");
sb.append(" transactionInfo: ").append(toIndentedString(transactionInfo)).append("\n");
sb.append(" makeRecurrent: ").append(toIndentedString(makeRecurrent)).append("\n");
sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n");
sb.append(" allocation: ").append(toIndentedString(allocation)).append("\n");
sb.append(" status: ").append(toIndentedString(status)).append("\n");
sb.append(" error: ").append(toIndentedString(error)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy