@Override public AuthorizationResult authorize(TransactionRequest transactionRequest, CreditCard creditCard) { return authorizeOrSale(transactionRequest, creditCard, "authonly"); }
private static String createMd5Hash(String token) throws NoSuchAlgorithmException { MessageDigest m = MessageDigest.getInstance("MD5"); m.update(token.getBytes(), 0, token.length()); return getFullHexString(m.digest()); }
if(invoiceNumber.length()<=10) request.put("UMinvoice", invoiceNumber); else { addMaxLengthParameter(request, "UMorderid", invoiceNumber, 64, TransactionResult.ErrorCode.INVALID_INVOICE_NUMBER); String street = getStreetAddress(creditCard.getStreetAddress1(), creditCard.getStreetAddress2()); if(street.length()>0) request.put("UMstreet", street); long randomLong = getRandom().nextLong(); if(randomLong==Long.MIN_VALUE) randomLong = 0; if(randomLong<0) randomLong = -randomLong; if(invoiceNumber!=null && invoiceNumber.length()>0) hashData.append(invoiceNumber); hashData.append(':').append(seed); String md5 = createMd5Hash(hashData.toString()); getProviderId(), TransactionResult.CommunicationResult.LOCAL_ERROR, err.getErrorCode().name(), results = submitTransaction(request, transactionRequest.getTestMode()); } catch(ErrorCodeException err) { return new AuthorizationResult( getProviderId(), TransactionResult.CommunicationResult.GATEWAY_ERROR, err.getErrorCode().name(), String expectedMd5 = createMd5Hash(hashData); if(!expectedMd5.equalsIgnoreCase(responseMd5)) { System.err.println("Response MD5 != Expected MD5: "+responseMd5+" != "+expectedMd5);
if(DEBUG_REQUEST) System.out.println(" "+name+"="+value); if(parameterSB.length()>0) parameterSB.append('&'); parameterSB.append(name).append('=').append(encode(value)); if(equalPos==-1) throw new IOException("No equal sign (=) found in token: "+token); String name = token.substring(0, equalPos); String value = decode(token.substring(equalPos+1)); if(DEBUG_RESPONSE) System.out.println(" "+name+"="+value); response.put(name, value);
@Override public SaleResult sale(TransactionRequest transactionRequest, CreditCard creditCard) { AuthorizationResult authorizationResult = authorizeOrSale(transactionRequest, creditCard, "sale"); return new SaleResult( authorizationResult, new CaptureResult( authorizationResult.getProviderId(), authorizationResult.getCommunicationResult(), authorizationResult.getProviderErrorCode(), authorizationResult.getErrorCode(), authorizationResult.getProviderErrorMessage(), authorizationResult.getProviderUniqueId() ) ); }