Author: ashish
Date: Mon Dec 6 12:31:55 2010
New Revision: 1042606
URL: http://svn.apache.org/viewvc?rev=1042606&view=rev
Log:
Applied fix from r949465.
The paypal checkout should not always redirect to sandbox while you are in
production environment, It should be taken from configuration settings.
Contribution from Divesh & Pranay - Thanks Guys.
Thanks Atul for the reminder for committing it to release branch.
Modified:
ofbiz/branches/release10.04/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutEvents.java
ofbiz/branches/release10.04/applications/order/src/org/ofbiz/order/thirdparty/paypal/ExpressCheckoutEvents.java
Modified:
ofbiz/branches/release10.04/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutEvents.java
URL:
http://svn.apache.org/viewvc/ofbiz/branches/release10.04/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutEvents.java?rev=1042606&r1=1042605&r2=1042606&view=diff
==============================================================================
---
ofbiz/branches/release10.04/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutEvents.java
(original)
+++
ofbiz/branches/release10.04/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutEvents.java
Mon Dec 6 12:31:55 2010
@@ -639,7 +639,7 @@ public class CheckOutEvents {
GenericValue payPalProdStorePaySetting =
EntityUtil.getFirst(payPalProdStorePaySettings);
if (payPalProdStorePaySetting != null) {
GenericValue gatewayConfig =
payPalProdStorePaySetting.getRelatedOne("PaymentGatewayConfig");
- if (gatewayConfig != null &&
"PAYFLOWPRO".equals(gatewayConfig.getString("paymentGatewayConfigTypeId"))) {
+ if (gatewayConfig != null &&
("PAYFLOWPRO".equals(gatewayConfig.getString("paymentGatewayConfigTypeId")) ||
"PAYPAL".equals(gatewayConfig.getString("paymentGatewayConfigTypeId")))) {
return "paypal";
}
}
Modified:
ofbiz/branches/release10.04/applications/order/src/org/ofbiz/order/thirdparty/paypal/ExpressCheckoutEvents.java
URL:
http://svn.apache.org/viewvc/ofbiz/branches/release10.04/applications/order/src/org/ofbiz/order/thirdparty/paypal/ExpressCheckoutEvents.java?rev=1042606&r1=1042605&r2=1042606&view=diff
==============================================================================
---
ofbiz/branches/release10.04/applications/order/src/org/ofbiz/order/thirdparty/paypal/ExpressCheckoutEvents.java
(original)
+++
ofbiz/branches/release10.04/applications/order/src/org/ofbiz/order/thirdparty/paypal/ExpressCheckoutEvents.java
Mon Dec 6 12:31:55 2010
@@ -81,13 +81,38 @@ public class ExpressCheckoutEvents {
}
public static String expressCheckoutRedirect(HttpServletRequest request,
HttpServletResponse response) {
+ Delegator delegator = (Delegator) request.getAttribute("delegator");
ShoppingCart cart = ShoppingCartEvents.getCartObject(request);
String token = (String) cart.getAttribute("payPalCheckoutToken");
+ String paymentGatewayConfigId = null;
+ GenericValue payPalGatewayConfig = null;
+ String productStoreId = null;
if (UtilValidate.isEmpty(token)) {
Debug.logError("No ExpressCheckout token found in cart, you must
do a successful setExpressCheckout before redirecting.", module);
return "error";
}
- StringBuilder redirectUrl = new
StringBuilder("https://www.sandbox.paypal.com/cgi-bin/webscr");
+ if (cart != null) {
+ productStoreId = cart.getProductStoreId();
+ }
+ if (productStoreId != null) {
+ GenericValue payPalPaymentSetting =
ProductStoreWorker.getProductStorePaymentSetting(delegator, productStoreId,
"EXT_PAYPAL", null, true);
+ if (payPalPaymentSetting != null) {
+ paymentGatewayConfigId =
payPalPaymentSetting.getString("paymentGatewayConfigId");
+ }
+ }
+ if (paymentGatewayConfigId != null) {
+ try {
+ payPalGatewayConfig =
delegator.findOne("PaymentGatewayPayPal", true, "paymentGatewayConfigId",
paymentGatewayConfigId);
+ } catch (GenericEntityException e) {
+ Debug.logError(e, module);
+ }
+ }
+ StringBuilder redirectUrl = new StringBuilder("");
+ if (payPalGatewayConfig == null) {
+ redirectUrl = new
StringBuilder("https://www.sandbox.paypal.com/cgi-bin/webscr");
+ } else {
+ redirectUrl = new
StringBuilder(payPalGatewayConfig.getString("redirectUrl"));
+ }
redirectUrl.append("?cmd=_express-checkout&token=");
redirectUrl.append(token);
try {