Hacker News new | ask | show | jobs
by Procrastes 4338 days ago
That's very close to what I've always done. I have a notification to warn me if I have new failed sign-ups due to payment and keep Paypal responses to catch all sorts of problems. It's just good practice to expect things to fail sometimes. That's also why I have my status page hosted with a different provider and twitter status as a back-up for that.

My favorite Paypal annoyance is that for split payments there's no way to verify that a seller's Paypal account qualifies for split payments (has to be a business account and verified), without trying to send a payment. At least, that's the way it was last it mattered to me.

1 comments

Actually you can check if an account is verified!

Here's a snippet in Ruby I use to check. It's not perfect, but it catches a lot of cases:

    # ...

    def initialize
      @request = PaypalAdaptive::Request.new
    end
    
    # ...

    def verified_status( opts={} )
      begin
        opts.assert_keys! :first_name, :last_name, :paypal_account_email
        result = @request.get_verified_status(
          emailAddress: opts[:paypal_account_email],
          firstName: opts[:first_name],
          lastName: opts[:last_name],
          matchCriteria: 'NAME'
        )
        Rails.logger.debug "PAYPAL VERIFICATION: #{result.inspect}"
        return result.success? && result['accountStatus'] == 'VERIFIED'
      rescue
        return false
      end
    end
Here's the API docs: https://developer.paypal.com/docs/classic/api/adaptive-accou...

What I can't stand is that accounts in some countries (at least India) can't send payments from balance. So you can't get your fee. This is mentioned nowhere in the docs, a customer just hit it one day and that's how I found out. I asked paypal what other countries can't send payments and they said... wait for it... they "don't have a list". I kid you not: https://twitter.com/rfunduk/status/412980259001102336