Documentation menu
Reference

Every endpoint with request and response examples.

View raw

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": null
7}
statusMeaning
pendingWaiting for the customer / provider
successConfirmed, wallet credited (live)
failedDeclined or failed
cancelledCancelled by the customer
expiredCrypto address expired
refundedRefunded 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.