Skip to content

Settings API ​

Configure your store settings, payment gateways, modules, file storage, checkout fields, and permissions.

Base URL: https://your-site.com/wp-json/fluent-cart/v2/settings

Policy: StoreSettingsPolicy (most endpoints require is_super_admin)


Payment Methods ​

Get Payment Method Settings ​

GET /fluent-cart/v2/settings/payment-methods

Retrieve the configuration and settings for a specific payment method gateway (e.g., Stripe, PayPal).

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
methodstringqueryYesThe payment method key to retrieve settings for (e.g., stripe, paypal, cod).

Response ​

json
{
    "settings": {
        "is_active": "yes",
        "payment_mode": "live",
        "checkout_label": "Pay with Stripe",
        "checkout_logo": "https://example.com/stripe-logo.png",
        "checkout_instructions": "",
        "thank_you_page_instructions": ""
    },
    "fields": { ... }
}

Example ​

bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/settings/payment-methods?method=stripe" \
  -u "username:app_password"

Save Payment Method Settings ​

POST /fluent-cart/v2/settings/payment-methods

Create or update the configuration for a specific payment method gateway.

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
methodstringbodyYesThe payment method key (e.g., stripe, paypal, cod).
settingsobjectbodyYesKey-value object of gateway-specific settings to save. Fields vary by payment method.

Response ​

json
{
    "settings": {
        "is_active": "yes",
        "payment_mode": "live",
        ...
    },
    "message": "Settings saved successfully"
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/payment-methods" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "method": "cod",
    "settings": {
      "is_active": "yes",
      "checkout_label": "Cash on Delivery"
    }
  }'

List All Payment Methods ​

GET /fluent-cart/v2/settings/payment-methods/all

Retrieve all registered payment method gateways categorized by availability status.

  • Permission: is_super_admin

Parameters ​

None.

Response ​

json
{
    "gateways": [
        {
            "method_key": "stripe",
            "title": "Stripe",
            "is_active": "yes",
            "description": "Accept payments via Stripe",
            "logo": "https://...",
            "upcoming": false
        },
        {
            "method_key": "paypal",
            "title": "PayPal",
            "is_active": "no",
            "requires_pro": true
        }
    ]
}

Gateways are sorted in order: available gateways first, then those requiring Pro, then upcoming.

Example ​

bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/settings/payment-methods/all" \
  -u "username:app_password"

Reorder Payment Methods ​

POST /fluent-cart/v2/settings/payment-methods/reorder

Set the display order of payment methods on the checkout page.

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
orderarraybodyYesOrdered array of payment method keys (e.g., ["stripe", "paypal", "cod"]).

Response ​

json
{
    "message": "Payment methods order saved successfully",
    "order": ["stripe", "paypal", "cod"]
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/payment-methods/reorder" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "order": ["stripe", "paypal", "cod"]
  }'

Get Payment Method Connection Info ​

GET /fluent-cart/v2/settings/payment-methods/connect/info

Retrieve connection information (OAuth URLs, account status) for a connectable payment gateway.

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
methodstringqueryYesThe payment method key (e.g., stripe, paypal).

Response ​

The response structure varies by gateway. For Stripe, it may include OAuth redirect URLs and connected account information. For PayPal, it includes test/live redirect URLs and account details.

json
{
    "connect_config": {
        "test_redirect": "https://example.com/wp-admin/?fluent-cart=...",
        "live_redirect": "https://example.com/wp-admin/?fluent-cart=...",
        "disconnect_note": "Disconnecting will prevent..."
    },
    "test_account": { ... },
    "live_account": { ... },
    "settings": { ... }
}

Example ​

bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/settings/payment-methods/connect/info?method=paypal" \
  -u "username:app_password"

Disconnect Payment Method ​

POST /fluent-cart/v2/settings/payment-methods/disconnect

Disconnect a payment gateway account (e.g., revoke Stripe or PayPal connection).

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
methodstringbodyYesThe payment method key to disconnect (e.g., stripe, paypal).
modestringbodyYesThe environment mode to disconnect: test or live.

Response ​

