Files
velocity-pay-springboot/src/main/java/zw/qantra/tm/domain/models/Transaction.java

65 lines
1.7 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.CurrencyType;
import zw.qantra.tm.domain.enums.RequestType;
import zw.qantra.tm.domain.enums.Status;
import java.math.BigDecimal;
import java.util.List;
import java.util.UUID;
@Entity
@Getter
@Setter
@Builder
@AllArgsConstructor
@NoArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Transaction {
@Id
@GeneratedValue(strategy = GenerationType.UUID)
private UUID id;
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 rrn;
private String channelName;
private String channel;
private String debitPhone;
private String debitAccount;
private CurrencyType debitCurrency;
private String debitName;
private String debitCard;
private String debitRef;
private String creditPhone;
private String creditAccount;
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;
private RequestType type;
private String errorMessage;
private String responseCode;
private Status status;
@Transient
private List<Object> additionalData;
}