Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

PayPal WPP Direct Payments & Express Checkout Support


dynamoeffects

Recommended Posts

Hi guys,

 

During Express Checkout, my test customer is sent to Paypal, and when they're finished there, they're sent back to an empty logged out shopping cart on my site, just like the <ReturnURL>PAYPAL_RETURN_URL</ReturnURL> tells it to. I have the EC button only on the shopping_cart.php, if that matters.

 

      $order_info['PAYPAL_RETURN_URL'] = tep_href_link(basename($_SERVER['SCRIPT_NAME']), 'action=express_checkout', 'SSL');

 

Is there a reason this line is sending them back to the page they came from instead of to the $return_to = FILENAME_CHECKOUT_SHIPPING?

 

TIA

 

Yes, it's because the oscSid gets lost on the trip to PayPal if the ampersand isn't correctly escaped. This happens when the session ID is in the URL and not a cookie. It seems to be more of a problem with the PayPal sandbox than on live servers.

 

Try this:

 

In catalog/includes/modules/payment/paypal_wpp.php, find near line 616:

	  $order_info['PAYPAL_RETURN_URL'] = tep_href_link(basename($_SERVER['SCRIPT_NAME']), 'action=express_checkout', 'SSL');
  $order_info['PAYPAL_CANCEL_URL'] = tep_href_link($redirect_path, $redirect_attr, 'SSL');

 

Replace with:

	  $order_info['PAYPAL_RETURN_URL'] = htmlspecialchars(tep_href_link(basename($_SERVER['SCRIPT_NAME']), 'action=express_checkout', 'SSL'));
  $order_info['PAYPAL_CANCEL_URL'] = htmlspecialchars(tep_href_link($redirect_path, $redirect_attr, 'SSL'));

Edited by SteveDallas
Link to comment
Share on other sites

If I wanted to use this plugin, there's no need for other mods such as "one page checkout" right? I'm trying to figure out the quickest way to get the user thru checkout since the default method is so long (4 pages to buy an item?).

 

I don't know whether this module is compatible with "one page checkout", as I haven't tested it.

 

There are still several steps through the checkout process with this module. It does save you some steps when using PayPal. Traditional methods using other PayPal payment modules require more than four pages; once you hit "Confirm", you get sent to PayPal and have to log in again.

 

--Glen

Link to comment
Share on other sites

Yes, it's because the oscSid gets lost on the trip to PayPal if the ampersand isn't correctly escaped. This happens when the session ID is in the URL and not a cookie. It seems to be more of a problem with the PayPal sandbox than on live servers.

 

Try this:

 

In catalog/includes/modules/payment/paypal_wpp.php, find near line 616:

	  $order_info['PAYPAL_RETURN_URL'] = tep_href_link(basename($_SERVER['SCRIPT_NAME']), 'action=express_checkout', 'SSL');
  $order_info['PAYPAL_CANCEL_URL'] = tep_href_link($redirect_path, $redirect_attr, 'SSL');

 

Replace with:

	  $order_info['PAYPAL_RETURN_URL'] = htmlspecialchars(tep_href_link(basename($_SERVER['SCRIPT_NAME']), 'action=express_checkout', 'SSL'));
  $order_info['PAYPAL_CANCEL_URL'] = htmlspecialchars(tep_href_link($redirect_path, $redirect_attr, 'SSL'));

 

This works perfectly Glen. Thanks so much!

Link to comment
Share on other sites

Hey Neil,

 

Post the top part of your configure.php file. If the answer isn't there, it's caused by your host forwarded PHP4 scripts to a PHP4 binary and it doesn't seem to be working correctly.

 

 

By the way, I'm working on an update of the one page checkout today that you'll be able to download later today. It has some new features and improvements and you'll definitely want to upgrade.

Hi,

 

Where can I find the one page checkout? Is there site I can look and feel?

 

Thanks,

Link to comment
Share on other sites

Hi,

 

Where can I find the one page checkout? Is there site I can look and feel?

 

Thanks,

 

Di,

The one page checkout he referred to is a commercial product by Brian (dynamoeffects). See his profile for a link to his product. There are other attempts at one page checkout in the contributions library. I don't know how well any of them work, but I know that Brian stands behind his product. Due to differences in module implementation, there are limits on which payment and shipping modules are supported.

 

Glen

Edited by SteveDallas
Link to comment
Share on other sites

Di,

