Skip to main content

I have created a subscription product and now I get this text at the bottom of the card details.

"By subscribing, you authorize FluentCart, Inc. to charge you according to the terms until you cancel."

I would like to change the "FluentCart, Inc." to my client's business name. I'm assuming this is happening because they way Stripe is connected to FluentCart.

How do change this text: By subscribing, you authorize FluentCart, Inc.?

On the Checkout page when customer agrees to terms the checkbox does not show any check mark or anything that could indicate to the customer that he has indeed clicked on the "I agree to terms". I mean - the button works but for the user/customer it's not that clear that the checkbox has been selected.

Edit: I figured out this happens if you copy the checkout link directly from the paywall in community. If I copy "direct checkout" link from the product in the FluentCart it works fine.

Hello FluentCart Team,
​I am currently developing a custom payment gateway integration for FluentCart. My payment provider supports a two-stage payment flow (Authorize and Capture). I need to allow store administrators to manage these transactions (Capture or Void) directly from the FluentCart Order Management interface.

I would appreciate your guidance on the following technical points:
​1. Admin UI Customization
​I need to provide administrators with clear actions to handle authorized payments.
​What is the recommended way to add custom action buttons (e.g., "Capture Payment", "Void Authorization") to the Order Details page?
​Are there specific hooks to inject these actions into the "Order Actions" dropdown or the sidebar area in the FluentCart admin dashboard?

​2. Implementing Capture/Void Logic
​When an admin triggers a manual capture or void:
​Which action hooks should I listen to for processing these custom requests?
​Does FluentCart have a standard method or class within its Payment API to handle capture() and void() operations, or should these be handled as completely custom AJAX/REST actions?

​3. Order Status & Metadata Management
​What is the best practice for updating the order status and adding transaction notes/metadata after a successful capture/void within the FluentCart framework?
​Is there a specific internal API for logging these payment events in the order history?

​Context:
​Platform: WordPress
​Plugin: FluentCart (Latest version)
​Goal: Native-like integration for Authorize/Capture workflow.

Thank you for your time and for providing such a powerful tool for the WordPress community. I look forward to your guidance.

​Best regards,
Eduard

Developer Inquiry: Implementing Authorize/Capture Workflow for Custom Payment Gateway

I tried the REST API to update an order according to the documentation but got the following error:

{"customer_id":{"required":"Customer selection is required"},"order_items":{"required":"Item selection is required"}}

Why is there a customer selection required if I just want to change the order (not the customer!). Also, order_items is an array. Do I really need to enter all items of that order to just change the whole thing?

This seems not to be working or the documentation is far off. Is there a working example somewhere?

I am testing the free version of Fluentcard but when i start doing the check out, it links back to my sale page website. Does the free version allow us to set up a complete payment?

Verified Bugs

1. No Protection Against Deleting Variations / Products with Active Licenses (CRITICAL)

FC allows deleting variations and products that have active licenses. Once order is completed (not pending), deletion succeeds with no warning.

Result:

  • Deleted variation β†’ license variation_title becomes empty in API
  • Deleted product β†’ license displays "Unknown Product" to customer
  • License still activates (functional) but customer has no idea what it's for

Steps: Purchase product β†’ Complete order β†’ Delete variation or product β†’ Check customer license view

2. Bundle Purchase Skips Deleted Children (CRITICAL)

Delete a bundle child variation β†’ bundle still purchasable β†’ customer pays full price but only receives licenses for existing children.

Steps: Create bundle A+B β†’ Delete variation from B β†’ Purchase bundle β†’ Only A license issued, charged for both.

3. No Dependency Check on Deletion

Variations and products can be deleted while referenced in bundle_child_ids. No warning, silent corruption.

4. Bundle Display Hides Deleted Children

Product page omits deleted children from display but keeps original price. Misleading.


Suggested Additional Tests

