Payment providers
Midtrans
Accept cards, GoPay, ShopeePay, QRIS, bank transfers (virtual accounts) and Indomaret or Alfamart payments from travellers in Indonesia, paid into your own Midtrans account. Payment notifications are set up for you.
Who it's for
Why operators use Midtrans
Operators whose travellers are in Indonesia, where many people would rather pay with an e-wallet, QRIS, a bank transfer or at a convenience store than with a card.
Highlights
- Cards, GoPay, ShopeePay, QRIS, bank transfers (virtual accounts), Indomaret and Alfamart
- Seats are held while a bank transfer or store payment is waiting to be paid
- Notifications are set up for you with every payment
- Refunds for cards and e-wallets from the booking
Good to know
- Prices are charged in Indonesian rupiah (IDR).
- You connect your own Midtrans account from Payments in your console.
- There is nothing to set up in the Midtrans dashboard: each payment tells Midtrans where to send its notifications.
The ways Indonesia pays
Midtrans is one of Indonesia's main payment gateways. The plugin uses Midtrans Snap, its hosted payment page, which shows the methods Midtrans has activated for your account: cards, GoPay, ShopeePay, QRIS, bank transfer to a virtual account, and payment at Indomaret or Alfamart. The money is paid into your own Midtrans account, and the booking shows which method the traveller used.
Rupiah only
Midtrans takes payments in IDR, so it appears at checkout only for tours with an IDR price. Midtrans works in whole rupiah, so amounts are rounded to the nearest rupiah. If your website sells in another currency, the plugin's status panel says so; add IDR with the Currency switcher.
Checkout and confirmation
For each payment Tourtify creates a Snap transaction with the amount, the traveller's email and your booking reference. Its expiry matches the time Tourtify holds the seats, at least 15 minutes, so a virtual account number or store code stops working when the seats are released.
The traveller pays on the Snap page and returns to your website. Tourtify then asks Midtrans's status API about the payment. A settled payment confirms the booking, and so does a card payment that Midtrans's fraud detection accepts. A card payment that it challenges is held and flagged for your team: accept or deny it in the Midtrans dashboard. Denied, cancelled, expired and failed payments are closed, so the traveller can try again. E-wallet, QRIS and 3-D Secure payments that are still pending are checked again.
Bank transfers and store payments
A virtual account transfer or an Indomaret or Alfamart payment is made after the traveller leaves the Snap page. While Midtrans reports it pending, the booking keeps its seats and Tourtify keeps checking. When the traveller pays, the booking confirms; if the payment expires unpaid, the seats are released.
Notifications without set-up
Every Snap transaction tells Midtrans which address to notify for that payment, so there is nothing to configure in your Midtrans dashboard. Each notification's signature, a SHA-512 hash made with your server key, is checked, and the notification must be for one of your business's payments. It only tells Tourtify to check the payment again, so a forged message can't mark anything paid.
Refunds
Card and e-wallet payments can be refunded from the booking. Each refund is sent to Midtrans with Tourtify's refund ID as its refund key. Midtrans can't refund bank transfers or convenience store payments automatically: pay the traveller back by bank transfer, then choose "I refunded it in the provider's dashboard" on the booking so the traveller's balance and your reports stay correct. Do the same for any refund you make in the Midtrans dashboard.
Sandbox and production
Midtrans gives every account a sandbox with its own server key, starting SB-Mid-server-, and a production key starting Mid-server-. Tourtify checks that the key matches the mode you chose and checks it with Midtrans before saving. In Test mode payments go to Midtrans's sandbox, where no real money moves.
Setting up Midtrans
- 1Copy your sandbox server key. In the Midtrans Dashboard, switch to the sandbox environment and open Settings › Access keys.
- 2Connect in Test mode. On the Payments page, add Midtrans, paste the SB-Mid-server- key and choose Test.
- 3Price a tour in IDR. Add IDR with the Currency switcher if needed and give the tour a rupiah price.
- 4Make a sandbox booking. Pay with a Midtrans test card or its sandbox simulator and check the booking confirms.
- 5Switch to Production. Update the key with the Mid-server- key from your production environment and choose Live.
Payment providers
How payment providers plugins fit in
Payment provider plugins add the gateways travellers use at home, from PayPal to Mercado Pago, Paystack, Razorpay, KOMOJU or eSewa. Each connects your own merchant account, so money is paid to you directly and Tourtify takes no commission. Stripe is built in; travellers only see gateways that support the booking's currency.
- 1
Switch it on
Open Plugins in your console and turn it on. No code and nothing to install.
- 2
Make your choices
Adjust the settings to match how your business works, or keep the defaults.
- 3
It works everywhere it should
Your website, checkout, emails and console pick it up straight away.
Related
More payment providers integrations
PayPal
Let travellers pay with PayPal or card through your own PayPal business account. Connect it on the Payments page; add a webhook so refunds and disputes made in PayPal show up on your bookings.
Razorpay
Accept UPI, cards, net banking and wallets from travellers in India, paid into your own Razorpay account. Add a webhook so payments confirm instantly and refunds made in Razorpay show up on your bookings.
Khalti
Accept Khalti wallet, mobile banking and cards from travellers paying in Nepali rupees, into your own Khalti merchant account.
eSewa
Accept eSewa wallet and bank payments from travellers paying in Nepali rupees, into your own eSewa merchant account.
Fonepay
Accept mobile banking and card payments through Fonepay from travellers paying in Nepali rupees, into your own Fonepay merchant account.
Nepal Payment Solution (NPS)
Accept cards, mobile banking and wallets from Nepali banks through NPS OnePG, from travellers paying in Nepali rupees, into your own NPS merchant account.
FAQ
Midtrans: questions
Do I need to set a notification URL in Midtrans?
No. Each payment names its own notification address, signed with your server key.
What if the traveller doesn't pay the bank transfer in time?
The payment expires when the seat hold ends, and the seats are released for other travellers.
Why was a card payment held?
Midtrans's fraud detection challenged it. Accept or deny it in the Midtrans dashboard, and the booking follows.
Can I refund a bank transfer from Tourtify?
No. Midtrans can't refund virtual account or store payments automatically. Pay the traveller back yourself and record the refund on the booking.
What does Midtrans charge?
Check Midtrans's pricing. Tourtify takes no commission.
Which plans include Midtrans?
Midtrans is available on All plans, at no extra cost.
How do I switch on Midtrans?
In your Tourtify console, open Plugins, find it in the list and switch it on. Its settings open straight away, and you can switch it off again at any time.
Do I need a developer?
No. Plugins are built into Tourtify and set up from the console. Where an outside account is involved, such as a payment provider, you connect it by entering your account details.
Does Midtrans work with my other plugins?
Yes. Every plugin is built and maintained by Tourtify, so they work together: discounts, deposits, vouchers and fees all add up correctly at checkout.
Start selling tours direct
Try Tourtify free for 30 days. Add your tours, pick a theme and take your first booking today.