Why Use Stripe?
📸 Screenshot: Stripe Settings
Payment gateway configuration panel showing Stripe API key fields
Stripe is the leading payment processor for online businesses, offering:
- Easy recurring subscriptions
- Modern checkout experience
- Supports 135+ currencies
- Apple Pay & Google Pay built-in
- Excellent developer tools
- Automatic tax calculation
- Strong fraud protection
💡 Perfect For: SaaS companies, membership sites, subscription businesses, digital products, and any business needing recurring billing.
Prerequisites
- Stripe account (create at stripe.com)
- SSL certificate installed (HTTPS)
- Business information ready for verification
- Bank account for payouts
Setting Up Stripe
1 Create Stripe Account
- Visit stripe.com/register
- Enter business email
- Create password
- Verify email address
2 Complete Business Profile
Stripe requires:
- Business name and type
- Tax ID or SSN
- Business address
- Bank account details
- Identity verification (for live payments)
3 Get API Keys
- Log into Stripe Dashboard
- Go to Developers → API Keys
- Copy Publishable key
- Copy Secret key
⚠️ Security: NEVER share your Secret key publicly. This key gives full access to your Stripe account!
Connecting Stripe to WP Pricing Tables
4 Enter API Keys
- WordPress dashboard → Premium Pricing Tables → Settings
- Click Payment Gateways tab
- Enable Stripe
- Paste Publishable Key
- Paste Secret Key
- Save settings
5 Configure Payment Settings
- Test Mode: Enable for testing (use test keys)
- Currency: Select (USD, EUR, GBP, etc.)
- Payment Methods: Enable Cards, Apple Pay, Google Pay
- Receipt Emails: Automatic Stripe receipts
Creating Subscription Plans in Stripe
6 Create Products
- Stripe Dashboard → Products
- Click Add Product
- Name: 'Basic Plan', 'Pro Plan', etc.
- Description: What's included
7 Set Pricing
- One-time: For lifetime access
- Recurring: For subscriptions
- Billing period: Monthly, Yearly, Custom
- Price: Amount in dollars/euros
8 Copy Price IDs
After creating each price, copy the Price ID (starts with 'price_'):
Basic Monthly: price_1234567890abcdef
Pro Monthly: price_abcdef1234567890
Enterprise Monthly: price_xyz9876543210
Linking Prices to Pricing Table
9 Add Price IDs to Table
- Edit your pricing table
- For each column, find Stripe Price ID field
- Paste the corresponding Price ID
- Enable Stripe Checkout
10 Test the Integration
- Enable Stripe test mode
- Use test card: 4242 4242 4242 4242
- Any future expiry date, any CVC
- Complete a test purchase
- Verify in Stripe Dashboard → Payments
✅ Success! When test payments work, switch to live mode by using your live API keys and disabling test mode.
Advanced Stripe Features
Free Trials
Offer free trials before charging:
- In Stripe, edit your price
- Add trial period (7 days, 14 days, 30 days)
- Customers charged automatically after trial
Coupons & Discounts
- Stripe Dashboard → Coupons
- Create coupon (percent off or fixed amount)
- Customers enter code at checkout
Metered Billing
For usage-based pricing:
- Create metered price in Stripe
- Report usage via Stripe API
- Charge based on actual usage
Webhooks Setup
Webhooks notify your site of payment events:
- Stripe Dashboard → Developers → Webhooks
- Add endpoint: yoursite.com/wp-json/ppt/v1/stripe-webhook
- Select events: payment_intent.succeeded, customer.subscription.updated, etc.
- Copy webhook signing secret
- Add to WP Pricing Tables settings
Going Live
Pre-Launch Checklist
- ✅ Business verification completed
- ✅ Bank account connected
- ✅ Live API keys entered
- ✅ Test mode disabled
- ✅ SSL certificate active (HTTPS)
- ✅ Test purchases completed successfully
- ✅ Email receipts working
- ✅ Webhooks configured
Activate Live Payments
- Complete Stripe account activation
- Switch to live API keys
- Disable test mode
- Make a real purchase to verify
💡 Tip: Start with a $1 test charge to yourself to verify everything works before announcing to customers.
Common Issues
Payment Declined
- Customer's card declined by bank
- Insufficient funds
- Fraud protection triggered
- Wrong card details entered
Subscription Not Created
- Wrong Price ID in settings
- Webhook not configured
- Customer already subscribed
Can't Enable Live Mode
- Business verification incomplete
- Bank account not added
- Using test API keys instead of live