json
{
    "message": "PayPal settings has been disconnected",
    "settings": { ... }
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/payment-methods/disconnect" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "method": "paypal",
    "mode": "test"
  }'

Save Payment Method Design ​

POST /fluent-cart/v2/settings/payment-methods/design

Customize the checkout appearance for a specific payment method, including its label, logo, and instructions.

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
methodstringbodyYesThe payment method key (e.g., stripe, paypal, cod).
checkout_labelstringbodyNoCustom label displayed on the checkout form for this method.
checkout_logostringbodyNoURL to a custom logo image for the checkout form.
checkout_instructionsstringbodyNoHTML instructions shown on the checkout page when this method is selected.
thank_you_page_instructionsstringbodyNoHTML instructions shown on the thank-you/receipt page.

Response ​

json
{
    "message": "Checkout design settings saved",
    "settings": { ... }
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/payment-methods/design" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "method": "stripe",
    "checkout_label": "Credit / Debit Card",
    "checkout_logo": "https://example.com/card-icon.png",
    "checkout_instructions": "<p>You will be charged securely via Stripe.</p>"
  }'

Install Payment Addon ​

POST /fluent-cart/v2/settings/payment-methods/install-addon

Install a payment gateway addon plugin from a remote source (WordPress.org or GitHub).

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
plugin_slugstringbodyYesThe slug of the plugin to install (e.g., fluent-cart-pro).
source_typestringbodyYesSource type: wordpress (WordPress.org) or github.
source_linkstringbodyConditionalThe URL to the plugin source. Required when source_type is github.

Response ​

json
{
    "message": "Payment addon installed successfully!",
    "plugin_file": "fluent-cart-pro/fluent-cart-pro.php"
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/payment-methods/install-addon" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "plugin_slug": "fluent-cart-pro",
    "source_type": "wordpress"
  }'

Activate Payment Addon ​

POST /fluent-cart/v2/settings/payment-methods/activate-addon

Activate an already-installed payment gateway addon plugin.

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
plugin_filestringbodyYesThe plugin file path (e.g., fluent-cart-pro/fluent-cart-pro.php).

Response ​

json
{
    "message": "Payment addon activated successfully!"
}

For FluentCart Pro specifically:

json
{
    "message": "FluentCart Pro activated successfully! All premium features are now available."
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/payment-methods/activate-addon" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "plugin_file": "fluent-cart-pro/fluent-cart-pro.php"
  }'

PayPal Configuration ​

These endpoints are used during the PayPal gateway onboarding and webhook setup process.

Policy: AdminPolicy (requires super_admin)

Exchange PayPal Seller Auth Token ​

POST /fluent-cart/v2/settings/payment-methods/paypal/seller-auth-token

Exchange the PayPal authorization code for a seller access token during the PayPal Connect onboarding flow. This retrieves merchant credentials and saves them to the gateway settings.

  • Permission: super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
authCodestringbodyYesThe authorization code received from PayPal OAuth redirect.
sharedIdstringbodyYesThe PayPal partner shared/client ID used during authentication.
modestringbodyYesEnvironment mode: test or live.

Response ​

On success, credentials are saved to the PayPal gateway settings and webhooks are automatically registered. No explicit JSON response body is returned.

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/payment-methods/paypal/seller-auth-token" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "authCode": "C21AAF...",
    "sharedId": "AaBbCc...",
    "mode": "live"
  }'

Setup PayPal Webhook ​

POST /fluent-cart/v2/settings/payment-methods/paypal/webhook/setup

Register a webhook endpoint with PayPal to receive payment event notifications.

  • Permission: super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
modestringbodyYesEnvironment mode: test or live.

Response ​

json
{
    "message": "Webhook setup successfully! Please reload the page."
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/payment-methods/paypal/webhook/setup" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "live"
  }'

Check PayPal Webhook ​

GET /fluent-cart/v2/settings/payment-methods/paypal/webhook/check

Verify the current PayPal webhook registration status and set up the webhook if it is missing.

  • Permission: super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
modestringqueryYesEnvironment mode: test or live.

Response ​

Returns the webhook status and configuration details from PayPal.

Example ​

bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/settings/payment-methods/paypal/webhook/check?mode=live" \
  -u "username:app_password"

Permissions ​

Get Permissions ​

GET /fluent-cart/v2/settings/permissions

Retrieve the current role-to-capability permission mappings for FluentCart.

  • Permission: is_super_admin

Parameters ​

None.

Response ​

json
{
    "roles": {
        "administrator": {
            "name": "Administrator",
            "capabilities": {
                "orders/view": true,
                "orders/manage": true,
                "customers/view": true,
                "products/manage": true,
                ...
            }
        },
        "shop_manager": {
            "name": "Shop Manager",
            "capabilities": { ... }
        }
    }
}

Example ​

bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/settings/permissions" \
  -u "username:app_password"

Save Permissions ​

POST /fluent-cart/v2/settings/permissions

Update the role-to-capability permission mappings for FluentCart.

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
capabilityobjectbodyYesAn object mapping WordPress role slugs to their FluentCart capability assignments.

Response ​

json
{
    "message": "Permissions saved successfully"
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/permissions" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "capability": {
      "shop_manager": {
        "orders/view": true,
        "orders/manage": true,
        "customers/view": true,
        "products/manage": false
      }
    }
  }'

Store Settings ​

Get Store Settings ​

GET /fluent-cart/v2/settings/store

Retrieve all store configuration settings along with the field schema for a given settings tab.

  • Permission: store/settings

Parameters ​

ParameterTypeLocationRequiredDescription
settings_namestringqueryNoThe settings tab to return fields for (e.g., store_setup, checkout, pages).

Response ​

json
{
    "settings": {
        "store_name": "My Store",
        "currency": "USD",
        "currency_position": "before",
        "decimal_separator": "dot",
        "checkout_button_text": "Checkout",
        "view_cart_button_text": "View Cart",
        "cart_button_text": "Add To Cart",
        "popup_button_text": "View Product",
        "out_of_stock_button_text": "Not Available",
        "checkout_method_style": "logo",
        "enable_modal_checkout": "no",
        "require_logged_in": "no",
        "show_cart_icon_in_nav": "no",
        "show_cart_icon_in_body": "yes",
        "additional_address_field": "yes",
        "hide_coupon_field": "no",
        "user_account_creation_mode": "all",
        "checkout_page_id": "",
        "cart_page_id": "",
        "receipt_page_id": "",
        "shop_page_id": "",
        "customer_profile_page_id": "",
        "store_address1": "",
        "store_address2": "",
        "store_city": "",
        "store_country": "",
        "store_postcode": "",
        "store_state": "",
        "order_mode": "test",
        "variation_view": "both",
        "variation_columns": "masonry",
        "min_receipt_number": "1",
        "inv_prefix": "INV-",
        "show_email_footer": "yes",
        ...
    },
    "fields": {
        "store_setup": { ... }
    }
}

Example ​

bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/settings/store?settings_name=store_setup" \
  -u "username:app_password"

Save Store Settings ​

POST /fluent-cart/v2/settings/store

Update store configuration settings. Submitted values are merged with existing settings.

  • Permission: store/settings
  • Request Class: FluentMetaRequest (validates and sanitizes input)

Parameters ​

