加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

是否是有效的PayPal电子邮件地址(PHP)

发布时间:2020-12-13 17:47:50 所属栏目:PHP教程 来源:网络整理
导读:我正在使用paypal自适应支付,我需要验证商店/卖家给出的paypal api的电子邮件地址,以便付款可以直接由客户提供给商店. 我想检查一下,如果商店给出的电子邮件是有效的PayPal电子邮件地址,并且他/她已经注册了paypal. 告诉我PayPal是否支持并允许应用程序访问.
我正在使用paypal自适应支付,我需要验证商店/卖家给出的paypal api的电子邮件地址,以便付款可以直接由客户提供给商店.

我想检查一下,如果商店给出的电子邮件是有效的PayPal电子邮件地址,并且他/她已经注册了paypal.

告诉我PayPal是否支持并允许应用程序访问.

并在php中给我示例代码

解决方法

是的PayPal通过使用“GetVerifiedStatus”API支持此功能,您必须输入电子邮件地址,名字和姓氏作为必需参数,它将返回如下响应:

Response:
responseEnvelope.timestamp: 2014-10-01T01%3A17%3A10.081-07%3A00
responseEnvelope.ack: Success
responseEnvelope.correlationId: ce5a28138ca78
responseEnvelope.build: 13068405
accountStatus: VERIFIED
userInfo.emailAddress: XXXXXXX
userInfo.accountType: BUSINESS
userInfo.accountId: XXXXXXXX
userInfo.name.salutation: 
userInfo.name.firstName: Eshan+Business+Test
userInfo.name.middleName: 
userInfo.name.lastName: Account
userInfo.name.suffix: 
userInfo.businessName: Eshan+New+Business+Name

你可以使用下面的PHP代码:

<?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 = "XXXXXXXXXXXXXXXXXXX";                                //PayPal Test API Credentials,Replace it with live if in live mode
$API_Password = "XXXXXXXXXXXXXXXXXXX"; 
$API_Signature = "XXXXXXXXXXXXXXXXXX"; 
$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" =>"put email address to check ","firstName" =>"XXXXX","lastName" =>"XXXXXX","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 . "rn" .
                                                "X-PAYPAL-SECURITY-SIGNATURE:  " . $API_Signature . "rn" .
                                                "X-PAYPAL-SECURITY-PASSWORD:   " . $API_Password . "rn" .
                                                "X-PAYPAL-APPLICATION-ID:      " . $API_AppID . "rn" .
                                                "X-PAYPAL-REQUEST-DATA-FORMAT: " . $API_RequestFormat . "rn" .
                                                "X-PAYPAL-RESPONSE-DATA-FORMAT:" . $API_ResponseFormat . "rn" 
                                    ));


     $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>";  
?>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读