The one page checkout he referred to is a commercial product by Brian (dynamoeffects). See his profile for a link to his product. There are other attempts at one page checkout in the contributions library. I don't know how well any of them work, but I know that Brian stands behind his product. Due to differences in module implementation, there are limits on which payment and shipping modules are supported.

 

Glen

 

Thank you for your reply.

 

Another question related with WPP.

Issue Refund button doesn't update the state. Is this known issue? Any solution?

What the purpose of Add charge button?

 

Thanks,

Link to comment
Share on other sites

I don't know if this is a bug with v 1.06 or just a problem I have.

 

When checking out with Paypal Express from the members create account page (not bothering to set up a store account), I noticed that after proceeding with the Paypal login and being sent back to the store you get a "please select a payment method for your order" error.

 

This is because my module wasn't set to override store shipping address with Paypal shipping address. It was resulting in a blank shipping address and causing the above error.

 

Switching on the override solved the problem.

 

Is this a bug in the code or my store only?

 

Might be worth one of you testing by turning the override off and checking out without a store account.

Link to comment
Share on other sites

I don't know if this is a bug with v 1.06 or just a problem I have.

 

When checking out with Paypal Express from the members create account page (not bothering to set up a store account), I noticed that after proceeding with the Paypal login and being sent back to the store you get a "please select a payment method for your order" error.

 

This is because my module wasn't set to override store shipping address with Paypal shipping address. It was resulting in a blank shipping address and causing the above error.

 

Switching on the override solved the problem.

 

Is this a bug in the code or my store only?

 

Might be worth one of you testing by turning the override off and checking out without a store account.

 

Chris,

I recently did extensive work on the way that Express Checkout handles addresses. It's later than v1.0.6, but I'm not quite ready to release 1.0.7. You can find the latest development version on github. This version fixes several known bugs in v1.0.6 in addition to the address issues. Please let me know if it helps with your issue.

 

--Glen

Link to comment
Share on other sites

I have just uploaded v1.0.7 of the DynamoEffects Website Payments Pro module.

 

This version includes:

* Improved handling of billing and shipping addresses in Express Checkout

* Several bug fixes

 

As usual, it can be found at http://addons.oscommerce.com/info/3647

 

I had hoped to get more into this release, but it will resolve a number of installation issues that people have experienced.

 

For those in the UK facing the impending Maestro 3D Secure requirement, this work is proceeding and I hope to have an update that will address this requirement soon.

 

--Glen

Link to comment
Share on other sites

I have just uploaded v1.0.7 of the DynamoEffects Website Payments Pro module.

 

This version includes:

* Improved handling of billing and shipping addresses in Express Checkout

* Several bug fixes

 

As usual, it can be found at http://addons.oscommerce.com/info/3647

 

I had hoped to get more into this release, but it will resolve a number of installation issues that people have experienced.

 

For those in the UK facing the impending Maestro 3D Secure requirement, this work is proceeding and I hope to have an update that will address this requirement soon.

 

--Glen

 

Is anyone else having problems unzipping the new file? I keep getting this error: error.jpg.

 

I downloaded some of the older .zip files and they work just fine, so I don't think it's anything on my end. I've tried renaming the destination directory, etc...but nothing works.

 

Thanks!

Link to comment
Share on other sites

Is anyone else having problems unzipping the new file? I keep getting this error:

 

I downloaded some of the older .zip files and they work just fine, so I don't think it's anything on my end. I've tried renaming the destination directory, etc...but nothing works.

 

Thanks!

 

Josh,

I just downloaded it to see if I could duplicate your issue. It turns out that the tool that I used to create the archive adds some zero length files with the same names as the folders and the standard Windows tools can't deal with this. I was able to extract the archive with Smith Micro's Stuffit (for Windows) without any problem, but I will post the upload again after using a different ZIP tool.

 

Sorry for the inconvenience.

 

--Glen

Link to comment
Share on other sites

Josh,

I just downloaded it to see if I could duplicate your issue. It turns out that the tool that I used to create the archive adds some zero length files with the same names as the folders and the standard Windows tools can't deal with this. I was able to extract the archive with Smith Micro's Stuffit (for Windows) without any problem, but I will post the upload again after using a different ZIP tool.

 

Sorry for the inconvenience.

 

--Glen

 

No problem. Just tried the new one and it works great!

 

Can I also get your thoughts on the latest versions vs. 1.05 which I currently have installed?. I've had no problems with 1.05 and am always hesitant to make upgrades unless absolutely necessary. In your opinion, are 1.06 or 1.07 'important' upgrades, or just minor fixes? There don't seem to be any security fixes or anything along those lines, so I'm trying to decide if I should hold off on the upgrade for now.

 

