kitasapa

For phone credit wholesalers (server pulsa), H2H & bill-payment distributors

WhatsApp for phone credit wholesalers: reseller OTP codes delivered over the official route

Resellers log in to your app with a code sent from your wholesaler’s own WhatsApp number, not from whichever admin phone happens to be on. Complaints about pending transactions are logged as tickets, operator outage notices reach resellers through official broadcasts, and your support team replies together from a computer.

  • 5-day free trial
  • OTP through a signed API
  • OTP codes hidden from your team
  • The number stays yours

Registered as a Tech Provider on the WhatsApp Business Platform

Sample chat: a reseller has a new phone, an auto-reply explains how to log in, then an OTP code is sent through the API with a Copy code button. The code is masked for the team.

Code masked for the team
Sample view · made-up names and numbers

What usually happens

The server runs 24 hours, support still runs on one phone

Reseller transactions are already automated through an app, Telegram, the web, or H2H (host-to-host). What gets left behind is everything around them: login codes, complaints, deposits, and outage news.

OTP stuck on “Waiting for this message”Codes are sent from a WhatsApp Web session or an admin’s phone. Once the session drops, resellers only see the waiting notice and request the code again and again.
Unofficial WhatsApp gatewaysTools that ride on WhatsApp Web break WhatsApp’s terms. If the number sending OTPs gets restricted, no reseller can log in at all.
Pending complaints get buried“TRX88412 pending, balance already deducted” is mixed in with price and deposit questions. It is unclear who is handling it and how long the reseller has been waiting.
Outage notices copied one by oneA data product goes down at 9:00 pm, and the admin copies the message from group to group. Resellers who do not open the groups keep trying transactions and complain too.

What you get

Dashboard menus made for phone credit wholesalers

Choose the Phone credit wholesaler & H2H business type when you sign up. The dashboard sets up matching menus: Tickets become Transaction complaints, Price list becomes Reseller price list, and Broadcast is ready for product & outage notices.

Integration · switched on by request

Login OTP codes for your reseller app

Your server system calls the kitasapa API with the kirim_template action and the code. kitasapa builds the official authentication message with a Copy code button, or one-tap autofill for Android apps, and sends it from your wholesaler number through the Meta-hosted WhatsApp Cloud API.

  • Each request is signed with HMAC and uses an Idempotency-Key: if the network drops and the call is retried, the code is not sent twice.
  • Sent, delivered, read, or failed status is reported back through a signed webhook.
  • In the team inbox, the code shows as ••••••. Support staff cannot read resellers’ codes.
Transaction complaints

Complaints become numbered tickets

A reseller’s message opens a ticket with a topic from the bot menu, such as Transaction complaint or Deposit not received. The status is clear (new, in progress, waiting for reseller, done), with an assigned owner and a response deadline.

Product & outage notices

Outages and cut-offs by broadcast

Send an outage notice or bank cut-off schedule template to all resellers, or by label such as H2H partners. No more copying messages into many groups.

Reseller price list

Today’s prices answered automatically

Enter the price list once. Resellers who type “price” or “pricelist” get the latest prices right away, and the bot menu uses the same data.

Bot menu

Formats, deposits, complaints, sign-up

Options for Transaction format, How to deposit, Transaction complaint, Deposit not received, Become a reseller, and Talk to an admin. The opening message reminds resellers that admins never ask for a PIN or OTP code.

Contacts = Resellers

Notes per reseller

Each reseller has labels (Agent, H2H, New reseller), team notes such as account code or deposit habits, and a fixed owner, so nobody has to ask again.

Team report

Reply time per support agent

See how fast complaints are answered and resolved per team member, including the night shift, to plan who is on duty at busy hours.

How OTP works

From the Send code button to the reseller logged in

The code does not depend on a phone or a WhatsApp session on an admin’s computer.

  1. The reseller taps Send codeIn your Android app or website, after entering their account number.
  2. Your server calls the kitasapa APIAn HMAC-signed kirim_template request with the reseller’s number, the template name, and the code.
  3. The code arrives from your numberAn authentication message with a Copy code button, sent through the WhatsApp Cloud API, not from an admin’s phone.
  4. Status returns to your systemSent, delivered, read, or failed through a webhook, so your app knows when to offer a resend.

Rp 356.65 per code for recipients in Indonesia, Meta’s official authentication rate for Indonesia (as of 1 Oct 2026, before VAT; rates for other countries), billed by Meta directly to your WhatsApp Business account. Authentication templates must be approved by Meta first, and there is a simulation mode for testing without sending real messages. We help until you are connected. Read the API documentation.

Sample chats

How your support team works

Sample: a reseller reports a pending transaction, a team member handles it, then a Balance refunded template is sent.

Sample view · made-up names and numbers
Sample

Pending transaction, balance refunded, reseller informed

Yuni sends the ID of a pending transaction. Dewi from the team takes the ticket and promises an update within 30 minutes. As soon as the supplier marks it failed, the Balance refunded template goes out with OK and Ask an admin buttons.

  • The ticket is recorded under Dewi’s name, with the waiting time
  • The template names the transaction ID and the refunded amount
  • If the reseller replies again, the ticket goes back to In progress

