PaymentInformation.java
package sk.iway.iwcm.ebanking.epayments;
import javax.servlet.http.HttpServletRequest;
import sk.iway.Password;
import sk.iway.iwcm.ebanking.Payment;
/**
* PaymentInformation.java
*
*@Title webjet4
*@Company Interway s.r.o. (www.interway.sk)
*@Copyright Interway s.r.o. (c) 2001-2009
*@author $Author: jraska $
*@version $Revision: 1.4 $
*@created Date: 26.8.2009 14:08:38
*@modified $Date: 2009/12/11 14:51:53 $
*/
public abstract class PaymentInformation
{
protected String merchantId;
protected String key;
protected int constantSymbol;
public String getMerchantId()
{
return this.merchantId;
}
public String getReturnEmail()
{
return "";
}
/**
* Returns a private key assigned to the merchant in order to run e-bussiness
*/
public String getKey()
{
return this.key;
}
public abstract String getUrlString();
/**
* Returns a constant symbol part of the bank account number.
* It throws an exception in case no such symbol is set(Security issues)
*/
public int getConstantSymbol()
{
return constantSymbol;
}
public boolean hasOwnForm()
{
return false;
}
public String generateForm(Payment payment, HttpServletRequest request)
{
return "";
}
/**
* Validuje spravnost navratovej odpovede banky. Overi ci su pritomne povinne parametre a ci sedi podpisovy hash, ak nie vyhodi Exception.
* Ak je odpoved formalne v poriadku, vrati TRUE v pripade kladnej (platba bola uspesna), FALSE v pripade zapornej odpovede (platba nebola uspesna).
* @param request
* @return
* @throws Exception
*/
public boolean validateBankResponce(HttpServletRequest request) throws Exception
{
return false;
}
@Override
public String toString()
{
return this.getClass().getSimpleName()+" mid => "+getMerchantId()+" key => "+getKey();
}
public String generateEditorForm()
{
return "";
}
/**
* Vrati variabilny symbol, potrebny pre sparovanie platby, z navratoveho requestu banky. Vacsina bank ho vracia ako URL parameter `VS` alebo `vs`,
* vtedy staci pouzit metodu predka, ak banka vracia informaciu inak, je potrebny Override v implementacii.
* <br><br>
* Ak banka nevracia variabilny symbol tak bude velmi obtiazne ak nie nemozne platbu sparovat.
* @param request
* @return Variabilny symbol
*/
public String getResponceVS(HttpServletRequest request)
{
String vs=null;
vs = request.getParameter("VS")!=null ? request.getParameter("VS") : request.getParameter("vs");
return vs;
}
public String getDecrypredKey(String key)
{
try
{
Password password = new Password();
return password.decrypt(key);
}
catch(Exception e)
{
sk.iway.iwcm.Logger.error(e);
}
return "";
}
/**
* vrati specialny symbol
* @param request
* @return
*/
public String getResponceSS(HttpServletRequest request)
{
String ss=null;
ss = request.getParameter("SS")!=null ? request.getParameter("SS") : request.getParameter("ss");
return ss;
}
}