Developer Portal
FricoPay APIs
Integrate AI support · airtime · data · payments
Loading...
Social Booster API

Sell social media followers, likes, views & engagement on TikTok, Instagram, YouTube and more — directly from your app. Charges your FricoPay wallet in GHS.

Endpoints
List services
GET /devapi/booster/services
curl https://fricopay.com/devapi/booster/services \
  -H "Authorization: Bearer YOUR_KEY"
Get price quote
POST /devapi/booster/quote
curl -X POST https://fricopay.com/devapi/booster/quote \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"service_id": 1234, "quantity": 1000}'
Place an order
POST /devapi/booster/order
curl -X POST https://fricopay.com/devapi/booster/order \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "service_id": 1234,
    "link": "https://tiktok.com/@user/video/123",
    "quantity": 1000
  }'
Check order status
GET /devapi/booster/order/:id
curl https://fricopay.com/devapi/booster/order/ORDER_ID \
  -H "Authorization: Bearer YOUR_KEY"
List your orders
GET /devapi/booster/orders
curl https://fricopay.com/devapi/booster/orders \
  -H "Authorization: Bearer YOUR_KEY"
Result Checker API

Sell WAEC & BECE result checkers in your app. Returns Serial & PIN instantly when in stock; auto-queues and delivers when our supplier restocks. Charges your FricoPay wallet in GHS.

Endpoints
List products
GET /devapi/checker/products
curl https://fricopay.com/devapi/checker/products \
  -H "Authorization: Bearer YOUR_KEY"
Buy a checker
POST /devapi/checker/buy
curl -X POST https://fricopay.com/devapi/checker/buy \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "checkerType": "BECE",
    "phoneNumber": "0241234567"
  }'
Returns Serial & PIN instantly when supplier has stock. If queued, response includes queued: true — check status with the order endpoint.
Check order status
GET /devapi/checker/order/:reference
curl https://fricopay.com/devapi/checker/order/REFERENCE \
  -H "Authorization: Bearer YOUR_KEY"
List your orders
GET /devapi/checker/orders
curl https://fricopay.com/devapi/checker/orders \
  -H "Authorization: Bearer YOUR_KEY"
Airtime API

Send airtime to MTN, Telecel, and AirtelTigo Ghana numbers from your app. Charges your FricoPay wallet in GHS. Sold at face value — earn 40% of our commission on every successful transaction.

Networks
Pass one of these in the network field:
MTN — MTN Ghana
TELECEL — Telecel Ghana (Vodafone)
AT — AirtelTigo Ghana
Endpoints
Send MTN airtime
POST /devapi/v1/airtime
curl -X POST https://fricopay.com/devapi/v1/airtime \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"network":"MTN","phone":"233241234567","amount":5,"user_reference":"u_123"}'
Send Telecel airtime
POST /devapi/v1/airtime
curl -X POST https://fricopay.com/devapi/v1/airtime \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"network":"TELECEL","phone":"233201234567","amount":5,"user_reference":"u_123"}'
Send AirtelTigo airtime
POST /devapi/v1/airtime
curl -X POST https://fricopay.com/devapi/v1/airtime \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"network":"AT","phone":"233271234567","amount":5,"user_reference":"u_123"}'
Check status
GET /devapi/v1/status/:reference

Use only if your callback didn't fire after 5 minutes. reference is returned from the buy call.

curl https://fricopay.com/devapi/v1/status/REFERENCE \
  -H "Authorization: Bearer YOUR_KEY"
Data API

Sell data bundles for MTN, Telecel, and AirtelTigo Ghana. Live bundle inventory per number. Sold at face value — earn 40% of our commission on every successful transaction.

Networks
Pass one of these in the network field:
MTN — MTN Ghana
TELECEL — Telecel Ghana (Vodafone)
AT — AirtelTigo Ghana
Step 1 — List bundles for a number
MTN bundles
GET /devapi/v1/data/bundles?network=MTN&phone=233241234567
curl "https://fricopay.com/devapi/v1/data/bundles?network=MTN&phone=233241234567" \
  -H "Authorization: Bearer YOUR_KEY"
