package com.enactor.training.paymentService.service.messages.gcash;

import com.enactor.core.entities.IEntity;
import com.enactor.core.entities.PropertyValidationException;

/**
 * Add comments for the PayOptionInfo entity interface here
 */
public interface IPayOptionInfo extends IEntity {

	
	/**
	 * Set the ChargeAmount
	 *
	 * @param chargeAmount
	 * @throws PropertyValidationException
	 */
	public void setChargeAmount(CurrencyAmount chargeAmount) throws PropertyValidationException;
	
	/**
	 * Get the ChargeAmount
	 *
	 * @return chargeAmount
	 */
	public CurrencyAmount getChargeAmount();
	
	
	/**
	 * Set the PayAmount
	 *
	 * @param payAmount
	 * @throws PropertyValidationException
	 */
	public void setPayAmount(CurrencyAmount payAmount) throws PropertyValidationException;
	
	/**
	 * Get the PayAmount
	 *
	 * @return payAmount
	 */
	public CurrencyAmount getPayAmount();
	
	
	/**
	 * Set the PayMethod
	 *
	 * @param payMethod
	 * @throws PropertyValidationException
	 */
	public void setPayMethod(String payMethod) throws PropertyValidationException;
	
	/**
	 * Get the PayMethod
	 *
	 * @return payMethod
	 */
	public String getPayMethod();
	
	
	/**
	 * Set the TransAmount
	 *
	 * @param transAmount
	 * @throws PropertyValidationException
	 */
	public void setTransAmount(CurrencyAmount transAmount) throws PropertyValidationException;
	
	/**
	 * Get the TransAmount
	 *
	 * @return transAmount
	 */
	public CurrencyAmount getTransAmount();
	
	
}