Sample: a reseller reports a deposit not received, an auto-reply asks for the transfer details, then the team checks the bank statement.

Sample view · made-up names and numbers
Sample

Missing deposits answered by the bot first

The auto-reply asks right away for the bank, amount, and transfer time, so support staff do not have to ask again. Once the statement is checked, the Deposit received template can be sent as an official update to the reseller.

Wholesalers handle high volume, so per-transaction updates are best kept for problem cases, such as refunds and manual deposits, not for every successful transaction.

Templates you can copy

Sample templates for resellers

A template is a message you send first, more than 24 hours after the reseller’s last message. Meta checks its content before it can be used. Transaction updates have no promotional call to action on purpose; promotions are made as separate templates.

kode_masuk_aplikasiAuthentication

Fixed wording from Meta. Your system only sends the code through the API; this template cannot be sent manually from the dashboard.

refund_saldoUtility

Fields: name, transaction ID, amount. The Ask an admin button opens a conversation for the team.

info_gangguanNotice · category set by Meta

Fields: name, product, time. Sent by broadcast to all resellers or by label.

promo_harga_turunMarketing

Only for resellers who agreed to receive promotions; Rp 586.33 per message for recipients in Indonesia, always with a Stop promos button.

Straight talk

Things you should know

PINs must not go through the support chat. Many wholesalers use transaction formats that include a PIN. Chat content is stored on the kitasapa server, so our bot menu points transaction formats to your server’s transaction center, not to the support number.

We also write reseller recruitment messages without promises of income or commission.

  • No PINs in the support chatThe bot and auto-replies remind resellers every time the word “PIN” appears.
  • Per-transaction updates cost moneyUtility templates are Rp 356.65 per message for recipients in Indonesia. Use them for refunds and manual deposits only.
  • No guarantee against blockingNumber quality is visible and there are staged warnings, but a number can still be restricted if many recipients report it.

Pricing

Monthly subscription, every feature on every plan

5-day free trial, starting when your WhatsApp is connected, with no upfront payment. Plans differ only in the number of businesses, numbers, and team accounts.

Lite

$10/mo

1 business · 1 number · 1 account

Pro

$15/mo

2 businesses · 2 numbers · 2 accounts

Promax

$25/mo

4 businesses · 4 numbers · 4 accounts

Yearly: $100 / $150 / $250 (2 months free). Payment from outside Indonesia is arranged by chat (we send an invoice). In Indonesia, plans are billed in rupiah via QRIS (see the Indonesian page).

Message fees from Meta are billed by Meta directly to the card on your account, following Meta’s official rate card for the recipient’s country. Messages from resellers are always free, and the first 1,000 chat replies each month per number are free. For recipients in Indonesia (official rates as of 1 Oct 2026, before VAT): OTP codes Rp 356.65, transaction updates such as refunds or deposit received Rp 356.65, promotions Rp 586.33 per message, and further chat replies Rp 356.65. Rates for other countries.

FAQ

Frequently asked questions

Can resellers make transactions by sending formatted messages to this WhatsApp number?

Not by default. The number connected to kitasapa is used for reseller support: complaints, deposits, notices, and OTP codes. Transactions by formatted message to this number need a custom integration (messages are forwarded to your server system, and replies are sent through the API). Because such formats often contain a PIN and chat content is stored on our server, we discuss the risks with you before building it.

How much does it cost to send an OTP code through kitasapa?

For recipients in Indonesia, Rp 356.65 per code: Meta’s official authentication rate for Indonesia as of 1 Oct 2026, before VAT. Rates for other countries are on Meta’s pricing page. Meta bills this directly to your WhatsApp Business account, not through us. The 1,000 free replies per month apply only to chat replies, not to OTP codes. The kitasapa subscription is paid separately.

Can support staff see resellers’ OTP codes?

No. In the kitasapa team inbox, the OTP code is masked as ••••••. Your team can still see that the code was sent and its status, but cannot read the digits.

Does kitasapa connect to my wholesaler database or system?

Not directly. kitasapa only receives API calls from your system, signed with HMAC using a key you can revoke at any time, and, if you set it up, sends status updates to your webhook. We do not read your database, balances, or transaction history.

Can I use the support number my resellers already know?

Yes. A WhatsApp Business number already in use can be connected and stays active on your phone; contacts and the last 6 months of chats are copied over. You need the latest version of the WhatsApp Business app. Groups and broadcast lists from the app are not connected, so outage notices are better moved to broadcasts with templates.

Do outage notices count as promotional messages?

The template category is decided by Meta during review, not by us. To keep it separate from promotions, write outage notices only about the product status and times, with no call to buy and no promo prices. Price-drop news or calls to transact are sent separately as promotions, only to resellers who agreed, and with a Stop promos button.

Let resellers log in without code trouble.

Connect your wholesaler number, or try the sample wholesaler dashboard first without signing up.

Not sure yet? Ask us on WhatsApp; we reply during working hours.

Ask us