Telecel bundles
GET /devapi/v1/data/bundles?network=TELECEL&phone=233201234567
curl "https://fricopay.com/devapi/v1/data/bundles?network=TELECEL&phone=233201234567" \
  -H "Authorization: Bearer YOUR_KEY"
AirtelTigo bundles
GET /devapi/v1/data/bundles?network=AT&phone=233271234567
curl "https://fricopay.com/devapi/v1/data/bundles?network=AT&phone=233271234567" \
  -H "Authorization: Bearer YOUR_KEY"
Step 2 — Buy the chosen bundle
Buy MTN bundle
POST /devapi/v1/data

Use the bundle_id and matching price from Step 1 as amount.

curl -X POST https://fricopay.com/devapi/v1/data \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"network":"MTN","phone":"233241234567","bundle_id":"data_bundle_1","amount":0.5,"user_reference":"u_123"}'
Buy Telecel bundle
POST /devapi/v1/data
curl -X POST https://fricopay.com/devapi/v1/data \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"network":"TELECEL","phone":"233201234567","bundle_id":"DATANVSTRDLY","amount":0.5,"user_reference":"u_123"}'
Buy AirtelTigo bundle
POST /devapi/v1/data
curl -X POST https://fricopay.com/devapi/v1/data \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"network":"AT","phone":"233271234567","bundle_id":"db_BigTime_Data_51MB_1GHC","amount":1,"user_reference":"u_123"}'
Status
Check status
GET /devapi/v1/status/:reference

Use only if your callback didn't fire after 5 minutes. reference is returned from the buy call.

curl https://fricopay.com/devapi/v1/status/REFERENCE \
  -H "Authorization: Bearer YOUR_KEY"
Virtual SMS Numbers API

Rent virtual phone numbers worldwide for SMS verification (WhatsApp, Telegram, Google, etc.). Charges your FricoPay GHS wallet. 15% markup over base price — resell at any margin you want.

Endpoints
List services
GET /devapi/virtual/services?country=usa

Returns available services for a country with cheapest operator and price in GHS.

curl https://fricopay.com/devapi/virtual/services?country=usa \
  -H "Authorization: Bearer YOUR_KEY"
Buy a number
POST /devapi/virtual/buy

Rents a number and returns the phone. Charges your wallet. Use operator: "any" for cheapest available.

curl -X POST https://fricopay.com/devapi/virtual/buy \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"country":"usa","service":"whatsapp","operator":"any"}'
Check for SMS
GET /devapi/virtual/order/{id}

Polls 5SIM for incoming SMS. Returns array of received messages.

curl https://fricopay.com/devapi/virtual/order/123456 \
  -H "Authorization: Bearer YOUR_KEY"
Cancel + refund
POST /devapi/virtual/cancel/{id}

Cancels the order and refunds the full amount to your wallet. Only allowed before SMS arrives.

curl -X POST https://fricopay.com/devapi/virtual/cancel/123456 \
  -H "Authorization: Bearer YOUR_KEY"
Finish (close order)
POST /devapi/virtual/finish/{id}

Closes the order after you've received and verified the SMS. No refund.

curl -X POST https://fricopay.com/devapi/virtual/finish/123456 \
  -H "Authorization: Bearer YOUR_KEY"
SMS API

Send transactional SMS to any Ghanaian number from your app or website. Custom sender ID, instant delivery. Charges your FricoPay GHS wallet at ₵0.06 per SMS segment (160 chars regular, 70 chars unicode).

Sender ID activation required

Before you can send SMS, your sender ID (the name shown to recipients) must be approved. Send your sender ID via WhatsApp for activation.

Contact on WhatsApp
Endpoints
Send SMS
POST /devapi/sms/send

Send an SMS. Sender ID max 11 chars. SMS body max 480 chars (3 segments). Set unicode to "1" for non-Latin characters.

