On this page

WhatsApp Marketing Setup: Accounts, Wallets, and Pricing

This page is for administrators configuring WhatsApp marketing delivery in Nviti.

Required Components

WhatsApp marketing requires:

  • At least one active WhatsApp Business account
  • Valid WhatsApp API credentials
  • Payment setup completed for the WhatsApp Business Account
  • A WhatsApp Wallet for the tenant
  • Configured send prices
  • Approved WhatsApp templates for proactive campaigns

WhatsApp Business Account Requirements

Each sending account should have:

  • Business account ID or WABA ID
  • Phone number ID
  • Phone number
  • Access token
  • Active status enabled
  • Payment setup status of attached for paid template sends

Broadcasts require the user to select the sending WhatsApp Business account. That account supplies the API credentials and sender phone number for the campaign.

WhatsApp Payment Setup

Each connected WhatsApp Business Account needs payment setup before paid template messages can be sent. Nviti checks this automatically when an account is connected.

On the WhatsApp account list, the Payment Setup status shows whether the account is ready:

Status Meaning
Attached The account is ready to send paid marketing and utility templates.
Pending Setup is still being checked. Try again later or contact support.
Failed Setup could not be completed. Contact support before sending campaigns.
Not checked The account has not completed payment setup yet.

If payment setup is not attached, paid template sends are blocked before any wallet credits are debited. Workspace admins can retry setup from the WhatsApp account table using Sync Payment Setup.

Wallet Pricing

WhatsApp template prices are converted into wallet credits.

Template Category Default Price
Utility ₦10.05
Marketing ₦77.40

These prices use the current platform exchange rate. If pricing changes, the updated amount will appear in wallet transactions.

Other outbound WhatsApp sends can have separate fallback prices.

Message Type Used For
Text Plain text WhatsApp sends
Template fallback Template sends when no category is available
Flow WhatsApp Flow sends
Interactive Interactive button/list messages
Booking flow Booking flow sends

These values are wallet units in NGN.

Paystack Top-Ups

Workspace users can top up the WhatsApp Wallet from the wallet page. Nviti initializes a Paystack checkout and includes wallet metadata in the payment reference.

  • 1 wallet credit equals ₦1.
  • The wallet is credited after Paystack sends a signed charge.success webhook.
  • Duplicate webhook deliveries are ignored by Paystack reference.
  • Paystack processing fees are charged to the user by the Paystack dashboard configuration.
  • Nviti credits the requested wallet amount, not a fee-inclusive checkout amount.

Configure the Paystack webhook URL to point to:

text
/webhook/paystack

Billing Behavior

For production sends:

  1. Nviti reserves funds by debiting the wallet.
  2. Nviti calls the WhatsApp API.
  3. If the API succeeds, the debit remains.
  4. If the API fails, Nviti creates a refund credit.

This is used by:

  • Broadcasts
  • WhatsApp workflow text messages
  • WhatsApp workflow template messages
  • WhatsApp workflow interactive messages
  • WhatsApp workflow booking flows

Broadcast test sends do not debit the wallet.

Broadcast Delivery Records

Broadcast deliveries can store:

  • Status
  • Failure reason
  • Retry count
  • Meta message ID
  • Wallet transaction ID
  • Metadata containing the WhatsApp API response or error context

Use this data when investigating campaign results.

Visitor Subscription Defaults

Visitors have a Subscribed to marketing flag. Existing visitors are subscribed by default after the marketing schema update so existing campaigns do not unexpectedly lose their audience.

Users can disable this flag when a contact opts out.

Operational Checklist

Before enabling campaigns for a tenant:

  1. Confirm the WhatsApp Business account is active.
  2. Confirm the access token and phone number ID are valid.
  3. Confirm the tenant has an active WhatsApp Wallet.
  4. Configure wallet send prices.
  5. Submit and approve at least one marketing template.
  6. Sync template status from Meta.
  7. Create a test broadcast to a controlled phone number.
  8. Review wallet transactions and delivery logs.

Troubleshooting

Broadcasts Fail With Missing Account

Check that the broadcast channel has a selected WhatsApp Business account and that the account is active.

Sends Fail With Insufficient Funds

Top up or activate the tenant WhatsApp Wallet.

Template Sends Fail With Payment Setup Incomplete

Use Sync Payment Setup on the WhatsApp account. If the status still shows failed or pending, contact support.

Template Sends Fail

Check that:

  • The template is approved.
  • The template exists under the selected WhatsApp Business/WABA account.
  • The template name and language match Meta.
  • The account token has permission to send messages.

Repeated Refunds

Repeated debit/refund pairs usually mean the wallet is working but the WhatsApp API is rejecting the send. Review delivery failure reasons and Meta responses.

Keywords

WhatsApp marketing setup, WhatsApp wallet pricing, WhatsApp Business account, broadcast configuration, WhatsApp API credentials, Meta template setup