Post by Qphoria » Sun Dec 28, 2008 11:37 am

New Paypal Extension v079.1

What is this?
=============
This is finally a proper fix for the core paypal module. This module will be included with the final version of 0.7.9. This version finally uses the proper methods, as defined by the Paypal Developer Forum, of payment processing to best ensure successful payment & order processing.


What's different?
=================
One main problem with the old version was the return click was designed to process the order and IPN was designed to update the order only. But since IPN occured before the return click, there was never an order to update. Now there is a "belt & suspenders" design in place where both the return click AND the IPN callback will both process the order if needed, and update it based on the validation steps. In testing the new version, both IPN and the return executed 100% of the time. This should remove the worry of lost orders.


Installation
============
1. Upload all files, overwriting any existing files.
2. Goto Extensions->Payment->Paypal and reconfigure the Paypal Payment extension
3. Log into your PayPal account
4. Click on 'Profile'
5. Click on 'Website Payment Preferences'
6. Enable Auto Return
7. Set the Auto Return url to your site's callback page: https://my_store/index.php?controller=checkout_process&payment=paypal&method=return&action=callback
8. Enable Payment Data Transfer
9. Click Save
10. On the next screen, Copy and Paste the 'Identity Token' from PayPal into the 'PDT Token' field above.


New Features
============
- PDT/Autoreturn working 100% on the front end (with validation security steps)
- IPN working 100% on the back end
- New security validation using custom fields and paypal handshakes
- New admin config option for displaying itemized cart list on Paypal's site.
- New admin config option for declaring PDT token. This is optional, but helps properly validate the order on the return side.
- New admin config option for choosing authorize only or instant sale
- New admin config option for enabling debug information to write to file for troubleshooting ipn messaging.
- New admin config information about how to set up your paypal account to work with the paypal module
- Allows setting the "final order state" to something other than "Pending", based on the value in the language file.
This will be included with RC6 and Final assuming all goes well. But I'm pretty confident this is the paypal module we've all been waiting for.

For now, I've released it as a contrib. This contrib "might" work with older 0.7.x versions with some minor changes (i.e. gethtml -> get, etc)

Please let me know if there are any problems found.
Last edited by Qphoria on Wed Jan 07, 2009 8:56 pm, edited 1 time in total.

Image


User avatar
Administrator

Posts

Joined
Tue Jul 22, 2008 3:02 am

Post by Qphoria » Tue Dec 30, 2008 10:18 am

Nobody tried it yet? cmon? you guys can't be running successful paypal stores without this contrib.
Last edited by Qphoria on Wed Dec 31, 2008 1:11 am, edited 1 time in total.

Image


User avatar
Administrator

Posts

Joined
Tue Jul 22, 2008 3:02 am

User avatar
Guru Member

Posts

Joined
Wed Dec 05, 2007 3:38 am


Post by allyfw » Sat Jan 03, 2009 10:33 am

So, I need to upload the Admin, Catalog, and library directory to the roof of my store and replace the existing Admin, Catalog, and library directory?

Newbie

Posts

Joined
Tue Nov 18, 2008 5:02 pm

Post by Qphoria » Sat Jan 03, 2009 10:36 am

Yes. More info on how file/folder copying works here
Last edited by Qphoria on Sat Jan 03, 2009 10:56 am, edited 1 time in total.

Image


User avatar
Administrator

Posts

Joined
Tue Jul 22, 2008 3:02 am

Post by Qphoria » Mon Jan 05, 2009 9:55 am

Any feedback yet?

Image


User avatar
Administrator

Posts

Joined
Tue Jul 22, 2008 3:02 am

Post by Qphoria » Wed Jan 07, 2009 8:56 pm

OK, with RC6 out, I've released this contrib as an upgrade to the existing "Paypal Improved" contribution to avoid confusion of downloading the wrong version.
http://www.opencart.com/index.php?route ... tion_id=33

THE CONTRIB IS MEANT TO BE USED ON OLDER VERSIONS OF 0.7.9 BEFORE RC6. DO NOT INSTALL ON TOP OF RC6 AS THERE WERE ADDITIONAL CHANGES TO URL STRUCTURES SINCE THEN. THE CONTRIB VERSION CONTAINS A COMPATIBILITY WORK AROUND.

The contrib will work with older versions of OpenCart, but would probably need to be modified for things like "gethtml" changed to "get" and such.

Image


User avatar
Administrator

Posts

Joined
Tue Jul 22, 2008 3:02 am

Post by yl » Thu Jan 08, 2009 12:33 am

Q,

I just installed the Paypal extension v079.1. What's the difference between Paypal improved v1.0 and Paypal extension? I am confused.

yl
New member

Posts

Joined
Tue Nov 25, 2008 6:46 am

Post by Qphoria » Thu Jan 08, 2009 12:42 am