curl -X POST https://fricopay.com/devapi/sms/send \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"to":"0241234567","from":"MyApp","sms":"Hello from my app","unicode":"0"}'
List sent messages
GET /devapi/sms/orders

Returns your recent SMS sends with cost breakdown.

curl https://fricopay.com/devapi/sms/orders \
  -H "Authorization: Bearer YOUR_KEY"
Football Data API

Live scores, fixtures, results and correct-score predictions with betting tips for matches worldwide. Cover thousands of matches every day across all major leagues. Start with a 7-day free trial — first call activates it automatically.

Pricing
7 days free · then ₵100/month
After trial expires, ₵100 is auto-debited from your FricoPay wallet monthly. If your balance is low, we retry daily until sufficient.
Endpoints
Check subscription status
GET /devapi/football/status

Returns current subscription state: not_started, trial, active, or pending_renewal (when wallet is low). Includes trial expiry / next charge date.

curl https://fricopay.com/devapi/football/status \
  -H "Authorization: Bearer YOUR_KEY"
Get all matches
GET /devapi/football/livescores

All matches with scores and status. Supports ?when=today (default), yesterday, or tomorrow. Each match returns home, away, time, score, and status (scheduled/live/finished).

curl "https://fricopay.com/devapi/football/livescores?when=today" \
  -H "Authorization: Bearer YOUR_KEY"
Get a specific match result
GET /devapi/football/match

Look up the score for any specific match by team names. Required: home, away. Optional: when (today / yesterday / tomorrow). Returns teams, score, and status (FT, HT, live, not_started).

curl "https://fricopay.com/devapi/football/match?home=Real+Madrid&away=Oviedo&when=today" \
  -H "Authorization: Bearer YOUR_KEY"
Get predictions and betting tips
GET /devapi/football/predictions

Correct-score predictions plus betting tips for each match. Each entry includes home, away, kickoff time, league, predicted correct_score (e.g. 2:0), and a derived tip (e.g. Home one goal, Over 2.5). Supports ?when=today/yesterday/tomorrow.

curl "https://fricopay.com/devapi/football/predictions?when=today" \
  -H "Authorization: Bearer YOUR_KEY"
Sample responses
Predictions example
{
  "ok": true,
  "when": "today",
  "count": 119,
  "matches": [
    {
      "kickoff": "16:00",
      "home": "Admira Wacker",
      "away": "Floridsdorfer AC",
      "correct_score": "1:0",
      "tip": "Under 4.5",
      "league": "Austria 2. Liga"
    }
  ]
}
VPN API

Resell premium WireGuard VPN access. 79+ servers worldwide. Charges are deducted from your FricoPay wallet when a user buys a plan. Each VPN account is tied to your user_reference so you always know which of your end-users owns it.

Reseller pricing (your cost)
7 days ₵15 · 1 month ₵35 · 3 months ₵90
Sell to your end-users at any price (typical retail is ₵25/₵50/₵120). Auto-disabled when expired.
Endpoints
List plans
GET /devapi/vpn/plans

Returns the three plans with id (7d, 1m, 3m), days, label, and your cost in GHS.

curl https://fricopay.com/devapi/vpn/plans \
  -H "Authorization: Bearer YOUR_KEY"
List servers
GET /devapi/vpn/servers

79+ servers worldwide. Each entry has id, name (city like "Prague #1"), country_code, and flag URL.

curl https://fricopay.com/devapi/vpn/servers \
  -H "Authorization: Bearer YOUR_KEY"
Buy or extend VPN for a user
POST /devapi/vpn/buy

Body: { user_reference, plan_id, server_id }. Creates a fresh VPN account on first call; on subsequent calls with same user_reference, extends the existing one. Returns a WireGuard config (config_content) ready to give to your end-user.

curl -X POST https://fricopay.com/devapi/vpn/buy \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"user_reference":"user_42","plan_id":"1m","server_id":135}'
List all VPN accounts you've created
GET /devapi/vpn/accounts