ParameterTypeLocationRequiredDescription
settings_namestringbodyConditionalSettings tab identifier. Required for store_setup tab validation (enforces store_name and store_country).
store_namestringbodyConditionalStore name. Required when settings_name is store_setup. Max 200 characters.
store_logoobjectbodyNoStore logo with id (integer), url (string), and title (string).
currencystringbodyNoStore currency code (e.g., USD, EUR, GBP).
currency_positionstringbodyNoCurrency symbol position: before or after.
decimal_separatorstringbodyNoDecimal separator style: dot or comma.
checkout_button_textstringbodyNoCustom text for the checkout button.
view_cart_button_textstringbodyNoCustom text for the view cart button.
cart_button_textstringbodyNoCustom text for the add-to-cart button.
popup_button_textstringbodyNoCustom text for the product popup button.
out_of_stock_button_textstringbodyNoCustom text for the out-of-stock button.
checkout_method_stylestringbodyNoPayment method display on checkout: logo or other styles.
enable_modal_checkoutstringbodyNoEnable modal/popup checkout: yes or no.
show_cart_icon_in_navstringbodyNoShow cart icon in navigation: yes or no.
show_cart_icon_in_bodystringbodyNoShow floating cart icon: yes or no.
additional_address_fieldstringbodyNoShow additional address field: yes or no.
hide_coupon_fieldstringbodyNoHide coupon input on checkout: yes or no.
user_account_creation_modestringbodyNoAccount creation mode: all, optional, or disabled.
force_sslstringbodyNoForce SSL on checkout: yes or no.
checkout_page_idintegerbodyNoWordPress page ID for the checkout page.
cart_page_idintegerbodyNoWordPress page ID for the cart page.
receipt_page_idintegerbodyNoWordPress page ID for the order receipt page.
shop_page_idintegerbodyNoWordPress page ID for the shop page.
customer_profile_page_idintegerbodyNoWordPress page ID for the customer profile page.
customer_profile_page_slugstringbodyNoCustom slug for the customer profile page.
registration_page_idintegerbodyNoWordPress page ID for the registration page.
login_page_idintegerbodyNoWordPress page ID for the login page.
store_address1stringbodyNoStore address line 1.
store_address2stringbodyNoStore address line 2.
store_citystringbodyNoStore city.
store_countrystringbodyConditionalStore country code. Required when settings_name is store_setup. Max 200 characters.
store_postcodestringbodyNoStore postal/zip code.
store_statestringbodyNoStore state/province code.
order_modestringbodyNoOrder/payment mode: test or live.
variation_viewstringbodyNoProduct variation display: both, grid, or list.
variation_columnsstringbodyNoVariation layout style: masonry or other layouts.
enable_early_payment_for_installmentstringbodyNoAllow early installment payments: yes or no.
product_slugstringbodyNoCustom product URL slug.
min_receipt_numberstringbodyNoMinimum receipt/invoice number.
inv_prefixstringbodyNoInvoice number prefix (e.g., INV-).
frontend_themeobjectbodyNoTheme color overrides. Object of key-value pairs where values are hex colors.

Response ​

json
{
    "data": {
        "store_name": "My Store",
        "currency": "USD",
        ...
    }
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/store" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "settings_name": "store_setup",
    "store_name": "My Awesome Store",
    "store_country": "US",
    "currency": "USD",
    "order_mode": "live"
  }'

Modules ​

Get Plugin Addons ​

GET /fluent-cart/v2/settings/modules/plugin-addons

List all registered plugin addons (e.g., Elementor Blocks) with their installation and activation status.

  • Permission: is_super_admin

Parameters ​

None.

Response ​

json
{
    "addons": {
        "elementor-block": {
            "title": "Elementor Blocks",
            "description": "Enable to get Elementor Blocks for FluentCart. Minimum Requirement: Elementor V3.34",
            "logo": "https://...",
            "dark_logo": "https://...",
            "plugin_slug": "fluent-cart-elementor-blocks",
            "plugin_file": "fluent-cart-elementor-blocks/fluent-cart-elementor-blocks.php",
            "source_type": "cdn",
            "source_link": "https://addons-cdn.fluentcart.com/fluent-cart-elementor-blocks.zip",
            "upcoming": false,
            "repo_link": "https://fluentcart.com/fluentcart-addons",
            "is_installed": false,
            "is_active": false
        }
    }
}

Example ​

bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/settings/modules/plugin-addons" \
  -u "username:app_password"

Install Plugin Addon ​

POST /fluent-cart/v2/settings/modules/plugin-addons/install

Install a registered plugin addon from its configured source (WordPress.org, GitHub, or CDN).

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
plugin_slugstringbodyYesThe slug of the addon to install. Must match a registered addon slug.
source_typestringbodyNoSource type: wordpress, github, or cdn. Defaults to the addon's registered source.
source_linkstringbodyNoURL to the addon source. Defaults to the addon's registered source link.
asset_pathstringbodyNoGitHub release asset path (defaults to zipball_url).

Response ​

