Refinery Payouts uses Stripe Connect to move money from your Stripe balance to your payees’ Stripe accounts. This guide walks through enabling Connect on your Stripe account and configuring the API keys the plugin needs.
Enable Connect in Stripe
- Sign in to the Stripe Dashboard.
- Go to Connect → Settings.
- Activate Standard accounts. (Refinery Payouts uses the Standard account type, where each payee owns their Stripe account and dashboard.)
- Set your platform name, branding, and support details. These appear during onboarding.
Get your Client ID
The Client ID identifies your platform when generating onboarding links.
- In the Stripe Dashboard, go to Settings → Connect → Connect settings.
- Copy the value beginning with
ca_.
Get API keys
You need two pairs of keys: one for test mode and one for live mode.
- In the Stripe Dashboard, go to Developers → API keys.
- Toggle the Viewing test data switch to copy the test publishable (
pk_test_…) and secret (sk_test_…) keys. - Toggle it off to copy the live publishable (
pk_live_…) and secret (sk_live_…) keys.
Configure the plugin
- In WP Admin, go to Refinery Payouts → Settings → Stripe.
- Paste the Client ID and both pairs of API keys into their respective fields.
- Choose Test mode while you set up. Switch to live mode only after you’ve completed a successful end-to-end test.
- Click Save changes.
Keys saved in WP Admin are encrypted with AES-256 in the database.
Defining keys in wp-config.php (recommended for production)
For maximum security, define keys as PHP constants in wp-config.php. When defined this way, the keys are never stored in the database and the admin fields become read-only.
// Add before the "That's all, stop editing!" line:
define( 'REFINERY_PAYOUTS_STRIPE_LIVE_SECRET_KEY', 'sk_live_...' );
define( 'REFINERY_PAYOUTS_STRIPE_LIVE_PUBLISHABLE_KEY', 'pk_live_...' );
define( 'REFINERY_PAYOUTS_STRIPE_TEST_SECRET_KEY', 'sk_test_...' );
define( 'REFINERY_PAYOUTS_STRIPE_TEST_PUBLISHABLE_KEY', 'pk_test_...' );
define( 'REFINERY_PAYOUTS_STRIPE_CLIENT_ID', 'ca_...' );
Use restricted keys (recommended)
Instead of using your full secret key, create a restricted key in Stripe with only the permissions Refinery Payouts needs.
Required permissions:
- Transfers — Write
- Balance — Read
- Accounts — Write
- Account Links — Write
Optional permission (only if you’ve enabled refund reversals):
- Transfer Reversals — Write
To create one: go to Developers → API keys, click Create restricted key, name it “Refinery Payouts,” set the permissions above, and copy the resulting key.
Test the connection
Visit Refinery Payouts → Settings. The status badge at the top of the page shows Connected when the plugin can authenticate with Stripe and read your account balance. If it shows Not connected, double-check the secret key for the active mode.