AutoPay

Automatic scheduled payments for OvoPay. Version 1.1.

AutoPay lets users set a payment to repeat on its own, so they never miss rent, a bill, a school fee or a monthly transfer to family. The user sets it up once, for example "Send 50 to Mom every month on the 1st", and AutoPay makes the payment on every due date from the user's wallet.

Services that can be automated

ServiceDetails the user provides
Send MoneyThe OvoPay user who receives the money.
Bank TransferBank, account holder name and account number.
Utility BillBiller company, customer / meter ID and reference.
Mobile RechargeCountry, operator and mobile number.
Education FeeThe institution.
DonationThe charity or organisation.
Merchant PaymentThe merchant being paid.

AutoPay is used by users (website and User App) and managed by the admin.

How It Works

What happens on each due date.

User creates a schedule Reminder before the date Payment runs on the due date User is notified Next date is set
  • Same as a manual payment. Each run is processed exactly as if the user had made the payment by hand. The same charges, limits and transaction history apply. Charges are worked out fresh on every run, so if you change a charge, the next run uses the new value.
  • Paid from the wallet. The user needs enough balance on each due date. Nothing is reserved in advance.
  • Runs in the background. The AutoPay Cron job checks for due payments every few minutes. The server cron job must be running, otherwise no scheduled payment is made.
  • Failures are handled for you. Temporary problems are retried, repeated failures stop the schedule, and the user is told what happened. See When a Payment Fails.

Installation

Install AutoPay.zip from the Addon Manager.

Go to Settings > Addon Manager > Install New Addon and upload AutoPay.zip. Step-by-step instructions are in the Addon Manager guide.

What gets added

  • Admin sidebar: an AutoPay menu with All Schedules, Run Logs and Settings.
  • User panel: AutoPay under More Services, and an AutoPay service in the User App.
  • A background job named AutoPay Cron, which runs every 5 minutes.
  • One permission, one module switch (User) and five notification templates.

Setup Checklist

Do these once after installing.

  1. Cron job: open Settings > Security & Compliance > CRON Job Setting and confirm the server cron is set up and AutoPay Cron is running. This is the most important step.
  2. Services: in AutoPay > Settings, keep on only the services you want to offer for automation.
  3. Core modules: each automated service must also be switched on in Module Settings (for example, the Send Money module for Send Money schedules).
  4. Retry policy and reminders: review the defaults in Settings.
  5. Test: with a test user, create a small daily Send Money schedule. Confirm it runs, then cancel it.

Settings

Open AutoPay > Settings.

SettingDefaultWhat it does
Enabled Services
One switch per serviceAll onWhich services users can automate. If you switch a service off, users can no longer create schedules for it, and existing schedules for it are paused (the user is notified) until you switch it back on.
Retry Policy
Max Failed Attempts3How many failed payments in a row (for example, insufficient balance) before a schedule stops itself.
Max Soft Retries3How many times a temporary failure (for example, a recharge or bill provider timing out) is retried before it counts as a failed attempt.
Retry Delay30 minutesHow long to wait before retrying after a temporary failure.
Batch Size200The most schedules processed in each cron run. Keep the default on shared hosting. Raise it only if you have many schedules and a strong server.
Upcoming Payment Reminders
Send remindersOnRemind users before a payment runs, so they can top up their wallet.
Remind This Many Days Before1How many days before the due date the reminder is sent.

Click Submit to save. Changes apply from the next cron run.

Module, Permission & Notifications

Control who can use AutoPay, and what messages are sent.

Module switch

Under Settings > Manage Settings > Module Settings, the AutoPay (User) switch turns the whole feature on or off for users. When it is off, users cannot open AutoPay and existing schedules do not run.

Staff permission

In Manage Admin > Role & Permissions, give staff manage autopay to access all AutoPay admin pages.

Notifications

Edit these under Settings > Notification Setting > Notification Templates:

TemplateSent to the user when
AutoPay Upcoming PaymentA payment is coming up soon (reminder).
AutoPay Run SuccessfulA scheduled payment was made.
AutoPay Run FailedA scheduled payment could not be made. Includes the reason.
AutoPay Schedule StoppedThe schedule stopped after too many failures in a row.
AutoPay Schedule PausedThe schedule was paused because its service is currently unavailable.

Admin: Schedules & Logs

See every schedule and every payment attempt.

All Schedules

AutoPay > All Schedules lists every user's schedules. It shows the service, amount, how often it repeats, the next run date, progress (runs made), failed attempts and status. Click a schedule to open its Details: the payment destination, the last error (if any) and its full run history.

Run Now

On the details page, Run Now makes the payment immediately instead of waiting for the due date. Use it to help a user after fixing a problem, for example once they have topped up. It moves real money, so you are asked to confirm.

Run Logs

AutoPay > Run Logs records every attempt across all users: when it ran, the amount and charge, the transaction number (Trx) and the result. Failed and skipped runs show the error. This is the first place to look when a user asks "why wasn't my payment made?".

User: Create a Schedule

What your users do on the website or in the User App.

  1. Website: open More Services > AutoPay and click New Schedule. App: tap AutoPay in the services area and create a new schedule.
  2. 1. Schedule: fill in:
    • Service: what to pay (Send Money, Utility Bill and so on).
    • Schedule Title: a name the user will recognise, for example "Monthly Rent".
    • Repeat Every + Unit: for example 1 Month(s), 2 Week(s) or 10 Day(s). Up to 365.
    • Hour of Day: the hour the payment should run.
    • Start Date: the first payment date (today or later).
    • End Date (Optional): stop after this date.
    • Total Runs (Optional): stop after this many payments. Leave both empty to run forever.
  3. 2. Service Details: enter who or what to pay (see the services table) and the Amount. The available balance is shown for reference.
  4. Click Create Schedule. It appears in the AutoPay list with its next run date.

