WooCommerce stores the gateway settings in the option woocommerce_wpinterface_paddle_settings (Settings::OPTION). The free plugin uses the same option and keys, so moving between Lite and Pro keeps every credential. Read values with Settings::get( $key, $default ), which caches the option for the request; Settings::flush() clears that cache.
| Key | Meaning |
|---|---|
enabled | yes / no (default no) |
title, description | Shown at checkout |
api_mode | billing (default) or classic |
testmode | yes (default) = sandbox |
billing_{live,sandbox}_api_key | Billing API key |
billing_{live,sandbox}_client_token | Client-side token; must start with live_ / test_ to count as configured |
billing_{live,sandbox}_webhook_secret | Notification destination secret (filled by Set up webhook) |
classic_{live,sandbox}_vendor_id, …_api_key, …_public_key | Classic credentials |
checkout_mode | inline (default) or overlay |
checkout_theme | light (default) or dark |
checkout_locale | '' (automatic) or a Paddle locale code |
show_icons | yes (default): payment marks next to the option |
product_name | Classic: single-line title for multi-item orders |
product_image | Fallback HTTPS image for the checkout |
tax_category | Billing product tax_category (default standard) |
tax_mode | Billing price tax_mode: account_setting (default), external, internal |
cancel_timing | Billing: next_billing_period (default) or immediately |
disable_customer_portal | yes hides “Update payment method” on customer subscriptions |
hide_invoice_link | yes hides Paddle invoice/receipt links |
debug | yes logs routine API calls and webhooks |
remove_data_on_uninstall | yes lets uninstall.php delete the plugin’s options |
status, webhook, account, checkout, subscriptions_title and advanced are display-only rows or headings.
Helpers
Use Settings::credential( $name, $sandbox = null, $mode = null ) and never read credential keys directly. Other helpers: enabled(), sandbox(), api_mode(), is_billing(), is_configured( $sandbox = null ), client_token_valid(), checkout_mode(), checkout_locale() (maps the site locale to a Paddle locale when set to automatic), locales( $api ), webhook_url(), form_fields().
admin.js shows only the rows of the selected account type; Settings::tag() adds the classes wpinterface-paddle-billing-field / wpinterface-paddle-classic-field.