We’re pleased to release BETA 1 of our modified version of the PrestaShop Paypal Payment module that will hopefully address a few more of the shortcomings of the original 1.0.0.8 version.
This latest version provides tighter integration with IPN notifications, and supports all the current message combinations for both instant and eCheck payments. Refunds and cancellations are also supported, although only as far as this functionality is supported by PrestaShop itself.
Each IPN event is logged against the order in the Back Office allowing an audit trail for each transaction, including paypal transaction IDs. The following screenshot shows a typical purchase which is subsequently refunded via the seller’s account in paypal.

Due to the additional functionality introduced in this module (including a “pending” message for incomplete transactions) the previous version of the PayPal payment module must be uninstalled prior to the installation of this new version.
November Update: A new version has been released which fixes an issue with the PayPal payment URL, please update now.
Please feel free to download and test this module, user feedback is most welcome, and will be invaluable! Note that this is a BETA version and it is strongly recommended that this module is not used in a production environment.
Comments
57 responses to “BETA Version 2 Paypal Module for PrestaShop”
Hi Prestashop back office orders status drop down box is filled in two days with 42,000 ‘Authorization accepted from Paypal’ is there a bug fix for Paypal V2, thanks Nigel
Hello i use your PP payment module and i have problem with products with attributes.
If i add for example 3 sizes with price impact 0, customer buy any of sizes, price in his cart looks ok but when he is redirected to paypal, the price is multipled 3times. Price is always multipled by amount of attributes. Can you give me an advice how to prevent it? Thank you.
This works great if you are only selling physical products, however I sell a lot of e-books. I tried this multiple times, for some reason it does not generate the ‘Virtual product to download’ email that typically accompanies a downloadable product purchase.
will it work with 1.2.5?
Hello i find a bug in this version or it´s a prestashop bug.
When costumer chose paypal payment but he are from a group discount , discount are aplicated to paypal , and e-mail that costumer recieve order total it´s correct, but e-mail that came to store owner , don´t have discount aplicated.
Ex: Email that go to costumer payment 20€ discount -10€ custumer total pay 10€
owner Store e-mail Payment 20€ discount -10€ Costumer total pay 20€
But total in cart and paypal it´s correct it´s only a e-mail problem.
I have some problems with this package…
I’m uninstalling the paypal 1.6 from the back office, deleted the files from the modules/paypal directory.
Copied the ‘Paypal v2.0 beta 2’ files to that same modules/paypal directory.
Refreshed the view in the back office, which changed the ‘paypal 1.6’ to ‘PayPal v2.0’
configured the settings: Inserted the sandbox email address (business account), set up sandbox:yes, currency use prestashop currency. -> update settings -> done.
then back to the front office, selected a product, check out, chose paypal which is the only option to pay.
and nothing happens..
The page payment.php opens, but totally empty.. I can wait for 5min but nothing happens, everything just stops.
I got the http 500 error earlier because of the rights to that particular file. but after setting those to 777, this happens.
Any help in this matter would be greatly appreciated.
/Wras
Hi
I was wondering if there is a way to deal with people that don’t go through with the order on paypal thus leaving you with an awaiting paypal payment order on the store.
Is there a way to only have the order validated upon return to the store after payment completion?
Thank you for your reply and Happy New Year!
I’ve started looking at just this issue a per my post on revisiting the paypal beta. Unfortunately the only way to get PayPal to work is to have that order created, but I’m now looking at ways to handle just the very situation you’re concerne about. No promises, but hopefully we can come up with some strategy!
Love the module and it’s working great, however I’ve discovered one problem: vouchers.
As soon as I head off from my shop to PayPal to process payment, a voucher I have applied (a one time only voucher per customer) is marked as used. So, if I change my mind and decide not to go through with the order, there is no way to get my voucher back at a later date without deleting a row in the db or adding another voucher.
Hello,
I installed the module, and i am getting some problems.
When i uninstalled and installed the bete 2 version.
I didnt like it because it didnt have logo.
So i went and uninstalled it and got my old paypal back
and it wont fully uninstall the paypal beta
when you go to checkout. instead of “checkout with paypal”
i get “You will now be redirected to paypal to complete payment.
Should your browser not automatically redirect you, then please
click the Continue button below.”
thats before i even leave my shop to go to paypal checkout///
Someone please help, my site is live and loosing lots of customers.!!!!!
Can you please tell me what the difference is between the paypal 1.6 and this paypal 2 beta module ?
Does the new module allow Paypal refunds from the backoffice ? As i cant get 1.6 to issue a refund to paypal…
I wonder if Paypal 2.1 Beta linked here (http://www.prestashop.com/forums/viewthread/17934/) is newer than the versions Paypal v2.0 beta 1 and Paypal v2.0 beta 2 in this above post. Thank you.
In PrestaShop 1.2.5 I am still getting “Hack attempt (OrderHistory -> id_order_state is empty)”. Could you please give me any hint on how to modify your code in order to make it work?
I have no “custom order states” and I can reinstall prestashop if needed.
Thank you very much.
chirameto, could you please elaborate on the steps you followed to install it ? Thanks
I tried both 2.0beta and 2.1beta. They are working nicely with prestashop 1.2.4. Thank you.
Some issue still left during my test:
– Currency restriction.
– Customer cannot change their mind in PayPal page.
I answer myself. When I tried to use this module with PS 1.2.2, I get a beautiful “Hack attempt (OrderHistory -> id_order_state is empty)” when I pay, just before being redirected to paypal.
Yes I suspected there would be problems in 1.2.2 (and indeed likely in 1.2.1 although I haven’t as yet tried either version with it myself). The 1.2 upgrade overwrites any custom order states that may have been created prior to the upgrade too – which isn’t very friendly. There was always a chance it would work if installed again AFTER an upgrade though. Sadly the changes that are made between versions aren’t documented – but then the original code wasn’t documented either 😉
Does this module still have sense with newer PS versions? I’m using PS 1.2.2 that comes with Paypal module 1.6.
Hi – I installed both the beta 2 version Paypal module and the newer paypal direct – both throw 500 Internal Server Errors and a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
What do I need to change on the server end to get this to work?
Thanks!
(I’m posting this again, because it’s a newer post of yours – maybe you wont see my other message on the older post. Sorry for that.)
Hey, I have a question (could you reply to my email?)
I’m somewhat new to PrestaShop, and am making a site in Latvian. I noticed that if a customer selects to pay with PayPal from my Latvian site – they’re redirected to a French PayPal site. For customers, this is even worse than English 😛
Is there a way to translate this target page (hosted on http://www.paypal.com) into Latvian?
Or, can I avoid this page somehow and just have everything happen inside my PrestaShop?
I just want my customers to be able to pay in Latvian… (with VISA/MasterCard), maybe without needing to make a PayPal account…
Can your module do this?
Anyway, I can help translate it into Latvian – I’m fluent 🙂
Thanks very much!
I hope to hear from you!
Thanks,
Janis
Hi Paul,
I hope all is well there.
…this thread dries up a bit… and it made me wonder if there is now a working solution for paypal with prestashop.
Is there an entry I have missed? 🙂
m
Hi All,
For the user of the Paypal module version 2.0 beta, i have make some bug correction and french language update.
This new version is the Paypal module version 2.1 beta and it works perfectly !
– Bug fix : Now the user get a email “ Payment accepted” after PayPal validation – French translation for the payment interface – French translation for the paypal page link
You can find the Paypal version 2.1 beta in the prestashop forum topic
http://www.prestashop.com/forums/viewthread/17934/modules/paypal_2_dot_1_beta_module
@Jimmy : The latest download version should work fine. Are you sure this is the version you’re using and it was downloaded from this site?
@Lukas and pybonte: The theory is that when someone clicks to go to PayPal they have made a commitment to buy, and an email is sent to them confirming this (they have in fact placed the order, it’s just that they haven’t paid for it!).
If it was me, and someone doesn’t complete the PayPal section, then I would email them to try and find what the problem is and assist them in completing the purchase 😉
In the next version (planned, but not yet written I’m afraid) I intend to use the PDT (Payment Data Transfer) option to pass the purchase details back to the return confirmation page on the site and generate the order at this point. The standard return url doesn’t post the correct information, so unfortunately there’s no way to match the order to the returning customer without using PDT.
It’ll get there eventually! Unfortunately I don’t believe that you can disable the initial order email (it’s created by the validateOrder member function in the base class) but you CAN edit the wording of this email so it makes more sense to your payment flow.
Hi, I just want to know if it’s possible to send the emails after the reports back from Paypal, because at that time, when the customer click on “Pay by Paypal”, the order confirmation email is sended so that if he chooses not to pay, the mail is useless.
Thanks in advance
Hi, would it not be possible to use the return URL of paypal to redirect the user to a page which then creates the temporary order “Awaiting PayPal”?
Cheers
I have the same problem as nr 7:
John Says:
November 21st, 2008 at 10:12 am
The module doesnt seem to working properly as when the customer purchases an item and is transferred to paypal, they are taken to the business login page and not a customer payment login page.
What to do?
It works, but it’s still just a fudge until the payment flow for asynchronous payment modules is sorted out officially. The main problem is that the cart will wait (and if there’s a problem this will be forever) until the validation.php script is invoked. Until it is, then the customers cart will remain “full” and the order won’t appear in their order history. The main point to this module (apart from the enhanced information it reports back from PayPal) is to pre-create the order before leaving your store.
The disadvantage is that the customer order is created before they have paid, so if they choose not to, then it will remain sitting at “Awaiting PayPal” and there’s no way for them to complete it…..
These modules are written and maintained in my “spare time” and sadly I haven’t had a lot of that recently, so work has pretty much stopped on this for now!
Hi Paul
Is this close to being safe to use on live sites yet?
thanks
i have resloved it. it’s the premissions of files and folders that cause that problem.I use the Lunarpages’s host.and change the public_html’s modules and paypal folders into right peemissions.so it work in the right way.
hi,I met the same problem as John,couldn’t get to Paypal,just getting the same error 500.And I browse the validation.php both version 1.4 and 2.0 of this moudle,still getting the error 500,even I had change the premission of validation.php from 755 to 777.
Could you give us the details of setting permissions ?
Thanks in advance.
I am also getting message “Awaiting Paypal Payment”. I wonder what file permissions I should have, 777?
I am using PayPal v2.0 with PrestaShop Version 1.1.0.5 – 1.194s. Product costs 19USD. Default currency of the site is USD but I also have Euros and Pounds in use. All required configuration steps in PayPal have been completed, such as Auto Return : Off, Payment Data Transfer: Off. Configuration page says “Currency: Use customer currency”. USD, Euros and Pounds have also been configured on PayPal side.
fsockopen has been enabled, I used one PHP file to run test and it returned message that it is in use.
I am not using HTTPS on the site and SSL certificate has not been installed on the server.
Error log says “[07-Mar-2009 02:54:03] PHP Warning: fsockopen() [function.fsockopen]: unable to connect to ssl://www.paypal.com:443 (Unable to find the socket transport "ssl" – did you forget to enable it when you configured PHP?) in /home/wwwpowe/public_html/modules/paypal/validation.php on line 52
[07-Mar-2009 03:12:09] PHP Warning: fsockopen() [function.fsockopen]: unable to connect to ssl://www.paypal.com:443 (Unable to find the socket transport "ssl" – did you forget to enable it when you configured PHP?) in /home/wwwpowe/public_html/modules/paypal/validation.php on line 52
[07-Mar-2009 04:17:29] PHP Warning: fsockopen() [function.fsockopen]: unable to connect to ssl://www.paypal.com:443 (Unable to find the socket transport "ssl" – did you forget to enable it when you configured PHP?) in /home/wwwpowe/public_html/modules/paypal/validation.php on line 52″
I have not added new currencies after installing PayPal v2.0 module (this has been one of the issues earlier, I guess).
PayPal Instant Payment Notification (IPN) URL is http://www.powerpointtemplatesource.com/modules/paypal/validation.php. PayPal Instant Payment Notification (IPN) is “on”. PayPal auto return is “Off”, PayPal Payment Data Transfer is “off”.
What else should I say here…hope this helps to find the problem.
Thanks for anyone who can help.
With the Paypal module that comes w/ Prestashop 1.1 I was not receiving e-mail’s when a purchase was made. Now with this module I AM getting the e-mails, but I’m getting them even before I hit “Pay Now” on the Paypal website. Is anyone else experiencing this problem? Does anyone know how to fix this problem?
I tried every thing, i still get “Awaiting Paypal Payment” and i got PS v1.1 and Paypal v2.0 Beta 2. Iam Stuck Please Help..huff..
I tried using Pauls v2 but cant get that to work either. I have a feeling that there is a major bug in the svn i downloaded that is stopping payment from going through as I now cant get nochex to work either.
I quit old version and copy your V2 into modules directory
Hi Paul,
I updated my site to the newest SVN version, which is 1.2.0.1, the bundled paypal module doesnt work, as it doesnt return the order details back to the admin.
But I also cant get your v2 version to work either, just gives a server 500 error.
Any Ideas?
Hi, how do you install this?
Sorry for sounding dumb but thanks for your help.
Dear friend.
Thanks to make a new paypal module for prestashop.
I use prestashop 1.1.0.5 and when I used paypal module v1.4 I always received Payment error
Now with your version I recived Awaiting Paypal Payment
Do you know where is the problem?
Thanks.
Have changed my php.ini and it is solved now.
Yes it is the latest build 1.1.0.5
Haven’t seen that error, what version are you using? Is it 1.1.0.5?
Okay thanks for the repley,
sorry to bother you again 😉
When i try to pay with paypal i see briefly a page with the following error:
Notice: Trying to get property of non-object in /var/www/html/classes/Product.php on line 1669
Notice: Trying to get property of non-object in /var/www/html/classes/Product.php on line 1669
Notice: Trying to get property of non-object in /var/www/html/classes/Product.php on line 1669
You will now be redirected to paypal to complete payment.
Should your browser not automatically redirect you, then please
click the Continue button below.
Do you have any idea?
There’s no need to specify one, it will be sent with the rest of the payment details.
Have fun.
Hi,
I want to test the paypal module but which url must i fill in to return to my website?
I saw that the return url must not be used is this correct?? or am i wrong?
Hope to hear from you
Martin
thank you.
I will give it a try later on.
The v2.0beta2 should work fine with 1.1 Beta 3 (boy that’s getting confusing now!) although it wasn’t specifically designed for it – there are a few new facilities which have not yet been added mainly concerning the settings for country and currency filtering on the payment tab in the back office. It should work without them though.
I wouldn’t really recommend using this module unless you are having specific problems receiving payments with the standard version.
The standard paypal module in 1.1 is our “improved” version also available on this site, so the only optional one from 1.1 onwards is this one.
hello
which version is compatible with Prestashop Beta 3 ?
Cheers Paul, works fine now.
I think I can see what the problem was, and have added a new download version which should fix this.
The module doesnt seem to working properly as when the customer purchases an item and is transferred to paypal, they are taken to the business login page and not a customer payment login page.
We have been having quite a few transactions not finalised due to this problem.
I haven’t tested it exhaustively with the 1.1 beta but there’s no reason why it shouldn’t work! The PayPal module used in the 1.1 version is based almost entirely on my “fixed” version that’s also available on this site, and includes the code for cURL as well as the traditional fopen method. It also includes the “fix” for the call-back url for IPN.
The main advantage of this version is the immediate creation of an order (without having to worry about IPN delays) and improved progress messages in the Back Office.
How much does this differ from the new paypal module that is bundled with the new prestashop version and would it be compatible with the new version.
I like the setup I have at the moment so will probabaly overwrite the new paypal module with this one if it works.
I agree, however it’s not that easy to do, and get it to fit in with the current PrestaShop architecture. I need to revisit this issue, as you’re quite correct in what you’re saying – there’s no check to confirm that what was actually paid via PayPal matches what should have been paid. A slight flaw if you’re not matching orders against the PayPal payment emails.
In the original code the value paid was passed to the Back Office at order creation, however since we’re pre-creating the order (with the amount we expect to get paid) we can’t use that route. I may have missed the code required to do this after-the-fact, but so far I’ve found no way around this compromise.
I’m hoping that the core code changes in version 1.1 will address some of the issues I have with this part of the core code. I know that refunds in particular are being completely rewritten in 1.1, so hopefully there will be a bit more functionality to support payment reconciliation coming along with those changes. If not, then I’ll need to work a bit harder to solve this.
Thanks for your feedback!
How do you address the returned amount? I can’t find that in the code, if the order is saved, the payed amount should be 0 when “PENDING” is set on order status, and then the “mc_gross” that is returned from paypal and many other payment gateways needs to be added to the order aswell, maybe you have that already in your module but I just couldn’t find it, i’m too tired right now 🙂
please feel free to answer by email 🙂
Looks to be a problem with the permissions on the file payment.php in the module directory. The permissions (and issues) with this file are the same as for validation.php.
Couldnt even get to paypal, keep getting error message, on both sandbox and live. Do we have to change any permissions on the files or folders?
/prestashop/modules/paypal/payment.php http://www.purplegiraffe.co.uk/prestashop/order.php http://www.purplegiraffe.co.uk Mozilla/4.0 (compatible; MSIE 7.0; AOL 9.0; Windows NT 5.1; SU 3.011; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648) 500