User: Manage Schedules

Edit, pause, resume or cancel.

ActionWhat it does
DetailsShows the schedule, the next run, progress and every past run with its result.
EditChange the title, how often it repeats, the end date and the total runs. The service and amount cannot be changed. To change those, cancel the schedule and create a new one.
PauseTemporarily stops an active schedule. No payments are made while it is paused.
ResumeRestarts a paused or stopped schedule and clears its failure count. Dates that passed while it was paused are skipped, not paid. It continues from the next date in the future.
Cancel ScheduleEnds the schedule permanently. This cannot be undone.
HistoryEvery AutoPay payment the user has made, across all schedules.

Statuses

What each schedule status means.

StatusMeaningNext step
ActiveRunning normally. Pays on every due date.Nothing.
PausedPaused by the user, or by the system because the service became unavailable.The user clicks Resume when ready, or once the service is available again.
StoppedStopped after too many failed payments in a row, or because the user's account is no longer active.Fix the cause (for example, add balance), then Resume.
CompletedReached its end date or its total number of runs.Create a new schedule if needed.
CancelledCancelled by the user.Create a new schedule if needed.

When a Payment Fails

AutoPay never retries a failed payment endlessly, and never pays twice.

SituationWhat AutoPay does
Payment problem
for example, insufficient balance, a limit reached, or the receiver no longer exists
That date is skipped and counted as one failed attempt. The user gets an AutoPay Run Failed message with the reason. The schedule continues on the next date. After Max Failed Attempts failures in a row (3 by default), the schedule is Stopped and the user gets AutoPay Schedule Stopped.
Temporary problem
for example, a mobile recharge or utility bill provider not responding
The payment is retried after the Retry Delay (30 minutes by default), up to Max Soft Retries times (3). If it still fails, it counts as one failed attempt as above.
Service unavailable
the service was switched off in AutoPay Settings or Module Settings
The schedule is Paused and the user gets AutoPay Schedule Paused. Once the service is back on, the user resumes it.
User account not active
banned or deleted
The schedule is Stopped.

A successful payment resets the failed-attempt count to zero.

Troubleshooting

Problems you or your users may see, and what to do.

Problem or messageWhat to do
No scheduled payments are being made at all The server cron job is not running. Open CRON Job Setting, copy the cron command and add it to your server (cPanel: Cron Jobs). Check that AutoPay Cron shows a recent last-run time. Also check that the AutoPay module is on.
One schedule did not pay on its date Open the schedule in AutoPay > All Schedules and check its status and Last Error, or look in Run Logs. The most common reason is insufficient balance. A payment can also run a few minutes after the chosen hour, because it runs on the next cron check.
AutoPay does not appear for users Check that the addon is active in the Addon Manager and that the AutoPay switch is on in Module Settings. In the app, close it fully and reopen it.
No services are available for AutoPay right now. Please contact support. Every service is off, either in AutoPay > Settings > Enabled Services or in Module Settings. Switch on at least one service in both places.
This service is not available for AutoPay right now The chosen service is switched off. Enable it in AutoPay Settings and in Module Settings, or ask the user to pick another service.
A schedule shows Paused but the user did not pause it Its service was switched off, and the last error says which one. Switch the service back on, then the user clicks Resume.
A schedule shows Stopped It failed too many times in a row. Check the last error, fix the cause (usually balance), then Resume. To allow more attempts before stopping, raise Max Failed Attempts.
Only an active schedule can be paused The schedule is already paused, stopped or finished. Refresh the page to see its current status.
Only a paused or stopped schedule can be resumed The schedule is already active, or it is completed or cancelled. A completed or cancelled schedule cannot be resumed, so create a new one.
This schedule is already finished It is already completed or cancelled. Nothing more to do.
The user wants to change the amount or the recipient These cannot be edited. Cancel the schedule and create a new one with the new details.
Start or end date is rejected when creating The start date must be today or later, and the end date must be after the start date.
A paused schedule did not pay the dates it missed after resuming This is by design: missed dates are skipped so the user is not charged several times at once. If a missed payment is needed, the user can pay it manually, or you can use Run Now.
Users do not get reminders Check that Send reminders is on in AutoPay Settings, that the cron job runs, and that the AutoPay Upcoming Payment template is switched on for email, SMS or push.
The charge on an AutoPay payment is different from last time Charges are worked out fresh on every run. If the charge for that service was changed in the core charge settings, the new charge applies.

FAQ

Quick answers to common questions.

Can a payment be made twice by mistake?

No. Each due payment is locked while it is being processed, so it cannot be paid twice even if the cron job overlaps.

Does AutoPay reserve money in the wallet?

No. Money is only taken when a payment runs. Reminders help users keep enough balance.

Are AutoPay payments shown in the normal transaction history?

Yes. Each run creates the same transaction a manual payment would, and it also appears in the AutoPay history.

What happens to schedules if I deactivate the addon?

Nothing is deleted. Payments simply stop until the addon is activated again. Uninstalling, however, permanently deletes all schedules and run logs.

Can merchants or agents use AutoPay?

No. AutoPay is available to users only.

Support

How to get assistance

Email Us: [email protected]