Reference
Every endpoint with request and response examples.
API reference
Base URL: https://paylinky.vercel.app/api/v1 · Auth: Authorization: Bearer <key> · Machine-readable spec: `/openapi.json`
GET /countries
Active countries, currencies and operators (after administrator filtering).
json
1[2 { "code": "CI", "name": "Côte d'Ivoire", "currency": "XOF",3 "operators": ["Orange Money", "MTN Mobile Money", "Moov Money", "Wave"],4 "unavailable_operators": [] }5]GET /crypto/assets
json
1[ { "asset_code": "USDT.TRC20", "name": "Tether (TRON)", "network": "TRC20", "symbol": "USDT" } ]GET /fees
json
1{2 "platform_fee_percent": 1,3 "withdrawal_fee_percent": 1,4 "minimum_amount": 100,5 "maximum_amount": 5000000,6 "sandbox_fee_percent": 5,7 "provider_fees": null,8 "note": "Final fees are always returned on each transaction (fee_amount, credited_amount)."9}POST /collect
See Mobile Money and Payment flows.
POST /crypto/collect
See Crypto payments.
GET /transaction/{id}
id can be transaction_id, reference or merchant_reference.
json
1{2 "transaction_id": "0b9c…", "reference": "PLK-7XK2M9QPLA", "merchant_reference": "order_cm_12345",3 "status": "success", "payment_method": "mobile_money",4 "amount": 5000, "fee_amount": 300, "credited_amount": 4700, "currency": "XAF",5 "country_code": "CM", "operator": "MTN Mobile Money", "phone": "+2376XXXXXXXX",6 "sandbox": false, "created_at": "2026-01-01T10:00:00.000Z", "expires_at": null7}status | Meaning |
|---|---|
pending | Waiting for the customer / provider |
success | Confirmed, wallet credited (live) |
failed | Declined or failed |
cancelled | Cancelled by the customer |
expired | Crypto address expired |
refunded | Refunded by an administrator |
GET /transactions
Query: limit (max 100, default 20), status. Returns { "data": [ … ], "count": 20 } for the environment of your key.
POST /payment-links · GET /payment-links/{id}
See Hosted Page API.
GET /balance
json
1{ "balances": [ { "currency": "XAF", "available": 124500 }, { "currency": "USDT", "available": 24.5 } ], "sandbox": false }POST /sandbox/simulate
Sandbox keys only. Finishes a pending sandbox payment and dispatches the webhook.
json
1{ "transaction_id": "0b9c…", "status": "success" }status ∈ success, failed, cancelled.