Payment Settings
Set up payment processing with Stripe and configure currencies.
Breadcrumb: System Configuration > Payment Settings
Overview
Payment Settings control how PteroCA processes payments and manages currencies. Currently, PteroCA supports:
Stripe for credit card processing
Multiple payment methods (card, Apple Pay, Google Pay, etc.)
Custom currency configuration
Internal credits/coins system
These settings are essential for accepting payments and managing user balances.
Settings Overview
Stripe Secret Key
Secret
✓
✓
API key for Stripe integration
Stripe Payment Methods
Text
✓
Comma-separated payment methods
Currency Name
Text
✓
✓
Primary currency (USD, EUR, etc.)
Internal Currency Name
Text
✓
✓
Internal balance currency (Credits, Coins)
Configuration via CLI Wizard
The CLI configuration wizard covers 3 payment settings during initial setup.
Run the Wizard
Payment Configuration Prompts
Configuration via Admin Panel
All 4 payment settings can be managed through the Admin Panel.
Access Payment Settings
Log in to the Admin Panel
Navigate to Settings in the main menu
Click Payment Gateways
Update values
Click Save
Setting Details
Stripe Secret Key
Setting Code: stripe_secret_key Field Type: Secret (Password) Required: Yes (if using payments) Default: None
Your Stripe API secret key for processing payments.
Format:
Test Mode:
Live Mode:
Obtaining Stripe Secret Key:
Create account at https://stripe.com
Complete business verification
Navigate to Developers → API keys
Copy Secret key (not Publishable key)
Start with test key during development
Test vs Live Mode:
Test
sk_test_
Development, testing
Live
sk_live_
Production, real transactions
Security:
Keep secret, never expose publicly
Don't commit to version control
Store in environment variables in production
Rotate if compromised
Testing Payments:
Test cards for sandbox mode:
Any future expiration date, any CVC.
See Stripe Test Cards for more.
Stripe Payment Methods
Setting Code: stripe_payment_methods Field Type: Text Required: No Default: card (credit/debit cards)
Comma-separated list of enabled Stripe payment methods.
Available Payment Methods:
Card
card
Always available
Apple Pay
apple_pay
HTTPS required
Google Pay
google_pay
HTTPS required
Link
link
Stripe Link enabled
Klarna
klarna
Currency: EUR, GBP, USD, etc.
iDEAL
ideal
Currency: EUR
Bancontact
bancontact
Currency: EUR
SEPA Debit
sepa_debit
Currency: EUR
Giropay
giropay
Currency: EUR (deprecated)
Przelewy24
p24
Currency: EUR, PLN
Example Configurations:
Cards Only:
Cards + Digital Wallets:
European Payment Methods:
Maximum Options:
Format Rules:
Lowercase method names
Comma-separated
No spaces
No quotes
Requirements:
HTTPS:
Apple Pay and Google Pay require HTTPS
Use valid SSL certificate
Currency Compatibility:
Some methods only work with specific currencies
iDEAL, Bancontact, SEPA: EUR only
Klarna: Multiple currencies but not all
Stripe Account:
Activate methods in Stripe Dashboard
Complete verification if required
Some methods need approval
Best Practices:
Start with
cardonlyAdd digital wallets for convenience (Apple Pay, Google Pay)
Add local methods for target market (iDEAL for Netherlands, Klarna for Europe)
Test each method before enabling
Currency Name
Setting Code: currency_name Field Type: Text Required: Yes Default: USD
The primary currency for processing payments through Stripe.
Format:
Supported Currencies:
Stripe supports 135+ currencies. Common ones:
US Dollar
USD
$
Euro
EUR
€
British Pound
GBP
£
Polish Zloty
PLN
zł
Canadian Dollar
CAD
$
Australian Dollar
AUD
$
Japanese Yen
JPY
¥
Swiss Franc
CHF
Fr
See Stripe Supported Currencies for complete list.
Considerations:
Stripe Support:
Verify currency is supported by Stripe
Check for restrictions
Payment Methods:
Some methods limited to certain currencies
Example: iDEAL only works with EUR
Settlement:
Payments settle in your bank's currency
Currency conversion fees may apply
Pricing:
Set product prices in this currency
Displayed to customers during checkout
Best Practices:
Use local currency for your target market
Consider multi-currency if serving multiple regions
Account for conversion fees in pricing
Display currency clearly to customers
Changing Currency:
Can be changed at any time
Existing products remain in old currency
Update product prices after changing
Communicate change to customers
Internal Currency Name
Setting Code: internal_currency_name Field Type: Text Required: Yes Default: USD
The name of your internal currency used for user balances and credits.
Format:
Common Internal Currencies:
Credits
Generic virtual currency
Coins
Game hosting context
Points
Loyalty/rewards programs
Tokens
Tech/blockchain themed
Same as Currency Name
Direct monetary value
Two Approaches:
1. Separate Virtual Currency:
2. Direct Currency:
Impact on Display:
User sees balance as:
Pricing Calculations:
With virtual currency:
With direct currency:
Advantages of Virtual Currency:
Psychological pricing (1000 feels like more)
Easier for users to spend
Bonus credits promotions easier
Obscures real value
Advantages of Direct Currency:
Transparent pricing
No confusion
Easier accounting
Regulatory compliance (some regions)
Best Practices:
Choose based on target audience
Be consistent throughout platform
Clearly communicate any conversion rates
Consider regulatory requirements
Legal Considerations:
Some jurisdictions regulate virtual currencies
Ensure compliance with local laws
Consider tax implications
Clearly state refund policies
Best Practices
Stripe Account Management
Verify Your Account:
Complete business verification
Add bank account
Enable payout schedule
Test Thoroughly:
Use test mode during development
Test all payment methods
Verify webhooks work
Enable Fraud Prevention:
Use Stripe Radar
Enable 3D Secure
Monitor for suspicious activity
Configure Dashboard:
Set up email notifications
Add team members
Configure branding
Payment Method Selection
Know Your Audience:
Offer methods popular in target region
European customers: add iDEAL, Bancontact
Mobile users: add Apple Pay, Google Pay
Start Simple:
Begin with cards only
Add methods based on demand
Monitor payment method usage
Test Everything:
Test each method before launch
Verify with different devices
Check mobile experience
Currency Configuration
Match Your Market:
Use local currency when possible
Consider customer convenience
Transparent Pricing:
Clearly display currency
Show any conversion fees
Use consistent formatting
Internal Currency:
Choose clear, memorable name
Set reasonable conversion rates
Document in Terms of Service
Security
API Keys:
Never expose secret keys
Use environment variables
Rotate periodically
PCI Compliance:
Use Stripe Elements (PCI compliant)
Never store card data
Follow Stripe security best practices
Troubleshooting
Stripe Connection Issues
Problem: Cannot connect to Stripe API
Causes:
Invalid API key
Network/firewall issues
Stripe service outage
Solutions:
Verify API Key:
Check for typos
Ensure using Secret key (not Publishable)
Verify correct mode (test vs live)
Test API Connection:
Check Stripe Status:
Visit https://status.stripe.com
Check for ongoing incidents
Firewall:
Allow outbound HTTPS to api.stripe.com
Port 443 must be open
Payment Method Not Working
Problem: Specific payment method fails
Causes:
Method not enabled in Stripe
Currency incompatibility
Missing HTTPS
Method not supported in region
Solutions:
Enable in Stripe Dashboard:
Settings → Payment Methods
Toggle on desired methods
Check Currency:
Verify method supports your currency
Example: iDEAL requires EUR
Verify HTTPS:
Apple Pay and Google Pay require HTTPS
Check SSL certificate is valid
Regional Support:
Some methods limited to certain countries
Check Stripe documentation
Currency Issues
Problem: Prices displaying incorrectly
Causes:
Currency mismatch
Missing currency symbol
Formatting issues
Solutions:
Verify Currency Setting:
Check Currency Name matches product prices
Update products if needed
Clear Cache:
Check Product Configuration:
Ensure products use correct currency
Update pricing if currency changed
Virtual Currency Confusion
Problem: Users confused about balance vs real money
Causes:
Unclear naming
Poor documentation
No conversion rate shown
Solutions:
Clear Communication:
Explain virtual currency in ToS
Show conversion rate during purchase
Use distinct naming
UI Improvements:
Display: "1000 Credits ($10.00 value)"
Show conversion on wallet page
Documentation:
Add FAQ about credits
Explain in purchase flow
Related Settings
General Settings - Site configuration
Products & Servers - Configure products and pricing
Additional Resources
Stripe Documentation - Official Stripe docs
Stripe Test Cards - Testing payment flows
Payment Methods - Supported methods
Stripe Dashboard - Manage payments
PCI Compliance - Security best practices
Last updated