Jump to content

not getting reponse back from paypal post


Recommended Posts

thanks in advance

 

I am using Yahoo webhost with PHP 5.3.6.

 

The application is returning from a Paypal Sandbox transaction. I have the settings on my sandbox correct. I am trying to get the transaction info.

 

i put in some debugging lines so now I get this at the top of the webpage:

 

"CURL_INIT Resource id #3 Response: STATUS: "

 

i perform a $_GET on the calling page and I do get that info displayed.

i try to print what is returned from the function below and get nothing

 

 

Notice the Response and STATUS: have NO info

 

This is code(thanks Torleif Berger who's currently not available) from another page that does the call after Paypal returns to it:

 

<?php include 'process_pdt.function.php'; 

$payment_data = isset($_GET['tx']) 
              ? process_pdt($_GET['tx']) 
              : FALSE; 

$current_url = 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']; 
?>
-----------------------------------------

The process_pdt code follows

<?php
<?php include 'token'; 

/** 
* Processes a PDT transaction id. 
* 
* @author     Torleif Berger 
* @link       http://www.geekality.net/?p=1210 
* @copyright  © 2011 www.geekality.net 
* @return     The payment data if $tx was valid; otherwise FALSE. 
*/ 
function process_pdt($tx) 
{ 

        // Init cURL 
        $request = curl_init(); 
printf("CURL_INIT %s\n",$request);

        // Set request options 
        curl_setopt_array($request, array 
        ( 
                CURLOPT_URL => 'https://www.sandbox.paypal.com/cgi-bin/webscr', 
                CURLOPT_POST => TRUE, 
                CURLOPT_POSTFIELDS => http_build_query(array 
                ( 
                        'cmd' => '_notify-synch', 
                        'tx' => $tx, 
                        'at' => $my_token, 
                )), 
                CURLOPT_RETURNTRANSFER => TRUE, 
                CURLOPT_HEADER => FALSE, 
                CURLOPT_SSL_VERIFYPEER => TRUE, 
                CURLOPT_CAINFO => 'cacert.pem', 
        )); 

        // Execute request and get response and status code 
        $response = curl_exec($request); 
printf("Response: %s\n", $response);

      $status   = curl_getinfo($request, CURLINFO_HTTP_CODE); 
printf("STATUS: \n",$status );

        // Close connection 
        curl_close($request); 

        // Validate response 
        if($status == 200 AND strpos($response, 'SUCCESS') === 0) 
        { 
                // Remove SUCCESS part (7 characters long) 
                  $response = "SUCCESS";
/*              $response = substr($response, 7); 

                // Urldecode it 
                $response = urldecode($response); 

                // Turn it into associative array 
                preg_match_all('/^([^=\r\n]++)=(.*+)/m', $response, $m, PREG_PATTERN_ORDER); 
                $response = array_combine($m[1], $m[2]); 

                // Fix character encoding if needed 
                if(isset($response['charset']) AND strtoupper($response['charset']) !== 'UTF-8') 
                { 
                        foreach($response as $key => $value) 
                        { 
                                $value = mb_convert_encoding($value, 'UTF-8', $response['charset']); 
                        } 

                        $response['charset_original'] = $response['charset']; 
                        $response['charset'] = 'UTF-8'; 
                } 

                // Sort on keys 
                ksort($response); 
*/
                // Done! 
                return $response; 
        } 

        $response = "FAIL";
        return FALSE; 
}

Link to comment
Share on other sites

no I'm not. Using PDT.  Don't really need IPN for this app.  Just need to get the info from a class registration payment from paypal.  the curl_init seems to work.  it's the

     $response = curl_exec($request);

and

      $status   = curl_getinfo($request, CURLINFO_HTTP_CODE);

 

that don't appear to be working.  Is there a timing issue? I got the code from someone else but it's missing something.

 

thanks

 

 

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

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

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.