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

Setting
Type
CLI
Admin Panel
Description

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

  1. Log in to the Admin Panel

  2. Navigate to Settings in the main menu

  3. Click Payment Gateways

  4. Update values

  5. 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:

  1. Create account at https://stripe.com

  2. Complete business verification

  3. Navigate to DevelopersAPI keys

  4. Copy Secret key (not Publishable key)

  5. Start with test key during development

Test vs Live Mode:

Mode
Key Prefix
Use Case

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:

Method
Value
Requirements

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:

  1. HTTPS:

    • Apple Pay and Google Pay require HTTPS

    • Use valid SSL certificate

  2. Currency Compatibility:

    • Some methods only work with specific currencies

    • iDEAL, Bancontact, SEPA: EUR only

    • Klarna: Multiple currencies but not all

  3. Stripe Account:

    • Activate methods in Stripe Dashboard

    • Complete verification if required

    • Some methods need approval

Best Practices:

  • Start with card only

  • Add 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:

Currency
Code
Symbol

US Dollar

USD

$

Euro

EUR

British Pound

GBP

£

Polish Zloty

PLN

Canadian Dollar

CAD

$

Australian Dollar

AUD

$

Japanese Yen

JPY

¥

Swiss Franc

CHF

Fr

See Stripe Supported Currencies for complete list.

Considerations:

  1. Stripe Support:

    • Verify currency is supported by Stripe

    • Check for restrictions

  2. Payment Methods:

    • Some methods limited to certain currencies

    • Example: iDEAL only works with EUR

  3. Settlement:

    • Payments settle in your bank's currency

    • Currency conversion fees may apply

  4. 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:

Name
Use Case

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

  1. Verify Your Account:

    • Complete business verification

    • Add bank account

    • Enable payout schedule

  2. Test Thoroughly:

    • Use test mode during development

    • Test all payment methods

    • Verify webhooks work

  3. Enable Fraud Prevention:

    • Use Stripe Radar

    • Enable 3D Secure

    • Monitor for suspicious activity

  4. Configure Dashboard:

    • Set up email notifications

    • Add team members

    • Configure branding

Payment Method Selection

  1. Know Your Audience:

    • Offer methods popular in target region

    • European customers: add iDEAL, Bancontact

    • Mobile users: add Apple Pay, Google Pay

  2. Start Simple:

    • Begin with cards only

    • Add methods based on demand

    • Monitor payment method usage

  3. Test Everything:

    • Test each method before launch

    • Verify with different devices

    • Check mobile experience

Currency Configuration

  1. Match Your Market:

    • Use local currency when possible

    • Consider customer convenience

  2. Transparent Pricing:

    • Clearly display currency

    • Show any conversion fees

    • Use consistent formatting

  3. Internal Currency:

    • Choose clear, memorable name

    • Set reasonable conversion rates

    • Document in Terms of Service

Security

  1. API Keys:

    • Never expose secret keys

    • Use environment variables

    • Rotate periodically

  2. 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:

  1. Verify API Key:

    • Check for typos

    • Ensure using Secret key (not Publishable)

    • Verify correct mode (test vs live)

  2. Test API Connection:

  3. Check Stripe Status:

    • Visit https://status.stripe.com

    • Check for ongoing incidents

  4. 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:

  1. Enable in Stripe Dashboard:

    • Settings → Payment Methods

    • Toggle on desired methods

  2. Check Currency:

    • Verify method supports your currency

    • Example: iDEAL requires EUR

  3. Verify HTTPS:

    • Apple Pay and Google Pay require HTTPS

    • Check SSL certificate is valid

  4. 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:

  1. Verify Currency Setting:

    • Check Currency Name matches product prices

    • Update products if needed

  2. Clear Cache:

  3. 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:

  1. Clear Communication:

    • Explain virtual currency in ToS

    • Show conversion rate during purchase

    • Use distinct naming

  2. UI Improvements:

    • Display: "1000 Credits ($10.00 value)"

    • Show conversion on wallet page

  3. Documentation:

    • Add FAQ about credits

    • Explain in purchase flow

Additional Resources

Last updated