New Paypal is the upgrade to Paypal improved. From now on they are the same. If you already have the one that I attached on this thread earlier, then you should get the updated one from the paypal improved contrib page:
http://www.opencart.com/index.php?route ... tion_id=33

Or you could upgrade to 0.7.9-RC6 where it is already included
Last edited by Qphoria on Thu Jan 08, 2009 12:44 am, edited 1 time in total.

Image


User avatar
Administrator

Posts

Joined
Tue Jul 22, 2008 3:02 am

Post by yl » Thu Jan 08, 2009 2:36 am

So far I am happy with version v.0.7.9 rc5 it's working great. I don't want a chance to get it crashed during upgrading to rc6. I just have two issues which are necessary to be improved, URL alias and Paypal. Now you have released New Paypal improved that I've wanted. What is suggestion on URL alias? Thanks!

yl
New member

Posts

Joined
Tue Nov 25, 2008 6:46 am

Post by Qphoria » Thu Jan 08, 2009 3:00 am

No sure what you need changed in url alias. Looking at your swingn site it looks like they are working fine.

But for other url changes you will need to upgrade to RC6.. there are a lot of changes for that in multiple files.
You can try creating a duplicate site and upgrade to see if it works ok without breaking your current stuff. Then if it works, you can do the same for your real store

A tip: you should always create a custom template directory instead of editing the default. This way you dont have to worry about an upgrade overwriting your template folder.

I would recommend for your swingn site that you copy "default" folder and rename to "swingn". Then choose that template from the admin->configuration->setting->Shop tab.

More information in the template faq: http://forum.opencart.com/index.php/top ... l#msg13631
Last edited by Qphoria on Thu Jan 08, 2009 3:22 am, edited 1 time in total.

Image


User avatar
Administrator

Posts

Joined
Tue Jul 22, 2008 3:02 am

Post by yl » Thu Jan 08, 2009 5:22 am

Thank you for the tips! ;)

yl
New member

Posts

Joined
Tue Nov 25, 2008 6:46 am

Post by kgrace » Sat Jan 10, 2009 2:41 pm

Qphoria:

Trying to get paypal working now - having a little bit of trouble. 

I've got the updated extension installed and I have created and configured the website payments standard account at paypal via your instructions in the readme (ie payment pref's (auto return=on, pdt token set, etc). 

However, after I checkout and am redirected to the paypal site - I don't get the page with the credit card form on the left and login on the right - I only get a option to login to paypal to process.  I got to work in test mode once after creating a dev account on the paypal sandbox server, updating to the test pdt token, etc..., but now I don't see to be able to get it to work either place with either token, etc?  I figure it's an option I don't have set somewhere...but haven't found it at this point....Any thoughts?

Running 0.7.9 RC5 with New Paypal Extension v079.1.

Thanks,
Kevin
Last edited by kgrace on Sun Jan 11, 2009 1:19 am, edited 1 time in total.

Newbie

Posts

Joined
Wed Dec 31, 2008 1:57 pm

Post by kgrace » Sat Jan 10, 2009 2:52 pm

FYI - I noticed that on paypal's cart compatability page, that Open Cart is not listed. We should probably try to get it listed so users would know that it IS compatible.

https://cms.paypal.com/us/cgi-bin/?cmd= ... p_standard
Last edited by kgrace on Sun Jan 11, 2009 1:20 am, edited 1 time in total.

Newbie

Posts

Joined
Wed Dec 31, 2008 1:57 pm

Post by kgrace » Sat Jan 10, 2009 3:10 pm

Another thing I've noticed is it's populating the login form on the paypal site with my seller account email,  not the email account of the user creating in the cart.  Again - probably some setting I've screwed up. Let me know if you have any thoughts.

Thanks,
Kevin

Newbie

Posts

Joined
Wed Dec 31, 2008 1:57 pm

Post by kgrace » Sat Jan 10, 2009 3:37 pm

Okay - after further testing - I've figured out what's going on, but not sure if it can be addressed - either in the cart or in the paypal account.

Here's what I'm seeing:

1)  If the email used to register/login in the cart is an existing paypal account - when you click continue at checkout to go to to the paypal payment page - paypal recognizes and only give you the login form page versus the multipart page that has create an account form on the left where you can enter the credit card information.  A user can click "Log in and continue" (which is in very small detail print on the left) that will take you on the to the multi part page.  Or obviously, they can login and use their paypal account as they normally would.  However - most users will only notice the login form on the right i figure .  I assume pay pal is only wanting to give you the option to sign in if you already have a paypal account.

2) If the email used to register/login in the cart and sent to paypal doesn't exist as a paypal account - you get the multipart (create and account with credit cart on left / login on the right) page. 

