Bolt Intent API
This section will walk you through the Bolt Intent API to complete your payment flow, including
- Create Bolt Intent to initiate a payment request
- Cancel Bolt Intent to cancel a payment request
You can see the API reference for Bolt Intent at Bolt API Specification.
Create Bolt Intent
You can create a Bolt Intent with Create Bolt Intent API.
For Paired Mode, to send a Bolt Intent request to the connected device, you need to specify
mode.type=PAIRINGboltConnectionIdthat refers to the connection
For Deep Link Mode, to create a deep link URL to redirect your application to Beam Bolt app for payment processing, you need to specify
mode.type=DEEP_LINKmode.deepLink.redirectUrlto redirect back to your application after payment processing
We STRONGLY recommend that you set the Bolt Intent expiry duration so that in the case of a long-process payment, both you and Beam Bolt device would not wait for the payment result indefinitely.
If you create Bolt Intent while Beam Bolt is not in “Ready to accept payments” screen, the payment request will be discarded. Therefore, we recommend that you wait for 5 seconds after Bolt is connected or Bolt Intent is canceled or expired before you create a Bolt Intent.

Handle Bolt Intent
After you successfully create a Bolt Intent, you can track payment status by polling
on List the Charges API
with sourceId equals to the created Bolt Intent’s id. Note that by design, there could be many charges from the same
Bolt Intent but this should be rare.
During polling, one of these scenarios could happen:
- There’s a charge with status
SUCCEEDED.- The payment is successful and you should proceed accordingly. For example, mark the order in your system as succeeded.
- There’s a charge(s) with status
FAILED.- The payment fails and you should proceed accordingly. For example, mark the order in your system as failed.
- Bolt Intent expires.
- You should treat the payment as failed and proceed accordingly. For example, mark the order in your system as failed.
- Note that a Charge created before expiry could still succeed. In this case please refund the Charge from Lighthouse.
Here is an example on how to accept customer’s payment after connected to Beam Bolt successfully:
Cancel Bolt Intent
You can set Bolt Intent’s expiry on its creation, or cancel it with Cancel Bolt Intent API.