In addition, I use the onepage checkout from DynamoEffects. Any idea if these updates will affect anything with this?

 

Thanks again!

 

-- Josh

Link to comment
Share on other sites

No problem. Just tried the new one and it works great!

 

Can I also get your thoughts on the latest versions vs. 1.05 which I currently have installed?. I've had no problems with 1.05 and am always hesitant to make upgrades unless absolutely necessary. In your opinion, are 1.06 or 1.07 'important' upgrades, or just minor fixes? There don't seem to be any security fixes or anything along those lines, so I'm trying to decide if I should hold off on the upgrade for now.

 

In addition, I use the onepage checkout from DynamoEffects. Any idea if these updates will affect anything with this?

 

Thanks again!

 

-- Josh

 

Josh,

Many of the fixes have been discussed here in the forums. You can see the full list of changes in the changelog in the READ_ME.htm file included in the .zip file. While I have not tested the changes against Brian's onepage checkout, I don't believe that any of them should affect it.

 

Some of the fixes affect only some users, while others are more general. The big items are correct cart itemization information sent to PayPal (quantity was always sent as 1 at the extended price in v1.0.5) and better handling of addresses with Express Checkout, both in looking up names for existing customers and handling of accented characters in EC addresses.

 

There were no feature related changes in v1.0.6 or v1.0.7.

 

There was one security change in v1.0.6; we no longer store the credit card expiration date in the database and only the last four digits of the card number are stored.

 

Upcoming feature plans:

-- Support for 3D Secure authentication (Verified by Visa/MasterCard SecureCode) for UK merchants due to a 1 Jan 2010 requirement for Maestro cards

-- Support for PayPal's dynamic button feature. This will allow merchants who participate in PayPal promotions to get special Express Checkout buttons during the promotion.

-- Support for PayPal's Instant Update API, which will allow the shipping method to be selected while on the PayPal page, and save one or two steps when using Express Checkout.

 

--Glen

Link to comment
Share on other sites

Hi,

 

I've installed the module on my sites but I get the error :

 

Merchant country unsupported. (10565)

 

I've already read on the web that only US, UK and CA accounts were enabled for direct payment but I'm not sure if it's still a good informations since the post dated for more than a year.

 

So my question is : how can I use the direct payment with an HK account ? Because my boss told me they managed to do it on another web site with another HK account so it should be possible to do the same. Is it really possible ?

 

Thanks in advance !

Edited by Daedolon
Link to comment
Share on other sites

Hi,

 

I've installed the module on my sites but I get the error :

 

Merchant country unsupported. (10565)

 

I've already read on the web that only US, UK and CA accounts were enabled for direct payment but I'm not sure if it's still a good informations since the post dated for more than a year.

 

So my question is : how can I use the direct payment with an HK account ? Because my boss told me they managed to do it on another web site with another HK account so it should be possible to do the same. Is it really possible ?

 

Thanks in advance !

To use direct payment, you must apply for Website Payments Pro and be accepted. If it is not offered in your country, you will not be able to apply for the service. There is a fee for WPP; in the US, it is $30/month. There is conflicting documentation on the PayPal developer site regarding its availability, but the matrix that shows it available worldwide is probably in error.

 

My best information is that it is not supported in HK.

 

--Glen

Link to comment
Share on other sites

Josh,

Many of the fixes have been discussed here in the forums. You can see the full list of changes in the changelog in the READ_ME.htm file included in the .zip file. While I have not tested the changes against Brian's onepage checkout, I don't believe that any of them should affect it.

 

Some of the fixes affect only some users, while others are more general. The big items are correct cart itemization information sent to PayPal (quantity was always sent as 1 at the extended price in v1.0.5) and better handling of addresses with Express Checkout, both in looking up names for existing customers and handling of accented characters in EC addresses.

 

There were no feature related changes in v1.0.6 or v1.0.7.

 

There was one security change in v1.0.6; we no longer store the credit card expiration date in the database and only the last four digits of the card number are stored.

 

Upcoming feature plans:

-- Support for 3D Secure authentication (Verified by Visa/MasterCard SecureCode) for UK merchants due to a 1 Jan 2010 requirement for Maestro cards

-- Support for PayPal's dynamic button feature. This will allow merchants who participate in PayPal promotions to get special Express Checkout buttons during the promotion.

-- Support for PayPal's Instant Update API, which will allow the shipping method to be selected while on the PayPal page, and save one or two steps when using Express Checkout.

 

--Glen

 

Thanks for your thoughts Glen!

 

-- Josh

Link to comment
Share on other sites

Oh wait, I just got approved for WPP on paypal's website. I thought I could just use the PayPal Website Payments Pro (US) Direct Payments and Express Checkout modules in the payment module section. Do i need to install this? Because I tried using those and when I clicked confirm order, I got "Security header is not valid." Searching for those errors led me to this huge thread. Is this an enhancement of the default modules or what?

Link to comment
Share on other sites

Oh wait, I just got approved for WPP on paypal's website. I thought I could just use the PayPal Website Payments Pro (US) Direct Payments and Express Checkout modules in the payment module section. Do i need to install this? Because I tried using those and when I clicked confirm order, I got "Security header is not valid." Searching for those errors led me to this huge thread. Is this an enhancement of the default modules or what?

 

This module was written long before the modules included with RC2a were released. The included modules provide basic functionality, while this one provides enhanced features such as showing the shopping cart contents on PayPal. The installation process for this module is a bit more involved.

 

--Glen

Link to comment
Share on other sites

So am I able to upgrade to this version? I wouldn't mind a few extra features. I also hoping it would solve my Security Head is no Valid error I get when I enter my CC info and press submit. Oddest error since the API credentials are correct (double and triple checked) and aside from that, no other info is asked for Paypal

Link to comment
Share on other sites

REALLY NEED HELP!!!

 

After I click continue the final time before the checkout confirmation page, I keep getting an error saying:

 

An error occured when we tried to process your credit card.

 

Shipping Address State Empty (10729)

The field Shipping Address State is required

 

The state is definitely in the field and I can't figure out where the problem is. I thought it was because I didn't have SSL at first, so I had it installed but even with SSL, I'm getting the same error.

Link to comment
Share on other sites

Thanks for the answer SteveDallas.

 

Since it's not possible via direct paymentm we would like to do it via express checkout. The problem is that when the customer is redirected on the paypal website, he is invited either to pay and creating a paypal account at the same time or paying with an already existing account. We had a confirmation that it's possible to remove the forced subscription to paypal on the left to put a simple credit card payment but I can't get what parameters I have to give or if it is a specific webpage I must redirect the customer to so that this forced subscription doesn't appear and just let the customer pay directly.

 

Any ideas ?

 

Thanks !

Link to comment
Share on other sites

REALLY NEED HELP!!!

 

After I click continue the final time before the checkout confirmation page, I keep getting an error saying:

 

An error occured when we tried to process your credit card.

 

Shipping Address State Empty (10729)

The field Shipping Address State is required

 

The state is definitely in the field and I can't figure out where the problem is. I thought it was because I didn't have SSL at first, so I had it installed but even with SSL, I'm getting the same error.

Which version of this module did you install?

 

--Glen

Link to comment
Share on other sites

Thanks for the answer SteveDallas.

 

Since it's not possible via direct paymentm we would like to do it via express checkout. The problem is that when the customer is redirected on the paypal website, he is invited either to pay and creating a paypal account at the same time or paying with an already existing account. We had a confirmation that it's possible to remove the forced subscription to paypal on the left to put a simple credit card payment but I can't get what parameters I have to give or if it is a specific webpage I must redirect the customer to so that this forced subscription doesn't appear and just let the customer pay directly.

 

Any ideas ?

 

Thanks !

There appears to be a way to use the Express Checkout API to do what you want to do, but the implementation is outside the scope of this topic, which is supporting the WPP module.

 

What you need is a payment module using the Express Checkout API as a more or less standard osCommerce payment module (no Express Checkout buttons). In the SetExpressCheckout request, you would set the optional parameter "LandingPage" to "Billing". This should do what you want.

 

I am unaware of any existing payment module that operates this way. If you want to discuss this further, contact me via PM.

 

--Glen

Link to comment
Share on other sites

So am I able to upgrade to this version? I wouldn't mind a few extra features. I also hoping it would solve my Security Head is no Valid error I get when I enter my CC info and press submit. Oddest error since the API credentials are correct (double and triple checked) and aside from that, no other info is asked for Paypal

 

Yes, you are able to upgrade to this version, but you will need different API credentials. This module was written before the API Signature access method was available, and has not yet been updated to support it. (It's on my list of things to do.) You will need to download an API Certificate and upload it to your server as described in the installation instructions.

 

I don't know why you are receiving the Security Header is not Valid error with your current module, but if there is a problem, it would likely appear with this module as well.

 

--Glen

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...