# VTU & Bill Payment API for Nigeria | Paybeta Developer Docs ## Docs - [VTU & Bill Payment API for Nigeria | Paybeta Developer Docs](https://docs.paybeta.ng/paybeta-vtu-bill-payment-api-documentation-1613346m0.md): Add airtime, data, electricity tokens, cable TV and JAMB/WAEC PINs to your Nigerian app with one REST API. Free sandbox and commission on every sale. - [Commission](https://docs.paybeta.ng/commission-2234060m0.md): - [Education](https://docs.paybeta.ng/education-6499166f0.md): - [Schedule Payments](https://docs.paybeta.ng/schedule-payments-11007639f0.md): - Schedule Payments [Create](https://docs.paybeta.ng/create-11007628f0.md): **Body** - [Buy Bulk Airtime](https://docs.paybeta.ng/bulk-airtime.md): - [Webhook (reference)](https://docs.paybeta.ng/webhook-reference-11007630f0.md): Each run that debits your wallet is reported to your registered webhook endpoint, in the same format as a direct purchase. `data.reference` is the run's transaction reference (it starts with the schedule reference), and `transactionId` matches the schedule's `last_run.transaction_id`. ## API Docs - Airtime [Providers](https://docs.paybeta.ng/providers-21724147e0.md): Response: - Airtime [Payment](https://docs.paybeta.ng/payment-21724148e0.md): The available service are: - Data Bundle [Get Providers](https://docs.paybeta.ng/get-providers-21724149e0.md): ``` json - Data Bundle [Get Data Bundles](https://docs.paybeta.ng/get-data-bundles-21724150e0.md): ``` json - Data Bundle [Payment](https://docs.paybeta.ng/payment-21724151e0.md): - Cable TV [Get Providers](https://docs.paybeta.ng/get-providers-21724152e0.md): - Cable TV [Get Bouquet](https://docs.paybeta.ng/get-bouquet-21724153e0.md): - Cable TV [Validate Account](https://docs.paybeta.ng/validate-account-21724154e0.md): - Cable TV [Payment](https://docs.paybeta.ng/payment-21724155e0.md): - Electricity [Get Providers](https://docs.paybeta.ng/get-providers-21724156e0.md): - Electricity [Validate Account](https://docs.paybeta.ng/validate-account-21724157e0.md): - Electricity [Payment](https://docs.paybeta.ng/payment-21724158e0.md): - Showmax [Get Bouquets](https://docs.paybeta.ng/get-bouquets-21724159e0.md): - Showmax [Payment](https://docs.paybeta.ng/payment-21724160e0.md): - Gaming [Get Providers](https://docs.paybeta.ng/get-providers-21724161e0.md): - Gaming [Validate Account](https://docs.paybeta.ng/validate-account-21724162e0.md): - Gaming [Payment](https://docs.paybeta.ng/payment-21724163e0.md): - Wallet [Balance](https://docs.paybeta.ng/balance-21724145e0.md): - Education [Get Providers](https://docs.paybeta.ng/get-providers-27883819e0.md): - Education [Get Exam Types](https://docs.paybeta.ng/get-exam-types-27884358e0.md): - Schedule Payments > Setup [Options](https://docs.paybeta.ng/options-44790779e0.md): Services, billers, frequencies and meter types accepted by **Create**, plus `min_lead_minutes` and the timezone used for dates. - Schedule Payments > Setup [Bundles](https://docs.paybeta.ng/bundles-44791224e0.md): Services, billers, frequencies and meter types accepted by **Create**, plus `min_lead_minutes` and the timezone used for dates. - Schedule Payments > Create [Create - Airtime (one time)](https://docs.paybeta.ng/create-airtime-one-time-44790781e0.md): Schedule a one-time airtime top-up. `amount` is required (50 - 20,000). - Schedule Payments > Create [Create - Data (monthly)](https://docs.paybeta.ng/create-data-monthly-44790782e0.md): Schedule a recurring data bundle. `code` is the bundle code from **Bundles**; the amount comes from the bundle price. `ends_at` is optional. - Schedule Payments > Create [Create - Cable TV (monthly)](https://docs.paybeta.ng/create-cable-tv-monthly-44790783e0.md): Schedule a recurring TV subscription. `customer_id` is the smartcard number and is validated with the provider. `code` is the bouquet code from **Bundles**. Bouquet must be ₦500 - ₦80,000. - Schedule Payments > Create [Create - Electricity (weekly)](https://docs.paybeta.ng/create-electricity-weekly-44790784e0.md): Schedule recurring electricity tokens. `customer_id` is the meter number (validated with the provider), `code` is the meter type (`prepaid` | `postpaid`). `amount` is ₦1,000 - ₦50,000 and must meet the meter's minimum vend. - Schedule Payments > Manage [List schedules](https://docs.paybeta.ng/list-schedules-44790785e0.md): Paginated list, newest first. Without `status`, cancelled (archived) schedules are hidden. - Schedule Payments > Manage [Get schedule](https://docs.paybeta.ng/get-schedule-44790786e0.md): One schedule including its full run history (`runs`). - Schedule Payments > Manage [Update schedule](https://docs.paybeta.ng/update-schedule-44790787e0.md): Edit a schedule before its first run (`can_edit: true`). Same body and rules as **Create**; the schedule restarts from the new `start_at`. - Schedule Payments > Manage [Pay now](https://docs.paybeta.ng/pay-now-44790788e0.md): Charge this schedule's payment immediately, on top of its normal plan. The schedule's dates, status and cycle are unchanged. Works on `active` and `paused` schedules (use **Retry** for `failed`). The result arrives on your webhook. - Schedule Payments > Manage [Retry failed run](https://docs.paybeta.ng/retry-failed-run-44790789e0.md): Re-run a `failed` schedule now (e.g. after funding your wallet). On success a recurring schedule moves on to its next future date. - Schedule Payments > Manage [Pause](https://docs.paybeta.ng/pause-44790790e0.md): Put a schedule on hold. Nothing is charged until it is resumed. - Schedule Payments > Manage [Resume](https://docs.paybeta.ng/resume-44790791e0.md): Resume a `paused` schedule. Recurring schedules continue at the next future cycle — cycles missed while paused are skipped, never charged. For a one-time schedule whose date passed while paused (`resume_needs_start_at: true`), send a new `start_at`. - Schedule Payments > Manage [Cancel (archive)](https://docs.paybeta.ng/cancel-archive-44790792e0.md): Stop an `active`, `failed` or `paused` schedule and move it to the archive (`status: cancelled`). It can be re-enabled later. - Schedule Payments > Manage [Re-enable](https://docs.paybeta.ng/re-enable-44790793e0.md): Bring a `cancelled` schedule back to `active`. Same date rules as **Resume** (`reactivation_needs_start_at`). Counts towards the 20 open schedules limit. - Schedule Payments > Manage [Delete](https://docs.paybeta.ng/delete-44790794e0.md): Permanently delete a `cancelled` schedule and its run history. Transactions it created stay in your transaction history. - Buy Bulk Airtime [Bulk airtime](https://docs.paybeta.ng/bulk-airtime-44874409e0.md): Queue airtime for every recipient in the list. Saves `batch_id` / `reference` for the other requests. - Buy Bulk Airtime [List bulk requests](https://docs.paybeta.ng/list-bulk-requests-44874410e0.md): Your bulk airtime requests, newest first (without the per-recipient list). - Buy Bulk Airtime [Get bulk request](https://docs.paybeta.ng/get-bulk-request-44874411e0.md): One request with the result for every recipient. The URL accepts the `batch_id` (BLK-…) or your `reference`. - Buy Bulk Airtime [Download report (CSV)](https://docs.paybeta.ng/download-report-csv-44874412e0.md): Per-recipient results as CSV: row, reference, biller, phone_number, amount, charged_amount, status, transaction_id, description, processed_at. - Buy Bulk Airtime [Cancel](https://docs.paybeta.ng/cancel-44874413e0.md): Stop recipients that have not started yet (they become `cancelled`, not charged). Numbers already processed are not affected. - Buy Bulk Airtime [Query one number](https://docs.paybeta.ng/query-one-number-21724146e0.md): Status of one recipient, with its reference (default `-`).