BlockChyp Releases Next Generation SDKs For All Major Platforms
February 10, 2020
In response to increased demand from SaaS developers and point-of-sale companies, BlockChyp has released a brand new set of Software Development Kits for nine different programming languages.
The new suite of SDKs improve existing Microsoft .Net, PHP, Java, JavaScript, Python, Ruby, Go, and iOS (Swift and Objective-C). All BlockChyp SDKs are open source and distributed via Github along with the standard package and dependency management systems for all platforms.
“It’s common in the payments industry for SDKs and code samples to be hidden behind NDAs and antiquated download portals. This is an outdated approach to SDK distribution and complicates a developer’s typical workflow,” said Jeffrey Payne, BlockChyp’s CTO. “BlockChyp was founded to address the real problems that crop up during payments integration and this means eliminating as many pointless speed bumps as possible. Developers want to drop a dependency declaration in their configuration and go. When payment companies force developers to login and manually download something, it frustrates developers and makes the payment providers look out of touch.”
The new BlockChyp SDKs allow developers access to the full BlockChyp feature set, including basic terminal payment capture along with EBT, tip adjustments, contract acceptance, gift card activation, balance checks, line item display, tokenization, and so on.
What makes BlockChyp’s new SDKs so unique is that they’re all derived from a brand new code generation engine developed by BlockChyp’s engineers. BlockChyp’s data model, documentation, and API endpoints are defined in a set of platform neutral configuration files and the code generation engine generates the SDK code on demand in response to changes in the underlying models.
“This makes rolling out new features very quick and simplifies the process of adding new language support should an emerging language like Rust gain traction in the point-of-sale space,” said Payne.
In addition to the core SDK code, the code generation process generates integration tests, sample code, and documentation.
“Ongoing testing was a critical part of the design for our new SDK system. We knew that it was not enough to assume generated code would work as designed. We developed an integration testing system based on Docker that automates and isolates platform specific testing as part of each release cycle,” said Josiah Neidrauer, lead Devops engineer. “To run the integration tests for a given platform, all that’s necessary is to run the makefile’s integration target. The system will automatically configure a Docker container with the correct runtime dependencies for the given platform and run the integration tests against a real test terminal.”
BlockChyp opted to develop their own code generation engine instead of use an existing system like Swagger Codegen or OpenAPI. “We would have preferred to use an existing code generation engine,” said Payne. “But our unique dual HMAC / Bearer Token authentication scheme and our terminal routing and caching system don’t really fit within the abstractions those code generators are designed for. We had to strike out on our own.”
The new SDKs, coupled with BlockChyp’s command line interface, provide nearly universal support for the development platforms commonly used throughout the point-of-sale industry. “BlockChyp’s fast and easy integration is now available to all developers on all platforms,” said Jon Decker, BlockChyp’s CEO.
Developers can access the new SDKs today via GitHub or their preferred package management system:
Go
GitHub: https://github.com/blockchyp/blockchyp-go
Java
GitHub: https://github.com/blockchyp/blockchyp-java
Maven Central: https://search.maven.org/search?q=blockchyp
C#
GitHub: https://github.com/blockchyp/blockchyp-csharp
NuGet: https://www.nuget.org/packages/BlockChyp/
JavaScript
GitHub: https://github.com/blockchyp/blockchyp-js
NPM: https://www.npmjs.com/package/@blockchyp/blockchyp-js
PHP
GitHub: https://github.com/blockchyp/blockchyp-php
Packagist: https://packagist.org/packages/blockchyp/blockchyp-php
Python
GitHub: https://github.com/blockchyp/blockchyp-python
PyPi: https://pypi.org/project/blockchyp/
Ruby
GitHub: https://github.com/blockchyp/blockchyp-ruby
Ruby Gems: https://rubygems.org/gems/blockchyp
OS (Swift and Objective-C)
Github: https://github.com/blockchyp/blockchyp-ios
CocoaPods: https://cocoapods.org/pods/BlockChyp