Jump to content
Sign in to follow this  
dynamoeffects

PayPal WPP Direct Payments & Express Checkout Support

Recommended Posts

is there a possibility to add this feature into the next paypal wpp? i've been talking to my rep over at paypal and supposedly it's in the IPN https://www.paypal.com/us/ipn which i'm not sure if it will work with paypal wpp.

 

but the feature that i am requesting is this. i receive many orders on my oscommerce website. as of right now with paypal wpp, all order payments are sent through paypal and individually i go one by one printing the order details out. supposedly, my rep is saying that with this IPN you are able to "batch print" the order details.

 

however not going into details (since the rep probably does not know coding), he says with the IPN the possibilities are "endless". i for one don't know how to proceed. i also do not know how exactly this feature would work. my assumption is that paypal should provide this option to "batch print" order details. but supposedly we can do it on the oscommerce side?

 

thoughts please Glen or Brian.

Share this post


Link to post
Share on other sites
is there a possibility to add this feature into the next paypal wpp? i've been talking to my rep over at paypal and supposedly it's in the IPN https://www.paypal.com/us/ipn which i'm not sure if it will work with paypal wpp.

 

but the feature that i am requesting is this. i receive many orders on my oscommerce website. as of right now with paypal wpp, all order payments are sent through paypal and individually i go one by one printing the order details out. supposedly, my rep is saying that with this IPN you are able to "batch print" the order details.

 

however not going into details (since the rep probably does not know coding), he says with the IPN the possibilities are "endless". i for one don't know how to proceed. i also do not know how exactly this feature would work. my assumption is that paypal should provide this option to "batch print" order details. but supposedly we can do it on the oscommerce side?

 

thoughts please Glen or Brian.

IPN stands for Instant Payment Notification and has nothing to do with "batch printing" of order details. What it does offer is automated updates of payment status. There is some support for it in the current version of WPP, but it's a bit broken.

 

IPN is most useful in two instances when used with WPP:

1. You accept e-check transactions from your PayPal customers. WPP can set one payment status for uncleared payments and automatically move them into "Pending" (or another status of your choice) when IPN sends a message that the payment has cleared.

 

2. You use Authorization and Capture to process payments. This allows you to delay collection of payments until you are ready to ship and keeps you in compliance with your merchant agreement when you take orders for products not in stock or any other time that there is a delay between purchase and shipping. Authorizations are guaranteed for three days and valid for 30 days.

 

IPN will also send notifications when there are disputes and chargebacks, though I am not certain what the current IPN handler does with these.

 

Both scenarios apply to me, and I intend to make the IPN support in WPP work in a future release. It's on my list of things to do.

 

For your problem, it sounds as though you need a report that prints everything with order status = "Pending" and updates the status to "Processing" after printing. That, coupled with proper IPN support for uncleared payments, would allow you to click one button to get all the orders that are paid and ready to ship.

 

--Glen

Share this post


Link to post
Share on other sites
IPN stands for Instant Payment Notification and has nothing to do with "batch printing" of order details. What it does offer is automated updates of payment status. There is some support for it in the current version of WPP, but it's a bit broken.

 

IPN is most useful in two instances when used with WPP:

1. You accept e-check transactions from your PayPal customers. WPP can set one payment status for uncleared payments and automatically move them into "Pending" (or another status of your choice) when IPN sends a message that the payment has cleared.

 

2. You use Authorization and Capture to process payments. This allows you to delay collection of payments until you are ready to ship and keeps you in compliance with your merchant agreement when you take orders for products not in stock or any other time that there is a delay between purchase and shipping. Authorizations are guaranteed for three days and valid for 30 days.

 

IPN will also send notifications when there are disputes and chargebacks, though I am not certain what the current IPN handler does with these.

 

Both scenarios apply to me, and I intend to make the IPN support in WPP work in a future release. It's on my list of things to do.

 

For your problem, it sounds as though you need a report that prints everything with order status = "Pending" and updates the status to "Processing" after printing. That, coupled with proper IPN support for uncleared payments, would allow you to click one button to get all the orders that are paid and ready to ship.

 

--Glen

 

Glen. I appreciate your time answering my question. I'll go ahead and talk over with my rep again. Perhaps I was not clear enough. However, I am glad that IPN features will be incorporated more into WPP. I for one would LOVE to have option #2 which you stated in regards to Authorization and Capture to process payments.

 

p.s. has Brian totally fallen off the edge of the earth? i haven't seen him around and it's a shame because he was such a great coder. are you taking over this project now? and are you for hire for oscommerce jobs?

Share this post


Link to post
Share on other sites
Glen. I appreciate your time answering my question. I'll go ahead and talk over with my rep again. Perhaps I was not clear enough. However, I am glad that IPN features will be incorporated more into WPP. I for one would LOVE to have option #2 which you stated in regards to Authorization and Capture to process payments.

 

p.s. has Brian totally fallen off the edge of the earth? i haven't seen him around and it's a shame because he was such a great coder. are you taking over this project now? and are you for hire for oscommerce jobs?

 

There may be an osCommerce report that will do what you need. Did I describe your requirements correctly?

 

Brian is still around a bit, but from my private correspondence with him, he's been rather busy lately. I'm not taking the project over, but I have been sending code contributions to Brian almost since the beginning, so he recently added me as a maintainer so that I can post updates directly.

 

--Glen

Share this post


Link to post
Share on other sites
I was able to get ridof the Please+select+a+payment+method+for+your+order problem when I didn't skip the shipping page.

I wanted to make it easier for the customers since I only did a flat rate thing but some were coming back with that problem.

 

I was only able to get rid of it by uninstalling and going to the module distributed by PayPal.

Share this post


Link to post
Share on other sites

Thanks to Glen's excellent reply in post #3469, this module seems to be working now! Thanks a million for a great contribution!

 

However, I do have a couple issues and I can't find a solution in this thread.

 

