ava_jonAs requested from our community, today we’re launching a whole new way for you to work with PayPal. To keep in line with the way that people work with the web today, this launch will include a new series of RESTful APIs all launched under a new developer portal, which is complete with streamlined docs and services.

What you’ll notice the most from these new APIs is that you will no longer be picking a different API depending on an intricacy of what you need payments for. Now you’ll instead start including elements a la carte from a single source. If you need to make a payment, you call one endpoint, if you need to issue a refund you hit another endpoint. We wanted to make the experience as seamless as possible for our users.

What can I do with the new APIs?

Within this first release of our new systems, there are a few methods for you to begin working with. These include:

  • Payments: Allows you to make payments or get information about a payment.
  • Sales: Allows you to fetch and refund payments that have been completed (sales transactions).
  • Refunds: Allows you to get information about refunds that were made through the sales endpoints.
  • Vault: Allows you to store and look up credit cards securely.

These new APIs will use OAuth2 as the authentication mechanism for making your requests. If you haven’t used it before, it is a simple and secure token based system for securing and authenticating your applications.

In the coming months, you’ll see enhancements to this product set coming through.

Are there any samples or SDKs available?

Where would a new set of APIs be without some appropriate samples and SDKs to speed things along. While we have a lot of products currently in development, here is what we have in this first release:
PHP: SDK | Samples
Java: SDK | Samples
C#: SDK | Samples
Ruby: SDK | Samples
cURL: Samples

Where can I make feature requests, file issues or get help?

At the same time that we are launching this new suite of APIs, we want to make sure that the development community can be as involved as they would like to be in the features and enhancements of these products. Should you have any feature requests for our APIs, have a great sample that you want to share back that have helped you, or are encountering any issues with the SDKs or samples, we would love for you to file those requests on the Github sample code or SDK projects that they relate to.

If you have questions about using the products, or want some help with the integrations, our teams will be working on StackOverflow to help with those questions. Simply reach out to us on there and tag your post with PayPal to ensure that we see it, and we’ll make sure to reach out and help.

Will I still be able to use all of my old code and integrations?

We wouldn’t be PayPal if we broke your development experiences with a new product release. We will still be supporting all of our existing Classic APIs, so existing developers will not be impacted in the slightest.

The future of these products

As we go further into 2013 and beyond, you will see constant enhancements to our new RESTful suite of APIs. We will support existing product sets that you have come to know and love, and include some amazing new product lines for you to enable commerce in incredibly easy and dynamic ways.

About Jonathan LeBlanc

Jonathan LeBlanc is an Emmy award winning software engineer, author of the O’Reilly books “Identity and Data Security for Web Development” and "Programming Social Applications", and the Head of Global Developer Advocacy for PayPal. Specializing in identity, auth and security, hardware to web interconnectivity, and data mining techniques, as well as open source initiatives around social engagement, Jonathan works on the development of emerging initiatives towards building a more user-centric web.

Tagged with:
 

