Yes, BJ is not possible that PayPal forward their notification/return/cancel to localhost but they need a public site address url and in the past was possible also an ip address but I have tested same day ago and it was not more possible.
So I decide that the default can be the demo site of OFBiz hosted by HotWaxMedia. You can change it and commit it's not a big problem but remember also that it can be overridden from the buyer PayPal configuration. In any case if you want to test the patch you can do it on www.ofbiz.it connecting using your buyer paypal user. I have configured the paypal merchant on the server. Thanks Marco ------ is this correct to use the demo for a return address. should it not be just localhost till the person configures it? Should not the gateways be in a sandbox configurations? [EMAIL PROTECTED] sent the following on 12/14/2007 1:57 PM: Author: mrisaliti Date: Fri Dec 14 13:57:29 2007 New Revision: 604311 URL: http://svn.apache.org/viewvc?rev=604311&view=rev Log: Applied fix from trunk for revision: 604030 Modified: ofbiz/branches/release4.0/applications/accounting/config/payment.properties ofbiz/branches/release4.0/applications/accounting/src/org/ofbiz/accounting/thirdparty/paypal/PayPalEvents.java Modified: ofbiz/branches/release4.0/applications/accounting/config/payment.properties URL: http://svn.apache.org/viewvc/ofbiz/branches/release4.0/applications/accounting/config/payment.properties?rev=604311&r1=604310&r2=604311&view=diff ============================================================================== --- ofbiz/branches/release4.0/applications/accounting/config/payment.properties (original) +++ ofbiz/branches/release4.0/applications/accounting/config/payment.properties Fri Dec 14 13:57:29 2007 @@ -239,25 +239,29 @@ [EMAIL PROTECTED] # PayPal Notify URL -payment.paypal.notify=http://www.ofbiz.org:8080/ecommerce/control/payPalNotify +payment.paypal.notify=http://demo.hotwaxmedia.com/ecommerce/control/payPalNotify # PayPal Return URL -payment.paypal.return=http://www.ofbiz.org:8080/ecommerce/control/orderhistory +payment.paypal.return=http://demo.hotwaxmedia.com/ecommerce/control/orderhistory # PayPal Return On Cancel URL -payment.paypal.cancelReturn=http://www.ofbiz.org:8080/ecommerce/control/payPalCancel/main +payment.paypal.cancelReturn=http://demo.hotwaxmedia.com/ecommerce/control/payPalCancel/main # Image To Use On PayPal -payment.paypal.image=http://www.ofbiz:org:8080/images/ofb_logo.gif +payment.paypal.image=http://demo.hotwaxmedia.com/images/ofbiz_logo.jpg # Thank-You / Confirm Order Template (rendered via Freemarker) payment.paypal.confirmTemplate=/order/emailconfirmation.ftl -# PayPal Redirect URL -payment.paypal.redirect=https://www.paypal.com/cgi-bin/webscr - -# PayPal Confirm URL (JSSE must be configured to use SSL) -payment.paypal.confirm=http://www.paypal.com/cgi-bin/webscr +# Production PayPal Redirect URL +#payment.paypal.redirect=https://www.paypal.com/cgi-bin/webscr +# Sandbox PayPal Redirect URL +payment.paypal.redirect=https://www.sandbox.paypal.com/us/cgi-bin/webscr + +# Production PayPal Confirm URL (JSSE must be configured to use SSL) +#payment.paypal.confirm=http://www.paypal.com/cgi-bin/webscr +# Sandbox PayPal Confirm URL (JSSE must be configured to use SSL) +payment.paypal.confirm=https://www.sandbox.paypal.com/us/cgi-bin/webscr ############################################ # PCCharge Configuration Modified: ofbiz/branches/release4.0/applications/accounting/src/org/ofbiz/accounting/thirdparty/paypal/PayPalEvents.java URL: http://svn.apache.org/viewvc/ofbiz/branches/release4.0/applications/accounting/src/org/ofbiz/accounting/thirdparty/paypal/PayPalEvents.java?rev=604311&r1=604310&r2=604311&view=diff ============================================================================== --- ofbiz/branches/release4.0/applications/accounting/src/org/ofbiz/accounting/thirdparty/paypal/PayPalEvents.java (original) +++ ofbiz/branches/release4.0/applications/accounting/src/org/ofbiz/accounting/thirdparty/paypal/PayPalEvents.java Fri Dec 14 13:57:29 2007 @@ -186,7 +186,11 @@ // get the confirm URL String confirmUrl = UtilProperties.getPropertyValue(configString, "payment.paypal.confirm"); - if (confirmUrl == null) { + + // get the redirect URL + String redirectUrl = UtilProperties.getPropertyValue(configString, "payment.paypal.redirect"); + + if (confirmUrl == null || redirectUrl == null) { Debug.logError("Payment properties is not configured properly, no confirm URL defined!", module); request.setAttribute("_ERROR_MESSAGE_", "PayPal has not been configured, please contact customer service."); return "error"; @@ -201,7 +205,7 @@ try { String str = UtilHttp.urlEncodeArgs(parametersMap); - URL u = new URL("http://www.paypal.com/cgi-bin/webscr"); + URL u = new URL(redirectUrl); URLConnection uc = u.openConnection(); uc.setDoOutput(true); uc.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); @@ -279,7 +283,7 @@ String paymentStatus = request.getParameter("payment_status"); // attempt to start a transaction - boolean okay = false; + boolean okay = true; boolean beganTransaction = false; try { beganTransaction = TransactionUtil.begin(); @@ -424,6 +428,8 @@ paymentPreference.set("maxAmount", new Double(paymentAmount)); if (paymentStatus.equals("Completed")) { paymentPreference.set("statusId", "PAYMENT_RECEIVED"); + } else if (paymentStatus.equals("Pending")) { + paymentPreference.set("statusId", "PAYMENT_NOT_RECEIVED"); } else { paymentPreference.set("statusId", "PAYMENT_CANCELLED"); } @@ -450,6 +456,13 @@ response.set("transactionDate", authDate); toStore.add(response); + try { + delegator.storeAll(toStore); + } catch (GenericEntityException e) { + Debug.logError(e, "Cannot set payment preference/payment info", module); + return false; + } + // create a payment record too Map results = null; try { @@ -467,12 +480,6 @@ return false; } - try { - delegator.storeAll(toStore); - } catch (GenericEntityException e) { - Debug.logError(e, "Cannot set payment preference/payment info", module); - return false; - } return true; }