Returns up to 200 accounts. Use this to sync your records.

curl https://fricopay.com/devapi/vpn/accounts \
  -H "Authorization: Bearer YOUR_KEY"
Get a user's config + status
GET /devapi/vpn/account/:user_reference

Re-fetch the WireGuard config + current status (active / disabled) for a specific user.

curl https://fricopay.com/devapi/vpn/account/user_42 \
  -H "Authorization: Bearer YOUR_KEY"
Change a user's server (free)
POST /devapi/vpn/change-server

Body: { user_reference, server_id }. Returns the new config. No extra charge.

curl -X POST https://fricopay.com/devapi/vpn/change-server \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"user_reference":"user_42","server_id":144}'
Cancel a user's VPN
POST /devapi/vpn/cancel

Body: { user_reference }. Immediately disables. No refund.

curl -X POST https://fricopay.com/devapi/vpn/cancel \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"user_reference":"user_42"}'
Sample buy response
{
  "ok": true,
  "user_reference": "user_42",
  "account_id": 812041,
  "server_id": 135,
  "status": "active",
  "config_content": "[Interface]\nPrivateKey = ...\nAddress = 10.244.126.215/32\nDNS = 172.16.0.1\n\n[Peer]\nPublicKey = ...\nAllowedIPs = 0.0.0.0/0,::/0\nEndpoint = cz1.ipcover.net:55888",
  "config_name": "CZ-10.244.126.215.conf",
  "expires_at": "2026-06-14T03:00:00Z",
  "plan_id": "1m",
  "charged_ghs": 35,
  "is_extension": false
}

Display the config_content to your end-user as text, downloadable .conf file, or a QR code (recommended). They scan it with the official WireGuard app and connect.

Important
  • Expired VPN accounts are automatically disabled every 24 hours — you stop being billed once a plan ends.
  • To renew, call POST /devapi/vpn/buy again with the same user_reference. The same WireGuard config keeps working.
  • Each unique user_reference = one VPN account on our side. Reuse it for the same end-user across renewals.
Payment Collection API

Accept Naira payments from anyone in Nigeria and have the funds auto-converted to Cedis in your FricoPay wallet. Each Ghana developer gets one dedicated Nigerian bank account. A 5% conversion fee is deducted from the GHS credited.

Ghana developers only. Replace YOUR_KEY with your API key above.

Endpoints
Create funding account
POST /devapi/funding/create-funding-account

Generates a permanent NGN account number for the developer. Idempotent — calling again returns the same account.

curl -X POST https://fricopay.com/devapi/funding/create-funding-account \
  -H "Authorization: Bearer YOUR_KEY"
Get funding account
GET /devapi/funding/funding-account

Returns your existing funding account. Returns 404 if you haven't created one yet.

curl https://fricopay.com/devapi/funding/funding-account \
  -H "Authorization: Bearer YOUR_KEY"
Check wallet balance
GET /devapi/funding/balance

Returns your current GHS wallet balance.

curl https://fricopay.com/devapi/funding/balance \
  -H "Authorization: Bearer YOUR_KEY"
List deposits
GET /devapi/funding/transactions?limit=20

Returns your latest funding deposits with FX rate, fees, and net GHS credited. Default 20, max 100.

curl https://fricopay.com/devapi/funding/transactions?limit=20 \
  -H "Authorization: Bearer YOUR_KEY"
Per-user Virtual Accounts
NEW

Generate a unique disposable NGN bank account for each of your end-users. When they pay, your FricoPay GHS wallet is auto-credited via webhook (no manual claim needed). Each VA carries the user_reference you provide, so you always know exactly which of your users sent money.

Generate a disposable VA per user
POST /devapi/funding/virtual-account

Pass your end-user's identifier as user_reference + the NGN amount to collect. Returns a fresh account number + bank that expires in 1 hour. Note: the amount_ngn in the response is slightly higher than what you requested (a small processing fee is included). Tell your user to pay that exact amount.