json
{
    "message": "Addon installed successfully",
    "plugin_file": "fluent-cart-elementor-blocks/fluent-cart-elementor-blocks.php"
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/modules/plugin-addons/install" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "plugin_slug": "fluent-cart-elementor-blocks"
  }'

Activate Plugin Addon ​

POST /fluent-cart/v2/settings/modules/plugin-addons/activate

Activate an already-installed plugin addon.

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
plugin_filestringbodyYesThe plugin file path to activate (e.g., fluent-cart-elementor-blocks/fluent-cart-elementor-blocks.php).

Response ​

json
{
    "message": "Addon activated successfully."
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/modules/plugin-addons/activate" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "plugin_file": "fluent-cart-elementor-blocks/fluent-cart-elementor-blocks.php"
  }'

Get Module Settings ​

GET /fluent-cart/v2/settings/modules

Retrieve all module (feature toggle) settings and their field definitions.

  • Permission: is_super_admin

Parameters ​

None.

Response ​

json
{
    "fields": {
        "modules_settings": {
            "title": "Features & addon",
            "type": "section",
            "class": "no-padding",
            "disable_nesting": true,
            "columns": {
                "default": 1,
                "md": 1
            },
            "schema": {
                "turnstile":        { "title": "Turnstile", "description": "...", "type": "...", "component": "..." },
                "reviews":          { "title": "Reviews", "hidden": false },
                "stock_management": { "title": "Stock Management", "description": "...", "type": "...", "component": "...",
                                      "settings": { "enable_advanced_inventory": { "label": "...", "default": "no" } } },
                "license":          { "title": "Licensing", "description": "...", "type": "...", "component": "..." },
                "order_bump":       { "title": "Order Bump", "description": "...", "type": "...", "component": "..." },
                "dynamic_pricing":  { "title": "Dynamic Pricing", "description": "...", "type": "...", "component": "..." },
                "mcp":              { "title": "MCP", "description": "...", "type": "...", "component": "..." }
            }
        }
    },
    "settings": {
        "turnstile": {
            "active": "no",
            "site_key": "",
            "secret_key": ""
        },
        "reviews": {
            "active": "yes",
            "review_permission_mode": "verified_buyers",
            "auto_approve_reviews": "no",
            "show_verified_badge": "yes",
            "enable_star_rating": "yes",
            "star_rating_required": "yes",
            "reviews_per_page": 10
        },
        "stock_management": {
            "active": "yes",
            "enable_advanced_inventory": "no"
        }
    }
}

fields.modules_settings.schema describes every module the admin can toggle, while settings carries only the modules that have stored values. A module absent from settings has never been configured on that store, so read defaults from the schema rather than assuming the key is present.

Module keys are dynamically registered via the fluent_cart/module_setting/fields filter.

Example ​

bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/settings/modules" \
  -u "username:app_password"

Save Module Settings ​

POST /fluent-cart/v2/settings/modules

Enable or disable modules (features) and update their configuration. Fires fluent_cart/module/activated/{key} or fluent_cart/module/deactivated/{key} hooks when a module's active status changes.

  • Permission: is_super_admin

Parameters ​

The request body should include module key-value pairs matching the registered module keys. Each module object typically contains:

ParameterTypeLocationRequiredDescription
{module_key}objectbodyYesModule configuration object. Keys vary per module.
{module_key}.activestringbodyYesWhether the module is enabled: yes or no.

Only keys returned by ModuleSettings::validKeys() (derived from registered module fields) are accepted. Unrecognized keys are ignored.

Response ​

json
{
    "message": "Settings saved successfully"
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/modules" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "shipping": {
      "active": "yes"
    },
    "tax": {
      "active": "no"
    },
    "coupons": {
      "active": "yes"
    }
  }'

Confirmation Pages ​

Save Confirmation Settings ​

POST /fluent-cart/v2/settings/confirmation

Update the order confirmation/receipt page settings, including the confirmation type, message content, and the receipt page assignment.

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
settingsobjectbodyYesConfirmation settings object.
settings.confirmation_typestringbodyNoConfirmation behavior: same_page (show confirmation on same page) or custom_page (redirect to a custom page).
settings.message_to_showstringbodyNoHTML content to display as the order confirmation message. Sanitized with wp_kses_post.
settings.confirmation_page_idintegerbodyNoWordPress page ID for a custom confirmation/receipt page. Also updates the store's receipt_page_id.

