Skip to main content

Create a Plugin

You can extend the functionality of Bold Checkout by creating a plugin that listens to Checkout events and sends actions in return. You can learn more about what plugins are and how they work on the Checkout Overview and the Plugin Concepts page.

Example plugin

Bold provides a public Checkout Example Plugin to demonstrate how plugins work with Bold Checkout. Observe the behavior of the example plugin by hosting it in your local environment.

Bold recommends familiarizing yourself with this example plugin before attempting to create your own from scratch.

Plugin development process

The following sections and their corresponding pages lead you through the steps for planning, creating, and publishing a plugin on your store.

Getting started

Before you begin plugin development, outline what you want your plugin to do, where you will host it, and other key components of a plugin project. There are also a few steps you need to take to prepare your development environment.

Refer to Getting Started with Plugins for detailed instructions.

Create the plugin installation flow

Merchants install plugins via the Checkout Marketplace; the merchant selects the plugin they want to install, grants the requested permissions, and approves the installation. Behind the scenes, this means that the plugin must tell Checkout which scopes to request, and then the plugin must handle the authentication credentials of that store.

Refer to Implement the Plugin Installation Flow for detailed instructions.

Implement the event-action loop

Plugins can listen for events that are triggered during the checkout process and respond with actions. Set up a mechanism for listening for these events, performing signature authentication, and responding to Bold Checkout with actions.

Refer to Implement the Event-Action Loop for detailed instructions.

Further development

While a plugin is fully functional by simply responding to events with actions, you can extend the capabilities of plugins in a variety of ways: