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

com.maxmind.minfraud.request.Payment Maven / Gradle / Ivy

package com.maxmind.minfraud.request;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.maxmind.minfraud.AbstractModel;

/**
 * The payment information for the transaction.
 */
public final class Payment extends AbstractModel {
    private final Processor processor;
    private final Boolean wasAuthorized;
    private final String declineCode;

    private Payment(Payment.Builder builder) {
        processor = builder.processor;
        wasAuthorized = builder.wasAuthorized;
        declineCode = builder.declineCode;
    }

    /**
     * {@code Builder} creates instances of {@code Payment}
     * from values set by the builder's methods.
     */
    public static final class Builder {
        Processor processor;
        Boolean wasAuthorized;
        String declineCode;

        /**
         * @param processor The payment processor used for the transaction.
         * @return The builder object.
         */
        public Payment.Builder processor(Processor processor) {
            this.processor = processor;
            return this;
        }

        /**
         * @param wasAuthorized The authorization outcome from the payment
         *                      processor. If the transaction has not yet been
         *                      approved or denied, do not include this field.
         * @return The builder object.
         */
        public Payment.Builder wasAuthorized(boolean wasAuthorized) {
            this.wasAuthorized = wasAuthorized;
            return this;
        }

        /**
         * @param declineCode The decline code as provided by your payment
         *                    processor. If the transaction was not declined,
         *                    do not include this field.
         * @return The builder object.
         */
        public Payment.Builder declineCode(String declineCode) {
            this.declineCode = declineCode;
            return this;
        }

        /**
         * @return an instance of {@code Payment} created from the
         * fields set on this builder.
         */
        public Payment build() {
            return new Payment(this);
        }
    }

    /**
     * @return The payment processor.
     */
    @JsonProperty("processor")
    public Processor getProcessor() {
        return processor;
    }

    /**
     * @return The authorization outcome.
     */
    @JsonProperty("was_authorized")
    public Boolean wasAuthorized() {
        return wasAuthorized;
    }

    /**
     * @return The decline code.
     */
    @JsonProperty("decline_code")
    public String getDeclineCode() {
        return declineCode;
    }

    /**
     * Enumeration of payment processors
     */
    public enum Processor {
        // These should exactly match the mF2 request enum value except they
        // should be all uppercase.
        ADYEN,
        AFFIRM,
        AFTERPAY,
        ALTAPAY,
        AMAZON_PAYMENTS,
        AMERICAN_EXPRESS_PAYMENT_GATEWAY,
        APPLE_PAY,
        APS_PAYMENTS,
        AUTHORIZENET,
        BALANCED,
        BEANSTREAM,
        BLUEPAY,
        BLUESNAP,
        BOACOMPRA,
        BOKU,
        BPOINT,
        BRAINTREE,
        CARDKNOX,
        CARDPAY,
        CASHFREE,
        CCAVENUE,
        CCNOW,
        CETELEM,
        CHASE_PAYMENTECH,
        CHECKOUT_COM,
        CIELO,
        COLLECTOR,
        COMMDOO,
        COMPROPAGO,
        CONCEPT_PAYMENTS,
        CONEKTA,
        COREGATEWAY,
        CREDITGUARD,
        CREDORAX,
        CT_PAYMENTS,
        CUENTADIGITAL,
        CUROPAYMENTS,
        CYBERSOURCE,
        DALENYS,
        DALPAY,
        DATACAP,
        DATACASH,
        DIBS,
        DIGITAL_RIVER,
        DLOCAL,
        DOTPAY,
        EBS,
        ECOMM365,
        ECOMMPAY,
        ELAVON,
        EMERCHANTPAY,
        EPAY,
        EPROCESSING_NETWORK,
        EPX,
        EWAY,
        EXACT,
        FIRST_ATLANTIC_COMMERCE,
        FIRST_DATA,
        FISERV,
        G2A_PAY,
        GLOBAL_PAYMENTS,
        GOCARDLESS,
        GOOGLE_PAY,
        HEARTLAND,
        HIPAY,
        INGENICO,
        INTERAC,
        INTERNETSECURE,
        INTUIT_QUICKBOOKS_PAYMENTS,
        IUGU,
        KLARNA,
        KOMOJU,
        LEMON_WAY,
        MASTERCARD_PAYMENT_GATEWAY,
        MERCADOPAGO,
        MERCANET,
        MERCHANT_ESOLUTIONS,
        MIRJEH,
        MOLLIE,
        MONERIS_SOLUTIONS,
        NEOPAY,
        NEOSURF,
        NMI,
        OCEANPAYMENT,
        ONEY,
        ONPAY,
        OPENBUCKS,
        OPENPAYMX,
        OPTIMAL_PAYMENTS,
        ORANGEPAY,
        OTHER,
        PACNET_SERVICES,
        PAYEEZY,
        PAYFAST,
        PAYGATE,
        PAYLIKE,
        PAYMENT_EXPRESS,
        PAYMENTWALL,
        PAYONE,
        PAYPAL,
        PAYPLUS,
        PAYSAFECARD,
        PAYSERA,
        PAYSTATION,
        PAYTM,
        PAYTRACE,
        PAYTRAIL,
        PAYTURE,
        PAYU,
        PAYULATAM,
        PAYVISION,
        PAYWAY,
        PAYZA,
        PINPAYMENTS,
        PLACETOPAY,
        POSCONNECT,
        PRINCETON_PAYMENT_SOLUTIONS,
        PSIGATE,
        QIWI,
        QUICKPAY,
        RABERIL,
        RAZORPAY,
        REDE,
        REDPAGOS,
        REWARDSPAY,
        SAFECHARGE,
        SAGEPAY,
        SECURETRADING,
        SHOPIFY_PAYMENTS,
        SIMPLIFY_COMMERCE,
        SKRILL,
        SMARTCOIN,
        SMARTDEBIT,
        SOLIDTRUST_PAY,
        SPS_DECIDIR,
        STRIPE,
        SYNAPSEFI,
        SYSTEMPAY,
        TELERECARGAS,
        TOWAH,
        TRANSACT_PRO,
        TRUSTLY,
        TSYS,
        USA_EPAY,
        VANTIV,
        VEREPAY,
        VERICHECK,
        VINDICIA,
        VIRTUAL_CARD_SERVICES,
        VME,
        VPOS,
        WINDCAVE,
        WIRECARD,
        WORLDPAY;

        public String toString() {
            return this.name().toLowerCase();
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy