Small flub,
I meant to say "transaction type" (txn_type) contains the value "web_accept",
not "transaction id" in the last couple of postings.
Small flub,
I meant to say "transaction type" (txn_type) contains the value "web_accept",
not "transaction id" in the last couple of postings.
I found one minor issue, if the customer does not return from paypal (auto or othewise), the order is confirmed, however the cart is not reset.
actually, ipn_main_handler() tries to reset it via the _SESSION variable, but I suspect this fails because its actually a new session initiated by paypal server, not by the customer's browser.
the only workaround i see right now is to set a flag in the database that can be checked when the customer returns to store. not sure if its worth doing at this point, because for practical scenario, if the customer hasnt returned via auto/optional return from paypal, by the time he does return, the cart may well have expired anyways.
however, i am concerned about the fact that IPN transactions are not being recorded as they are sent from paypal prior to processing.
I believe this should be a requirement from a mission critical point of view.
Currently, in normal operation, the debugging is turned off and the paypal/logs directory may not have write permission for the web process userid (apache) to allow writing of the incoming data. As in the case of "web_accept" if the script cant recognize the transaction or aborts otherwise, there is little evidence that paypal actually sent the IPN to zencart.
The result is that paypal gets blamed for not sending the IPN when in reality it has.
The other dire scenario is if there a fraudualent IPN transaction is sent, little evidence is available.
So the next set of proposed modifications to the ipn handler is to write out the IPN data as an xml file prior to processing. This will allow for manual review and better yet, automated reconciling of IPN transactions in the future.
attached is 2nd mod to update order when paypal sends a "web_accept" IPN.
This mod resets the cart when/if the customer returns to zencart and redirects to checkout_sucess page.
Last edited by ivanixdev; 10 Jun 2008 at 03:45 PM.
I have just recieved a payment with no order. So I made a test order using a different paypal account, was directed back to my site, but still no order inf. rec on my admin.
Most of my customers use direct ccard payment, thank goodness, but i have had several ppal transactions in the past, so i must be set up ok
Trappersam
After an hour of looking through logs trying to troubleshoot the Direct Payment Error (discussed in http://www.zen-cart.com/forum/showthread.php?t=85903), it looks like this is the cause of that error as well. After turning on all possible logging, the "web_accept" payment type is clearly showing up in the IPN log. Thanks to ivanixdev for the patch. Has anyone tested it? I'm not quite brave enough to just push it up to my production site. Otherwise, does anyone know how to get the PayPal sandbox to issue a "web_accept" rather than a "cart" order? I'd be happy to help test.
i got the same problem, anyone found a soluton?
I am having this issue in 2 of my web clients carts at the moment. Both are in 1.37 however.
Would it not be feasible as a solution to the problem to do like other carts have started doing and have zencart create a "pending order" to be sent to admin upon starting the confirm to checkout once they enter at paypal... This at the very least allows the admin to know there is a pending order without it ever getting to paypal, and at the same time if they don't receive the confirm of payment, then they can check there paypal accounts or have the paypal receipt to know there was a payment that went thru. Thus allowing downloadable sites to go in and set the download so customer can retreive there orders and cart still has a process of the order which could then be changed to confirmed or completed.
I think this would easily get around the issues paypal has with ipn and such and allows the business owner to save face, because they can resolve the issue quickly and easily before a customer gets upset. Yes they'd still have to write customer, but the cart could send that "completed" notification with a download url after login.
Just my thoughts here,
Hi there
I would like to support Seamstobesew idea. What a simple but yet excellent solution to support us shop owners.
How would you go about setting that up? Is it in the admin : Configuration area?
Hi there
The core code will have to be changed by the developers