This is what a plain redirect gateway can't do. The plugin runs its own cron task,
viva_auto_bill, daily at 23:00.
Recurring works because the first payment is made with allowRecurring=true; Viva returns a
recurring-enabled transactionId that the plugin stores and reuses for renewals via a synchronous
POST /api/transactions/{transactionId}.
Blesta's own cron must be running (Settings > Company > Automation). If the site cron is off, no
renewals are charged.