Announcement

Collapse
No announcement yet.

Paypal 'No Token Passed' & 'Pending PSP' issues

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Paypal 'No Token Passed' & 'Pending PSP' issues

    Hi - I have recently moved a Sellerdeck website from 1&1 shared hosting to a clients Fasthosts dedicated server and added an SSL certificate.

    Since then, if I try to make a payment vía PayPal Express I get an error message 'No Token Passed'.

    If I try to make a payment vía PayPal Website Payments the order sits in the 'Pending Payment Service Provider' folder.

    I have disabled the firewall on this server yet the problem prevails.

    This server runs CENTOS 6.9 x86_64 – cPanel & WHM 64.0 (build 36)

    I have loaded this site onto another dedicated server, this one hosted by InMotion, and PayPal works correctly.

    This server also runs CENTOS 6.9 x86_64 – cPanel & WHM 64.0 (build 36)

    Any ideas?

    Forgot to mention, the Fasthosts server also has a v1.9 installation running which has no problems processing PayPal payments.
    Regards
    David

    #2
    The above should say (but for some reason I can't edit it):

    Forgot to mention, the Fasthosts server also has a M-A-G-E-N-T-O v1.9 installation running which has no problems processing PayPal payments.
    Regards
    David

    Comment


      #3
      Right - I have sorted this out - for anyone who has the same problem, this is the solution that fixed it for me.

      In Sellerdeck I ran Troubleshooting > Site Analysis > Web Site Analysis for both the InMotion and Fasthosts servers.

      The Fasthosts server showed that the following Perl Modules were not installed:
      Crypt::SSLeay
      Net::SSL

      I installed these on my Fasthosts server vía cPanel WHM > Software > Install a Perl Module

      If you have not got access to WHM you would need to request this from your hosting company.
      Regards
      David

      Comment


        #4
        Here's another solution, which isn't covered buy the above -we already had the Perl modules.

        We suddenly started to get 'No Token Passed' when hitting the PayPal button. After MUCH digging about, comparing a working site with the failing one, that one of the scripts in the CGI-BIN directory had changed! Changing it back solved the problem.

        The filename for us was al000001.pm -yours may have a different number. The change was as follows, from line 355:

        NOT working version:

        Code:
        $ssl_socket->print($sData);
        my $buf ='';
        my ($nBuf) = 1024;
        while ($nBuf == 1024)
        {
        $nBuf = $ssl_socket->read($buf, 1024);
        $sResponse .= $buf;
        }
        $nResult = $::SUCCESS;
        WORKING version:

        Code:
        $ssl_socket->print($sData);
        my $buf ='';
        while ($ssl_socket->read($buf, 1024))
        {
        $sResponse .= $buf;
        }
        $nResult = $::SUCCESS;
        I think it may be related to a new version of Crypt::SSLeay, as it seems that we're reversing the actions in this post: https://community.sellerdeck.com/for...ayments-nochex

        I hope that helps someone, somewhere,

        Cheers! -Jc.
        http://www.thegigrig.com/

        Comment


          #5
          Note that editing files in your cgi-bin will only work short-term. If you Refresh your site these files will be re-created using the full source code versions in your Site folder.

          In the above case al000001.pm is created from the Site folder's ACTINIC.PM and the relevant (correct) lines are:
          Code:
              if ($ssl_socket->isa('Net::SSL'))
                  {
                  #
                  # Send the request info to the server
                  #
                  $ssl_socket->print($sData);
                  #
                  # Read the response from the server
                  #
                  my $buf ='';
                  while ($ssl_socket->read($buf, 1024))
                      {
                      $sResponse .= $buf;
                      }
                  $nResult = $::SUCCESS;
                  $sMessage = '';
                  #
                  # TV: I don't know ATM how Net::SSL can resume a connection, so always close the connection until further investigation
                  #
                  $bCloseConnection = $::TRUE;
                  }
          Norman - www.drillpine.biz
          Edinburgh, U K / Bitez, Turkey

          Comment

          Working...
          X