使用电子邮件地址检查 PayPal 帐户是不是存在?

Posted

技术标签:

【中文标题】使用电子邮件地址检查 PayPal 帐户是不是存在?【英文标题】:Check If PayPal Account Exists Using Email Address?使用电子邮件地址检查 PayPal 帐户是否存在? 【发布时间】:2016-08-20 21:56:37 【问题描述】:

在我的 ios 应用中,我需要检查用户的 PayPal 电子邮件地址是否有效。实现这一点的最简单方法是什么?我一直在研究使用 GetVerifiedStatus api 并尝试了以下代码:

NSDictionary *dict1 = [[NSDictionary alloc]initWithObjectsAndKeys:email, @"emailAddress", nil];

NSDictionary *postDict = [[NSDictionary alloc]initWithObjectsAndKeys: dict1,@"accountIdentifier",@"NONE",@"matchCriteria",
                          [[NSDictionary alloc] initWithObjectsAndKeys:@"en_US", @"errorLanguage", @"detailLevel", @"ReturnAll", nil], @"requestEnvelope", nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://svcs.sandbox.paypal.com/AdaptiveAccounts/GetVerifiedStatus"]] cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:60.0];

[request setHTTPMethod:@"POST"];
[request addValue:@"your_user_id" forHTTPHeaderField:@"X-PAYPAL-SECURITY-USERID"];
[request addValue:@"your_password" forHTTPHeaderField:@"X-PAYPAL-SECURITY-PASSWORD"];
[request addValue:@"your_signature" forHTTPHeaderField:@"X-PAYPAL-SECURITY-SIGNATURE"];
[request addValue:@"APP-80W284485P519543T" forHTTPHeaderField:@"X-PAYPAL-APPLICATION-ID"];
[request addValue:@"JSON" forHTTPHeaderField:@"X-PAYPAL-REQUEST-DATA-FORMAT"];
[request addValue:@"JSON" forHTTPHeaderField:@"X-PAYPAL-RESPONSE-DATA-FORMAT"];
[request addValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request addValue:@"en_US" forHTTPHeaderField:@"Accept-Language"];

NSError *dError = nil;
NSData *postData = [NSJSONSerialization dataWithJSONObject:postDict options:0 error:&dError];

[request setHTTPBody:postData];

NSError *error = nil;
NSHTTPURLResponse *res = nil;

NSData *retData = [NSURLConnection sendSynchronousRequest:request returningResponse:&res error:&error];

if (error)

    NSLog(@"Error getting paypal verification: %@", error);

else


    NSError *jsonError = nil;
    NSDictionary *details = [NSJSONSerialization JSONObjectWithData:retData options:kNilOptions error:&jsonError];

    if (jsonError != nil) 

        NSLog(@"Error parsing JSON %@", jsonError);
    
    else 

        NSLog(@"Paypal Verified: %@", details);

        [self savePayPal];
    


但它无法正常工作,我得到以下响应:

Paypal 已验证: 错误 = ( 类别=应用程序; 域=平台; 错误ID = 580023; message = "无法确定 PayPal 账户状态"; 严重性=错误; 子域 = 应用程序; ); 响应信封 = 确认 = 失败; 构建 = 21336090; 相关 ID = 96eea5ecc47fb; 时间戳=“2016-04-26T13:41:52.437-07:00”; ;

那么有人知道为什么我会收到“无法确定 PayPal 帐户状态”吗?这是验证 PayPal 电子邮件地址的最佳方法吗?

【问题讨论】:

【参考方案1】:

根据错误消息,您的 API 请求中的电子邮件地址不是现有的 PayPal 沙盒帐户,因此 PayPal 会抛出“无法确定 PayPal 帐户状态”错误消息。 你可以在 developer.paypal.com 注册一个沙盒账号,参考https://developer.paypal.com/docs/integration/paypal-here/sandbox-testing/managing-sandbox-accounts/?mark=sandbox,然后把这个新的沙盒账号放到你的API请求中,试试看。

【讨论】:

请查看here

以上是关于使用电子邮件地址检查 PayPal 帐户是不是存在?的主要内容,如果未能解决你的问题,请参考以下文章

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

PayPal 沙盒帐户 - “电子邮件已存在”

确认 PayPal 沙盒帐户电子邮件

PayPal 自适应付款 - 错误 520009 - 帐户受到限制

检查电子邮件是不是存在,仅对gmail帐户有效,其他无效

PayPal IPN - 使用不同的电子邮件将用户注册到 PayPal 帐户