user2907655
user2907655

Reputation: 1

paypal error: 503 Service Temporarily Unavailable

One month ago we passed from paypal standard to paypal pro. The integration work fine until Sunday: occasionally paypal return me

Payment_status = Completed
Errore = 503<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>503 Service Temporarily Unavailable</title>
</head><body>
<h1>Service Temporarily Unavailable</h1>
<p>The server is temporarily unable to service your
request due to maintenance downtime or capacity
problems. Please try again later.</p>
</body></html>

How can I find where is the problem?

Upvotes: 0

Views: 4700

Answers (1)

raystrach
raystrach

Reputation: 1

The 503 response I was getting was "service unavailable" - not exactly the same as this one. The payment status was 'completed'

I phoned PayPal about it and they said it was a problem at their end which they were trying to resolve. They suggested I retry the call.

Here is what I did and it seems to be working.

//$req = set of key/value pairs sent by paypal
// Step 2: POST IPN data back to PayPal to validate
$ir = 0;
while($ir<3&&($ir==0||strpos($res,'Service Unavailable')>0)) { 
    if($ir!=0) { //wait and try again after 1st try
        //log the problem somehow
        $sam = 1;
         sleep(2);
         unset($res);
    } 
    //setup the call
    $ch = curl_init('https://www.paypal.com/cgi-bin/webscr');
    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $req);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
    curl_setopt($ch, CURLOPT_FORBID_REUSE, 1);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: Close'));

    if( !($res = curl_exec($ch)) ) {
        //log the problem somehow
        curl_close($ch);
        exit;
    }
    curl_close($ch);
    $ir += 1;
}

Upvotes: 0

Related Questions