Files
velocity-pay-springboot/src/main/java/zw/qantra/tm/domain/models/Transaction.java
2025-06-27 11:33:49 +02:00

71 lines
2.0 KiB
Java

package zw.qantra.tm.domain.models;
import com.fasterxml.jackson.annotation.JsonInclude;
import jakarta.persistence.*;
import lombok.*;
import zw.qantra.tm.domain.enums.AuthType;
import zw.qantra.tm.domain.enums.CurrencyType;
import zw.qantra.tm.domain.enums.RequestType;
import zw.qantra.tm.domain.enums.Status;
import java.math.BigDecimal;
@Entity
@Getter
@Setter
@Builder
@AllArgsConstructor
@NoArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Transaction extends BaseEntity {
private String trace;
private BigDecimal amount;
private BigDecimal charge;
private BigDecimal gatewayCharge;
private BigDecimal tax;
private BigDecimal totalAmount;
private String reference;
private String providerUid;
private String productUid;
private String paymentProcessorLabel;
private String integrationProcessorLabel;
private String providerLabel;
private String rrn;
private String channelName;
private String channel;
private String debitPhone;
private String debitAccount;
@Enumerated(EnumType.STRING)
private CurrencyType debitCurrency;
private String debitName;
private String debitCard;
private String debitRef;
private String creditPhone;
private String creditAccount;
@Enumerated(EnumType.STRING)
private CurrencyType creditCurrency;
private String creditName;
private String creditCard;
private String creditRef;
private String billClientId;
private String clientSecret;
private String aggregatorId;
private String billName;
private String billProductName;
@Enumerated(EnumType.STRING)
private RequestType type;
@Enumerated(EnumType.STRING)
private AuthType authType;
@Column(columnDefinition = "TEXT")
private String errorMessage;
private String responseCode;
private Status status;
@Column(columnDefinition = "TEXT")
private String targetUrl;
private String sdkActionId;
@Transient
private Object additionalData;
}