Indonesia and the Philippines: Xendit, Midtrans, PayMongo

Xendit in both countries, Midtrans in Indonesia and PayMongo in the Philippines — all hosted pages with local wallets, QR and bank transfer.

4 min read Taking payments Updated 16.09.2026

In both markets most guests pay with an e-wallet, a national QR code or a bank transfer rather than a card. All three providers send the guest to their own hosted page, which shows whatever methods you have activated on your account.

Xendit (Indonesia, Philippines)

One account model in both countries, in rupiah or pesos. TapTime opens a Xendit payment session for each bill and re-reads it from Xendit before anything is marked paid.

  1. 1
    Create an API key

    In the Xendit dashboard open Settings → API keys and generate a secret key with write permission for Money-in.

  2. 2
    Point the webhook at TapTime

    In Settings → Webhooks, set the Payment Session URL to the callback address shown on the Integrations screen for Xendit.

  3. 3
    Copy the verification token

    It is shown on the same Webhooks page and proves each notification came from Xendit.

Field in TapTimeWhere it comes from
Secret API keySettings → API keys. Starts with xnd_. Secret.
Webhook verification tokenSettings → Webhooks. Secret.

Midtrans Snap (Indonesia)

Midtrans needs a single value. Use the sandbox server key with test mode on, and the production key once your account has been approved.

Field in TapTimeWhere it comes from
Server keyMidtrans dashboard → Settings → Access keys. Secret.

PayMongo (Philippines)

PayMongo's hosted checkout takes cards, GCash, Maya, QR Ph and more. The webhook is created once in your PayMongo dashboard and signed with its own secret.

Field in TapTimeWhere it comes from
Secret keyDevelopers → API keys. sk_test_ in test mode, sk_live_ when live. Secret.
Webhook secret keyDevelopers → Webhooks, on the endpoint you created for the TapTime callback address with the checkout_session.payment.paid event. Starts with whsk_. Secret.
Payment methodsOptional. Comma-separated methods activated on your account, such as card, gcash, paymaya, qrph. Leave empty to use those four.

Frequently asked

Why are rupiah amounts whole numbers?

Indonesian gateways charge rupiah in whole units. TapTime sends the bill rounded to the nearest rupiah, which in practice is the bill itself, since menu prices carry no sen.

Which one is quickest to get running?

Xendit and PayMongo both onboard online and let you test straight away with test keys. Midtrans reviews your account before production keys work, but its sandbox is available immediately.

Was this article helpful?
Did this not answer it?

Write to us and quote the page you were on. A person reads every message and answers in the language you wrote in.

Write to us