Resolve billing and renewal problems

Resolve billing and renewal problems.

Status: source-reviewed Section: Troubleshooting

Search documentation

Type to search.

Start with the WooCommerce order or subscription and the payment provider transaction. GymCore Admin > GymCore Settings > Billing controls the annual membership-pause limit; it does not configure gateways, taxes, renewals, refunds, or dunning.

A charge or refund may be duplicated

  1. Stop retrying. Record the order ID, subscription ID, amount, currency, gateway, exact time, and staff account.
  2. Open the WooCommerce order and read its status, order notes, and refund rows.
  3. Open the payment-provider transaction separately and match its provider ID and settled/refunded amount.

Expected: One provider transaction accounts for the money movement. A GymCore or AI Completed status is not proof that the gateway settled or refunded it.

If WooCommerce and the provider disagree, preserve both IDs and timestamps. Do not create a manual correction until the payment owner chooses the source-of-truth reconciliation.

A renewal did not run

  1. Open the WooCommerce subscription and confirm its status, payment method, next payment date, related orders, and notes.
  2. Check WooCommerce > Status > Scheduled Actions for the subscription’s renewal/dunning hook and its last error.
  3. Confirm WooCommerce Subscriptions and the configured gateway are active and that WordPress cron is running.

Expected: The subscription, scheduled action, renewal order, and provider log describe the same state. Do not change the GymCore annual pause limit to repair a failed renewal.

A failed-payment reminder or dunning step is missing

Confirm the failed order exists, the subscription extension owns the retry schedule, the recipient is eligible, and the communication provider has no suppression or rejection. If GymCore AI drafted a dunning message, verify whether it is only a draft, a Pending proposal, or a completed send.

Expected: The owning system shows either the scheduled retry/message or a specific blocking reason. Draft text and pending approval do not send anything.

QuickBooks does not match WooCommerce

Open GymCore Admin > Integrations > QuickBooks, check connection health, and compare the sync record with the WooCommerce order and provider transaction. QuickBooks is a downstream accounting copy; do not edit the payment source merely to make the accounting view match.

Expected: The WooCommerce order and gateway transaction reconcile first, then the QuickBooks sync reflects the corrected source.

Verify the recovery

Reopen the WooCommerce order/subscription, provider transaction, scheduled action, and any downstream accounting record.

Expected: Status, amount, currency, transaction ID, and next renewal date agree, and no duplicate action exists.

Escalate with billing evidence

Provide sanitized order/subscription IDs, gateway transaction ID, timestamps with timezone, amounts/currency, order-note text, scheduled-action status/error, and relevant plugin versions. Never include card data, gateway secrets, customer names, or full billing addresses.

Need help?

Describe one problem and the installed versions. Never send passwords, license keys, API keys, payment details, or member records.

Contact GymCore