24 Responses to The New PayPal Developer APIs

  1. Martin Bean says:

    This couldn’t come any sooner, Jonathan! I’ve worked with PayPal for a couple of years now and had nothing but frustration due to lack of or conflicting documentation. This new developer portal and RESTful API actually makes me *excited* as a developer to work with the PayPal platform for the first time. Congratulations on that!

  2. jcleblanc says:

    I feel the same way – I love all of the new systems that are being launched, and the support for a lot of open source technologies like OAuth 2

  3. Hans Stevens says:

    Not amused that nothing of the paypal sandbox is working properly anymore. Lost my account, all my test accounts. Good job!

  4. jcleblanc says:

    Hi Hans, we definitely don’t want to see anyone having issues with the new systems, and apologize for any problems you’re encountering.

    When you log into the new developer.paypal.com site with your live PayPal site credentials, you should be able to get all of your test accounts by going to the sandbox at https://developer.paypal.com/webapps/developer/applications/accounts and clicking on “import data” at the top of the page. That will allow you to get everything from your old accounts. If there are any issues whatsoever with this process, if you go to paypal.com/mts and file a ticket (or reach out to @AskPayPal on Twitter) they should be able to help you get set up.

  5. Petrefax says:

    Like the poster above me I’m having all kinds of problems with the sandbox. I can work around or just ignore most of them but the following error seems to be on PayPal’s side and it’s happening every time I try to check out.

    ASF::Client::ClientConnectException: Client received error with operation get_segments on service SegmentRead version 1.0 endpoint 10.72.108.213:10761 in state connect Backtrace: ASF::ASFException::ASFException(String const&) ASF::FrameworkException::FrameworkException(String const&) ASF::Client::ClientException::ClientException(String const&) ASF::Client::ClientConnectException::ClientConnectException(String const&) ASF::Client::Client::check_error(ASF::Protocol::HttpClientProcessor*, char const*) ASF::Client::Client::send_request(char const*, ValueObject const&, bool, bool, bool) ASF::Client::Client::invoke_operation(char const*, ValueObject const&, ValueObject&, bool) Marketing::SegmentReadClient::get_segments(Marketing::GetSegmentsRequest const&, Marketing::GetSegmentsResponse&) FundingMix::DeferredPaymentSystemBLIImpl::is_user_in_pad_allowed_segment(unsigned long long) Rapids::Flows::FundingMix::DecoratorPADToggle::prepare_page() Rapids::DecoratedState::prepare_page() Riprap::RiprapRapidsGenericFlow::handle_prepare_page(Riprap::WebAppContextOrnate const&, bool&, Rapids::TransitionEdge&) Riprap::RiprapRapidsGenericFlow::handle_transition(Riprap::WebAppContextOrnate const&, Rapids::TransitionEdge const&, String const&, bool&, Riprap::RiprapRapidsGenericFlow::ProcessStates&, Riprap::DispatchInterceptorRegistry const&) Riprap::RiprapRapidsGenericFlow::process_states(Riprap::WebAppContextOrnate const&, Riprap::RiprapRapidsGenericFlow::ProcessStates, Riprap::DispatchInterceptorRegistry const&, Rapids::TransitionEdge const*) Riprap::RiprapRapidsGenericFlow::flow_return(Riprap::WebAppContextOrnate const&, Riprap::WebAppReturn const&, Riprap::DispatchInterceptorRegistry const&) Riprap::call_rapids(Riprap::WebAppContext const&, Riprap::RapidsFlowFactory const&, Riprap::DispatchAction const&, Riprap::WebAppReturn const&, String const&, Riprap::DispatchInterceptorRegistry const&) Riprap::dispatch_loop(Riprap::EPRegistry const&, Riprap::WebAppContext const&, Riprap::DispatchAction&, Riprap::WebAppReturn&, String const&, Riprap::DispatchInterceptorRegistry const&) Riprap::dispatch_wrapper(OutputStream&, Riprap::EPRegistry const&, Riprap::WebAppContext const&, Riprap::WebAppReturn const&, String const&, bool const&, Riprap::DispatchInterceptorRegistry const&) Riprap::entry_point(HTTPInterface&, Riprap::CGIVars&, OutputStream&, String const&, String const&) main

    An error has occurred.

  6. Garlon Garth says:

    Is anyone else having a hard time logging in to the sandbox accounts? I’ve logged in with my actual PayPal account on the developer website. Imported my existing sandbox accounts which show up fine. Although I can’t visit the sandbox site of any of my sandbox accounts. Nor can I properly create a business sandbox account. I get a message saying something went wrong, and that I should delete that account. Then if I do get in, I get redirected to log in again at just about every time I click somewhere. I need to test custom order# generators very quickly before I transition it live, and it’s pretty frustrating that I can’t make changes to a testing environment to make that happen.

  7. Hi Garlon, can you try in a different browser where you have never logged into developer.paypal.com or sandbox.paypal.com ? Or if you can just clear your cookies completely (in FF & Chrome this is easy but not in some versions of IE) and try to login to developer.paypal.com first and then sandbox.paypal.com with one of the test accounts associated with your developer.paypal.com account (imported) ?

  8. Garlon Garth says:

    Hi Praveen. Using Safari, I did what you sent and logged in to one of my sandbox biz accts I previously setup. Although when I went to change a setting under Profile -> My Selling Tools, I get redirected to log in again in order to use PayPal Sandbox features. I need to update the auto-return url for a sandbox account.

  9. Hi Garlon – I was able to reproduce the error. Filing the bug and getting our teams look into it ASAP. Sorry for the troubles.

  10. Garlon Garth says:

    No worries Praveen. Thank you.

  11. Garlon Garth says:

    Btw… I had issues before with using my biz sandbox acct with PayFlow Manager test transactions — we have a PayPal Payments Advanced acct. I later found out that I should’ve created a regular business acct and then ask a Merchant Technician to manually turn on that acct type for it. Will we still have to do that same thing when we create new biz sandbox accts on the new developer website?

  12. Piyush Patil says:

    hi jcleblanc, even if i import my account, i am not able to log in into those test accounts. Error pops up that you need to sign in in order to access sandbox feature! so in short, it isnt helping me !

  13. Hi Piyush, sorry for the troubles. We have a fix for this but it won’t live until tomorrow. Mean while – can you please try this:

    – delete all cookies in your browser and restart (please note IE doesn’t always delete your cookies – so if possible use FF or Chrome)
    – Login to developer.paypal.com
    – then goto sandbox.paypal.com and try to login with a test account that’s associated with your developer.paypal.com account.

    That should get you going. There is yet another issue where when you go to your Profile->Selling Tools, you will see the same error. We found the root cause for that too and the fix is in the way.

    Hope that helps – let me know if you are still not able to login.

    Sorry for the troubles – it’s always a difficult job trying to change something that has been there for over 10 years.

  14. Hans Stevens says:

    Thanks for your reply.

    import data still doesn’t work, but I can live with that. The problem is that I have the idea that nothing works in the sandbox

    – Dashes are making an email invalid
    – Creating a new sandbox test account always give me this detailed message: “We’re sorry but something went wrong.Please delete this account and try again.” No idea what I did wrong..

    We are preparing a release, sow this is quite painful that we can’t use the sandbox anymore. Hope it will be fixed soon

  15. Hans Stevens says:

    Ok, it was the password that was too short.
    Creating a test account seems to work..

  16. Petrefax says:

    I’m wondering why everyone else is getting a reply and I am not. This is not in my logs. This error appears on PayPal’s site every time I try to check out. It has effectively stopped my integration efforts in its tracks and started right after everything changed. It seems to reference a connection issue to an internal PayPal server.

  17. hi Garlon – looks like the fix won’t go out until the 19th due to some other dependencies. Can you send me your test account in sandbox for which you want to update the auto-return handler ? I can try getting it updated for you. You can send me an email w/ info – praveen_at_x_dot_com

  18. 🙂 oops didn’t mean to ignore – it’s just that the other issues appeared to be related to the big issue w/ cookies that we were trying to resolve. Do you mind sending me little more details ? here is my email praveen_at_x_dot_com

  19. Monique Bizzell says:

    There seems to be some timing errors. I went ahead with creating my tests accounts, received errors to delete and start again. I went on to create my other tests account when the 1st simply fixed itself about 30 minutes later. I didn’t have to do what the error message suggested. That same day I had trouble using the tests accounts, I couldn’t get in. The next day without redoing a thing I was able to log into the test site for the 3 test accounts. They simulated the real PayPal to a tee.

  20. Petrefax says:

    It wasn’t working all weekend but fortunately it started again just a few short hours ago. I really appreciate your getting back to me anyway. The new PayPal developer stuff looks really exciting, especially now that I’m not so frustrated with broken sandbox features. 🙂

  21. yup – we fixed the cookie issue and also fixed the IPN simulator. The fix went into live at ~4PM PST.

  22. Howdy Jonathan,
    I’ve been attempting to add in more comments in my fork of the github project so that the VS Intelesense can offer a bit more data to make it a bit more intuitive for the other developers that I work with. I was just wondering which of the old API docs contains the closest explanations of some of the functionality or expected values in the new API? I know it’s a new service, so I don’t expect them to be 100% the same, but there are several properties in the SDK that aren’t very intuitive as to their expected values. I was just hoping to extrapolate the information from an official doc, rather than documenting after a lot of trial and error.
    I just saw this post about the Pizza shop example, so I’m grabbing that now to see what I can glean from it. Also, just as an F.Y.I. the sample code attached to the SDK itself is broken. I logged a github bug about it, so that you’d be aware.

  23. Martin Bean says:

    XSS attempt fail.

  24. DeveloperDan says:

    Dont suppose there is an ETA on when this might be available for the UK?
    Im developing a new product and dont want to develop something in the classic API if the new one is only a month away (as it is so much easier to use!).