curl -X POST https://fricopay.com/devapi/funding/virtual-account \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"user_reference":"user_42","amount_ngn":1500,"customer_name":"John Doe"}'
{
  "ok": true,
  "deposit_id": "0YIJBDZ3kxrj0JiFGtHF",
  "user_reference": "user_42",
  "account_number": "9906575599",
  "bank_name": "Premier MFB",
  "amount_ngn": 1530,
  "requested_amount_ngn": 1500,
  "expires_at": "2026-05-15T04:08:41Z",
  "status": "awaiting_payment"
}
List all virtual accounts
GET /devapi/funding/virtual-accounts?status=success

Filter by status: awaiting_payment, success (paid & auto-credited), expired, or all. Use this to see which of your users have paid and credit their wallets on your side. Use deposit_id as your reconciliation key to avoid double-crediting.

curl "https://fricopay.com/devapi/funding/virtual-accounts?status=success" \
  -H "Authorization: Bearer YOUR_KEY"
Recommended integration flow
  1. When your user requests a deposit, call POST /devapi/funding/virtual-account with their internal ID as user_reference.
  2. Show them account_number, bank_name, and the exact amount_ngn to pay.
  3. When they pay, our webhook fires — your FricoPay GHS wallet is credited automatically (no claim step).
  4. Poll GET /devapi/funding/virtual-accounts?status=success every minute (or after the user confirms).
  5. For each new success entry, credit your user using deposit_id as a dedup key.
How conversion works
  1. Customer transfers NGN to your dedicated account from any Nigerian bank or app.
  2. We confirm the deposit and notify FricoPay.
  3. The live NGN→GHS rate is fetched.
  4. 5% conversion fee is deducted from the GHS amount.
  5. Net GHS is credited to your FricoPay wallet within seconds.

Each transaction is logged in your transactions list with the FX rate, NGN received, and fee deducted.

Cheap Data API

Sell affordable data bundles (MTN, AirtelTigo iShare/BigTime, Telecel) in Ghana directly from your app. Live wholesale prices from FricoPay. Charges your FricoPay wallet in GHS. Order delivery typically within 60 seconds.

MTN 1GB from GHS 4.00
Auto-refund on failure
Order status lookup
Live wholesale prices (cached 6 hours)
4 networks: MTN, AT iShare, AT BigTime, Telecel
Reseller-grade reliability
Endpoints
List networks & packages
GET /devapi/cheap-data/networks · FREE
curl https://fricopay.com/devapi/cheap-data/networks \
  -H "Authorization: Bearer YOUR_KEY"
Purchase data bundle
POST /devapi/cheap-data/purchase · Paid (see /networks for prices)
curl -X POST https://fricopay.com/devapi/cheap-data/purchase \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "networkKey": "YELLO",
    "recipient": "0241234567",
    "capacity": 1
  }'
Check order status
GET /devapi/cheap-data/orders/:reference · FREE
curl https://fricopay.com/devapi/cheap-data/orders/REFERENCE \
  -H "Authorization: Bearer YOUR_KEY"
Orders by recipient phone
GET /devapi/cheap-data/orders/by-phone/:phone · FREE
curl https://fricopay.com/devapi/cheap-data/orders/by-phone/0241234567 \
  -H "Authorization: Bearer YOUR_KEY"
Your purchase history
GET /devapi/cheap-data/transactions · FREE
curl https://fricopay.com/devapi/cheap-data/transactions \
  -H "Authorization: Bearer YOUR_KEY"
Network keys reference
YELLO · MTN Data
AT_PREMIUM · AirtelTigo iShare
AT_BIGTIME · AirtelTigo BigTime
TELECEL · Telecel Data
Bet Code Converter API

Convert bet codes between 17 supported bookies across Ghana, Nigeria, Kenya & more. Resell as a service to your users at any markup. Charges your FricoPay wallet in GHS per successful conversion.

GHS 1.50 per conversion
Lookup is FREE
10 free conversions · 7-day trial
Auto-refund on conversion failure
17 bookies supported (SportyBet, 1xBet, Betika, Odibet, MSport, Betpawa, 22bet & more)
Same provider used by FricoPay's consumer feature
Endpoints
List supported bookies
GET /devapi/bet-converter/bookies · FREE
curl https://fricopay.com/devapi/bet-converter/bookies \
  -H "Authorization: Bearer YOUR_KEY"
Lookup & preview a bet code
POST /devapi/bet-converter/lookup · FREE
curl -X POST https://fricopay.com/devapi/bet-converter/lookup \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "originBookie": "sportybet:gh",
    "code": "8CJFR6"
  }'
Convert bet code
POST /devapi/bet-converter/convert · GHS 1.50 per call
curl -X POST https://fricopay.com/devapi/bet-converter/convert \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "originBookie": "sportybet:gh",
    "destBookie": "1xbet:gh",
    "code": "8CJFR6"
  }'
List your conversion history
GET /devapi/bet-converter/history · FREE
curl https://fricopay.com/devapi/bet-converter/history \
  -H "Authorization: Bearer YOUR_KEY"
Sample success response (convert)
{
  "ok": true,
  "destinationCode": "FCA88",
  "originOdds": 8.78,
  "odds": 9.01,
  "noOfEntries": 2,
  "charged": 1.50,
  "currency": "GHS"
}
Utilities API

Pay DSTV, GOtv, Telecel Broadband subscriptions, ECG electricity meters, and Ghana Water bills. Verify a SIM owner's name. Sold at face value — earn 40% of our commission on every successful transaction.

DSTV / GOtv / Telecel Broadband
Step 1 — Verify account holder
GET /devapi/v1/utility/verify?service=DSTV&account=8226349986

service: DSTV, GOTV, or BROADBAND. Returns account_name and amount_due.

curl "https://fricopay.com/devapi/v1/utility/verify?service=DSTV&account=8226349986" \
  -H "Authorization: Bearer YOUR_KEY"
Step 2 — Pay the bill
POST /devapi/v1/utility
curl -X POST https://fricopay.com/devapi/v1/utility \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"service":"DSTV","account":"8226349986","amount":50,"user_reference":"u_123"}'
ECG Electricity
Step 1 — List meters linked to a phone
GET /devapi/v1/ecg/meters?phone=233246912184

ECG registers meters against a Ghana mobile number. Returns all meters with current balances.

curl "https://fricopay.com/devapi/v1/ecg/meters?phone=233246912184" \
  -H "Authorization: Bearer YOUR_KEY"
Step 2 — Top up a meter
POST /devapi/v1/ecg

Use the meter_number from Step 1.

curl -X POST https://fricopay.com/devapi/v1/ecg \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"phone":"233246912184","meter":"13334792","amount":20,"user_reference":"u_123"}'
Ghana Water
Step 1 — Verify water account
GET /devapi/v1/water/verify?meter=091019010006&phone=233242825109

Returns account_name, amount_due, and a session_id — required for the payment call.

curl "https://fricopay.com/devapi/v1/water/verify?meter=091019010006&phone=233242825109" \
  -H "Authorization: Bearer YOUR_KEY"
Step 2 — Pay water bill
POST /devapi/v1/water

session_id must be fresh from the verify call — can't reuse across transactions.

curl -X POST https://fricopay.com/devapi/v1/water \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"phone":"233242825109","meter":"091019010006","session_id":"FROM_VERIFY_CALL","email":"user@example.com","amount":10,"user_reference":"u_123"}'
SIM Owner Verify
Look up registered SIM owner name
GET /devapi/v1/msisdn/verify?phone=233246912184

Returns the legal name the SIM was registered with. Useful for KYC and fraud prevention before sending money or airtime.

