2013-08-01 3 views
1

Я знаю, что в API paypal существует операция addressverify, но документы говорят, что это также требование для отправки адреса и почтового кода пользователя вместе с электронной почтой.проверить только адрес электронной почты Paypal

Я не хочу собирать адрес пользователя, я хочу только убедиться, что если я сделаю платеж на этот адрес электронной почты, он не подведет. И мне нужно иметь возможность делать это независимо от любой транзакции. Мне нужно знать сегодня, что электронная почта, которую я собираюсь отправить транзакцию через три недели, является действительной учетной записью PayPal.

это возможно?

ответ

0

Взгляните на функцию GetVerifiedStatus API PayPal. Это должно делать то, что вам нужно.

+0

это выглядит так! –

+0

Если это сработает для вас, отметьте ответ как принятый, нажав галочку! – sdamashek

+0

это только проверяет, является ли пользователь «проверенным» пользователем PayPal. Не пользователь PayPal в целом. – Ash

0

Моей первой попыткой были адаптивные платежи api GetUserLimits, но это не сработало для меня. Я понимаю, что это ограниченный API.

Я в конечном итоге взломал решение, основанное на факте, что api выдает сообщение об ошибке, когда действительное электронное письмо используется как отправитель и получатель транзакции. Я ищу этот случай, чтобы проверить, действительно ли электронное письмо действительно. (здесь - код рубина)

def getApi() 
    PayPal::SDK.configure(
    :mode  => "sandbox", # Set "live" for production 
    :app_id => "yourAppId", 
    :username => "yourUsername", 
    :password => "yourPassword", 
    :signature => "yourSignature") 

    api = PayPal::SDK::AdaptivePayments.new 
end 

def pay(senderEmail, receiverEmail, amount, trackingId) 
    @api = getApi 

    # Build request object 
    @pay = @api.build_pay({ 
    :actionType => "PAY", 
    :cancelUrl => "https://yourwebsite.com/cancel/" + trackingId, 
    :currencyCode => "USD", 
    :feesPayer => "SENDER", 
    :ipnNotificationUrl => "https://yourwebsite.com/ipn_notify/" + trackingId, 
    :receiverList => { 
     :receiver => [{ 
     :amount => amount,  :email => receiverEmail }] }, 
    :returnUrl => http://www.yourwebsite.com/completed/" + trackingId}) 

    @pay.sender.email = senderEmail 
    #@pay.sender.accountId = 23434 
    # Make API call & get response 
    puts @pay.inspect 
    @response = @api.pay(@pay) 

    if @response.success? 
    @response.payKey 
    completeUrl = @api.payment_url(@response) 
    return {url: completeUrl, payKey: @response.payKey} 
    else 
    raise AccountException.new(@response.error[0]) 
    end 
end 

def isValidAccount(email) 
    begin 
    result = pay(email, email, 1.0) 
    rescue AccountException 
    puts 'in rescue' 
    senderAndReceiverCantbeTheSameErrorCode = 579033 
    if $!.innerError.errorId == senderAndReceiverCantbeTheSameErrorCode 
     return true 
    end 
    end 
    return false 
end 
+0

у вас есть в php? – kunal

Смежные вопросы