Tips and Tricks HQ Support Portal › Forums › General Stuff › Instructions/F.A.Q › PayPal Enhanced Checkout Issue
Tagged: PayPal, PayPal Enhanced Checkout Issue.
- This topic has 20 replies, 8 voices, and was last updated 13 years, 10 months ago by wzp.
-
AuthorPosts
-
September 4, 2010 at 7:43 am #400IvyMember
PayPal’s new enhanced checkout has a few issues. One of the main issues is that the Post payment data is not getting posted back to the “Return Page”. You can read more about this on PayPal’s Developer site here:
https://www.x.com/thread/44960
If any of your customer gets the enhanced checkout version of PayPal then they will see the following two issues.
– The shopping cart will not clear when they land on the “Thank You” page.
– If you are displaying the download links on the “Thank You” page then the links won’t be there.
a) The cart not clearing when the customer returns to the site. We have added a workaround to the eStore plugin to address the cart clearing issue.
b) The download links not displaying on the “Thank You Page”. The eStore needs the Post Payment Data to verify some information before it displays the links on the Thank You Page. Remember the eStore will never send out or post the link for a purchase if it can not complete the verification process.
eStore Work Around:
We have added a feature in eStore that uses the PDT option of PayPal to get the payment details on the “Thank You” page so it can display the links. You can read more about this in the following article under the sections called “How to Use the Instant Digital Delivery Feature”:
WP eStore – Instant Digital Product Delivery on A Thank You Page
Simple Shopping Cart Work Around:
We have added an option (“Reset Cart After Redirection to Return Page”) in the Simple Shopping Cart’s settings menu. When you check this option the shopping cart will be reset when the customer lands on your “Thank You Page”.
September 6, 2010 at 7:16 am #23920stevecasMemberThis is causing me grief, not only do the download links not show on the thank you page, and as mentioned above the shopping cart does not clear but also the customer does not receive the email with the download links.
Is there a way to confirm this is a paypal problem and not something I’ve done wrong, incidentally it was working fine 2 days ago.
September 6, 2010 at 8:48 am #23921IvyMemberHi, The customers should be receiving the emails as this is not effected by the PayPal enhanced checkout issue. Can you please do a test transaction with the debug turned on. The following post will explain more about using the debug:
https://support.tipsandtricks-hq.com/forums/topic/how-and-when-to-enable-debug-and-what-does-it-do
September 6, 2010 at 12:37 pm #23922stevecasMemberHi Ivy
Problem sorted and it was all my fault! I had a plugin called Bad Behaviour that was blocking my server from accessing the appropriate files. Bad Behaviour de-activated now and all working okay.
September 7, 2010 at 1:18 am #23923IvyMemberHi, I am glad it is all working now. You can see a list of all the plugins that do not play nice here including the Bad Behavior Plugin:
September 14, 2010 at 2:31 am #23924njevicSpectatorHi – I also am not getting a encrypted link in the Thank You page using [wp_eStore_transaction_result:end]. Auto-redirect is off; and the post-payment box is checked in the Settings page.
I spoke with PayPal thinking that I could always default to the “classic” checkout, but that is not the case.
As a workaround, they offered the following, which I don’t understand…
Any merits in trying to use a band-aide (if this works) as a temporary solution?
========
Hello Nick,
Sorry for the delay in my response. In regards to our conversation I have created this service request for further inquiries. By replying to it in the spaces provided it will be directed to myself or another PayPal Merchant Technical Support member if I am unavailable. In regards to Payment Data Transfer (PDT), To enable Payment Data Transfer, please follow these steps:
Go to the PayPal website and log in to your account.
Click “Profile” at the top of the page.
Click the “Website Payment Preferences” link in the Selling Preferences column.
Click the Payment Data Transfer “On” radio button.
Click “Save.”
A confirmation message will appear at the top of the page indicating that you have successfully enabled Payment Data Transfer. As part of the Payment Data Transfer process you will need to pass PayPal the identity token, along with the transaction token, in order to display the transaction details to your customers. Your identity token will appear within that message, as well as below the PDT On/Off radio buttons.
In your return page you should have some code that does something similar to the following that reads in the post and validates it:
****Begin Sample*****
// read the post from PayPal system and add ‘cmd’
$req = ‘cmd=_notify-validate’;
foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= “&$key=$value”;
}
// post back to PayPal system to validate
$header .= “POST /cgi-bin/webscr HTTP/1.0rn”;
$header .= “Host: http://www.paypal.com:443rn”;
$header .= “Content-Type: application/x-www-form-urlencodedrn”;
$header .= “Content-Length: ” . strlen($req) . “rnrn”;
$fp = fsockopen (‘ssl://www.paypal.com’, 443, $errno, $errstr, 30);
….. and so on
****End Sample*****
You would need to replace this with a script that reads in the GET data and validates in a similar fashion. For example replacing it with something similar to this (entering your identity token referenced above in the space noted below):
****Begin Sample*****
// read the post from PayPal system and add ‘cmd’
$req = ‘cmd=_notify-synch’;
$tx_token = $_GET;
$auth_token = “ENTER YOUR IDENTITY TOKEN HERE”;
$req .= “&tx=$tx_token&at=$auth_token”;
// post back to PayPal system to validate
$header .= “POST /cgi-bin/webscr HTTP/1.0rn”;
$header .= “Content-Type: application/x-www-form-urlencodedrn”;
$header .= “Content-Length: ” . strlen($req) . “rnrn”;
$fp = fsockopen (‘ssl://www.paypal.com’, 443, $errno, $errstr, 30);
*****End Sample*****
After the information is posted the PayPal will reply to the request with either a SUCCESS plus transaction data or a FAIL with and error code. I cannot see your code so can not give you specifics as to what needs to be changed directly but you are most likely pulling data from the POST directly. You would not pull data direcrtly from the resposne or “$res” using the normal as the variable names would still be the same in the response. Many integrations at this point using PHP will explode the data to parse it using something similar tot he following
Other PDT scripts you can build from/compare to can be found here:
https://www.paypaltech.com/pdtgen/
=====================
Thanks,
Nick
September 14, 2010 at 4:12 am #23925amin007ParticipantThey gave you the wrong example unfortunately (PDT is a different option and takes more custom work to setup from the customers side so I try to avoid it).
The option that eStore uses is the method whereby PayPal POST the data back to the “Return URL” using HTTP POST. Basically you specify a variable called “rm” when you submit the payment data to PayPal and PayPal will post the data back to the return URL after the transaction.
This is documented on the PayPal’s site here:
That page is pretty long so search for the following text on that page to find it quickly:
“Table 7. HTML Variables for Displaying PayPal Checkout Pages”
Once you find table 7 look for the variable name called “rm” and read the description.
So, basically this functionality is broken on PayPal’s new enhanced checkout at the moment and I am not sure when they will fix it.
May be if you rephrase your question to PayPal you will get a better answer? I contacted them too but haven’t heard anything yet.
Let me know if my explanation was confusing.
September 14, 2010 at 1:10 pm #23926njevicSpectatorThanks – I get it (from 30,000 feet). The punch line is wait for PayPal…
Do you think that once the enhanced checkout is fixed by PayPal the transaction_result script will just start working as intended, or will it require some massaging; or is it too difficult to tell at this point?
Nick
September 15, 2010 at 3:04 am #23927amin007ParticipantI am not gonna wait for PayPal. I have already started looking into alternate solutions and I think I am going to use the PDT option to get the payment data from PayPal on the “Thank You” page and display the links there.
The PDT option requires the seller to modify his/her PayPal profile which is why I tried to stay away from it in the past (I like to use the default system as much as possible) but it looks like this is probably the only alternative.
I should have the new system ready in a few days.
Bottom line… you will be able to display the download links on the “Thank You” page soon
September 17, 2010 at 12:18 am #23928njevicSpectatorAwesome. I’ll keep checking in.
Should I keep checking this thread, or will you post it somewhere else?
Thanks,
Nick
September 17, 2010 at 8:24 am #23929amin007ParticipantAdded the new feature. The documentation has been updated to reflect this change:
http://www.tipsandtricks-hq.com/ecommerce/wp-estore-instant-digital-product-delivery-499
September 17, 2010 at 10:16 am #23930artsMemberShould we update for this?
I got version v4.3.3
September 17, 2010 at 12:37 pm #23931artsMemberOk I found it…
But, my first problem was the corrupted file in Windows IE… ok solved (method 6)
Then this problem with the download link not in the “Thank you” page….. ok solved
And now…. files (47MB) from the encrypted links are returning a 0KB
Tried different settings, default returning 772kb, method 2 returning 772kb
There are no .htaccess and .htpassword file in the “downloads” directory
Downloaded and unzipped the real urls for these files and they all downloaded and unzipped ok. I do not have any spaces in the file name.
Please solve my problem this time without a new problem :}
September 18, 2010 at 12:05 am #23932njevicSpectatorAfter enabling PDT in PayPal, the instructions read:
“Specify the PDT Identity Token in the “PDT Identity Token” field of the PayPal Payment Gateway Settings menu of WP eStore.”
When I go to the Settings > Payment Gateway Settings I don’t see anything for PDT. I only see Use PayPal Gateway, PayPal address, Use PayPal Profile Based Shipping, Customize the Return Button Text, Custom Checkout Page Style Name.
Where do I identify the PDT token?
Thanks,
Nick
September 18, 2010 at 1:04 am #23933wpCommerceModeratorYou might need an update as this feature has been added lately. Please have a look on the following post on how to get update –
https://support.tipsandtricks-hq.com/forums/topic/how-and-when-do-you-get-an-update
-
AuthorPosts
- You must be logged in to reply to this topic.