2016-04-26 12 views
0

私のiOSアプリでは、ユーザーのPayPalメールアドレスが有効かどうかを確認する必要があります。これを実装する最も簡単な方法は何ですか?アイブ氏はGetVerifiedStatus APIを使用して見て、次のコードを試されて:電子メールアドレスを使用してPayPalアカウントが存在するかどうかを確認しますか?

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アカウントのステータスを特定できません」; 重大度=エラー; サブドメイン= Appl ication; } ); responseEnvelope = { ack =失敗; ビルド= 21336090; correlationId = 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リクエストに追加して試してみてください。

+0

[こちら](http://stackoverflow.com/questions/36887028/create-paypal-sandbox-merchant-seller-account)をご確認ください。 – fresher

関連する問題