Why a New Controller Model?

by Developer Developer on ‎10-20-2015 09:00 AM (6,891 Views)

Back in December of 2014, I wrote about the release of our 1.8.3 SDKs (A Holiday Gift for Developers: Version 1.8.3 SDKs Released). I mentioned in that article that we’ve been getting lots of feedback on our new controller model. In this post, I want to follow up and talk about why we developed a new controller model and what that means for all of you.

 

Why We Felt a Redesign Was Necessary

 

Since the fall of last year, we’ve been working on a new controller model that enables us to generate the request and response classes from our XSD (XML Schema Definition), then allow simple controllers to implement that request for our API methods. Essentially, this means we are generating the native language objects from the API XSD. Yes, this means we are losing some of the inherent efficiencies of languages like Ruby in our object model. But the huge plus is that we’re able to provide libraries that have complete parity with the API.

 

This new model represents a new design paradigm across our .Net, Ruby, Java, PHP and future SDKs. So what it really gets us - and you - is a simple release process for keeping in sync with API features, essentially allowing us to be more responsive to core API changes. Because of this new design, we can make additional features (and SDK support) possible much quicker and much easier.

 

For example, with this new controller design, we have been able to add SDK support for:

  • Apple Pay – It allows your merchants to use their Authorize.Net account to securely accept and process in-app payments.
  • PayPal – This allows your merchants to accept PayPal using their Authorize.Net Payment Gateway account.
  • Visa Checkout – Merchants can use their Authorize.Net account to securely accept and process payments from customers using their Visa Checkout account.

New Sample Code on GitHub

 

To make it even easier for you, we’ve posted sample code using the new controller on GitHub for PHP, .Net, Java and Ruby.

 

Why You Should Move to the New Controller

 

We have not done away with any of our existing SDK code, so if you want to continue to use those APIs, your code will still work fine. For now, the new and old controller models will live side by side.

 

However, with all of the improvements this new controller brings, we feel that it’s the future of Authorize.Net and, the sooner you’re on board, the sooner can you take advantage of the feature enhancements that the controller model enables.

 

We think this new controller model is going to significantly accelerate the speed with which we can include new feature support in our SDKs. And that is going to be better for you in the long run. We want to do all we can to help you get the training and support you need. To learn more about the new model and how to take advantage of it, check out our sample code on GitHub using the controller model.