Get started
What Payoes is, how a payment flows from API call to on-chain settlement, and your first payment on Stellar Testnet.
What Payoes is
Payoes is open-source, developer-first payment infrastructure for the Stellar ecosystem. Instead of integrating wallets, building checkout flows, monitoring Horizon, and wiring webhooks yourself, you create a payment through a REST API and share a hosted checkout link.
Payment infrastructure
For merchants and developers, not a consumer product.
Hosted checkout
A ready payment page with Stellar Wallets Kit built in.
Horizon-backed verification
Every payment is confirmed against the Stellar network.
Webhooks
Lifecycle events delivered to your backend.
Not a wallet or exchange
Payoes never holds keys and offers no on-ramp.
Not a custody provider
Funds settle directly to your own Stellar address.
How a payment flows
Five steps take a payment from creation to settlement, and Payoes handles everything between your API call and the webhook.
1. Set up your business
Connect a settlement wallet: the Stellar address that receives payments.
2. Create a payment
Use the dashboard or POST /api/v1/payments with an amount and asset.
3. Share the checkout link
Payoes returns a checkout_url. Send it by email, chat, or from your product.
4. Customer pays with a wallet
They connect a Stellar wallet on the hosted page and approve the transaction.
5. Payoes verifies and notifies
The payment is confirmed on Horizon, the status updates, and webhooks fire.
Quickstart: first payment on Testnet
Create a sandbox API key under Developers, then API Keys (it uses the pk_test_ prefix and is shown once), create a payment, open the checkout URL with a Testnet wallet, and watch the status flip to completed.
Create a payment
- 1
Send the request
POST to /api/v1/payments with an amount, an asset like XLM, and a description, authorized by your pk_test_ key.
- 2
Read the response
You get back a payment ID (pay_...), a pending status, and a checkout_url on the /c/ path.
- 3
Open the checkout URL
Pay with a Testnet wallet and watch the status flip to completed.
No customer login
Payers only connect a wallet at checkout time.
Poll or listen
GET /v1/payments/{id} shows the status, or register a webhook for payment.completed.
tx_hash on completion
Completed payments carry the Stellar transaction hash for the explorer.