API Reference
API Overview
A small REST API: one endpoint creates a checkout, one checks its status, and a webhook tells you when it is paid.
Base URL#
https://paylio.org/api/v1All requests use HTTPS. Request and response bodies are JSON.
Authentication#
Create an API key in Dashboard › API Keys. Keys start with plio_live_. Send the key in one of these headers:
HTTP headers
Authorization: Bearer plio_live_YOUR_KEY
# or
X-API-Key: plio_live_YOUR_KEY- The full key is shown only once, when you create it. PayLio stores only a hash.
- You can have up to 10 active keys. Use one per integration so you can revoke them separately.
- Every key inherits the fees, wallet and providers of your account.
Keep keys on your server
Never put an API key in browser JavaScript, a mobile app or a public repository. If a key leaks, revoke it in the dashboard and create a new one.Endpoints#
| Method | Path | Purpose |
|---|---|---|
POST | /api/v1/wallet | Create a card checkout |
GET | /api/v1/payment-status | Get a payment's status |
Integration flow#
| Step | What you do |
|---|---|
| 1. Create | Call POST /wallet and store payment_id and ipn_token on your order. |
| 2. Redirect | Send the customer to checkout_url. |
| 3. Receive | Verify the payment.paid webhook signature with the stored ipn_token. |
| 4. Confirm | Call GET /payment-status and fulfil the order only if status is paid. |
Rate limits#
| Endpoint | Limit |
|---|---|
POST /wallet | 60 requests per minute per API key |
GET /payment-status | 120 requests per minute per API key |
When you exceed a limit you get 429 with a Retry-After header. See Errors & Rate Limits.