Response ​

json
{
    "confirmation_type": "same_page",
    "message_to_show": "<p>Thank you for your order!</p>"
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/confirmation" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "settings": {
      "confirmation_type": "custom_page",
      "confirmation_page_id": 42,
      "message_to_show": "<h2>Order Confirmed!</h2><p>Thank you for your purchase.</p>"
    }
  }'

Get Email Shortcodes ​

GET /fluent-cart/v2/settings/confirmation/shortcode

Retrieve available shortcodes/merge tags that can be used in email notification templates and confirmation messages.

  • Permission: is_super_admin

Parameters ​

None.

Response ​

json
{
    "data": {
        "order": {
            "title": "Order",
            "shortcodes": {
                "{{order.id}}": "Order ID",
                "{{order.total}}": "Order Total",
                "{{order.status}}": "Order Status",
                ...
            }
        },
        "customer": {
            "title": "Customer",
            "shortcodes": {
                "{{customer.first_name}}": "First Name",
                "{{customer.email}}": "Email",
                ...
            }
        },
        "store": {
            "title": "Store",
            "shortcodes": {
                "{{store.name}}": "Store Name",
                ...
            }
        }
    }
}

Example ​

bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/settings/confirmation/shortcode" \
  -u "username:app_password"

Storage Drivers ​

Manage file storage drivers for digital product delivery (e.g., local filesystem, Amazon S3, Bunny CDN).

List All Storage Drivers ​

GET /fluent-cart/v2/settings/storage-drivers

Retrieve all registered file storage drivers and their current status.

  • Permission: is_super_admin

Parameters ​

None.

Response ​

json
{
    "drivers": {
        "local": {
            "title": "Local",
            "route": "local",
            "description": "Local allows to upload file in local file storage",
            "logo": "https://example.com/wp-content/plugins/fluent-cart/assets/images/storage-drivers/local.svg",
            "dark_logo": null,
            "status": true,
            "brand_color": "#136196",
            "has_bucket": false,
            "instance": { "slug": "local", "title": "Local", "brandColor": "#136196" }
        },
        "s3": {
            "title": "Amazon S3",
            "route": "s3",
            "status": false,
            "has_bucket": true,
            "need_reconfigure": false,
            "buckets": []
        },
        "r2": {
            "title": "Cloudflare R2",
            "route": "r2",
            "status": false,
            "has_bucket": true,
            "need_reconfigure": false,
            "buckets": []
        }
    }
}

Example ​

bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/settings/storage-drivers" \
  -u "username:app_password"

Save Storage Driver Settings ​

POST /fluent-cart/v2/settings/storage-drivers

Create or update settings for a specific file storage driver.

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
driverstringbodyYesThe storage driver key (e.g., local, s3, bunny).
settingsobjectbodyYesDriver-specific configuration settings. Fields vary by driver.

Response ​

json
{
    "message": "Settings saved successfully",
    "data": { ... }
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/storage-drivers" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "driver": "s3",
    "settings": {
      "access_key": "AKIA...",
      "secret_key": "wJalr...",
      "bucket": "my-store-files",
      "region": "us-east-1"
    }
  }'

Get Active Storage Drivers ​

GET /fluent-cart/v2/settings/storage-drivers/active-drivers

Retrieve only the currently active/enabled file storage drivers.

  • Permission: is_super_admin

Parameters ​

None.

Response ​

json
{
    "drivers": [
        {
            "key": "local",
            "title": "Local Storage",
            "is_active": true,
            ...
        }
    ]
}

Example ​

bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/settings/storage-drivers/active-drivers" \
  -u "username:app_password"

Get Storage Driver Settings ​

GET /fluent-cart/v2/settings/storage-drivers/{driver}

Retrieve the configuration settings and field schema for a specific storage driver.

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
driverstringpathYesThe storage driver key (e.g., local, s3, bunny).

