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

com.global.api.paymentMethods.Installment Maven / Gradle / Ivy

The newest version!
package com.global.api.paymentMethods;

import com.global.api.entities.Action;
import com.global.api.entities.Card;
import com.global.api.entities.IInstallmentEntity;
import com.global.api.entities.Terms;
import com.global.api.entities.exceptions.ApiException;
import com.global.api.services.InstallmentService;
import lombok.Getter;
import lombok.Setter;
import org.joda.time.DateTime;

import java.math.BigDecimal;
import java.util.List;

@Getter
@Setter
public class Installment implements IInstallmentEntity {
    /**
     * Represents the account name.
     */
    private String accountName;
    /**
     * Represents the transaction was processed in a face to face(CP) scenario or a Customer Not Present (CNP) scenario.
     */
    private String channel;
    /**
     * The amount to transfer between Payer and Merchant.
     * It is always represented in the lowest denomination of the related currency. and with no decimal point.
     */
    private BigDecimal amount;
    /**
     * Represents the currency of the amount.
     */
    private String currency;
    /**
     * Represents the country the merchant is domiciled in.
     */
    private String country;
    /**
     * Represents the Merchant defined field to reference the transaction.
     */
    private String reference;
    /**
     * This field indicates the installment program the merchant is participating in.
     */
    private String program;
    /**
     * Represents unique identifier that is used to identify and reference an instance of this resource.
     * This id is used when actioning or referencing a specific installment request.
     * Begins with the three letters, INS.
     */
    private String id;
    /**
     * Represents Global Payments time indicating when the object was created in ISO-8601 format.
     */
    private DateTime timeCreated;
    /**
     * The type of installment request.
     */
    private String type;
    /**
     * Indicates the status of the installment.
     */
    private String status;
    /**
     * Represents a unique identifier that is used to identify and reference an instance of this resource.
     * This id is used when actioning or referencing a specific merchant.
     * Begins with the three letters, MER.
     */
    private String merchantId;
    /**
     * Represents the merchant name.
     */
    private String merchantName;
    /**
     * Represents the account id.
     */
    private String accountId;
    /**
     * Represents unique identifier that is used to identify and reference an instance of this resource.
     * This id is used when actioning or referencing a specific account.
     * Begins with the three letters, TRA.
     */
    private List terms;
    /**
     * Represents the Action Result returned by GP API
     */
    private Action action;
    /**
     * Represents the result code associated with the payment method used to process this transaction.
     */
    private String result;
    /**
     * Represents the result message that better explains the result code.
     */
    private String message;
    /**
     * Indicates how the payment method information was obtained by the Merchant for this transaction.
     */
    private String entryMode;
    /**
     * Indicates Code generated by the card provider when the card is successfully authorized.
     */
    private String authCode;
    /**
     * Represents the Card Details
     */
    private Card card;
    /**
     * Represents the Credit Card Details
     */
    private CreditCardData creditCardData;

    /**
     * Creates an installment
     *
     * @return {@link Installment}
     * @throws ApiException
     */
    public Installment create() throws ApiException {
        return create("default");
    }

    /**
     * Creates an installment with configName.
     *
     * @param configName
     * @return {@link Installment}
     * @throws ApiException
     */
    public Installment create(String configName) throws ApiException {
        return InstallmentService.create(this, configName);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy