You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ja...@apache.org on 2008/07/18 19:49:46 UTC
svn commit: r677980 - in /ofbiz/trunk/applications/accounting:
config/payment.properties
src/org/ofbiz/accounting/thirdparty/cybersource/IcsPaymentServices.java
Author: jaz
Date: Fri Jul 18 10:49:46 2008
New Revision: 677980
URL: http://svn.apache.org/viewvc?rev=677980&view=rev
Log:
updated cybersource configuration and code; code changes are minor only changes for java 5 (unboxing and generics)
Modified:
ofbiz/trunk/applications/accounting/config/payment.properties
ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/thirdparty/cybersource/IcsPaymentServices.java
Modified: ofbiz/trunk/applications/accounting/config/payment.properties
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/config/payment.properties?rev=677980&r1=677979&r2=677980&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/config/payment.properties (original)
+++ ofbiz/trunk/applications/accounting/config/payment.properties Fri Jul 18 10:49:46 2008
@@ -69,7 +69,7 @@
payment.cybersource.merchantID=[MerchantID]
# target API version
-payment.cybersource.api.version=1.10
+payment.cybersource.api.version=1.37
# enable production "mode" (true|false)
payment.cybersource.production=false
@@ -84,7 +84,7 @@
payment.cybersource.log=true
# log directory
-payment.cybersource.log.dir=logs
+payment.cybersource.log.dir=runtime/logs
# log file name
payment.cybersource.log.file=cybersource.log
Modified: ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/thirdparty/cybersource/IcsPaymentServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/thirdparty/cybersource/IcsPaymentServices.java?rev=677980&r1=677979&r2=677980&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/thirdparty/cybersource/IcsPaymentServices.java (original)
+++ ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/thirdparty/cybersource/IcsPaymentServices.java Fri Jul 18 10:49:46 2008
@@ -20,7 +20,6 @@
import java.text.DecimalFormat;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
@@ -60,11 +59,11 @@
return ServiceUtil.returnError("ERROR: Getting Cybersource property configuration");
}
- Map request = buildAuthRequest(context);
+ Map<String, Object> request = buildAuthRequest(context);
request.put("merchantID", props.get("merchantID"));
// transmit the request
- Map reply = null;
+ Map reply;
try {
reply = Client.runTransaction(request, props);
} catch (FaultException e) {
@@ -77,7 +76,7 @@
}
// process the reply
- Map result = ServiceUtil.returnSuccess();
+ Map<String, Object> result = ServiceUtil.returnSuccess();
processAuthResult(reply, result);
return result;
}
@@ -106,11 +105,11 @@
return ServiceUtil.returnError("ERROR: Getting Cybersource property configuration");
}
- Map request = buildCaptureRequest(context, authTransaction);
+ Map<String, Object> request = buildCaptureRequest(context, authTransaction);
request.put("merchantID", props.get("merchantID"));
// transmit the request
- Map reply = null;
+ Map reply;
try {
reply = Client.runTransaction(request, props);
} catch (FaultException e) {
@@ -122,7 +121,7 @@
}
// process the reply
- Map result = ServiceUtil.returnSuccess();
+ Map<String, Object> result = ServiceUtil.returnSuccess();
processCaptureResult(reply, result);
return result;
}
@@ -140,11 +139,11 @@
return ServiceUtil.returnError("ERROR: Getting Cybersource property configuration");
}
- Map request = buildReleaseRequest(context, authTransaction);
+ Map<String, Object> request = buildReleaseRequest(context, authTransaction);
request.put("merchantID", props.get("merchantID"));
// transmit the request
- Map reply = null;
+ Map reply;
try {
reply = Client.runTransaction(request, props);
} catch (FaultException e) {
@@ -156,7 +155,7 @@
}
// process the reply
- Map result = ServiceUtil.returnSuccess();
+ Map<String, Object> result = ServiceUtil.returnSuccess();
processReleaseResult(reply, result);
return result;
}
@@ -174,11 +173,11 @@
return ServiceUtil.returnError("ERROR: Getting Cybersource property configuration");
}
- Map request = buildRefundRequest(context, authTransaction);
+ Map<String, Object> request = buildRefundRequest(context, authTransaction);
request.put("merchantID", props.get("merchantID"));
// transmit the request
- Map reply = null;
+ Map reply;
try {
reply = Client.runTransaction(request, props);
} catch (FaultException e) {
@@ -190,7 +189,7 @@
}
// process the reply
- Map result = ServiceUtil.returnSuccess();
+ Map<String, Object> result = ServiceUtil.returnSuccess();
processRefundResult(reply, result);
return result;
}
@@ -202,11 +201,11 @@
return ServiceUtil.returnError("ERROR: Getting Cybersource property configuration");
}
- Map request = buildCreditRequest(context);
+ Map<String, Object> request = buildCreditRequest(context);
request.put("merchantID", props.get("merchantID"));
// transmit the request
- Map reply = null;
+ Map reply;
try {
reply = Client.runTransaction(request, props);
} catch (FaultException e) {
@@ -218,7 +217,7 @@
}
// process the reply
- Map result = ServiceUtil.returnSuccess();
+ Map<String, Object> result = ServiceUtil.returnSuccess();
processCreditResult(reply, result);
return result;
}
@@ -269,7 +268,7 @@
return props;
}
- private static Map buildAuthRequest(Map context) {
+ private static Map<String, Object> buildAuthRequest(Map context) {
String configString = (String) context.get("paymentConfig");
String currency = (String) context.get("currency");
if (configString == null) {
@@ -280,7 +279,7 @@
String capture = UtilProperties.getPropertyValue(configString, "payment.cybersource.autoBill", "false");
String orderId = (String) context.get("orderId");
- Map request = new HashMap();
+ Map<String, Object> request = new HashMap<String, Object>();
request.put("ccAuthService_run", "true"); // run auth service
request.put("ccCaptureService_run", capture); // run capture service (i.e. sale)
request.put("merchantReferenceCode", orderId); // set the order ref number
@@ -292,7 +291,7 @@
return request;
}
- private static Map buildCaptureRequest(Map context, GenericValue authTransaction) {
+ private static Map<String, Object> buildCaptureRequest(Map context, GenericValue authTransaction) {
GenericValue orderPaymentPreference = (GenericValue) context.get("orderPaymentPreference");
String configString = (String) context.get("paymentConfig");
String currency = (String) context.get("currency");
@@ -302,7 +301,7 @@
String merchantDesc = UtilProperties.getPropertyValue(configString, "payment.cybersource.merchantDescr", null);
String merchantCont = UtilProperties.getPropertyValue(configString, "payment.cybersource.merchantContact", null);
- Map request = new HashMap();
+ Map<String, Object> request = new HashMap<String, Object>();
request.put("ccCaptureService_run", "true");
request.put("ccCaptureService_authRequestID", authTransaction.getString("referenceNum"));
request.put("item_0_unitPrice", getAmountString(context, "captureAmount"));
@@ -323,10 +322,11 @@
return request;
}
- private static Map buildReleaseRequest(Map context, GenericValue authTransaction) {
+ private static Map<String, Object> buildReleaseRequest(Map context, GenericValue authTransaction) {
GenericValue orderPaymentPreference = (GenericValue) context.get("orderPaymentPreference");
String currency = (String) context.get("currency");
- Map request = new HashMap();
+
+ Map<String, Object> request = new HashMap<String, Object>();
request.put("ccAuthReversalService_run", "true");
request.put("ccAuthReversalService_authRequestID", authTransaction.getString("referenceNum"));
request.put("item_0_unitPrice", getAmountString(context, "releaseAmount"));
@@ -335,7 +335,7 @@
return request;
}
- private static Map buildRefundRequest(Map context, GenericValue authTransaction) {
+ private static Map<String, Object> buildRefundRequest(Map context, GenericValue authTransaction) {
GenericValue orderPaymentPreference = (GenericValue) context.get("orderPaymentPreference");
String configString = (String) context.get("paymentConfig");
String currency = (String) context.get("currency");
@@ -345,7 +345,7 @@
String merchantDesc = UtilProperties.getPropertyValue(configString, "payment.cybersource.merchantDescr", null);
String merchantCont = UtilProperties.getPropertyValue(configString, "payment.cybersource.merchantContact", null);
- Map request = new HashMap();
+ Map<String, Object> request = new HashMap<String, Object>();
request.put("ccCreditService_run", "true");
request.put("ccCreditService_captureRequestID", authTransaction.getString("referenceNum"));
request.put("item_0_unitPrice", getAmountString(context, "refundAmount"));
@@ -362,9 +362,10 @@
return request;
}
- private static Map buildCreditRequest(Map context) {
+ private static Map<String, Object> buildCreditRequest(Map context) {
String refCode = (String) context.get("referenceCode");
- Map request = new HashMap();
+
+ Map<String, Object> request = new HashMap<String, Object>();
request.put("ccCreditService_run", "true"); // run credit service
request.put("merchantReferenceCode", refCode); // set the ref number could be order id
appendFullBillingInfo(request, context); // add in all address info
@@ -372,7 +373,7 @@
return request;
}
- private static void appendAvsRules(Map request, Map context) {
+ private static void appendAvsRules(Map<String, Object> request, Map context) {
String configString = (String) context.get("paymentConfig");
if (configString == null) {
configString = "payment.properties";
@@ -405,7 +406,7 @@
request.put("businessRules_ignoreAVS", avsIgnore);
}
- private static void appendFullBillingInfo(Map request, Map context) {
+ private static void appendFullBillingInfo(Map<String, Object> request, Map context) {
// person info
GenericValue party = (GenericValue) context.get("billToParty");
@@ -485,7 +486,7 @@
}
}
- private static void appendItemLineInfo(Map request, Map context, String amountField) {
+ private static void appendItemLineInfo(Map<String, Object> request, Map context, String amountField) {
// send over a line item total offer w/ the total for billing; don't trust CyberSource for calc
String currency = (String) context.get("currency");
@@ -498,11 +499,10 @@
// create the offers (one for each line item)
List orderItems = (List) context.get("orderItems");
if (orderItems != null) {
- Iterator itemIterator = orderItems.iterator();
- while (itemIterator.hasNext()) {
+ for (Object orderItem : orderItems) {
lineNumber++;
- GenericValue item = (GenericValue) itemIterator.next();
+ GenericValue item = (GenericValue) orderItem;
GenericValue product = null;
try {
product = item.getRelatedOne("Product");
@@ -522,13 +522,13 @@
Double quantity = item.getDouble("quantity");
// test quantity if INT pass as is; if not pass as 1
- long roundQ = Math.round(quantity.doubleValue());
- Double rounded = new Double(new Long(roundQ).toString());
+ long roundQ = Math.round(quantity);
+ Double rounded = new Double(Long.toString(roundQ));
if (rounded.doubleValue() != quantity.doubleValue()) {
request.put("item_" + lineNumber + "_quantity", "1");
} else {
- request.put("", new Integer(quantity.intValue()).toString());
+ request.put("", Integer.toString(quantity.intValue()));
}
// set the amount to 0.0000 -- we will send a total too.
@@ -544,7 +544,7 @@
return formatter.format(processAmount);
}
- private static void processAuthResult(Map reply, Map result) {
+ private static void processAuthResult(Map reply, Map<String, Object> result) {
String decision = getDecision(reply);
if ("ACCEPT".equalsIgnoreCase(decision)) {
result.put("authCode", reply.get("ccAuthReply_authorizationCode"));
@@ -558,7 +558,7 @@
if (reply.get("ccAuthReply_amount") != null) {
result.put("processAmount", new Double((String) reply.get("ccAuthReply_amount")));
} else {
- result.put("processAmount", new Double(0.00));
+ result.put("processAmount", 0.00);
}
result.put("authRefNum", reply.get("requestID"));
@@ -569,9 +569,11 @@
result.put("scoreCode", reply.get("ccAuthReply_authFactorCode"));
result.put("captureRefNum", reply.get("requestID")); // maybe use something else here?
result.put("captureCode", reply.get("ccCaptureReply_reconciliationID"));
+ if (Debug.infoOn())
+ Debug.logInfo("CC [Cybersource] authorization result : " + result, module);
}
- private static void processCaptureResult(Map reply, Map result) {
+ private static void processCaptureResult(Map reply, Map<String, Object> result) {
String decision = getDecision(reply);
if ("ACCEPT".equalsIgnoreCase(decision)) {
result.put("captureResult", Boolean.TRUE);
@@ -582,16 +584,18 @@
if (reply.get("ccCaptureReply_amount") != null) {
result.put("captureAmount", new Double((String) reply.get("ccCaptureReply_amount")));
} else {
- result.put("captureAmount", new Double(0.00));
+ result.put("captureAmount", 0.00);
}
result.put("captureRefNum", reply.get("requestID"));
result.put("captureCode", reply.get("ccCaptureReply_reconciliationID"));
result.put("captureFlag", reply.get("ccCaptureReply_reasonCode"));
result.put("captureMessage", reply.get("decision"));
+ if (Debug.infoOn())
+ Debug.logInfo("CC [Cybersource] capture result : " + result, module);
}
- private static void processReleaseResult(Map reply, Map result) {
+ private static void processReleaseResult(Map reply, Map<String, Object> result) {
String decision = getDecision(reply);
if ("ACCEPT".equalsIgnoreCase(decision)) {
result.put("releaseResult", Boolean.TRUE);
@@ -602,16 +606,18 @@
if (reply.get("ccAuthReversalReply_amount") != null) {
result.put("releaseAmount", new Double((String) reply.get("ccAuthReversalReply_amount")));
} else {
- result.put("releaseAmount", new Double(0.00));
+ result.put("releaseAmount", 0.00);
}
result.put("releaseRefNum", reply.get("requestID"));
result.put("releaseCode", reply.get("ccAuthReversalReply_authorizationCode"));
result.put("releaseFlag", reply.get("ccAuthReversalReply_reasonCode"));
result.put("releaseMessage", reply.get("decision"));
+ if (Debug.infoOn())
+ Debug.logInfo("CC [Cybersource] release result : " + result, module);
}
- private static void processRefundResult(Map reply, Map result) {
+ private static void processRefundResult(Map reply, Map<String, Object> result) {
String decision = getDecision(reply);
if ("ACCEPT".equalsIgnoreCase(decision)) {
result.put("refundResult", Boolean.TRUE);
@@ -622,16 +628,18 @@
if (reply.get("ccCreditReply_amount") != null) {
result.put("refundAmount", new Double((String) reply.get("ccCreditReply_amount")));
} else {
- result.put("refundAmount", new Double(0.00));
+ result.put("refundAmount", 0.00);
}
result.put("refundRefNum", reply.get("requestID"));
result.put("refundCode", reply.get("ccCreditReply_reconciliationID"));
result.put("refundFlag", reply.get("ccCreditReply_reasonCode"));
result.put("refundMessage", reply.get("decision"));
+ if (Debug.infoOn())
+ Debug.logInfo("CC [Cybersource] refund result : " + result, module);
}
- private static void processCreditResult(Map reply, Map result) {
+ private static void processCreditResult(Map reply, Map<String, Object> result) {
String decision = (String) reply.get("decision");
if ("ACCEPT".equalsIgnoreCase(decision)) {
result.put("creditResult", Boolean.TRUE);
@@ -642,13 +650,15 @@
if (reply.get("ccCreditReply_amount") != null) {
result.put("creditAmount", new Double((String) reply.get("ccCreditReply_amount")));
} else {
- result.put("creditAmount", new Double(0.00));
+ result.put("creditAmount", 0.00);
}
result.put("creditRefNum", reply.get("requestID"));
result.put("creditCode", reply.get("ccCreditReply_reconciliationID"));
result.put("creditFlag", reply.get("ccCreditReply_reasonCode"));
result.put("creditMessage", reply.get("decision"));
+ if (Debug.infoOn())
+ Debug.logInfo("CC [Cybersource] credit result : " + result, module);
}
private static String getDecision(Map reply) {