Provides the tools necessary for integrating Bambora Checkout with your website.
Currently, the following integrations are available:
- Full page redirect.
- Modal, as a full page overlay.
- Inline, as a component of a page.
Full documentation is available at the Bambora developer portal.
npm install @bambora/checkout-sdk-web
Minified and gzipped size is ~5.5 KB.
The NPM package supports ESM.
All major browsers above version
N - 1, where
N is the most recent version.
For Internet Explorer, only version 11 is supported.
We don't test other browsers, but bug reports and pull requests for bugs related to older versions or uncommon browsers are always welcome.
Requirements are Node and NPM.
Clone the project, navigate to the project root, and run
npm run build in your terminal.
This will install all dependencies and output all assets to the
It is also possible to set up a watcher for source files for changes by running
Alternatively, run Docker containers as specified in the
Makefile in the repository root.
npm test in your terminal in the project root.
You can also run the watcher via
npm run test:watch.
It watches all source and test files for changes.
npm run lint for linting.
Create a pull request or an issue. Be sensible and respectful. Thanks.
Main Developer Dependencies
|Testing||Karma, Mocha, Chai, Sinon, Puppeteer|
|Code quality||TSLint, Prettier|
Additionally, a pre-commit hook has been set up with the following steps:
- Run Prettier on all staged files.
- Run TSLint with autofixer on all staged files.
- Add files to git.
- Run all tests.
The commit will abort if any of the steps fail. Please fix any problems before committing.
git commit --no-verify to override.
Continuous Integration and Delivery
CI/CD is done by Jenkins by reading the Jenkinsfile. The pipeline goes through 5 steps:
- Publish to Bambora CDN (files are uploaded to S3).
- Invalidate Bambora CDN Cache (the cache on CloudFront is invalidated).
- Publish to public NPM.
This will be run on the master branch only. Steps 3-5 will be run on tagged commits only.
npm version to bump the version and create a tagged commit as it ensures consistency.