API PayPal - убедитесь, что учетная запись действительна/существует/проверена
Кто-нибудь мог проверить действительность учетной записи PayPal только по адресу электронной почты?
AdaptiveAccounts GetVerifiedStatus (в собственных словах PayPal) предназначен только для использования их ключевыми стратегическими клиентами (см. ниже), и я не могу найти другой способ проверить на основе адреса электронной почты, существует ли учетная запись и проверяется.
Даже если действительный поиск NAME со всеми полями не работает, попробуйте сами:
https://devtools-paypal.com/apiexplorer/AdaptiveAccounts
Я использую их Adaptive Payments в течение некоторого времени и постоянно удивляюсь тому, как многие из наших продавцов ошибочно входят в свою учетную запись PayPal на нашем сайте.
Кажется, PayPal рада предоставить услуги для принятия наших платежей и комиссионных, но не желает предоставить основную и очень базовую функцию, чтобы иметь возможность проверять приемники перед обработкой.
Ответ PayPal Support на мой запрос к ним:
Единственный API, который мы видим для проверки, является ли учетная запись PayPal Verified, является API GetVerifiedStatus. Значение NONE для matchCriteria поддерживается, но только для очень крупных стратегических партнеров и/или реальных финансовых учреждений. Наша команда разработчиков приложений имеет строгие требования для обеспечения доступа к этой ценности. К сожалению, в настоящее время у нас нет API, который просто скажет вам, подтвержден ли адрес электронной почты в учетной записи.
Благодарим вас за терпение.
Надеюсь, что какой-то взломать кого-то другого удалось выработать для выполнения этой функции?
Ответы
Ответ 1
Как один раз, вы можете использовать "забыли пароль"? возможность ввести электронное письмо, и вам будет сообщено, нет ли учетной записи с этим письмом.
Форма включает CAPTCHA, поэтому, вероятно, не так много, если вы ищете решение для кодирования.
Ответ 2
Вы можете отправить запрос в Pay API, пытаясь настроить цепочку платежей с помощью электронного письма, которое будет проверяться как вторичный ресивер. Поскольку приложенные платежи не принимают платежи получателям, у которых нет учетной записи, API вернет ошибку, когда входной адрес электронной почты не соответствует учетной записи PayPal (иначе он вернет ключ-ключ, который вы просто выбросите).
Ответ 3
<?php
// create a new cURL resource
$ch = curl_init();
$ppUserID = "******************"; //Take it from sandbox dashboard for test mode or take it from paypal.com account in production mode, help: https://developer.paypal.com/docs/classic/api/apiCredentials/
$ppPass = "*************"; //Take it from sandbox dashboard for test mode or take it from paypal.com account in production mode, help: https://developer.paypal.com/docs/classic/api/apiCredentials/
$ppSign = "********************"; //Take it from sandbox dashboard for test mode or take it from paypal.com account in production mode, help: https://developer.paypal.com/docs/classic/api/apiCredentials/
$ppAppID = "***********"; //if it is sandbox then app id is always: APP-80W284485P519543T
$sandboxEmail = "********************"; //comment this line if you want to use it in production mode.It is just for sandbox mode
$emailAddress = "[email protected]"; //The email address you wana verify
//parameters of requests
$nvpStr = 'emailAddress='.$emailAddress.'&matchCriteria=NONE';
// RequestEnvelope fields
$detailLevel = urlencode("ReturnAll");
$errorLanguage = urlencode("en_US");
$nvpreq = "requestEnvelope.errorLanguage=$errorLanguage&requestEnvelope.detailLevel=$detailLevel&";
$nvpreq .= "&$nvpStr";
curl_setopt($ch, CURLOPT_POSTFIELDS, $nvpreq);
$headerArray = array(
"X-PAYPAL-SECURITY-USERID:$ppUserID",
"X-PAYPAL-SECURITY-PASSWORD:$ppPass",
"X-PAYPAL-SECURITY-SIGNATURE:$ppSign",
"X-PAYPAL-REQUEST-DATA-FORMAT:NV",
"X-PAYPAL-RESPONSE-DATA-FORMAT:JSON",
"X-PAYPAL-APPLICATION-ID:$ppAppID",
"X-PAYPAL-SANDBOX-EMAIL-ADDRESS:$sandboxEmail" //comment this line in production mode. IT IS JUST FOR SANDBOX TEST
);
$url="https://svcs.sandbox.paypal.com/AdaptiveAccounts/GetVerifiedStatus";
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headerArray);
$paypalResponse = curl_exec($ch);
//echo $paypalResponse; //if you want to see whole PayPal response then uncomment it.
curl_close($ch);
echo $data = json_decode($paypalResponse);
?>
Ответ 4
Finde VerifiedStatus On Paypal:(Exists an account on payapal)
GetVerifiedStatusRequest getVerifiedStatusRequest = new GetVerifiedStatusRequest
{
emailAddress = email,
matchCriteria = "NONE"
};
AdaptiveAccountsService service = new AdaptiveAccountsService(Configuration.GetAcctAndConfig());
GetVerifiedStatusResponse response = service.GetVerifiedStatus(getVerifiedStatusRequest);
return response.accountStatus.ToString();