The first is that when I review orders placed in the admin-->customers-->orders section, they are displaying very strangly. For each order there are two identical line entries, but when you try to click on one of them you are forced to select both. HERE is a screenshot. The orders are not duplicate - when I delete the order and restock product quantity, it only restocks one item (as shown HERE. Also, when I go to the QBI module to download new orders it shows the correct number. So basically, for whatever reason it is now showing a single order as two identical line items.

 

Second problem is with Paypal Express checkout. It sends me to a total of EIGHT screens to complete the transaction...entirely unacceptable! Here is the order:

 

1. checkout_shipping.php (select ship method, click continue)

2. checkout_payment.php (select Paypal)

3. redirect to paypal login screen (logged in to papal)

4. review shipping and contact info; still on Paypal site (click continue)

5. now it sends us BACK to checkout_shipping.php on the OSC site (again I click continue)

6. back to checkout_payment.php; this time there are no options shown, only the "add comments field (click continue again)

7. checkout_confirmation.php (click confirm order)

8. checkout_success.php, order is finally completed

 

It seems to me that steps five and six, and possibly seven, should not be there. Any ideas how to fix this?

Share this post


Link to post
Share on other sites
Thanks to Glen's excellent reply in post #3469, this module seems to be working now! Thanks a million for a great contribution!

 

However, I do have a couple issues and I can't find a solution in this thread.

 

The first is that when I review orders placed in the admin-->customers-->orders section, they are displaying very strangly. For each order there are two identical line entries, but when you try to click on one of them you are forced to select both. HERE is a screenshot. The orders are not duplicate - when I delete the order and restock product quantity, it only restocks one item (as shown HERE. Also, when I go to the QBI module to download new orders it shows the correct number. So basically, for whatever reason it is now showing a single order as two identical line items.

What's happening in the database? Do you get duplicate entries with the same order ID?

 

Second problem is with Paypal Express checkout. It sends me to a total of EIGHT screens to complete the transaction...entirely unacceptable! Here is the order:

 

1. checkout_shipping.php (select ship method, click continue)

2. checkout_payment.php (select Paypal)

3. redirect to paypal login screen (logged in to papal)

4. review shipping and contact info; still on Paypal site (click continue)

5. now it sends us BACK to checkout_shipping.php on the OSC site (again I click continue)

6. back to checkout_payment.php; this time there are no options shown, only the "add comments field (click continue again)

7. checkout_confirmation.php (click confirm order)

8. checkout_success.php, order is finally completed

 

It seems to me that steps five and six, and possibly seven, should not be there. Any ideas how to fix this?

 

The "normal" method of using Express Checkout is to click the Express Checkout button on either the shopping cart or login page. This would eliminate steps 1 and 2. If you don't have the Express Checkout button on either of those pages, you didn't do the complete installation.

 

I have never been particularly happy with the Express Checkout button on checkout_payment, and have it disabled on my shop. As a stopgap until I write an alternative solution that I have mentioned from time to time in this topic, I use a different PayPal module to offer "PayPal as an additional payment method" on checkout_payment.

 

--Glen

Share this post


Link to post
Share on other sites
What's happening in the database? Do you get duplicate entries with the same order ID?

 

Nope, database shows a single order. Looks like the admin area is just displaying it twice for some reason.

 

EDIT: Now that I look at it, the invoice is showing some funky stuff too. Check it out HERE. I'm not getting double billing or double inventory removal, and the numbers add up to a single item order, but repeated.

 

 

The "normal" method of using Express Checkout is to click the Express Checkout button on either the shopping cart or login page. This would eliminate steps 1 and 2. If you don't have the Express Checkout button on either of those pages, you didn't do the complete installation.

 

Ahh, OK. I pulled the buttons from the cart and login pages because I think it sends the wrong message. When someone adds an item to their cart, I want them to keep shopping, not check out immediately. I prefer to have the single payment page once they're ready to checkout.

 

Would fixing this be a simple matter of switch the redirect from Paypal to go straight to the confirmation page, or does redirecting back to the shipping page serve some back end function?

Edited by apriorius

Share this post


Link to post
Share on other sites
Nope, database shows a single order. Looks like the admin area is just displaying it twice for some reason.

That is odd. I'd revert to a stock version of orders.php and see if you can figure out where it went wrong. Save a copy of the current version for comparison.

 

Ahh, OK. I pulled the buttons from the cart and login pages because I think it sends the wrong message. When someone adds an item to their cart, I want them to keep shopping, not check out immediately. I prefer to have the single payment page once they're ready to checkout.

PayPal requires that those buttons be in place before your login page. They could (but probably won't) restrict you from using WPP if you don't enable the Express Checkout button. The whole point of Express Checkout is to streamline the checkout process.

 

Would fixing this be a simple matter of switch the redirect from Paypal to go straight to the confirmation page, or does redirecting back to the shipping page serve some back end function?

 

This is the normal checkout flow using Express Checkout:

1. Click "Check out with PayPal" button on shopping cart or login page.

2. [redirect to PayPal] Log in at PayPal

3. Review order information at PayPal. Click "Continue"

4. Return to checkout_shipping to select shipping method. Click "Continue"

5. Confirm details on checkout_confirmation. Click "Confirm Order".

[6.] Land on checkout_success.

 

 

--Glen

Share this post


Link to post
Share on other sites

Hmm, well, I'll have to think about it. Either disable express checkout entirely and go with another paypal plugin, or revert to your default on the module. I have to say I'm not thrilled that I have to pay $30 a month for WPP only to have my customers routed around creating an account on my site and sent straight to Paypal.

 

"As a stopgap until I write an alternative solution that I have mentioned from time to time in this topic, I use a different PayPal module to offer "PayPal as an additional payment method" on checkout_payment."

 

Can I ask which module you recommend for this?

Share this post


Link to post
Share on other sites
That is odd. I'd revert to a stock version of orders.php and see if you can figure out where it went wrong. Save a copy of the current version for comparison.

 

Huh. Used ExamDiff to check that the WPP mods were all present and everything looked ok. Switched to the stock orders.php, and the problem is still there. Any ideas where else to look? I do have my admin folder renamed for security; doubt that would cause a problem though.

Share this post


Link to post
Share on other sites
Huh. Used ExamDiff to check that the WPP mods were all present and everything looked ok. Switched to the stock orders.php, and the problem is still there. Any ideas where else to look? I do have my admin folder renamed for security; doubt that would cause a problem though.

 

If it's not a problem in orders.php, it would have to be reflected in the orders table in the database. Then you'll have to figure out how duplicate entries are getting posted there, possibly in checkout_process.

 

--Glen

Share this post


Link to post
Share on other sites
possibly in checkout_process.

 

 

Yup, that was it. I forgot to remove this line of code when I did the #1629 bug fix.

 

 
$order_totals = $order_total_modules->process();

Share this post


Link to post
Share on other sites

Hello all,

 

I'm having a problem with my installation of ver1.0.4. Basically, when you click the PayPal Express Checkout button, it just refreshes the page. Info in the forum and the install file state that this is secondary to a bad certificate or path. I've double checked the path and even downloaded the cert again. I've copied all files in the install instructions again and run through the integration steps again.

 

The diagnostic indicates everything is fine including communication with PayPal.

 

I'm suspecting a compatibility problem with another mod, but I can't find anything here about it. I'm hoping someone else has encountered the same issue and can guide me to the incompatibility (if that is really the problem). I'm using a heavily modded OSCMax installation with PHP 5, SQL 5 and register_globals off. If it helps in the way of diagnosis, I actually have an older version, 0.9.2 I think, running successfully.

 

Thanks in advance for any help!

 

Art

Share this post


Link to post
Share on other sites

Hello,

 

Its possibly been answered before but i've got this module installed and it all works fine apart from one area - with direct payments on the website it doesn't seem to check the card against the billing address so basically a person can enter any billing address and it doesn't need to match the card.

 

Is the module setup incorrectly or isn't this a feature?

Share this post


Link to post
Share on other sites
Hello,

 

Its possibly been answered before but i've got this module installed and it all works fine apart from one area - with direct payments on the website it doesn't seem to check the card against the billing address so basically a person can enter any billing address and it doesn't need to match the card.

 

Is the module setup incorrectly or isn't this a feature?

 

Look in the Transaction Details on orders.php for an order that was processed with Direct Payments. There will be a line that says "AVS Code". This will tell you whether the address matched. If you have Risk Controls enabled on your PayPal account, you can reject transactions that fail the Address Verification Service (AVS) test. For a while, PayPal changed the behaviour of accounts without risk controls to reject non-matching addresses, which failed for parts of the world that don't support AVS.

 

--Glen

Share this post


Link to post
Share on other sites

My host moved my store to another server and now am having a lot of problems especially with Express Checkout enabled (direct payment works fine in sandbox if I disable Express Checkout). And before the move everything was working like a charm.

 

Clicking the Express Checkout button I get a file not found error:

 

The requested URL /mydomain.org/mystore/catalog/phpCGI was not found on this server.

 

Mousing over the Express Checkout button the link shows:

 

https://mysecureserver.com/mydomain.org/mys...824eb1740ee1bd0

 

I see a phpCGI directory in on my server but I can't access it (I get an access denied message)

 

Any idea what I need to do to fix this?

Edited by MarcellaE

Share this post


Link to post
Share on other sites
My host moved my store to another server and now am having a lot of problems especially with Express Checkout enabled (direct payment works fine in sandbox if I disable Express Checkout). And before the move everything was working like a charm.

 

Clicking the Express Checkout button I get a file not found error:

 

The requested URL /mydomain.org/mystore/catalog/phpCGI was not found on this server.

 

Mousing over the Express Checkout button the link shows:

 

https://mysecureserver.com/mydomain.org/mys...824eb1740ee1bd0

 

I see a phpCGI directory in on my server but I can't access it (I get an access denied message)

 

Any idea what I need to do to fix this?

Marcella,

This problem was reported here and I replied with a request for further information a couple posts later here. The original poster never answered my request in the forum, and I don't remember if he ever responded privately; if he did, I deleted it. I think that I would have saved something if I had gotten a response.

 

The problem is most likely a misconfigured HTTP server or PHP installation, as the PHP variable $_SERVER['SCRIPT_NAME'] is returning "phpCGI" instead of "/mystore/catalog/shopping_cart.php".

 

Please see my prior response for a more detailed answer as to what has gone wrong. Perhaps forwarding that to your hosting service will get them to fix it.

 

--Glen

Share this post


Link to post
Share on other sites

Thank you, Glen. I was just about to post more after reading another post by you where you said that the server is not returning the expected value for SCRIPT_NAME.

 

I'm running on Apache with PHP Version 4.4.1

 

here is the SERVER Variable

 

_SERVER["SCRIPT_NAME"] /mydomain.org/cgi-bin/phpCGI

 

So if you say it's a misconfiguration of the PHP install or HTTP server. I will contact them and relay to them your thinking/response.

Edited by MarcellaE

Share this post


Link to post
Share on other sites
Thank you, Glen. I was just about to post more after reading another post by you where you said that the server is not returning the expected value for SCRIPT_NAME.

 

I'm running on Apache with PHP Version 4.4.1

 

here is the SERVER Variable

 

_SERVER["SCRIPT_NAME"] /mydomain.org/cgi-bin/phpCGI

 

So if you say it's a misconfiguration of the PHP install or HTTP server. I will contact them and relay to them your thinking/response.

 

Marcella,

This may have to do with the way that PHP is installed on the server. Most hosts install PHP as an Apache module for performance reasons, and this is the method recommended by PHP. It is also possible to install PHP as a CGI application.

 

However, whether PHP is installed as a module or as a CGI, $_SERVER["SCRIPT_NAME"] is supposed to return the name of the currently executing script, according to the CGI 1.1 specification.

 

What you should see when examining SCRIPT_NAME in the Environment section and _SERVER["SCRIPT_NAME"] in the PHP Variables section of the server_info page is something resembling "/catalog/admin/server_info.php". Anything that doesn't end in "server_info.php" is a server configuration error.

 

--Glen

Edited by SteveDallas

Share this post


Link to post
Share on other sites

I have a last version 1.0.4.

Everything been working fine, without changing anything I start to receive the following error,

 

Fatal error: Cannot access empty property in

/home/XXXXXXX/public_html/includes/modules/payment/paypal_wpp.php on line

1165

 

I check http://php.syntaxerrors.info/index.php?tit..._empty_property and its says because of the syntax.

Does this sounds right? I never change anything.

 

My server info:

Server Host: xxxx.xxxxxx.net (111.111.111.111) Database Host: localhost (127.0.0.1)

Server OS: Linux 2.6.9-78.0.13.ELsmp Database: MySQL 5.0.67-community-log

Server Date: 04/10/2009 23:42:22 Datebase Date: 04/10/2009 23:42:21

Server Up Time: 23:42:22 up 47 min, 2 users, load average: 10.92, 13.74, 16.44

HTTP Server: Apache

PHP Version: 5.2.8 (Zend: 2.2.0)

osCommerce 2.2-MS2

PHP Version 5.2.8

Share this post


Link to post
Share on other sites

Hi,

 

I'm getting this error when clicking the Paypal button at checkout.

 

Cannot redeclare class payment in /services4/webpages/j/o/mydomain.org/public/mystore/catalog/includes/classes/payment.php on line 15

 

I understand that its calling the class payment 3 times it looks like. One I find in checkout_payment.php, one in checkout_process.php and one I find in paypal_wpp_include.php (brought in from application_top.php)

 

Which do I get rid of or is my problem elsewhere?

Share this post


Link to post
Share on other sites

HI,

 

We have recieved an email from Paypal advising that they are beefing up their security, and as a result we will need to upgrade our code using SDK 4.3.

 

Additional informatio from my Paypal manager shows we appear to be using sdk 3.07

 

Additional Information

Client IP Address: 216.113.188.208

 

Client Type: J User:

Client Version: 3.07

Transaction State: 8

Duration: 2.00

 

The mail we recieved is pasted here

 

> Soon, we’ll be making enhancements to our Website Payments Pro service.

> While we are doing everything to make these updates as seamless as

> possible, you will need to make some changes to your Website Payments Pro

> integration.

>

> Here’s what’s happening

> Beginning September 2009, PayPal will be upgrading its Pay flow gateway

> service to a new, more secure SSL server certificate hierarchy.

>

> Here’s what it means to you

> To continue processing transactions after this date, you will need to

> update your current integration to the latest Software Development Kit (SDK

> version 4.3 or higher) or to our direct HTTPS interface. The update will

> give you more security and you won’t have to worry about your payment

> service being interrupted in September.

>

> Here’s what you need to do

> For a detailed explanation of what’s changing and step-by-step instructions

> on what to do, go to https://www.paypal.com/gatewayupdate.

 

 

Is this going to cause me an issue, if so, is someone working on a new version to ensure we are ready before the cut off date ?

Share this post


Link to post
Share on other sites
HI,

 

We have recieved an email from Paypal advising that they are beefing up their security, and as a result we will need to upgrade our code using SDK 4.3.

 

Additional informatio from my Paypal manager shows we appear to be using sdk 3.07

 

Additional Information

Client IP Address: 216.113.188.208

 

Client Type: J User:

Client Version: 3.07

Transaction State: 8

Duration: 2.00

 

The mail we recieved is pasted here

 

> Soon, we’ll be making enhancements to our Website Payments Pro service.

> While we are doing everything to make these updates as seamless as

> possible, you will need to make some changes to your Website Payments Pro

> integration.

>

> Here’s what’s happening

> Beginning September 2009, PayPal will be upgrading its Pay flow gateway

> service to a new, more secure SSL server certificate hierarchy.

>

> Here’s what it means to you

> To continue processing transactions after this date, you will need to

> update your current integration to the latest Software Development Kit (SDK

> version 4.3 or higher) or to our direct HTTPS interface. The update will

> give you more security and you won’t have to worry about your payment

> service being interrupted in September.

>

> Here’s what you need to do

> For a detailed explanation of what’s changing and step-by-step instructions

> on what to do, go to https://www.paypal.com/gatewayupdate.

 

 

Is this going to cause me an issue, if so, is someone working on a new version to ensure we are ready before the cut off date ?

 

Chris,

The update describes changes to the Payflow Pro Gateway and Website Payments Pro Payflow Edition (emphasis added). The WPP module supported in this thread uses the original version of WPP (Express Checkout and Direct Payment APIs) and is not affected by these changes.

 

Since you are using the PayPal Manager web console, you are using a payment module that uses the Payflow Pro gateway. You should seek support in the topic supporting that module, or, if it is not a community developed module, directly from the developer. A search of "Payflow" in the Contributions should help you locate the module that you are using.

 

The Website Payments Pro solution offered in the UK is based on Payflow Pro.

--Glen

Share this post


Link to post
Share on other sites
Chris,

The update describes changes to the Payflow Pro Gateway and Website Payments Pro Payflow Edition (emphasis added). The WPP module supported in this thread uses the original version of WPP (Express Checkout and Direct Payment APIs) and is not affected by these changes.

 

Since you are using the PayPal Manager web console, you are using a payment module that uses the Payflow Pro gateway. You should seek support in the topic supporting that module, or, if it is not a community developed module, directly from the developer. A search of "Payflow" in the Contributions should help you locate the module that you are using.

 

The Website Payments Pro solution offered in the UK is based on Payflow Pro.

--Glen

 

Thanks for the reply Steve,

 

I am a little confused, i AM using this module for my paypal uk payments, and also have paypal as my full credit card merchant (Hence the use of paypal manager), All my payment activities go through this module as direct payments or express checkout, so why do Paypal advise that i need to change to SDK 4.3, and they say i am using sdk 3.07 ?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×