Overview
Your organization environment is shown in the dashboard header. Sandbox mode displays a visible banner.
How environment is determined
- API keys carry an environment. A
pk_test_key always creates sandbox payments;pk_live_creates production payments. - Dashboard actions use the organization’s current environment setting.
- Settlement wallets are configured per environment. You need a separate wallet for sandbox and production.
Testing on testnet
- Create a sandbox API key
- Fund a testnet wallet from Stellar Laboratory Faucet
- Create a payment and complete checkout on testnet
- Verify
tx_hashon Stellar Expert (testnet)
Self-payments (paying from the same wallet configured as the settlement wallet) are allowed for testing.
Moving to production
Production mode accepts real mainnet payments. Before going live you must complete identity verification through Persona.Identity verification and production gate
- Open Settings → Production in the dashboard
- Choose Personal or Business and describe what you do (business description required for business accounts)
- Complete the Persona flow (government ID + selfie/liveness)
- Persona automatically approves or declines — no Payoes admin review
- Configure a production settlement wallet with a mainnet address
- Switch the organization to production mode
Additional checklist
- Ensure the production wallet has a USDC trustline if accepting USDC
- Create a
pk_live_API key - Update
STELLAR_MAINNET_USDC_ISSUERon your Payoes deployment - Update your integration to use production keys and mainnet checkout URLs
Expiration
Payments expire afterexpires_in_minutes (default 60, max 10080). Expired payments receive status expired and trigger a payment.expired webhook if configured.