public String doRefund( String cardnumber, String monthExpires, String yearExpires, String ccVerifyNumber, double amount, String currency, Object parentDataPK, String captureProperties) throws CreditCardAuthorizationException { IWTimestamp stamp = IWTimestamp.RightNow(); this.strCCNumber = cardnumber; this.strCCExpire = yearExpires + monthExpires; this.strCCVerify = ccVerifyNumber; setCurrencyAndAmount(currency, amount); this.strCurrentDate = getDateString(stamp); try { StringBuffer logText = new StringBuffer(); Hashtable capturePropertiesHash = parseResponse(captureProperties); Hashtable properties = doRefund(getAmountWithExponents(amount), capturePropertiesHash, parentDataPK); String authCode = properties.get(this.PROPERTY_APPROVAL_CODE).toString(); logText.append("\nRefund successful").append("\nAuthorization Code = " + authCode); logText.append("\nAction Code = " + properties.get(this.PROPERTY_ACTION_CODE).toString()); try { String tmpCardNum = CreditCardBusinessBean.encodeCreditCardNumber(cardnumber); storeAuthorizationEntry( tmpCardNum, parentDataPK, properties, KortathjonustanAuthorisationEntries.AUTHORIZATION_TYPE_REFUND); log(logText.toString()); } catch (Exception e) { System.err.println("Unable to save entry to database"); e.printStackTrace(); if (authCode != null) { return authCode; } else { throw new CreditCardAuthorizationException(e); } } return authCode; } catch (CreditCardAuthorizationException e) { StringBuffer logText = new StringBuffer(); logText.append("Authorization FAILED"); logText.append("\nError = " + e.getErrorMessage()); logText.append("\nNumber = " + e.getErrorNumber()); logText.append("\nDisplay error = " + e.getDisplayError()); log(logText.toString()); throw e; } catch (NullPointerException n) { throw new CreditCardAuthorizationException(n); } }
public String doSale( String nameOnCard, String cardnumber, String monthExpires, String yearExpires, String ccVerifyNumber, double amount, String currency, String referenceNumber) throws CreditCardAuthorizationException { try { IWTimestamp stamp = IWTimestamp.RightNow(); this.strName = nameOnCard; this.strCCNumber = cardnumber; this.strCCExpire = yearExpires + monthExpires; this.strCCVerify = ccVerifyNumber; setCurrencyAndAmount(currency, amount); this.strCurrentDate = getDateString(stamp); this.strReferenceNumber = convertStringToNumbers(referenceNumber); StringBuffer logText = new StringBuffer(); // System.out.println("referenceNumber => " + strReferenceNumber); Hashtable returnedProperties = getFirstResponse(); String authCode = null; if (returnedProperties != null) { logText.append("Authorization successful"); Hashtable returnedCaptureProperties = finishTransaction(returnedProperties); if (returnedCaptureProperties != null && returnedCaptureProperties.get(this.PROPERTY_APPROVAL_CODE).toString() != null) { // System.out.println("Approval Code = // "+returnedCaptureProperties.get(PROPERTY_APPROVAL_CODE).toString()); authCode = returnedCaptureProperties .get(this.PROPERTY_APPROVAL_CODE) .toString(); // returnedCaptureProperties; logText.append("\nCapture successful").append("\nAuthorization Code = " + authCode); logText.append( "\nAction Code = " + returnedCaptureProperties.get(this.PROPERTY_ACTION_CODE).toString()); try { String tmpCardNum = CreditCardBusinessBean.encodeCreditCardNumber(cardnumber); this.storeAuthorizationEntry( tmpCardNum, null, returnedCaptureProperties, KortathjonustanAuthorisationEntries.AUTHORIZATION_TYPE_SALE); log(logText.toString()); } catch (Exception e) { System.err.println("Unable to save entry to database"); throw new CreditCardAuthorizationException(e); } } } return authCode; } catch (CreditCardAuthorizationException e) { StringBuffer logText = new StringBuffer(); logText.append("Authorization FAILED"); logText.append("\nError = " + e.getErrorMessage()); logText.append("\nNumber = " + e.getErrorNumber()); logText.append("\nDisplay error = " + e.getDisplayError()); log(logText.toString()); throw e; } }