curl "https://fricopay.com/devapi/v1/msisdn/verify?phone=233246912184" \
  -H "Authorization: Bearer YOUR_KEY"
Status
Check transaction status
GET /devapi/v1/status/:reference

Use only if your callback didn't fire after 5 minutes. reference is returned from the buy call.

curl https://fricopay.com/devapi/v1/status/REFERENCE \
  -H "Authorization: Bearer YOUR_KEY"
Realtime Webhooks

Receive a signed callback the moment any order changes status — across all API services (Cheap Data, Airtime, Data, Checker, Booster, Utilities, Virtual Numbers). We POST signed JSON to your URL in realtime.

HMAC-SHA256 signed
Auto-retry 3x
order.placed · order.failed · order.delivered
Signature header for verification
Configuration
Webhook URL
Signing secret
Verify the X-FricoPay-Signature header (HMAC-SHA256 of the raw body).
Save a URL to generate
Sample payload
POST to your URL · Content-Type: application/json
{
  "event": "order.placed",
  "data": {
    "service": "cheap_data",
    "reference": "MN-XXXX",
    "networkKey": "YELLO",
    "recipient": "0240000000",
    "capacity": 1,
    "amount": 4,
    "status": "placed"
  },
  "timestamp": "2026-05-24T21:00:00.000Z"
}
FricoBusiness Payment Gateway

Build payment collection, transfers, and subscriptions into your app. Charges customers via card or MoMo — net proceeds (minus 2.5%) credited to your FricoBusiness wallet. Requires an approved FricoBusiness account.

2.5% on collections
Tiered transfer fees
GHS 100 to activate
Apply for FricoBusiness to enable these endpoints.
Endpoints
Check wallet balance
GET /business/api/balance
curl https://fricopay.com/business/api/balance \
  -H "Authorization: Bearer YOUR_KEY"
Initialize a payment
POST /business/api/charge/initialize
curl -X POST https://fricopay.com/business/api/charge/initialize \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "customer@email.com",
    "amount": 50,
    "callback_url": "https://your-app.com/payment-success"
  }'
Direct MoMo charge
POST /business/api/charge/direct

Customer gets a USSD prompt on their phone instead of being redirected to checkout. Response status will be one of: pay_offline, send_otp, success, pending, failed.

curl -X POST https://fricopay.com/business/api/charge/direct \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "customer@email.com",
    "amount": 50,
    "phone": "0241234567",
    "provider": "MTN"
  }'
Submit OTP
POST /business/api/charge/submit_otp

Call when direct charge returns send_otp. Prompt the customer for the OTP they received and submit it here.

curl -X POST https://fricopay.com/business/api/charge/submit_otp \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "reference": "REF_HERE",
    "otp": "123456"
  }'
Submit PIN
POST /business/api/charge/submit_pin

Call when direct charge returns send_pin. Rare but supported.

curl -X POST https://fricopay.com/business/api/charge/submit_pin \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "reference": "REF_HERE",
    "pin": "1234"
  }'
Submit Birthday
POST /business/api/charge/submit_birthday

Call when direct charge returns send_birthday. Date format: YYYY-MM-DD.

curl -X POST https://fricopay.com/business/api/charge/submit_birthday \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "reference": "REF_HERE",
    "birthday": "1990-05-15"
  }'
Check pending charge
POST /business/api/charge/check_pending

Call after 10s when direct charge returns pay_offline or pending. Poll every 10s until the response is success or failed.

curl -X POST https://fricopay.com/business/api/charge/check_pending \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "reference": "REF_HERE"
  }'
Verify a payment
GET /business/api/charge/verify/:reference
curl https://fricopay.com/business/api/charge/verify/REF_HERE \
  -H "Authorization: Bearer YOUR_KEY"
Send a transfer
POST /business/api/transfer
curl -X POST https://fricopay.com/business/api/transfer \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 20,
    "momoNumber": "0241234567",
    "momoNetwork": "MTN",
    "momoName": "John Doe"
  }'
Home Support Cards Profile