如何使用php api检查电子邮件或手机paypal帐户状态?

时间:2015-04-05 15:44:58

标签: php api paypal paypal-adaptive-payments

如何使用php api检查电子邮件或手机paypal帐户状态?

好的,如果我想汇款到这个电子邮件paypal(xxx@xx.com)或手机(1234567890

在汇款之前,我可以查看xxx@xx.com1234567890状态帐户吗? EG: Active or Not active

1 个答案:

答案 0 :(得分:1)

是的,您可以通过电子邮件或电话号码获取PayPal帐户的状态。您应该为此目的使用“GETVERIFIEDSTATUS”API。您必须提供姓名和电子邮件/电话。请参阅以下链接获取API信息:

https://developer.paypal.com/webapps/developer/docs/classic/api/adaptive-accounts/GetVerifiedStatus_API_Operation/#id098QF50F04Y

除此之外,我已经包含了php代码:

使用电子邮件时     

  $url = trim("https://svcs.sandbox.paypal.com/AdaptiveAccounts/GetVerifiedStatus");  //set PayPal Endpoint to sandbox
//$url = trim("https://svcs.paypal.com/AdaptiveAccounts/GetVerifiedStatus");         //set PayPal Endpoint to Live 

$API_UserName = "XXXXXXXXX";                                //PayPal Test API Credentials, Replace it with live if in live mode
$API_Password = "XXXXXXXX"; 
$API_Signature = "XXXXXXXX"; 
$API_AppID = "APP-80W284485P519543T";                                       //Default App ID for Sandbox, replace it with live id if in live mode   
$API_RequestFormat = "NV";
$API_ResponseFormat = "NV";

//Create request payload 
$bodyparams = array (   "requestEnvelope.errorLanguage" => "en_US",
                        "emailAddress" =>"XXXXXXXXX",
                        "firstName" =>"Eshan Business TEST",
                        "lastName" =>"  Account",
                        "matchCriteria" => "NAME"
                    );

// convert payload array into url encoded query string
$body_data = http_build_query($bodyparams, "", chr(38));

try
{
    //create request and add headers
    $params = array("http" => array( 
                                    "method" => "POST",
                                    "content" => $body_data,
                                    "header" => "X-PAYPAL-SECURITY-USERID:     " . $API_UserName . "\r\n" .
                                                "X-PAYPAL-SECURITY-SIGNATURE:  " . $API_Signature . "\r\n" .
                                                "X-PAYPAL-SECURITY-PASSWORD:   " . $API_Password . "\r\n" .
                                                "X-PAYPAL-APPLICATION-ID:      " . $API_AppID . "\r\n" .
                                                "X-PAYPAL-REQUEST-DATA-FORMAT: " . $API_RequestFormat . "\r\n" .
                                                "X-PAYPAL-RESPONSE-DATA-FORMAT:" . $API_ResponseFormat . "\r\n" 
                                    ));


     $ctx = stream_context_create($params);  //create stream context
     $fp = @fopen($url, "r", false, $ctx);   //open the stream and send request
     $response = stream_get_contents($fp);   //get response

    //check to see if stream is open
     if ($response === false) 
     {
        throw new Exception("php error message = " . "$php_errormsg");
     }

     fclose($fp);    //close the stream

    //parse the ap key from the response

    $keyArray = explode("&", $response);

    foreach ($keyArray as $rVal)
    {
        list($qKey, $qVal) = explode ("=", $rVal);
            $kArray[$qKey] = $qVal;
    }

//print the request to screen for testing purposes
echo "Header info:" . "<br>";
print_r($params['http']['header']);
echo "<br><br>" . "Request Info:" . "<br>";
print_r(urldecode($params['http']['content']));
echo "<br><br>" . "Response:" . "<br>";

//print the response to screen for testing purposes
    If ( $kArray["responseEnvelope.ack"] == "Success") 
    {

         foreach ($kArray as $key =>$value)
         {
          echo $key . ": " .$value . "<br/>";
         }
    }
    else 
    {
        foreach ($kArray as $key =>$value)
        {
        echo $key . ": " .$value . "<br/>";
        }       
    }

 }

catch(Exception $e) 
{
    echo "Message: ||" .$e->getMessage()."||";
}

echo "<br>";  
?>

使用电话号码时

<?php

  $url = trim("https://svcs.sandbox.paypal.com/AdaptiveAccounts/GetVerifiedStatus");  //set PayPal Endpoint to sandbox
//$url = trim("https://svcs.paypal.com/AdaptiveAccounts/GetVerifiedStatus");         //set PayPal Endpoint to Live 

$API_UserName = "XXXXXXXXXXXX";                                //PayPal Test API Credentials, Replace it with live if in live mode
$API_Password = "XXXXXXXXXXXX"; 
$API_Signature = "XXXXXXXXXXX"; 
$API_AppID = "APP-80W284485P519543T";                                       //Default App ID for Sandbox, replace it with live id if in live mode   
$API_RequestFormat = "NV";
$API_ResponseFormat = "NV";

//Create request payload 
$bodyparams = array (   "requestEnvelope.errorLanguage" => "en_US",
                        "accountIdentifier.mobilePhoneNumber" =>"4088359375",
                        "firstName" =>"Eshan Personal Test",
                        "lastName" =>"  Account",
                        "matchCriteria" => "NAME"
                    );

// convert payload array into url encoded query string
$body_data = http_build_query($bodyparams, "", chr(38));

try
{
    //create request and add headers
    $params = array("http" => array( 
                                    "method" => "POST",
                                    "content" => $body_data,
                                    "header" => "X-PAYPAL-SECURITY-USERID:     " . $API_UserName . "\r\n" .
                                                "X-PAYPAL-SECURITY-SIGNATURE:  " . $API_Signature . "\r\n" .
                                                "X-PAYPAL-SECURITY-PASSWORD:   " . $API_Password . "\r\n" .
                                                "X-PAYPAL-APPLICATION-ID:      " . $API_AppID . "\r\n" .
                                                "X-PAYPAL-REQUEST-DATA-FORMAT: " . $API_RequestFormat . "\r\n" .
                                                "X-PAYPAL-RESPONSE-DATA-FORMAT:" . $API_ResponseFormat . "\r\n" 
                                    ));


     $ctx = stream_context_create($params);  //create stream context
     $fp = @fopen($url, "r", false, $ctx);   //open the stream and send request
     $response = stream_get_contents($fp);   //get response

    //check to see if stream is open
     if ($response === false) 
     {
        throw new Exception("php error message = " . "$php_errormsg");
     }

     fclose($fp);    //close the stream

    //parse the ap key from the response

    $keyArray = explode("&", $response);

    foreach ($keyArray as $rVal)
    {
        list($qKey, $qVal) = explode ("=", $rVal);
            $kArray[$qKey] = $qVal;
    }

//print the request to screen for testing purposes
echo "Header info:" . "<br>";
print_r($params['http']['header']);
echo "<br><br>" . "Request Info:" . "<br>";
print_r(urldecode($params['http']['content']));
echo "<br><br>" . "Response:" . "<br>";

//print the response to screen for testing purposes
    If ( $kArray["responseEnvelope.ack"] == "Success") 
    {

         foreach ($kArray as $key =>$value)
         {
          echo $key . ": " .$value . "<br/>";
         }
    }
    else 
    {
        foreach ($kArray as $key =>$value)
        {
        echo $key . ": " .$value . "<br/>";
        }       
    }

 }

catch(Exception $e) 
{
    echo "Message: ||" .$e->getMessage()."||";
}

echo "<br>";  
?>