CreditKit Pro settings reference

CreditKit Pro 2.2.0 puts every store-wide option on one screen at Credit System → Settings. That screen has seven tabs: General, Features, Purchase Options, Display, Rewards, Advanced and Shortcodes. Six of them hold saved settings, and Shortcodes is a read-only reference table.

All six input tabs share one form, so Save Changes writes every tab at once. Each input tab carries a “Reset this tab to defaults” link that restores only that tab’s keys. The page requires the manage_options capability, so shop managers cannot open it. The Setting column below is the key stored in the pcs_settings option, the UI label is the on-screen text, and defaults are the values seeded on activation.

General tab

SettingUI labelDefaultWhat it changes
global_expiry_daysGlobal Credit Expiry Days365Days a purchased credit stays spendable, store-wide. Entering 0 means purchased credits never expire.
allow_decimal_creditsAllow Decimal CreditsOffLets balances hold fractional credits instead of whole tokens. Existing rows are not converted.
decimal_placesDecimal places1Decimal places on a credit figure. Accepts 1 to 4, and stays greyed out until Allow Decimal Credits is on.
buy_credit_page_idBuy Credit Page0, no page selectedThe page that buy-credits links point at. That page needs the [pcs_credit_bundles] shortcode to render anything.
credit_price_ratioCredit value0The store-currency value of one credit. The Dashboard multiplies outstanding credits by this number for the liability card, and 0 hides that card.
refund_credit_rateGoodwill credit rate1Credits issued per 1 unit of store currency when an administrator uses the Issue store credit box on an order.

Global Credit Expiry Days overrides every bundle

Each credit bundle carries its own Expiry Days field, and that per-bundle number is what customers are shown. In CreditKit Pro 2.2.0 the per-bundle number never reaches the ledger. PCS_Bundle_Manager::process_bundle_purchase() uses the global setting whenever the global_expiry_days key exists, and activation seeds that key to 365 on every upgrade.

The product page credit summary card and the [pcs_credit_bundles] grid both read the per-bundle Expiry Days column, so a bundle configured for 30 days advertises 30 days while the ledger records the global 365. Set Global Credit Expiry Days to the number you intend to honour, then copy it into every bundle’s Expiry Days field.

Features tab

The Features tab is the module switchboard. Turning a module off stops its admin screens and front-end surfaces from registering.

SettingUI labelDefaultWhat it changes
enable_teamsGroups & BudgetsOffRegisters the Groups & Budgets screen, shared team budgets and the approval workflow. When off, that menu item and its cron job do not register.
enable_account_credit_requestTeam credit requestsOffAdds a Request credits endpoint at /my-account/credit-request/. The checkbox stays disabled until Groups & Budgets is on. The [pcs_credit_request] shortcode works either way.
enable_rewardsRewardsOffThe master gate for every reward rule. This key sits on the Features tab, not on the Rewards tab.
enable_gamificationGamificationOffRegisters badges, achievements and the [pcs_badges] shortcode. Badges award no credits.
enable_notificationsNotificationsOffAllows CreditKit to email customers and show on-site notices about their balance. No balance email is sent on a fresh install.
notification_thresholdLow-balance threshold5 creditsThe balance at or below which the low-balance notice fires.
low_credit_messageLow Credit EmailEmptyBody of the low-balance email. Placeholders: {user_name}, {login}, {balance}, {site_name}, {site_url}. Blank uses the built-in copy.
expiring_credit_messageExpiring Credits EmailEmptyBody of the expiring-credits email. Placeholders: {user_name}, {login}, {expiring_amount}, {days}, {site_name}, {site_url}.
backup_failure_notificationsFailure alertsOnEmails the WordPress admin address when a scheduled credit backup errors. This alert is separate from customer Notifications.

Two rows on this tab carry no checkbox. Backups reports an on or off status and links to Credit System → Security → Credit Backups. API & webhooks links out to the key and subscription screens.

Purchase Options tab

SettingUI labelDefaultWhat it changes
credit_order_statusCredit Addition Order StatuscompletedThe order status that triggers the credit grant. Credits are added on the transition into this status, once per order.
disable_coupon_on_creditsDisable Coupon on CreditsOnRejects coupon codes on carts holding a credit bundle.
hidden_payment_gatewaysHide Payment Gateways for CreditsEmpty listTicked gateways disappear at checkout when the cart holds a credit bundle. The credit gateway is never listed here.
enable_woocommerce_syncEnable WooCommerce SyncOffMirrors each credit bundle into a WooCommerce product so bundles reach the cart. Editing either side updates the other.

Display tab

The Display tab absorbed the old Labels tab in 2.2.0, so credit wording now lives here.

SettingUI labelDefaultWhat it changes
hide_prices_credit_productsHide currency prices on Credit Bundle productsOffSuppresses the WooCommerce money price on bundle-linked products across shop, product page and cart. The credit amount still renders.
pcs_hide_what_you_get_cardCredit summary cardOff, so the card showsHides the credit summary card on every credit-bundle product page. Hide one bundle instead with the pcs-hide-summary CSS class.
credit_icon_typeIcon SourcelibraryChooses the icon source. Accepted values are library, custom and emoji.
credit_icon_keyBuilt-in icon gridcoinsWhich built-in icon renders when Icon Source is library.
credit_icon_attachment_idSelect / Upload icon0Media attachment used when Icon Source is custom. Uploaded SVG files are stripped of scripts.
credit_icon_emojiEmoji / symbolA lightning bolt glyphThe glyph used when Icon Source is emoji. The field accepts up to 8 characters.
hide_buy_credits_accountHide Buy Credits from My AccountOffRemoves the credits tab from the My Account menu and removes the buy prompt from the balance widget and the credits dashboard.
show_credits_log_accountShow Credits log on My AccountOnShows the transaction history block in the My Account credits dashboard.
credits_label_singularFor Credit (Singular)CreditSingular noun printed beside a credit figure.
credits_label_pluralFor Credits (Plural)CreditsPlural noun printed beside a credit figure.
my_account_labelMy Account LabelBuy CreditsMenu title of the CreditKit tab inside WooCommerce My Account.
expire_labelExpire Days LabelExpiresWord placed in front of an expiry date or duration.
credit_summary_titleCredit summary titleCredit summaryHeading above the credit, bonus and expiry list on a bundle product page. A blank field restores the built-in heading.

