[ http://issues.apache.org/jira/browse/OFBIZ-295?page=all ]

Si Chen closed OFBIZ-295.
-------------------------

    Resolution: Fixed

This is  a duplicate of another issue I created: OFBIZ-459.  The solution is 
actually very simple.

> Unable to refund order if payment preference is 
> offline(cash/COD/paypal/worldpay)
> ---------------------------------------------------------------------------------
>
>                 Key: OFBIZ-295
>                 URL: http://issues.apache.org/jira/browse/OFBIZ-295
>             Project: OFBiz (The Open for Business Project)
>          Issue Type: Bug
>          Components: order
>    Affects Versions: SVN trunk
>            Reporter: Marco Risaliti
>
> It's a copy of the old-jira issue 
> http://jira.undersunconsulting.com/browse/OFBIZ-741 from Jinsong Mu.
> ===========================================================
> if we set order one of payment methods 
> Mail Check/Money Order 
> COD 
> Pay With WorldPay 
> Pay With PayPal 
> and then refund the order. we will the such error: 
>     * ERROR: Could not complete the Create Quick Return From Order 
> [file:/home/si/eclipse/workspace/ofbiz/applications/order/script/org/ofbiz/order/order/OrderReturnServices.xml#quickReturnFromOrder]
>  process [problem invoking the [updateReturnHeader] service with the map 
> named [updateHeaderCtx] containing [[needsInventoryReceive=Y, 
> statusId=RETURN_ACCEPTED, returnId=10022, 
> userLogin=[GenericEntity:UserLogin][createdStamp,2006-02-14 
> 11:54:59.214(java.sql.Timestamp)][createdTxStamp,2006-02-14 
> 11:54:58.146(java.sql.Timestamp)][currentPassword,47ca69ebb4bdc9ae0adec130880165d2cc05db1a(java.lang.String)][disabledDateTime,null()][enabled,null()][hasLoggedOut,null()][isSystem,null()][lastCurrencyUom,null()][lastLocale,null()][lastUpdatedStamp,2006-02-14
>  11:55:01.349(java.sql.Timestamp)][lastUpdatedTxStamp,2006-02-14 
> 11:54:59.562(java.sql.Timestamp)][partyId,admin(java.lang.String)][passwordHint,null()][successiveFailedLogins,null()][userLoginId,admin(java.lang.String)],
>  locale=en_US]]: Problems with the transaction: The current transaction is 
> marked for rollback, not beginning a new transaction and aborting current 
> operation; the rollbackOnly was caused by: Service Error 
> [processRefundReturn]: Unable to refund order #WS10021; there are no 
> available payment preferences.; See logs for more detail] 
> refund works if we select Credit Card or EFT Account 
>  
>  
>  All    Comments    Work Log    Change History       Sort Order:   
> Comment by Si Chen [16/Feb/06 11:32 AM] [ Permlink ] 
> This can probably be fixed by changing processRefund_ service to create a new 
> Payment to recipient from company if no payment preference is found instead 
> of just crashing. 
> Comment by Jacques Le Roux [17/Mar/06 03:47 AM] [ Permlink ] 
> In will have a look at this in 2 weeks from now. I need it for POS... 
> Jacques 
> Comment by Jacques Le Roux [22/Apr/06 03:00 AM] [ Permlink ] 
> Hi All, 
> I'm going to work on this 
> Jacques 
> Comment by Si Chen [22/Apr/06 10:27 AM] [ Permlink ] 
> Jacques, 
> There are two parts to the problem, and perhaps they are related. One is that 
> the receive offline payments feature in the order manager should be creating 
> Payment records. Two is that when refunding, it should be creating a reverse 
> Payment based on the initial Payment. I'm not sure if the former would apply 
> to your use in the POS, but please let me know. 
> Si 
> Comment by Jacques Le Roux [22/Apr/06 10:44 AM] [ Permlink ] 
> Si, 
> As far as I know, if I create A CASH payment method for _NA_ 
> (paymentMethodId=10030) and change the statusId from PAYMENT_RECEVEID to 
> PAYMENT_SETTLED of an OrderPaymentPreference issued from a POS order 
> purchase, it seems to work. I'm not sure yet of what (or if) it involves 
> more. 
> Any idea ? 
> Jacques 
> Comment by Si Chen [22/Apr/06 04:24 PM] [ Permlink ] 
> Jacques, 
> Sorry I don't completely understand what you mean. Did you create a CASH 
> payment? How? With receive offline payment or by changing the POS 
> application? 
> This may be just that simple, but please explain a bit more. 
> Si 
> Comment by Jacques Le Roux [22/Apr/06 06:17 PM] [ Permlink ] 
> Si, 
> I made a purchase in CASH with the POS and after made modifications with 
> WebTools/Entity maintenance. 
> It was a way to understand the problem and that seems to work. Now I have to 
> change some code I think. 
> Jacques 
> Comment by Si Chen [22/Apr/06 06:37 PM] [ Permlink ] 
> Oh that's great. SO it was just the wrong status being set. In that case, 
> maybe we should just call updatePayment and change its status to SETTLED? Or 
> should we wait until the POS closes out at the end of the day to settle it 
> officially? (Actually, is that being done already, if you do end of day 
> balance?) 
> Comment by Jacques Le Roux [23/Apr/06 09:00 AM] [ Permlink ] 
> Si, 
> I think that calling updatePayment and changing the status to SETTLED is OK. 
> I was also looking the other way but there is a problem at the moment when 
> closing the POS (using CLose button in Manager Panel). I will take a look at 
> this. It was working before and nothing have been change in POS code, so I'm 
> expecting something outside but have no idea. I make a new POS issue for it. 
> Thanks 
> Jacques 
> Comment by Jacques Le Roux [23/Apr/06 09:00 AM] [ Permlink ] 
> Si, 
> Will you please take care of the part outside of POS ? 
> Thanks 
> Jacques 
> Comment by Si Chen [23/Apr/06 11:20 AM] [ Permlink ] 
> Jacques, 
> I wonder if it would be better as a business process to make payments SETTLED 
> when the register is closed rather than just received? Of course, you're more 
> familiar with the POS application, so I'd trust your judgement. 
> I will take a look at the return code, but it will probably be in about a 
> week or so - I'll be out of the office starting tomorrow. 
> Si 
> Comment by Jacques Le Roux [24/Apr/06 12:21 PM] [ Permlink ] 
> Si, 
> It's not POS specific. If you use CC in POS, and not CASH for example, you 
> don't have any problem. So I think, to be consistent, 
> that we have to apply the SETTLED status ASA the deal is done, in ecommerce, 
> POS or whatever else sale channel... 
> So I'll take a look at processRefund_ service ASAP. 
> Any objection ? 
> Jacques 
> Comment by Si Chen [24/Apr/06 03:33 PM] [ Permlink ] 
> Yes, that makes sense then. If you have some time, please help. I will not be 
> able to look at it until next week. I think the idea might be to look at the 
> original OrderPaymentPreference and then create one of the same 
> paymentMethodTypeId, paymentTypeId="CUSTOMER_REFUND", etc. 
> Comment by Si Chen [25/Apr/06 11:15 AM] [ Permlink ] 
> Actually, Jacques, I just realized something: 
> If you ring up a sale with a credit card, it is automatically charged and 
> settled. The cashier does not need to do anything else to put that cash into 
> the store. If you ring up a sale with cash, though, the cash is put into the 
> drawer of the POS terminal, and it only goes into the store when the cashier 
> "closes out" his drawer by bringing it to the manager. So the process with 
> cash/check and credit cards is a bit different, and perhaps that means that 
> they should be settled at different times (during closing the POS machine vs. 
> as soon as captured.) 
> What do you think? 
> Si 
> Comment by Jacques Le Roux [25/Apr/06 12:52 PM] [ Permlink ] 
> Si, 
> Yes indeed, you are totaly right. 
> So something has to be done at least in POS because nothing like that happen 
> nowadays. 
> I will try to take a look tomorrow at the other part too 
> (COD/paypal/worldpay, etc.) 
> Jacques 
> Comment by Marco Risaliti [13/Sep/06 01:51 AM] [ Permlink ] 
> Hi Jacques, 
> can you tell us if we can close it ? 
> Thanks 
> Marco 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to