thanks for rationale behind the placement.
Scott Gray sent the following on 8/24/2010 6:07 PM:
All gateway code is in accounting, but keep in mind that Express Checkout
involves more than just interacting with a gateway. It also modifies the
checkout process in a fairly major way and it makes no sense to include all of
that in accounting, hence the events being in the order component.
Regards
Scott
On 25/08/2010, at 12:41 PM, BJ Freeman wrote:
Up until I found the file. om orders, I thought all gateway code was in
accounting.
it is more if someone is looking for which gateway to use or to troubleshoot,
without walking through the code.
it has more to-do with placing like code in the same place
from a functional point of view there is not difference.
=========================
BJ Freeman<http://bjfreeman.elance.com>
Strategic Power Office with Supplier
Automation<http://www.businessesnetwork.com/automation/viewforum.php?f=52>
Specialtymarket.com<http://www.specialtymarket.com/>
Systems Integrator-- Glad to Assist
Chat Y! messenger: bjfr33man
Scott Gray sent the following on 8/24/2010 5:32 PM:
I don't really know what you mean.
- The Payflow Pro Express Checkout payment processing stuff is in the original
Payflow Processor, I don't see any reason to change that
- Everything else is in PayPalServices (if it is a service) or in
ExpressCheckoutEvents (if it is an event method)
What is the issue exactly?
Regards
Scott
On 25/08/2010, at 12:03 PM, BJ Freeman wrote:
since they are named different would not seem consistent to have all of them in
one place?
Scott Gray sent the following on 8/24/2010 3:27 PM:
There are two Express Checkout integrations, one for PayFlow Pro and another
for the standard PayPal API. However, both of them use ExpressCheckoutEvents
so there is really nothing to be merged.
Regards
Scott
HotWax Media
http://www.hotwaxmedia.com
On 24/08/2010, at 8:13 PM, BJ Freeman wrote:
I was checking out the jira OFBIZ-3895
and ran across this in orders.
there is also one done by Scott in accounting.
should these be merged and put in one place.
=========================
BJ Freeman<http://bjfreeman.elance.com>
Strategic Power Office with Supplier
Automation<http://www.businessesnetwork.com/automation/viewforum.php?f=52>
Specialtymarket.com<http://www.specialtymarket.com/>
Systems Integrator-- Glad to Assist
Chat Y! messenger: bjfr33man
[email protected] sent the following on 5/29/2010 8:25 PM:
Author: ashish
Date: Sun May 30 03:25:35 2010
New Revision: 949465
URL: http://svn.apache.org/viewvc?rev=949465&view=rev
Log:
The paypal checkout should always redirect to sandbox while you are in production
environment. Contribution from Divesh& Pranay - Thanks Guys.
Modified:
ofbiz/trunk/applications/order/src/org/ofbiz/order/thirdparty/paypal/ExpressCheckoutEvents.java
Modified:
ofbiz/trunk/applications/order/src/org/ofbiz/order/thirdparty/paypal/ExpressCheckoutEvents.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/thirdparty/paypal/ExpressCheckoutEvents.java?rev=949465&r1=949464&r2=949465&view=diff
==============================================================================
---
ofbiz/trunk/applications/order/src/org/ofbiz/order/thirdparty/paypal/ExpressCheckoutEvents.java
(original)
+++
ofbiz/trunk/applications/order/src/org/ofbiz/order/thirdparty/paypal/ExpressCheckoutEvents.java
Sun May 30 03:25:35 2010
@@ -81,13 +81,37 @@ 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);
+ }
+ }
+ if (payPalGatewayConfig == null) {
+ request.setAttribute("_EVENT_MESSAGE_", "Couldn't retrieve a
PaymentGatewayConfigPayPal record for Express Checkout, cannot continue.");
+ return "error";
+ }
+ StringBuilder redirectUrl = new
StringBuilder(payPalGatewayConfig.getString("redirectUrl"));
redirectUrl.append("?cmd=_express-checkout&token=");
redirectUrl.append(token);
try {