News:

Support the VirtueMart project and become a member

Main Menu

given up trying to code full solution to PayPal Pro Express Checkout

Started by simbo1905, March 16, 2006, 13:00:52 PM

Previous topic - Next topic

simbo1905

[[pleae note: this post is about PayPal Pro not the basic PayPal module that ships with VirtueMart. you have apply to have a business bank account attached to a Marchant PayPal Accout to get PayPal Pro. so if you don't know what PayPal Pro then you don't have it and you don't need to worry about his post. the basic PayPal module works okay for normal PayPal users.]]

i have posted a bit on forums about getting PayPal Pro to work. it is important to note that you cannot PayPal Pro Direct Payment (credit card details taken on your site) unless you also provide PayPal Express Checkout (no billing address on your own site but redirect to PayPal to take the payment and for the customer to choose their shipping over at the PayPal website).

my approach to fully integrate Express Checkout into VirtueMart just as PayPal recommends to give maximum convenience to the customer:

1) upon checkout above the billing address form i provided an Express Checkout "opt in" tick box with a big PayPal icon

2) the billing address is blanked out for the customer with my database

3) set a flag in a new column in the user table to mark that the customer is an Express Checkout user

4) make an API call to Express Checkout and redirect to PayPal for them to pick a shipping address at PayPal

5) the customer logs into PayPal and selects the shipping address and is redirected back to my site

6) my site then makes the API call to pickup the shipping address which is written into my database

7) the customer confirms the order at my site

8 ) an API call is made to push the order to PayPal redirect the customer to the PayPal website

9) customer logs into PayPal and chooses how to source the funds and confirms payment

10) customer is redirected to my site

11) an API call is made to confirm payment

12) order is completed

it is important to note that in the Express Checkout documentation this is the PayPal recommended approach. they speak of three integration points (API calls some followed by redirects) in their manual.

i actully got all of this working using custom phpShop functions and lots of little tweeks to the VirtueMart code. the problem was that to really finish the job i had to handle existing PayPal Express Checkout customer visiting the site again. what happens if they want to specify a different shipping address over at the PayPal site? i also had to handle PayPal Express Checkout clients choosing to "opt out" of Express Checkout (say they desided to no longer use PayPal and use their credit card on our site) so I needed to allow them to provide a billing address. or what happens if an existing credit card only customer chooses to "opt in" to Express Checkout on their next visit?

even that long description is not enough! even though i had given the user the option to "opt in" to Expres Checkout and not provide me with a billing details i still had to collect their phone number so that we can call them if there is a problem with shipping. all of this meant a lot of changes to the customer form validation code and lots of new "if/elseif/else" statements on thing such as the customer account maintenance screens. not to mention session tracking of the paypal user ID and paypal transaction ID.

by this time i had made 3 attempts to get all the possible permutations of customer Use Cases working with my code. each time the code failed full testing by my business partner. the straight line tests worked for the simply Use Cases such as a first purchase. as soon as advanced testing started on the complicated repeat visit and "opt out / opt in" something would not quite work.

at which point a new version of VirtueMart had come out. (we actually started on the beta mambo edition and we wanted to move to the joomla edition). we realised that as we were making changes to the core workflow of VirtueMart. so each time there was an upgrade to VirtueMart we would have to re-introduce our changes and re-test each and every permutation of the customer Use Cases. doing so represented a big technical risk to our business. as a small independent business working with opensource we need to be concentrating on delivering solutions for our clients - not solutions to suit PayPal.

during this time we had the standard PayPal module installed on the site whilst we worked on Express Checkout. it turned out that only 5% of orders were choosing the paypal route. so Express Checkout was too hard, too risky and most likely only of interest to 5% of customers. also think how confusing the customer exprience is with Express Checkout. my mother runs her own joolma site but i am sure that she would be too confused to use Express Checkout. after having just created a username and password on my site would she attempt to use that to login on the PayPal site?

as of this week we have given up on PayPal Pro and have implimented Authorize.Net. as this is already a module in VirtueMart it was a half day task to get it all working and past all of our advanced testing. Authorize.Net provide the Direct Payment functionality with no strings attached. PayPal Pro has better statements. PayPal Pro has better reporting tools. with PayPal Pro the money goes into your business bank account immediately. with Authorize.net we have to wait three days. but at the end of the day PayPal Pro requires Express Checkout and that is simply not worth it.

i hear that folks still want to try to get it all working for VirtueMart. i wish you all the best of luck. thanks for all of your help and support.

Simon

Pam1234

Hi Simbo,

Pssst! Hey bud! You didn't hear this from me, but...

I just spent a few minutes fussing at a PayPal rep about this very thing, and I even directed him to this post as an example of how difficult this is. I was told... but hey, I didn't hear it from him... that PP is unofficially backing off from making Express Checkout a requirement. They are not announcing it publicly, at least not yet, if ever. But this is the best news I've heard in a long while! If you have PP Website Payments Pro installed and configured, it looks like the folks at PP will look the other way.

But that's just what I heard.  ;)

Pam

simbo1905

the truth of the matter is that i was running the site with only Direct Payment and the standard PayPal module for months whilst keep i kept hacking away at Express Checkout. after all i have real clients so i could only work part time for PayPal (i was coding for them after-all and not really the 5% of my customers that used the PayPal standard module in practice)!

the thing about running the sites like that was we were living in fear of being found out and having our paypal pro account switched off. that would have pulled the plug on our sites and left my clients high and dry. i want my ecommerce sites to be audited and found compliant by visa and other authorities. "plug pulling" scenarios are not an option for us. we follow the rules. my partner read the four inches of printout of all the terms and conditions (the paypal agreement says that you have to follow the visa agreement so folks should really printed those out also and followed them also). being compliant with them all is a big task.

my partner and i would even like to offer visa auditing to small businesses clients in the future. leaving a chain of sites that were in risk of being shut down for not following the rules is not an option when you want to consult on helping other folks plan for and impliment all of the rules.

before we became independent consultants working with opensource my partner and i have worked on multi-million dollar global industrial ecommece sites and three separate online banking services. if paypal want folks like us pushing their PayPal Pro product they will have to come out of the closet and update their rules to not mandate Express Checkout if they are not really enforcing that rule.

perhaps they should not mandate Express Checkout but offer a 1% discount to those that do impliment it. that would mean that those that can would, but those that can't will not live in fear. after all the whole point of Express Checkout it to benefit PayPal. so the 1% would be like a reward for promoting their product and for helping keeping their customers billing details from leaving their site.