By Gord Sissons
Note: This article was originally posted at Vantiv.COM. Vantiv has been acquired by WorldPay, and the DevHub platform is no longer active.
Obtaining a free Account
Obtaining a developer account on DevHub is easy. Simply visit http://apideveloper.vantiv.com and select “Sign-In” from the top bar of the website. Visitors can then select the “Sign Up” link to create a new account. If you are already a GitHub user, you can use your existing GitHub credentials to login. After logging in, users will see the DevHub portal shown in Figure 1. From here you can view code examples, access developer documentation, visit a forum to obtain technical support, or get started with the integrated sandbox environment building and testing applications.



The License Id is unique to your application. Only part of the long License Id string is exposed in the portal’s text box, so when copying the license string, use Control-A or equivalent key-strokes to make sure that the entire string is selected before copying. The Test AcceptorID (also known as the merchant Id) is provided for testing. Most developers will want to use the vault enabled merchant Id since it supports tokenization, recommend to help secure your payment applications and reduce PCI scope. These credentials associated with your application will be available any time you log into DevHub. Certification end-points are also provided for the RESTful DevHub payment API that we’ll look at shortly. When building applications, these items should be parameterized so that they can be changed in your code. When an application progresses into production it will use different end-points and the merchant Id will be unique to each merchant using your application or hosted service to accept payments.

Within each category shown in Figure 8, there are a series of specific tests cases, each identified with a specific code as shown in Figure 9. Each of these test cases require that specific criteria be met in order to pass, and the criteria can be seen by clicking on “View Criteria” associated with each test.

To pass a test, you need to prove to DevHub that you’ve run the transaction successfully. To make this easy, when you run a test conforming to the test criteria, you simply need to log the RequestID associated with the payment transaction into DevHub. The RequestID is returned in the JSON for each payment request (as shown in Figure 5 and Figure 7). Because DevHub retains details about every transaction during testing and certification, DevHub can inspect the referenced transaction to validate whether it met the requirements of the test. Test identifiers and Request IDs are provided as key-value pairs and pasted into the DevHub portal as shown in Figure 10. Multiple Test identifiers can be entered at once for convenience. In Figure 10 we paste the results of our first eight tests in the Authorization test cases for validation.

After entering a list of one or more test results and selecting Validate, DevHub inspects the referenced transactions and indicates whether they passed or failed. As shown in Figure 12, of the eight tests that we entered, seven were successful and one resulted in an error.

DevHub makes it clear to the developer exactly why the transactions failed the validation test. Developers can drill down on any test and see exactly what errors led to the failure.

In the example in Figure 14, a coding error resulted in an incorrect TransactionID being passed with the Completion transaction (the second failure shown in Red). This error had a cascading effect, causing the other two errors. DevHub is useful not only for validation and certification, but it helps developers quickly pinpoint errors in their code that they might have missed and that could cause problems during production. This feature is also useful for regression testing, helping developers ensure that changes to code don’t break functionality that was previously working.
While DevHub doesn’t guarantee that an application will be bug free, it does exercise how an application interacts with Vantiv’s RESTful API, helping ensure that transactions are properly handled, coded to benefit from the best interchange rates and that common problem areas are addressed. After a few code corrections, we are able to run all fourteen of the test cases related to the Authorization and Capture transactions giving us confidence that in this area at least, our code is relatively error free.

Summary
With its collection of technical and support resources, and its self-service interface for testing and certification, DevHub provides developers important advantages over other integration platforms for developers of payment applications.
- Self-certification – With DevHub, developers can work at their own pace without a third party looking over their shoulder. Developers can use DevHub as a sandbox to learn and experiment with the payment APIs and request expert assistance as needed.
- No external dependencies – By providing a clean RESTful API, no constraints are imposed on the developer. Developers can code to Vantiv’s API using their tools and languages of choice. The only requirement is that the code generate valid transactions.
- Reduced time to market for new payment features – Because developers can interact with DevHub on a self-serve basis, they can easily fork existing code anytime, and re-run tests to exercise new payment features. They don’t need to wait in a formal queue for certification.
- Automated testing, simplified regression testing – Because the test requirements for each feature are clear and well defined, application providers can build these test-cases into their applications for more complete test coverage and automated regression testing.
- Easy progression to production – Once an application is able to pass the certification tests in DevHub, progressing to production is simply a matter of processing using different endpoints via the RESTful API and using a production Merchant ID. No code changes are required.
- Real-time monitoring or production applications – Once in production, DevHub can be used to provide real time monitoring of how payment interfaces are being used, helping developers understand what features are being used to help steer product development.
- Reduced PA-DSS scope – Because DevHub makes Tokenization technology accessible and integrates with Vantiv’s eProtect, developers can avoid handling card data within their applications, avoiding PA-DSS scope and reducing costs related to validation and certification.
- Advanced payment features – Perhaps most important of all, applications integrated with DevHub can take seamless advantage of value-added features that merchants will appreciate including enhanced reporting, anti-fraud toolkits, account updating services and much more.
To learn more about DevHub and get started with the portal, visit http://apidevelopers.vantiv.com or http://vantiv.com/developers.