Roles
Resources
Organization
An organization represents one business on Payoes. During onboarding you provide a name, logo, and contact details. Each organization has:- A sandbox or production environment
- Identity verification required before production mode (via Persona)
- A settlement wallet per environment
- Its own API keys, payments, and webhooks
- Team members with role-based access
Team members
Users who can access your organization dashboard. The creator becomes the owner during onboarding.
Owners and admins can invite teammates by email from Settings → Team Members. Invitees receive an email with a link to accept the invitation. They must sign in or create an account with the invited email address before joining.
Settlement wallet
The Stellar public key where customer payments are sent. Configured during onboarding and editable in Settings → Settlement Wallet. Payoes reads this address when building checkout transactions and when verifying payments on Horizon.Organization assets
Each organization maintains a list of assets it accepts (USDC, XLM, EURC, custom Stellar assets, etc.) in Settings → Assets.
All payment products inherit asset configuration from organization assets. Invoices do not store their own asset — a payment is created automatically with the organization’s default settlement asset and enabled allowed assets.
Payment intent
A single payment request, equivalent to a Stripe Payment Intent.
Payment intents are created directly via the dashboard or API, or automatically when you finalize an invoice or start checkout from a payment link.
Checkout session
A hosted checkout flow, equivalent to a Stripe Checkout Session. Each session creates an underlying payment intent.
Checkout sessions are created automatically when you finalize an invoice or when a customer visits a payment link. You can list and retrieve them via the API.
Payment link
A reusable shareable link, equivalent to a Stripe Payment Link.
Each visit to a payment link starts a new checkout session and payment intent.
Invoice
A bill sent to a customer, equivalent to a Stripe Invoice.
Create an invoice in draft, then finalize it to spawn a checkout session and payment intent.
Checkout
A public hosted page at/c/{checkout_id} where checkout_id is either cs_... (checkout session) or pay_... (legacy payment intent).
The checkout flow:
- Load payment details and merchant branding
- Customer connects a Stellar wallet (Wallet Kit)
- Payoes builds an unsigned transaction server-side
- Customer signs and submits via their wallet
- Payoes verifies the transaction on Horizon
- Payment status updates to
completed
Transaction
After a successful payment, the Stellar transaction hash (tx_hash) is stored on the payment intent record. You can look it up on Stellar Explorer for the corresponding network (testnet or mainnet).
API key
Secret credential for server-to-server API calls. Prefixes:pk_test_...: sandbox (Stellar testnet)pk_live_...: production (Stellar mainnet)
Webhook
HTTP callbacks sent to your server when payment events occur. Use webhooks to unlock products, send receipts, or update your database without polling.Payment lifecycle
Sandbox vs production
See Environments for details.