Licensing

  • License renewal for deleted variation?
  • License upgrade/downgrade to deleted variation?
  • License transfer when product deleted?
  • Activation limit enforcement after variation deleted?

Subscriptions & Recurring

  • Delete variation with active subscription β†’ renewal behavior?
  • Delete product with active subscription β†’ orphaned renewals?
  • Subscription upgrade to deleted variation?

Installments

  • Delete variation mid-installment plan β†’ remaining payments?
  • Installment completion for deleted variation?

Bumps (FC Pro) - Same Cascade Risk as Bundles

  • Delete variation referenced by bump β†’ bump still offered?
  • Purchase with bump for deleted variation β†’ silent skip?
  • Bump display after variation deletion β†’ misleading pricing?
  • Delete product referenced by bump β†’ orphaned bump data?

Refunds

  • Refund order with orphaned variation?
  • Partial refund on bundle with deleted child?

Bundle Edge Cases

  • Delete ALL bundle children β†’ empty bundle purchasable?
  • Bundle with same child variation twice β†’ double orphan?

Downloads

  • Download file after product/variation deletion?

API & Reports

  • Sales reports with orphaned orders β†’ accurate totals?
  • Webhook payloads for orphaned data?

Testing performed on LocalWP with FluentCart Pro

When a bundle contains a child product with post_status = draft, the purchase still succeeds. Customers receive licenses for products that should be hidden.

Steps to Reproduce:

Β  1. Create Product A (publish) and Product B (draft)

Β  2. Create Bundle containing both A and B (publish)

Β  3. Purchase the bundle

Β  Expected: Checkout blocked or bundle unavailable (child is draft)

Β  Actual: Purchase succeeds, licenses issued for draft product

Impact: Customers can access products not yet released or intentionally hidden.

Technical Note: ProductVariation::isBundleChildrenInStock() validates stock but doesn't check post_status of child products.

I needed to move a site to a new server. Is there an option to export and import FluentCart data from one server to the other? Like customers, orders, products, etc. I already set up the basic settings. But how do I add the dynamic data that has been created on the old server?

I’m running into a serious issue.

I have a coupon code β€œwebinar”, but if a customer enters β€œWebinar”, it doesn’t work. At the same time, when I try to create a new coupon called β€œWebinar” in the admin, FluentCart tells me that the coupon already exists.

So the system treats the code as case-sensitive at checkout, but case-insensitive when creating coupons. This is confusing for users and creates real problems in practice. From my perspective, this is a major bug.

My Setup

  • User registration for Fluent Community is handled via Fluent Forms
  • Payments and subscriptions are handled via FluentCart
  • CRM synchronization is handled via FluentCRM
  • Access to paid spaces is expected to be granted on successful subscription and revoked upon cancellation

Test Scenario (Using Two Different Emails)

To test the integration, I intentionally used two different email addresses:

  • Email used to register for Fluent Community:
    abc@gmail.com
  • Email used to complete payment via PayPal / FluentCart:
    xyz@gmail.com

What Worked (Expected Behavior)

  • The payment made via FluentCart using xyz@gmail.com correctly:

    • Matched to the Fluent Community user account (abc@gmail.com)
    • Granted access to the paid space as expected

What Did Not Work (Issue)

  • When the subscription was cancelled, access to the paid space was not removed from the Fluent Community account (abc@gmail.com).

My Hypothesis

I suspect this issue may be related to the use of different email addresses between:

  • Fluent Community registration
  • PayPal / FluentCart checkout

My concern is that while FluentCart successfully granted access across emails, it may not be properly triggering the access revocation logic upon cancellation when the payer email differs from the community login email.

My Question

What is the recommended configuration to ensure that access to paid spaces is always removed when a subscription is cancelled, regardless of PayPal email?

This issue is a blocker for launch, as access control for paid spaces must work reliably.

Any guidance or assistance would be greatly appreciated.

Thank you.

Paid Space Access Not Removed Upon Subscription Cancellation (Fluent Community + FluentCart Integration)