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

com.konduto.sdk.models.KondutoPayment Maven / Gradle / Ivy

Go to download

Easily integrate with Konduto (https://konduto.com), a fraud prevention service.

There is a newer version: 2.17.4
Show newest version
package com.konduto.sdk.models;

/**
 *
 * Payment model.
 *
 * @see Konduto API Spec
 *
 */
public abstract class KondutoPayment extends KondutoModel {

	/**
	 * Fluent constructor
	 * @param attributeName the attribute name (e.g totalAmount)
	 * @param attributeValue the attribute value (e.g 123.2)
	 * @return a new instance
	 */
	@Override
	public KondutoPayment with(String attributeName, Object attributeValue) {
		return (KondutoPayment) super.with(attributeName, attributeValue);
	}

	abstract public KondutoPaymentType getType();

	@Override
	public boolean equals(Object obj) {
        if (this == obj) return true;
        if (!(obj instanceof KondutoPayment)) return false;
        KondutoPayment that = (KondutoPayment) obj;
        return this.getType() == that.getType();
    }

	@Override
	public int hashCode() {
        return this.getType().hashCode();
    }

	public String getTypeAsString() {
        if(getType() == null) { throw new RuntimeException("Payment type cannot be null"); }
        return getType().toString().toLowerCase();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy