Getting started
Make your first sandbox payment in five minutes.
Quickstart
1. Create an account and a sandbox key
Register, open Developers → API Keys and request a sandbox key. Sandbox keys are issued instantly. The full key is shown once — store it in an environment variable.
bash
1export PAYLINKY_KEY="plk_test_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"2. List the active countries and operators
Always load the catalog instead of hard-coding it — operators can be enabled or disabled at any time.
bash
1curl https://paylinky.vercel.app/api/v1/countries \2 -H "Authorization: Bearer $PAYLINKY_KEY"json
1[2 {3 "code": "CM",4 "name": "Cameroon",5 "currency": "XAF",6 "operators": ["MTN Mobile Money", "Orange Money"],7 "unavailable_operators": []8 }9]3. Create a Mobile Money payment
Use the sandbox test number +237000000001 — it always succeeds.
bash
1curl -X POST https://paylinky.vercel.app/api/v1/collect \2 -H "Authorization: Bearer $PAYLINKY_KEY" \3 -H "Content-Type: application/json" \4 -d '{5 "amount": 1000,6 "currency": "XAF",7 "country_code": "CM",8 "operator": "MTN Mobile Money",9 "phone": "+237000000001",10 "reference": "order_12345"11 }'Response (200, sandbox):
json
1{2 "transaction_id": "0b9c7f0e-2d0b-4d76-9f5a-6b8a1c1d2e3f",3 "reference": "PLK-SBX-7XK2M9QPLA",4 "merchant_reference": "order_12345",5 "status": "success",6 "payment_method": "mobile_money",7 "amount": 1000,8 "fee_amount": 50,9 "credited_amount": 950,10 "currency": "XAF",11 "sandbox": true,12 "simulation": true,13 "country_code": "CM",14 "operator": "MTN Mobile Money",15 "phone": "+237000000001",16 "created_at": "2026-01-01T10:00:00.000Z",17 "expires_at": null,18 "message": "Payment confirmed immediately (simulated)."19}4. Check the status
bash
1curl https://paylinky.vercel.app/api/v1/transaction/0b9c7f0e-2d0b-4d76-9f5a-6b8a1c1d2e3f \2 -H "Authorization: Bearer $PAYLINKY_KEY"5. Go live
- Complete KYC in the app (front and back of your ID + application).
- Request a live key — the Paylinky team reviews and activates it.
- Swap
plk_test_…forplk_live_…and use real numbers.
See the go-live checklist.