Library to interact with Bolt checkout APIs

Usage no npm install needed!

<script type="module">
  import boltpay from '';


Bolt node.js library


Call POST order API

var boltClient = require('boltpay')({
    apiKey: 'API_KEY',
    environment: 'sandbox'
  "cart": {
    "order_reference": "12345",
    "currency": "USD",
    "total_amount": 3998,
    "items": [
        "name": "Bolt shirt",
        "unit_price": 2999,
        "quantity": 2,
        "total_amount": 5998,
        "sku": "shirt123",
        "color": "Black",
        "size": "M",
        "image_url": ""
    "discounts": [{
      "amount": 2000,
      "description: "Code: 20OFF"
}).then(function(response) {
  // handle response
}).catch(function(err) {
  // handle error

Verify signature

var boltClient = require('boltpay')({
    signingSecret: 'SIGNING_SECRET',
var verified = boltClient.verifySignature(body, hmac);

For SDK developpers

Get started with the code

Clone the repo, npm i and then run two tasks:

  • npm run dev to compile the project while developing.
  • npm run test:dev to test on the fly while developping.

You can ndb npm run test:dev to get a better debugger

To run the dev mode, you will need a secrets.js file at the root of your folder:

* Credentials to test the application in dev mode
* /!\ Must not be commited /!\
module.exports = {
  apiKey: 'xxx',
  ngrokToken: 'xxx',
  ngrokURL: 'xxx',

Get the value for the credentials in you sandbox Bolt account:

For your ngrok url and token:

You can share it with other developpers. Once started, you can inspect the network on

Run in dev

You will need 3 processes :

  • Run npm run ngrok will launch the tunnel to expose your localhost to the web.
  • Run

Card details for dev :

  • Card number: 4111 1111 1111 3000
  • Expiration: Any future month/year
  • CVV: Any 3 digits