Title: FFL Connect for WooCommerce
Author: jeffvato
Published: <strong>November 8, 2026</strong>
Last modified: November 8, 2026

---

Search plugins

![](https://ps.w.org/ffl-connect-for-woocommerce/assets/banner-772x250.png?rev=3791539)

![](https://ps.w.org/ffl-connect-for-woocommerce/assets/icon-256x256.png?rev=3791539)

# FFL Connect for WooCommerce

 By [jeffvato](https://profiles.wordpress.org/jeffvato/)

[Download](https://downloads.wordpress.org/plugin/ffl-connect-for-woocommerce.1.1.2.zip)

 * [Details](https://wordpress.org/plugins/ffl-connect-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/ffl-connect-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/ffl-connect-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/ffl-connect-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/ffl-connect-for-woocommerce/)

## Description

Selling firearms online means every order has to ship to a Federal Firearms Licensee(
FFL), not to the customer. FFL Connect adds that step to your WooCommerce checkout.

When a cart contains a product that needs an FFL transfer, the customer searches
by ZIP code, sees nearby licensed dealers in a list and on a map, and picks one.
The chosen dealer becomes the order’s shipping address and the dealer’s FFL number
is saved on the order, so you do not have to chase customers for dealer details 
after they pay.

#### What it does

 * Adds an FFL dealer picker (ZIP code search, results list and interactive map)
   to the checkout.
 * Appears only when the cart contains a product that needs an FFL transfer.
 * Lets you mark products one by one (“Requires FFL transfer”) or by whole product
   category.
 * Sets the order’s shipping address to the chosen dealer.
 * Shows the dealer’s FFL number on the order screen and in order emails.
 * Re-checks the chosen dealer on your server before the order is accepted. If the
   check cannot be completed, the order is not placed.
 * Works with WooCommerce High-Performance Order Storage.

#### What you need

 * WooCommerce, using the classic checkout (the `[woocommerce_checkout]` shortcode).
   The dealer picker does not appear on the block-based checkout.
 * An FFL Connect API key. The plugin is free; the dealer database it searches is
   a paid service.

#### How to get an API key

 1. Go to [fflconnect.net/pricing](https://fflconnect.net/pricing/) and buy an annual
    licence for your store. You can pay by credit card or Google Pay.
 2. Your API key and the plugin download link are emailed to you as soon as the payment
    goes through. The key is also shown on your order page.
 3. Paste the key into **WooCommerce > FFL Connect** on your site and press **Test 
    connection**.

Questions about your key or licence: [fflconnect.net/contact](https://fflconnect.net/contact/).

#### About the dealer data

Dealer records come from the list of active licensees published by the U.S. Bureau
of Alcohol, Tobacco, Firearms and Explosives (ATF) and are refreshed monthly. Dealers
known not to accept transfers are left out of results.

This plugin helps you collect a dealer for each firearm order. It does not give 
legal advice, and it does not replace your own compliance procedures, including 
obtaining a copy of the receiving dealer’s licence where the law requires it.

### External services

This plugin relies on two external services.

#### FFL Connect API (api.fflconnect.net)

Used to find dealers and to confirm the dealer a customer selected. It is provided
by Fuzzy Holdings LLC, the author of this plugin.

 * When a customer searches for dealers at checkout, your server sends the ZIP code
   and search radius they entered, together with your store’s API key.
 * When an order with an FFL item is placed, your server sends the selected dealer’s
   FFL licence number, together with your store’s API key, to confirm the dealer.
 * When you press “Test connection” on the settings page, your server sends one 
   test search with your API key.

No customer names, addresses, emails or order contents are sent. Requests are made
by your server, so your customers’ browsers do not contact this service.

[Terms of Service](https://fflconnect.net/terms-of-service/) | [Privacy Policy](https://fflconnect.net/privacy-policy-2/)

#### OpenStreetMap map tiles (tile.openstreetmap.org)

Used to draw the map in the dealer picker. When the picker is shown, the customer’s
browser requests map images directly from OpenStreetMap’s servers, which means OpenStreetMap
receives the customer’s IP address and the map area being viewed. The service is
provided by the OpenStreetMap Foundation.

[Tile usage policy](https://operations.osmfoundation.org/policies/tiles/) | [Privacy Policy](https://osmfoundation.org/wiki/Privacy_Policy)

The Leaflet map library itself is bundled with the plugin and is not loaded from
another site.

## Screenshots

[⌊The dealer picker on the checkout page: ZIP code search, map and results list.⌉⌊
The dealer picker on the checkout page: ZIP code search, map and results list.⌉[

The dealer picker on the checkout page: ZIP code search, map and results list.

[⌊A selected dealer, confirmed at the top of the picker.⌉⌊A selected dealer, confirmed
at the top of the picker.⌉[

A selected dealer, confirmed at the top of the picker.

[⌊The settings page under WooCommerce > FFL Connect.⌉⌊The settings page under WooCommerce
> FFL Connect.⌉[

The settings page under WooCommerce > FFL Connect.

[⌊The "Requires FFL transfer" checkbox on a product.⌉⌊The "Requires FFL transfer"
checkbox on a product.⌉[

The “Requires FFL transfer” checkbox on a product.

## Installation

 1. Install and activate the plugin. WooCommerce must be active.
 2. Get an API key at [fflconnect.net/pricing](https://fflconnect.net/pricing/) (see“
    How to get an API key” above). It is emailed to you right after purchase.
 3. Go to **WooCommerce > FFL Connect** and enter your API key. Press **Save Changes**,
    then **Test connection**.
 4. Tell the plugin which products need an FFL transfer: tick product categories on
    the same settings page, or tick **Requires FFL transfer** on individual products(
    Product data > General).
 5. Make sure your checkout page uses the `[woocommerce_checkout]` shortcode.
 6. Add an FFL product to your cart and open the checkout to see the dealer picker.

## FAQ

### Is the plugin free?

The plugin is free and open source. It needs an API key for the FFL Connect dealer
database, which is a paid annual service.

### Does it work with the block checkout?

No. The dealer picker is added to the classic checkout only. If your checkout page
uses the Checkout block, replace it with the `[woocommerce_checkout]` shortcode.

### What happens if a customer does not choose a dealer?

The order is not accepted. They see a message asking them to search for and select
a dealer.

### What happens if the dealer service cannot be reached?

Customers see a message that the search is unavailable, and orders containing FFL
items are not accepted until it is back. Orders without FFL items are not affected.

### Can a customer type in a dealer that is not in the results?

No. Only dealers returned by the search can be selected, and the selection is confirmed
again on your server.

### Where do I see the chosen dealer?

On the order screen, under the shipping address, and in order emails. The dealer’s
name and address are also the order’s shipping address.

### Does it support product variations?

Yes. If the product, the selected variation, or one of the product’s categories 
is marked as needing an FFL, the picker appears.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“FFL Connect for WooCommerce” is open source software. The following people have
contributed to this plugin.

Contributors

 *   [ jeffvato ](https://profiles.wordpress.org/jeffvato/)

[Translate “FFL Connect for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/ffl-connect-for-woocommerce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/ffl-connect-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/ffl-connect-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/ffl-connect-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/ffl-connect-for-woocommerce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.1.2

 * Renamed internal function, class, constant, hook and option names from the ffl_connect_/
   FFL_Connect_ prefix to fflconnect_ / FFLConnect_. WordPress.org review flagged
   both ffl and ffl_connect as too short and too generic to be a unique plugin prefix.
   Existing saved API keys are migrated automatically.

#### 1.1.1

 * Renamed internal option, AJAX and script-data names from the gemini_ffl_ prefix
   to ffl_connect_, to avoid name collisions flagged in review. Existing saved API
   keys are migrated automatically on upgrade.

#### 1.1.0

 * First release on WordPress.org.
 * New settings page under WooCommerce > FFL Connect with a connection test.
 * Mark whole product categories as needing an FFL transfer, in addition to individual
   products.
 * Dealer results are listed alphabetically.
 * The picker now inherits your theme’s colours and works on dark themes.
 * The map library is bundled with the plugin.
 * Order data is stored through WooCommerce’s order API (High-Performance Order 
   Storage compatible).
 * The dealer’s FFL number is included in order emails.

## Meta

 *  Version **1.1.2**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [checkout](https://wordpress.org/plugins/tags/checkout/)[dealer locator](https://wordpress.org/plugins/tags/dealer-locator/)
   [FFL](https://wordpress.org/plugins/tags/ffl/)[firearms](https://wordpress.org/plugins/tags/firearms/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/ffl-connect-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/ffl-connect-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/ffl-connect-for-woocommerce/reviews/)

## Contributors

 *   [ jeffvato ](https://profiles.wordpress.org/jeffvato/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/ffl-connect-for-woocommerce/)