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

com.global.api.terminals.builders.TerminalBuilder Maven / Gradle / Ivy

There is a newer version: 14.2.3
Show newest version
package com.global.api.terminals.builders;

import com.global.api.builders.TransactionBuilder;
import com.global.api.entities.enums.PaymentMethodType;
import com.global.api.entities.enums.StoredCredentialInitiator;
import com.global.api.entities.enums.TransactionType;
import com.global.api.terminals.TerminalResponse;
import lombok.Getter;

public abstract class TerminalBuilder> extends TransactionBuilder {
    protected PaymentMethodType paymentMethodType;
    protected Integer requestId;

    /*
     * ID of the clerk if in retail mode, and ID of the server if in restaurant mode
     * 
     * @var int
     */
    protected Integer clerkId;
    protected String referenceNumber;
    @Getter
    protected String clerkNumber;
    @Getter
    protected StoredCredentialInitiator storedCredentialInitiator;

    public PaymentMethodType getPaymentMethodType() {
        return paymentMethodType;
    }
    public Integer getRequestId() {
        return requestId;
    }
    public Integer getClerkId() {
        return this.clerkId;
    }
    public String getReferenceNumber() { return this.referenceNumber; }

    public TerminalBuilder withClerkId(Integer value) {
        clerkId = value;
        return this;
    }

    public TerminalAuthBuilder withCardOnFileIndicator(StoredCredentialInitiator value){
        storedCredentialInitiator = value;
        return (TerminalAuthBuilder) this;
    }

    public TerminalBuilder withReferenceNumber(String value) {
        referenceNumber = value;
        return this;
    }

    public TerminalBuilder withRequestId(Integer value) {
        requestId = value;
        return this;
    }

    public TerminalBuilder withClerkNumber(String value) {
        this.clerkNumber = value;
        return this;
    }

    TerminalBuilder(TransactionType type, PaymentMethodType paymentType) {
        super(type);
        paymentMethodType = paymentType;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy