Tips and Tricks HQ Forum

Support Forum for Tips and Tricks HQ Products

Register or log in - lost password? (Having an issue with the forum login?)

Search the Forum

Our Products

Tips and Tricks HQ Forum » General Stuff » Instructions/F.A.Q

PayPal Enhanced Checkout Issue

(21 posts) (8 voices)
  • Started 2 years ago by Ivy
  • Latest reply from wzp
  • Possible Solutions (Related Topics):
    1. Paypal wrong email address issue
    2. Paypal Enhanced Checkout
    3. Paypal Enhanced Checkout Clearing
    4. Adding Paypal recurring commission button issues
    5. eStore - 2checkout download link issue

Tags:

  • PayPal
  • PayPal Enhanced Checkout Issue.
123Next »
  1. Ivy
    Administrator

    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":

    http://www.tipsandtricks-hq.com/ecommerce/wp-estore-instant-digital-product-delivery-499

    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".

    Posted 2 years ago #
  2. stevecas
    Inactive

    This 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.

    Posted 2 years ago #
  3. Ivy
    Administrator

    Hi, 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:

    http://www.tipsandtricks-hq.com/forum/topic/how-and-when-to-enable-debug-and-what-does-it-do

    Posted 2 years ago #
  4. stevecas
    Inactive

    Hi 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.

    Posted 2 years ago #
  5. Ivy
    Administrator

    Hi, 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:

    http://www.tipsandtricks-hq.com/forum/topic/list-of-plugins-that-dont-play-nice-conflicting-plugins

    Posted 2 years ago #
  6. njevic
    Member

    Hi - 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.0\r\n";
    $header .= "Host: http://www.paypal.com:443\r\n";
    $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
    $header .= "Content-Length: " . strlen($req) . "\r\n\r\n";

    $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['tx'];
    $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.0\r\n";
    $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
    $header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
    $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

    Posted 2 years ago #
  7. amin007
    Key Master

    They 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:

    https://cms.paypal.com/au/cgi-bin/?&cmd=_render-content&content_ID=developer/e_howto_html_Appx_websitestandard_htmlvariables

    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.

    Posted 2 years ago #
  8. njevic
    Member

    Thanks - 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

    Posted 2 years ago #
  9. amin007
    Key Master

    I 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 :)

    Posted 2 years ago #
  10. njevic
    Member

    Awesome. I'll keep checking in.

    Should I keep checking this thread, or will you post it somewhere else?

    Thanks,
    Nick

    Posted 2 years ago #

RSS feed for this topic

123Next »

Reply »

You must log in to post.

Tips and Tricks HQ  | WordPress Shopping Cart  | WP Affiliate Software  | WordPress Membership Plugin