Credit prices always render as icon, then number, then label. The old Credit Price Template field and its {credits} and {label} tokens were removed in 2.2.0.

Rewards tab

The Rewards tab holds one saved setting in 2.2.0. Reward amounts moved to Credit System → Rewards, and the seven old numeric and colour keys were dropped from the schema.

SettingUI labelDefaultWhat it changes
rewards_require_approvalRequire Manual ApprovalOffSends every reward grant to the approvals queue, overriding the per-rule “Requires approval” flag.

The rest of the tab is read-only. A status line reports whether Rewards is on, and a Manage Reward Rules button opens Credit System → Rewards.

Advanced tab

SettingUI labelDefaultWhat it changes
remove_data_on_uninstallRemove all plugin data on uninstallOffRecords an opt-in to data deletion. CreditKit Pro 2.2.0 ships no uninstall routine, so ticking the box deletes nothing today.
debug_modeDebug ModeOffRecords a debug preference. No 2.2.0 code path reads this key, so use the WordPress WP_DEBUG_LOG constant for logging.
enable_cacheCache SettingsOnRecords a caching preference. Balance caching runs through the WordPress object cache and ignores this key.
cache_durationCache Duration (minutes)60Records a cache lifetime in minutes. No 2.2.0 code path reads this key.

The Advanced tab also carries a Download Settings JSON button, which exports the current pcs_settings values filtered to known keys. There is no matching import button.

Shortcodes tab

The Shortcodes tab lists the eight shipped shortcodes with their attributes and a Copy button for each, and saves nothing. The listed tags are [pcs_user_account_credits], [pcs_credit_balance], [pcs_credits_log], [pcs_credit_bundles], [pcs_buy_credit_url], [pcs_badges], [pcs_credit_request] and [pcs_pdp_credit_card]. Older tags such as [credit_balance] still work and route to the canonical tags.

Which settings live outside this page?

What you want to changeWhere it lives
Checkout title, description and on or off state of the credit gatewayWooCommerce → Settings → Payments → Credit Payment
Fraud scoring, monitoring, blocking rules, security alerts, blocked users and IPsCredit System → Security
Per-tier spending limits and emergency modeCredit System → Security → Spending Limits
Backup schedule, manual backups, balance reconciliationCredit System → Security → Credit Backups
Reward rules, reward amounts, the approvals queueCredit System → Rewards
Webhook subscriptions and API keysCredit System → API & Webhooks
Whether one product sells for money, credits or either, plus its credit priceThe Product data panel on each product
One bundle’s credits, bonus and expiry daysCredit System → Credit Bundles

How do I sell credits instead of products in WooCommerce?

Selling a catalogue in credits takes four steps.

  1. Create the packs customers buy. In Credit System → Credit Bundles, add a bundle with a credit amount and a money price. Tick Enable WooCommerce Sync on the Purchase Options tab so each bundle becomes a purchasable product.
  2. Give customers somewhere to buy. Create a page containing [pcs_credit_bundles], then select it under Buy Credit Page on the General tab.
  3. Turn on the gateway. In WooCommerce → Settings → Payments, enable Credit Payment. The gateway only appears at checkout when the cart will actually be paid in credits.
  4. Price the catalogue in credits. Edit a product, open the Product data panel, and pick “Sell for credits only” or “Either money or credits (customer chooses)” under Credit payment options. Type the number of credits into Price in credits. Repeat per product, or tick the credits-only box on a product category so its products inherit the setting.

Type an explicit number into Price in credits rather than trusting the auto-filled placeholder. That placeholder multiplies the money price by credit_price_ratio, while the Dashboard liability figure treats the same key as the currency value of one credit. Those readings are inverses, so the auto-filled price is only correct when credit_price_ratio is 1.

The money price stays on the product after a credit price is set. WooCommerce keeps using it for tax, shipping and refund maths even when the customer pays entirely in credits.

Which settings should I change first?

Four defaults are wrong for most shops.

  • Global Credit Expiry Days ships at 365. Set the expiry you intend to honour, then copy that number into every bundle’s Expiry Days field.
  • Notifications ships off, so nobody is warned about a low balance until the module is on and the Low-balance threshold is set.
  • Credit value ships at 0, which hides the outstanding-liability card on the Dashboard.
  • Credit Addition Order Status ships as completed. Change it to processing to grant credits before fulfilment.

What this doesn’t do

  • A per-bundle Expiry Days value does not override Global Credit Expiry Days. The store-wide number is what the ledger writes.
  • The Shortcodes tab saves nothing; it is a copyable reference table.
  • The Advanced tab has no queue tuning, no CDN options, no API log retention control, and no cache time-to-live that 2.2.0 reads.
  • The settings screen cannot import a settings JSON file. Export is one-way.
  • Ticking Remove all plugin data on uninstall deletes no balances or transactions, because 2.2.0 registers no uninstall routine.
  • Credit value does not change what a customer pays for a bundle. Bundle prices are set in Credit System → Credit Bundles.