Response ​

json
{
    "settings": {
        "access_key": "AKIA...",
        "secret_key": "****",
        "bucket": "my-store-files",
        "region": "us-east-1"
    },
    "fields": { ... }
}

Example ​

bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/settings/storage-drivers/s3" \
  -u "username:app_password"

Verify Storage Driver Connection ​

POST /fluent-cart/v2/settings/storage-drivers/verify-info

Test the connection to a storage driver using the provided credentials without saving them.

  • Permission: is_super_admin

Parameters ​

ParameterTypeLocationRequiredDescription
driverstringbodyYesThe storage driver key (e.g., s3, bunny).
settingsobjectbodyYesDriver-specific credentials and configuration to verify. Fields vary by driver.

Response ​

json
{
    "message": "Connection verified successfully"
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/settings/storage-drivers/verify-info" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "driver": "s3",
    "settings": {
      "access_key": "AKIA...",
      "secret_key": "wJalr...",
      "bucket": "my-store-files",
      "region": "us-east-1"
    }
  }'

Checkout Fields ​

Manage which fields are displayed on the checkout form and their required/optional status.

Base URL: https://your-site.com/wp-json/fluent-cart/v2/checkout-fields

Policy: StoreSensitivePolicy (requires store/sensitive capability)

Get Checkout Fields ​

GET /fluent-cart/v2/checkout-fields/get-fields

Retrieve the checkout field configuration including the schema definition and current settings.

  • Permission: store/sensitive

Parameters ​

None.

Response ​

json
{
    "fields": {
        "basic_info": {
            "full_name": {
                "label": "Full Name",
                "type": "text",
                "configurable": true
            },
            "first_name": {
                "label": "First Name",
                "type": "text",
                "configurable": true
            },
            "last_name": {
                "label": "Last Name",
                "type": "text",
                "configurable": true
            },
            "email": {
                "label": "Email",
                "type": "email",
                "configurable": false
            }
        },
        "billing_address": { ... },
        "shipping_address": { ... }
    },
    "settings": {
        "basic_info": {
            "full_name": {
                "enabled": "yes",
                "required": "yes"
            },
            "first_name": {
                "enabled": "no",
                "required": "no"
            },
            "last_name": {
                "enabled": "no",
                "required": "no"
            }
        },
        "billing_address": { ... },
        "shipping_address": { ... }
    }
}

Example ​

bash
curl -X GET "https://example.com/wp-json/fluent-cart/v2/checkout-fields/get-fields" \
  -u "username:app_password"

Save Checkout Fields ​

POST /fluent-cart/v2/checkout-fields/save-fields

Update the checkout field visibility and required settings. The endpoint enforces name field logic automatically:

  • If first_name or last_name is enabled, full_name is automatically disabled.

  • If neither first_name nor last_name is enabled, full_name is automatically enabled and marked as required.

  • If first_name is enabled, it is forced to be required. Same for last_name.

  • Permission: store/sensitive

Parameters ​

ParameterTypeLocationRequiredDescription
settingsobjectbodyYesCheckout field settings object. Only keys matching existing settings are accepted.
settings.basic_infoobjectbodyNoBasic information field settings.
settings.basic_info.{field}.enabledstringbodyNoWhether the field is shown: yes or no.
settings.basic_info.{field}.requiredstringbodyNoWhether the field is required: yes or no.
settings.billing_addressobjectbodyNoBilling address field settings (same structure as basic_info).
settings.shipping_addressobjectbodyNoShipping address field settings (same structure as basic_info).

Response ​

json
{
    "message": "Checkout fields has been updated successfully."
}

Example ​

bash
curl -X POST "https://example.com/wp-json/fluent-cart/v2/checkout-fields/save-fields" \
  -u "username:app_password" \
  -H "Content-Type: application/json" \
  -d '{
    "settings": {
      "basic_info": {
        "full_name": {
          "enabled": "no",
          "required": "no"
        },
        "first_name": {
          "enabled": "yes",
          "required": "yes"
        },
        "last_name": {
          "enabled": "yes",
          "required": "no"
        }
      }
    }
  }'

FluentCart developer documentation