web-dev-qa-db-ja.com

PayPalAPI-アカウントが有効/存在/確認済みであることを確認します

メールアドレスだけでPaypalアカウントの有効性を確認できた人はいますか?

AdaptiveAccounts GetVerifiedStatus(Paypal自身の言葉で)は彼らの主要な戦略的顧客(以下を参照)によってのみ使用され、アカウントが存在して検証されているかどうかを電子メールアドレスに基づいて確認する他の方法を見つけることができません。

指定されたすべてのフィールドで有効なNAME検索を実行しても機能しませんが、自分で試してみてください。

https://devtools-Paypal.com/apiexplorer/AdaptiveAccounts

私はかなり長い間彼らのアダプティブペイメントを使用してきました、そして私たちの売り手の多くが彼らのPaypalアカウントを私たちのサイトに間違って入力することに成功していることに常に驚いています。

Paypalは、支払いとコミッションを受け取るサービスを提供して喜んでいるようですが、処理前に受信者を確認できるコアで非常に基本的な機能を提供するつもりはありません。

彼らへの私の質問に対するPaypalサポートの応答:

Paypalアカウントが確認済みかどうかを確認するためのAPIは、GetVerifiedStatusAPIのみです。 matchCriteriaのNONEの値はサポートされていますが、非常に大規模な戦略的パートナーや実際の金融機関に対してのみサポートされています。私たちのアプリレビューチームには、その価値へのアクセスを提供するための厳しい要件があります。残念ながら、現在、アカウントでメールアドレスが確認されたかどうかを通知するAPIはありません。

お待ちいただいてありがとうございます。

うまくいけば、他の誰かがこの機能を実行するためになんとかやってきたある種のハックがありますか?

14
Jordan
<?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);



?>
2
Sunil Sharma

二次受信者としてテストされる電子メールで連鎖支払いを設定しようとするPayAPIにリクエストを発行できます。連鎖支払いはアカウントを持たない受信者への支払いを受け付けないため、入力メールがPaypalアカウントに対応していない場合、APIはエラーを返します(そうでない場合は、ペイキーが返され、破棄されます) 。

0
splinter123

ワンオフとして、「パスワードをお忘れですか?」を使用できます。メールを入力するオプションを選択すると、そのメールのアカウントが存在しない場合に通知されます。

フォームにはCAPTCHAが含まれているため、コーディングソリューションを探している場合は、おそらくあまり使用されません。

0
Neil Robertson