I'm worried this will be confusing for users.  What are you thoughts to help make sure users get the multipart form every time or am I thinking about this wrong?  I'm thinking about the guy who has a paypal account configured to pay from his bank account - maybe from an ebay aution years earlier for example - but doesn't remember his password and wants to use a credit card for the transaction from my cart.  I'd like to avoid him having to go through password reset, configure credit card as the funding source, etc at paypal.  Maybe this is normal behavior based on using the Paypal gateway...( i know, i know...**smiling**)  - just concerned about my users getting really confused. 

Thanks for the support.  By the way - got my PHP 5 book tonight - hope to contribute soon.  I have a web dev business and open cart will be a standard option going forward.  I'm a coder, but mostly C and Perl to this point.

Anyway - I'll quit rambling - if you have thoughts - love to hear them.
Last edited by kgrace on Sat Jan 10, 2009 3:42 pm, edited 1 time in total.

Newbie

Posts

Joined
Wed Dec 31, 2008 1:57 pm

Post by Qphoria » Sat Jan 10, 2009 10:12 pm

kgrace wrote: I've got the updated extension installed and I have created and configured the website payments standard account at paypal via your instructions in the readme (ie payment pref's (auto return=on, pdt token set, etc). 

However, after I checkout and am redirected to the paypal site - I don't get the page with the credit card form on the left and login on the right - I only get a option to login to paypal to process. 
In the paypal profile section, If you check "PayPal Account Optional" and set to Yes, then you get the Credit Card form as well.

kgrace wrote: FYI - I noticed that on paypal's cart compatability page, that Open Cart is not listed. We should probably try to get it listed so users would know that it is compatible (if that's true - but I think based on what I've seen that it is)
https://cms.paypal.com/us/cgi-bin/?cmd= ... p_standard
Good idea. Thx
kgrace wrote: Another thing I've noticed is it's populating the login form on the paypal site with my seller account email,  not the email account of the user creating in the cart.  Again - probably some setting I've screwed up. Let me know if you have any thoughts.
Yea, I wasn't sure if this is a browser autofill thing or a paypal thing. There is no flag or feature that I am setting in the module to do that, so I don't know why it does it. I dont see it happen on IE7. but I do on FF3. I also see a lot of overuse of the autofill in FF3 so I figured it was a FF3 issue

Image


User avatar
Administrator

Posts

Joined
Tue Jul 22, 2008 3:02 am

Post by Qphoria » Sat Jan 10, 2009 10:19 pm

kgrace wrote: Here's what I'm seeing:

1)  If the email used to register/login in the cart is an existing paypal account - when you click continue at checkout to go to to the paypal payment page - paypal recognizes and only give you the login form page versus the multipart page that has create an account form on the left where you can enter the credit card information.  A user can click "Log in and continue" (which is in very small detail print on the left) that will take you on the to the multi part page.  Or obviously, they can login and use their paypal account as they normally would.  However - most users will only notice the login form on the right i figure .  I assume pay pal is only wanting to give you the option to sign in if you already have a paypal account.

2) If the email used to register/login in the cart and sent to paypal doesn't exist as a paypal account - you get the multipart (create and account with credit cart on left / login on the right) page. 
Ah ok.. well it's actually a paypal feature (of sorts). First you must enable "Account Optional" in your Paypal preferences. If the customer has a paypal cookie, then they will see this small credit card link page. If they have no cookie, then they will see the huge form. They set the cookie only if the user has logged into paypal on that PC in the past, so that they know that person has a paypal account. It's their way of ensuring your subconscious mind to use paypal or something. You can read more about it here:
http://paypal.lithium.com/pdn/board/mes ... d=849#M849

There doesn't seem to be anything we can do about it.

Image


User avatar
Administrator

Posts

Joined
Tue Jul 22, 2008 3:02 am

Post by kgrace » Sun Jan 11, 2009 1:19 am

Yeah - I figured as much.  Oh well - it is working and have tested back and forth, trying closing tabs and even closing the browser - coming back and using the same cart - seems to work every time.  I wasn't able to break the handoff to paypal or return. 

On a side note - as I start working towards contributions - what payment gateways do you guys get the most frequent request for?

Kevin

Newbie

Posts

Joined
Wed Dec 31, 2008 1:57 pm

Post by Qphoria » Sun Jan 11, 2009 6:56 am

Popular ones:
Authorize.net (SIM) - Done (Qphoria)
Authorize.net (AIM) - 90% done (Qphoria)
Paypal - Done (Qphoria)
Paypal Express - 50% done (Qphoria)
Google Checkout - 90% done (JNeuhoff)

Perhaps Paypal pro or some other popular ones I haven't covered.

Also if you are handy working with APIs we could use some more real time shipping contribs
USPS - Done (Qphoria)
UPS - 50% done (Qphoria)
FedEx - 0%
Canada Post - 0%
Last edited by Qphoria on Sun Jan 11, 2009 6:58 am, edited 1 time in total.

Image


User avatar
Administrator

Posts

Joined
Tue Jul 22, 2008 3:02 am
Who is online

Users browsing this forum: No registered users and 6 guests