Payment links
Shareable fixed-amount payment pages from the dashboard or the Link API.
A payment link is a hosted TeePay page you can share in chat, email or social media. Create them in the dashboard under Payment links, or from code with the Link API.
Link API
The Link API uses a separate, restricted link key (tplk_…), generated in Payment links →
Settings. A link key can only create and read payment links. It cannot read balances, send payouts
or call other endpoints, which makes it the right credential for automation tools and
AI agents.
curl https://api.teepay.me/api/plugins/teepay/v1/link-api/payment-links \
-H "Authorization: Bearer $TEEPAY_LINK_KEY" \
-H "Idempotency-Key: invoice-2041" \
-H "Content-Type: application/json" \
-d '{"title":"Invoice 2041","description":"Consulting","currency":"TZS","amount":"150000","expiry_seconds":86400}'Amounts in the Link API are major units
The Link API predates the /v1 API and takes amount in major units as a string, for example
"150000" for TZS 150,000 or "25.50". Responses return amount_minor.
| Method | Path | Returns |
|---|---|---|
POST | /api/plugins/teepay/v1/link-api/payment-links | The created link with checkout_url |
GET | /api/plugins/teepay/v1/link-api/payment-links | Your links, 50 per page, next_cursor |
GET | /api/plugins/teepay/v1/link-api/payment-links/{id} | One link |
The Link API requires a payment profile on your account
(the default one is used unless you pass profile_id). Link API requests are limited to 60 per
account per minute. Requests from a browser (with an
Origin header or cookies) are rejected: call it from your server.
Links or checkout sessions?
Use checkout sessions when your server already uses a /v1 API key and you want a paid status
per order. Use payment links for sharing by hand, for automation platforms and for AI agents that
should never hold a full API key.