Check if PayPal API/Service is available/up - paypal

I am integrating PayPal into a Java payment service and was wondering if there is easy way to tell if PayPal API is up and running. I checked the documentation and found the error code 10101 - This API Temporarily Unavailable but couldn't find a method that should be used to poll the service. The idea is if the API is down I won't show PayPal as available payment option. The actual integration is Express checkout.

It's very, very rare that Paypal live APIs go down (in 2009 PayPal was doing $3,000 per second in transactions so a downtime costs them LOTS of money). I don't know that I would make an API call just to see if it's down. Just handle the errors when they happen.

Related

PayPal Rest API - Webhooks / IPN - Is it possible to receive eBay payment notifications?

I've been developing a marketplace type platform. Implementing PayPal Payouts seemed to be perfect for dealing with commissions. Especially being as PayPal will be handling all payments too.
I've successfully developed this part of the system. Inc. the webhook and verifying transmissions.
Now I wish to get my eBay sales info into my system. So that we can see it all in one place and have the system work the commissions out for those sales too. Having just invested the time into learning and implementing this PayPal API integration, it would be nice to use it for getting this data too.
So having tested the sandbox app thoroughly for the Payouts, I configured the live one. This is in my PayPal developer account where the app settings are. I've done nothing in my main Paypal account. Am I meant too?
My live webhook URL is just set to log all received data from PayPal. So I waited for a eBay sale and went to check the log but no data received? Am I misunderstanding this? The webhook is subscribed to all events.
The Drupal Commerce shopping cart I'm using already implements a IPN. Is it the IPN that I need to be thinking about? I'd prefer to not interfere with it to be honest, to keep future security updates safer. That said, I suspect there will be a way to extend it.
I guess the actual question is - what is the easiest way to get eBay sales info through PayPal?
Any help would be much appreciated.
eBay has their own system for that called Platform Notifications.
If I'm working with payment data, and I just need extra data from eBay, I will typically start with PayPal IPN / Webhooks and then use the eBay APIs within my IPN app to pull and push data as necessary.
Of course, depending on the scenario, you may decide to build out your primary solution inside of an eBay Platform Notifications app, and then make calls to PayPal APIs within that if you need to pull/push data.

Integrating PayPal's PHP REST API SDK, still a good idea?

I'm currently integrating the PayPal's PHP REST API SDK. However, reading the documentation and the code I've found that the method to get the payer's shipping details is deprecated. Also, PayPal is encouraging to use Braintree's SDK to process credit card payments. Also, the git repository seems to be very quiet.
Thus, here are my two questions :
Is PayPal abandoning the REST API ? Is it still a good idea to use its deprecated methods to return the payer's shipping details ? Or is there another way I haven't discovered yet ?
Is PayPal still a good option for guest credit card payments ? Or do I risk having my e-commerce down suddenly one day ?
I am aware of other solutions that have PayPal support such as Braintree. However, my busisness isn't large enough for them to accept my application so I am stuck with PayPal (coming from Shopify and going independant)
Thanks a lot for your time !
LazyTanuki

PayPal Payments without user interaction

I wanted to ask if someone knows a possibility to pay make PayPal payments without user interaction. I am currently working on a Project, where we want to make PayPal Payments on demand without the user having to login to PayPal.
What I found was:
DoReference Transacations
Recurring Payments
The 2 Options would work for my purposes, since its OK if the user has to log in once. Since both of these methods are deprecated I wanted to know if there is another option.
At Cheddar we use the DoReferenceTransaction method with a "billing agreement" to enable transacting against a customer's paypal account repeatedly on any schedule for any amount. We have some documentation in our KB regarding how to create the billing agreement token via your app. Section 2.1 of that article would be relevant to anyone getting started with setting up a billing agreement for purposes of executing reference transactions. The rest of it is specific to Cheddar.
We, too, are aware that this method is officially deprecated. Our inquiries with PayPal suggest that it will be supported indefinitely. The new REST api does not support a modern equivalent. In other words, there's no new replacement for the DoReferenceTransaction method of Express Checkout or any alternative that enables autonomous recurring billing for variable transaction amounts on a custom schedule. If there was, we'd be using it. Practically speaking, there are countless implementations in the wild using reference transactions so I expect it would be impossible for PayPal to stop supporting it without an alternative (new) method.
FWIW, I recommend using a subscription management service provider like Cheddar. There are others that support recurring payments via PayPal account as well. Recurly comes to mind. Recurring billing and subscription management is complicated and it's made quite simple by these services. I recommend against using PayPal's native recurring payments as it is unnecessarily restrictive and once you start using it, you can't stop.

Paypal Rest API vs Classic Sdk

I am working with paypal first time.
I have a product and I want to integrate paypal with it.
I want to achieve the following tasks :
Client comes to my website and select a plan,which is a monthly recurring plan.
Then client is redirected to Paypal for payment.
Client makes payment.
Return backs to home page.
I have gone through the documentation of paypal and I have the following questions.
What should I use REST API or Classic Sdk, as I want to create Recurring Profile,Work with EXPRESS-CHECKOUT and REFERENCE TRANSACTIONS.
I have customers all over globe and it is stated in the documentation that, for the customers in Germany and China , I have to use REFERENCE TRANSACTION.
Some where in the documentation of Merchant SDK it is stated that the classic API's will be deprecated, so is it a good approach to use Classic SDK
I also wanted to track the transactions(payment) made by user, so that I can show him the amount that is deducted in each month in his profile details.
Please suggest a feasible solution to my problem.
Thanks in advance.
Here's what I use. I went to Web Payments Standard and created a Subscription button. (I like the unencrypted variety, but you can encrypt if you want.) In there, you set the terms of the subscription, as well as where to post the IPN message. When the IPN message comes back, you deal with it. You'll get a subscr_signup at the start along with a subscr_payment. Then, on renewals, you'll get a subscr_payment again. What I like to do is store every verified IPN message in the database for my customer.
For handling the management of those subscriptions for things like tracking info, refunds, subscription cancellations, and voids, you'll need to use NVP API, which is a very simple API. If you stored in a database every IPN message with all those fields, then you should be able to pass certain fields of those to the NVP API in order to get what you need done.
If you're worried about longevity of the APIs, then don't. All they do when they deprecate APIs is stop giving you good docs on them. They still let those older versions run. If they didn't, there would be major upheaval on the web with web commerce products breaking all over the place. However, that said, if you want to prepare for the future, then get on the Braintree Payments API because PayPal bought Braintree and that's the future of their API.

SetExpressCheckout occurs a charge with every call?

My team is implementing PayPay Express Checkout (NVP) for our website. Before even initiating a transaction, we would like to perform a 'healthcheck' to confirm PayPal is alive and well. Looking over the API documentation, there is no obvious 'healthcheck' service available.
We are thinking of using the response from the SetExpressCheckout call to alert us of any system issues. Are we charged for every SetExpressCheckout call or for only completed transactions?
Making SetExpressCheckout calls and then abandoning the transaction, is this just going to anger PayPal?
Before we go too far into this, I'd like to mention PayPal APIs are in general quite stable, so such a thing shouldn't be needed at first place.
Having said that, are you seeing too many API failures? If so, I'd rather look into that (contact PayPal support) rather than using SetExpressCheckout as a way to do my own "health checks". Also, I suggest you to subscribe to such notifications at www.paypal-notify.com. This is PayPal website that allows merchants to subscribe for important notifications such as the one you are looking for.
Hope this helps.