Integrations
Connect your own payment gateway, courier, WhatsApp, email and analytics accounts, with sign-up links, dashboard links, the exact values and the URLs to paste for each.
Integrations connect Bakasir to accounts you own at other companies. The money, messages and shipments go through your accounts, so Bakasir never holds your customers' payments. This page explains what each integration is for, whether you need it, and how to set it up step by step. Every provider section starts with the links you need (sign-up, dashboard, the provider's own guide, pricing), so you do not have to search for them.
Before you start
- You are the Owner. Managers can open the page but only view it.
- Open Settings → Integrations. Every card shows its status (Connected, Not connected or Saved, not verified), what it is used for, and a Read the guide link to the matching section below.
- Secret values (server keys, passwords, tokens) are never shown again once saved. Leave a secret field empty to keep the stored value.
- Keep two browser tabs open: Bakasir in one, the provider's dashboard in the other. You will copy values both ways.
- Use Sandbox or test mode first. Switch to production only after a test order works.
- Provider dashboards change their menu names from time to time. If a menu is not where this page says, search the dashboard for the field name, or open the provider's guide linked in the section.
What each integration is used for
| Integration | What depends on it | Do you need it? | Setup time |
|---|---|---|---|
| Midtrans | Online store checkout, booking deposits, self-order and QRIS at the POS. | Connect Midtrans or DOKU to accept digital payments. | 15 minutes for Sandbox, plus the provider's review for Production |
| DOKU | The same flows as Midtrans, with DANA, OVO and more wallets. | Connect DOKU or Midtrans. | 20 minutes for Sandbox, plus the provider's review for Production |
| Biteship | Live courier rates at checkout, shipments and waybills from the order. | Only for the Shipping plugin. | 20 minutes, plus Biteship's live activation |
| Receipts, purchase orders, online order updates and reservation reminders from your own number. | Optional. Without it Bakasir opens a WhatsApp chat link for you to send by hand. | 30 minutes, plus Meta's template approval (up to 24 hours) | |
| SMTP | A test email from your own mail server. Bakasir does not send receipts or notifications through it yet. | Optional, and nothing else uses it today. | 10 minutes |
| Twilio | Stores and checks your Twilio key. Bakasir does not send SMS yet. | Optional, and nothing else uses it today. | 10 minutes |
| Google Analytics | Visit statistics for your online store. | Optional. | 5 minutes |
Plan and currency for payments
Midtrans and DOKU charge your own customers only on the Mulai plan or higher, and only for stores that sell in IDR. On the Free plan the cards can be filled in, but checkout does not offer digital payments.
Receipt emails do not use the SMTP card
The Receipt via Email button on a sale or an online order sends through the mail server of the Bakasir installation itself, not through the SMTP card on this page. The SMTP card is a separate connection to your own mail server and is only used for its test email today.
Midtrans
Midtrans takes online payments from your customers into your own Midtrans account: cards (with 3D Secure inside Bakasir), QRIS, virtual accounts (BCA, BNI, BRI, Mandiri, Permata, CIMB), GoPay, ShopeePay, Indomaret and Alfamart. Bakasir subscriptions are billed with Bakasir's own keys, not yours.
Prepare before you start
- An email address and a phone number for the Midtrans account.
- For Production (real money), Midtrans reviews your business. Per Midtrans, an individual needs the owner's KTP (plus NPWP if you want card payments). A company needs the director's KTP, the company NPWP, the deed of establishment and amendments, and the Kemenkumham decree. You also need a website, or a social media page or product catalog if you have no website. See the Midtrans list of legal documents.
- Time: about 15 minutes for Sandbox. Production approval is on Midtrans' side, and card payments can take up to 10 working days to be confirmed.
Links you will need
- Sign up: dashboard.midtrans.com/register. Midtrans' own registration guide in Indonesian shows each step.
- Sandbox dashboard (for testing): dashboard.sandbox.midtrans.com. Production dashboard (real money): dashboard.midtrans.com/login.
- Access keys: Sandbox and Production. You must be logged in.
- Activate more payment methods later: dashboard.midtrans.com/new_payment_method.
- Midtrans guides: Midtrans account and keys, notification URL, testing payments in Sandbox, switching to Production.
- Fees: midtrans.com/pricing.
Create your Midtrans account
Open dashboard.midtrans.com/register, fill in the form and confirm your email (look for the email titled "Instruksi Konfirmasi"). The Sandbox environment is created for you automatically and is free.
Get your Sandbox keys
Log in at dashboard.sandbox.midtrans.com. The Environment switch at the top left shows which environment you are in (Sandbox has an orange sidebar, Production a blue one). Open Settings → Access Keys and copy the Client Key and the Server Key. The Server Key is a secret: never share it.
Enter them in Bakasir
In Settings → Integrations, click Connect on Midtrans. Paste the Client Key and Server Key. The mode follows the Server Key: a key that starts with SB- runs in Sandbox, any other key in Production.
Choose the QRIS acquirer (GoPay or ShopeePay (airpay shopee)), the QRIS network that is active on your Midtrans account. If you are not sure, leave GoPay.
Paste the notification URL into Midtrans
The Midtrans window in Bakasir shows the Payment Notification URL. Click Copy. In the Midtrans dashboard (same environment as the keys) open Settings → Payment, find Payment Notification URL, paste it and save. Older Midtrans dashboards and guides call this page Settings → Configuration, with an Update button. On Bakasir cloud the URL is:
https://api.bakasir.com/webhooks/shop/midtransLeave Recurring Notification URL and Pay Account Notification URL (account linking) empty. Finish Redirect URL is not used, because card 3D Secure opens inside Bakasir. The URL must be reachable from the internet, so it cannot be a local address.
Test and save
Click Test Connection. Bakasir saves what you typed and asks Midtrans to confirm the Server Key. When you see Success. Your credentials work., click Save. The card now shows Connected.
Place a test order
Open your online store, add a product and choose Online Payment at checkout. Pay it with the Midtrans simulator, following testing payments in Sandbox: the QRIS simulator for QRIS and e-wallets, the bank simulators for virtual accounts, and the test card numbers on that page for cards. In E-Commerce → Online Orders the order should turn Paid by itself.
Never pay a Sandbox order with real money
Sandbox virtual account numbers and QR codes can match real ones. Midtrans warns that real money sent to them may be lost. Use only the simulators.
Go live
- Finish activation. In the Production dashboard, complete the registration banner ("One more step!") and upload the documents listed above. Midtrans may email you for more information.
- Switch the Environment switch to Production, open Settings → Access Keys and copy the Production keys.
- In Bakasir, open Midtrans → Manage, paste the Production Client Key and Server Key (Production keys do not start with
SB-), and click Test Connection, then Save. - In the Production dashboard, set the Payment Notification URL again. Sandbox and Production keep separate settings.
- Place one small real order (Midtrans suggests at least Rp10,000) and check that it turns Paid. Cancel or refund it afterwards if you wish.
To activate more payment methods (for example cards or Indomaret), use + Payment Method in the Production dashboard.
Use the shop URL, not the other one
Use the URL that ends in /webhooks/shop/midtrans. The URL /webhooks/midtrans is only for Bakasir's own subscription billing and will not confirm your customers' orders.
What your customers will see. At checkout the store shows Choose a payment method with the groups Card, QRIS, Virtual Account, E-wallet and Retail store, depending on what is active on your Midtrans account. Card details go straight to Midtrans and never reach Bakasir. After paying, the page updates by itself and the order turns Paid in your Portal.
Costs. Midtrans charges you per successful transaction and setup is free. Rates seen on 2 November 2026 on midtrans.com/pricing, before VAT: virtual account Rp4,000, QRIS 0.7%, GoPay 2%, credit card 2.9% plus Rp2,000. Check the page for the current rates. Bakasir adds no fee on top.
Common problems
| What you see | Cause and fix |
|---|---|
| midtrans rejected the server key: check the key and that it matches the selected mode | The key and the environment do not match. A Sandbox key (SB-) only works with Sandbox, a Production key only with Production. Copy the key again without spaces. |
| server_key is required | You clicked Test Connection with the Server Key empty. Paste it first. |
| Customer paid but the order stays unpaid | Check that Payment Notification URL is saved in the right Midtrans environment, then check the order again. Bakasir also asks Midtrans directly when the customer's payment page checks the status, so a late notification is recovered. |
| No Online Payment option at checkout | You are on the Free plan, the store does not sell in IDR, or the keys are incomplete (both keys are required). |
| The customer's payment method is missing | That method is not active on your Midtrans account. Request it with + Payment Method in the Production dashboard. |
| the QRIS acquirer is gopay or airpay shopee | Choose one of the two values in the QRIS acquirer list. |
DOKU
DOKU takes online payments into your own DOKU account: QRIS, virtual accounts (BCA, BNI, BRI, Mandiri, Permata, CIMB), DANA, ShopeePay, OVO, Indomaret and Alfamart. DOKU does not offer card payments in Bakasir. DOKU uses a key pair: you give DOKU your public key, and DOKU gives you its public key.
Prepare before you start
- A business email address and phone number for the DOKU account.
- For Production, DOKU verifies your business within about 48 hours. Per DOKU, a company needs the NIB, the deed of establishment and amendments, the Kemenkumham approval letters, the NPWP, the director's KTP and a photo that proves the business (location, activity or product). A business without a legal entity (Indonesian citizens only) needs the KTP, a selfie holding the KTP and the business photo. Files must be readable and uncensored (PDF, JPG or PNG, up to 15 MB each). Some products need extra licenses.
- Time: about 20 minutes for Sandbox. Some payment methods are switched on by DOKU sales, so allow extra time.
Links you will need
- Sign up for production: dashboard.doku.com/bo/register. Sign up for the Sandbox (testing): sandbox.doku.com/bo/sandbox-registration.
- Log in: Sandbox and Production.
- DOKU guides: create an account, activate your business (Indonesia), activate services, API keys and public keys, notification URL per payment method, simulate transactions.
- Fees: doku.com/pricing.
Create the accounts
Create a Sandbox account first with the Sandbox link above, then a Production account when you are ready. They are separate: a login for one does not work for the other. For Production, enter the OTP DOKU emails you, then follow DOKU's activation guide: choose the account type, enter business data, upload the documents and wait for the verification email.
Activate the services
In the DOKU dashboard open Settings, then under Account choose Service, click ADD SERVICE, pick the service (virtual account, QRIS, e-wallet, convenience store) and click ACTIVATE. Some services need DOKU's sales team to approve them.
Choose the mode in Bakasir
In Settings → Integrations, click Connect on DOKU and choose Sandbox to try things out or Production for real payments. It must match the DOKU environment you copy from.
Copy the Client ID and Secret Key
In the DOKU dashboard open Settings, then under Account choose API Keys. Older dashboards call this Integration → API Keys. Your Client ID is on the page. Click Reveal Key, enter the 6-digit code DOKU emails you, and copy the Secret Key within 30 seconds. Paste both into the Client ID and Secret Key fields in Bakasir.
Generate your key pair
In Bakasir click Generate key pair. Bakasir creates the pair and shows Your public key. Click Copy, then paste it on the same API Keys page of the DOKU dashboard, as your Merchant Public Key. The private key stays on the server and is never shown.
Copy DOKU's public key back
On the DOKU API Keys page click Reveal Key next to the DOKU Public Key and copy it. Paste the whole block, including the BEGIN and END lines, into DOKU public key in Bakasir.
Paste the URLs into DOKU
The Bakasir window shows two URLs. On Bakasir cloud they are:
| Bakasir field | Where it goes in the DOKU dashboard | URL |
|---|---|---|
| Notification URL | Settings → Payment Settings, then each channel you use: Virtual Account (click Configure), QR Payment for QRIS (click Edit), e-Wallet and Convenience Store (click CONFIGURE). Save each one. | https://api.bakasir.com/webhooks/shop/doku |
| SNAP Token URL (Virtual Account) | Settings → Account → API Keys, in the Token URL field. | https://api.bakasir.com/webhooks/shop/doku/token |
DOKU calls the token URL to get a token before it sends virtual account payment notices. If a channel has no URL, DOKU does not send its notices and payments stay unconfirmed.
Test and save
Click Test Connection. When you see Success. Your credentials work., click Save. The card shows Connected.
Place a test order and go live
In the Sandbox place a test order from your store. Pay it with the DOKU simulator: in the Sandbox dashboard open Settings → Payment Settings → Simulator, choose the payment method and click Simulate. Check that the order turns Paid.
To go live, repeat the steps with your Production account: switch the mode to Production, copy the Production Client ID, Secret Key and DOKU public key, register Your public key and the two URLs in the Production dashboard, then click Test Connection and Save. Place one small real order to confirm.
Replacing the key pair
If you click Replace key pair, the old public key stops working. Paste the new public key into the DOKU dashboard again, or payments will not be confirmed.
DOKU menu names
DOKU changes its dashboard from time to time, and the Sandbox and Production dashboards can differ slightly. If you cannot find the place for the Merchant Public Key, the Token URL or a notification URL, search the dashboard for the field name, or ask DOKU Care. Bakasir needs exactly these four things registered at DOKU: your public key, the notification URL for every channel you use, the token URL, and your Client ID and Secret Key.
What your customers will see. At checkout the store shows Choose a payment method with the groups QRIS, Virtual Account, E-wallet (DANA, ShopeePay, OVO) and Retail store (Indomaret, Alfamart). For OVO the customer types the phone number registered in the OVO app and approves the payment there. The page updates by itself after the payment.
Costs. DOKU charges per transaction and the rate depends on the method. Rates seen on 2 November 2026 on doku.com/pricing, before VAT: QRIS 0.7% above Rp100,000, virtual account Rp4,000 (BCA Rp4,500), DANA 1.5%. The page also lists the QRIS processing fee that applies from 1 November 2026. Check the page for current rates.
Common problems
| What you see | Cause and fix |
|---|---|
| doku rejected the Client ID or private key | The public key is not registered in the DOKU dashboard yet, or the mode does not match. Register Your public key in the same environment you selected. |
| doku rejected the Secret Key: check the key and that it matches the selected mode | Copy the Secret Key again from the right environment. If you regenerated it at DOKU, copy the new one. |
| doku public key is not a valid PEM | Paste the whole key block with the BEGIN and END lines, and no extra text. |
| client_id is required or secret_key is required | You clicked Test Connection with the field empty. |
| Virtual account payments are not confirmed | Check that both the notification URL (on the Virtual Account channel) and the token URL are set in DOKU. |
| QRIS or e-wallet payments stay unpaid | Check the notification URL on the QR Payment or e-Wallet channel, and that the service is active under Settings → Account → Service. |
| No Online Payment option at checkout | You are on the Free plan, the store does not sell in IDR, or the DOKU card is incomplete. All of the Client ID, Secret Key, DOKU public key and your key pair are required. |
Choosing the active payment gateway
When both Midtrans and DOKU are connected, Active payment gateway appears at the top of the page. Choose the one that takes your customers' payments. The card of the active gateway shows Active gateway. If only one is connected, it is used automatically. Orders already started with one gateway still finish with it.
Biteship
Biteship gives your online store live courier rates at checkout and creates the shipment and waybill from the order. It is part of the Shipping plugin, which needs E-Commerce. The card Biteship opens Settings → Shipping.
Prepare before you start
- A Biteship account, and the E-Commerce Suite and Shipping plugins installed.
- Your pickup address with a contact name and phone number, and your products' weight in grams.
- A store that sells in IDR.
- Money in your Biteship balance for live shipments. Shipments are paid from your Biteship balance, not by Bakasir.
- Time: about 20 minutes with the test key. For live use Biteship must activate your Order API, which has its own review.
Links you will need
- Sign up: dashboard.biteship.com/signup. Log in: dashboard.biteship.com/signin.
- API keys and webhooks: dashboard.biteship.com/integrations.
- Biteship guides: create an API key, Sandbox (testing mode), go live, submit the activation request, webhook overview.
- Plans and limits: biteship.com/en/docs/plans.
Install the plugins
Install E-Commerce Suite and Shipping from Plugins → Marketplace. See the plugin catalog.
Create a test API key
In the Biteship dashboard turn on the Testing Mode toggle in the sidebar, open Integrations, click Pengaturan (Settings) and then Tambah Kunci API (Add API key). Give it a name and copy the key right away, because Biteship shows it only once. A test key starts with biteship_test. and a live key with biteship_live.. The Order API is active by default in Testing Mode.
Connect in Bakasir
In Settings → Shipping, paste the API key, click Save, then click Test connection. You should see Biteship accepted the key.
Add the webhook
In Bakasir copy the Webhook URL (click Copy webhook URL). In the Biteship dashboard open Integrations, click Pengaturan on the webhook card and Tambah Webhook (Add Webhook), paste the URL and select the events order.status and order.waybill_id. Save. The URL contains a secret key of your store, so keep it private. Use a separate webhook for the test key and the live key.
Set pickup and delivery
Fill the Pickup address: search and pick your Area (district) (type at least 3 letters), then the Contact name, Contact phone and Full address. Under Delivery options choose the Couriers buyers can use, set the Default weight per item (grams) for products without a weight, and, if you want, Free shipping from and Insure parcels. Click Save.
Go live
When the test works, ask Biteship to activate your live Order API. In the Biteship dashboard turn Testing Mode off and create a live API key the same way as the test key (its Order API stays inactive until Biteship approves it). Open Integrations, click Aktivasi Order API, pick the live API key and the courier, enter a Test Order ID from your test shipments, fill in the form and click Kirim Data Aktivasi API. Wait until the status shows Aktif. Then paste the live key in Bakasir (Settings → Shipping), save, test again, and add the webhook for the live key.
Finally turn on Charge shipping at checkout. It needs the API key, the pickup address and at least one courier.
Create a shipment from an order
Open E-Commerce → Online Orders, open an order and click Create shipment. Creating a shipment books the courier and charges your Biteship balance. The order then shows the waybill, the tracking history and buttons to refresh tracking, open the tracking page or cancel the shipment.
What your customers will see. At checkout the store asks for the delivery area and shows the couriers you selected with their price. Orders above your Free shipping from amount ship free (you still pay the courier). After you create the shipment the buyer can track the parcel.
Costs. Biteship has monthly plans with quotas, and live requests beyond the quota are charged from your Biteship balance. Test keys do not count toward the quota. See Plans and limits. The courier's shipping fee is paid from your Biteship balance and is charged to the buyer in the shipping price.
Common problems
| What you see | Cause and fix |
|---|---|
| Could not reach Biteship with this key. | The key is wrong, or you copied it with spaces. Copy it again. Use a test key while Testing Mode is on and a live key after activation. |
| Save the API key first, then test the connection. | Click Save before Test connection. |
| Add the API key, the pickup address and at least one courier before turning shipping on. | One of the three is missing. Fill it in and save, then turn on Charge shipping at checkout. |
| Check the highlighted values: key, area, phone and couriers must be valid. | Pick the area from the list instead of typing it, and enter a valid phone number. |
| Automatic shipping works for stores that sell in IDR. | The store currency is not IDR. |
| Shipping is not offered at checkout | Both plugins must be active, and Charge shipping at checkout must be on. |
| Tracking never updates | The webhook is missing or points to the wrong key. Add the Webhook URL again, or click Refresh tracking on the order. |
WhatsApp sends messages from your own WhatsApp Business number through Meta's Cloud API, and Meta bills the messages to your account. Without a connection Bakasir keeps opening a WhatsApp chat link for you to send by hand. The card WhatsApp opens its own page, Settings → Integrations → WhatsApp Business.
Prepare before you start
- A Facebook account and a Meta business portfolio (Business Manager).
- A WhatsApp Business phone number you can receive a verification code on, and a payment method for Meta billing.
- Your business name, address and website, in case Meta asks for business verification to raise your limits.
- Time: about 30 minutes, then Meta reviews each message template (up to 24 hours).
Links you will need
- Meta for Developers (apps): developers.facebook.com/apps. You must be logged in.
- Meta's setup guide: WhatsApp Cloud API, get started.
- Permanent token: Business management API, system users.
- App secret: Basic settings of the app.
- Message templates: WhatsApp Manager templates and Meta's template guide.
- Webhooks: Meta webhook fields.
- Prices: WhatsApp pricing.
Create the Meta app
In Meta for Developers click Create App, enter a name and email, and choose the use case Connect with customers through WhatsApp. Select or create your business portfolio when asked. Then click Start using the API to open API Setup.
Add your number and copy the IDs
In API Setup, connect a WhatsApp Business account, then add your real phone number from the From list and verify it. Add a payment method for business-initiated messages when Meta asks. Copy the Phone number ID of that number. The WhatsApp Business Account ID is optional and also shown in WhatsApp Manager.
Create a permanent token
The temporary token on API Setup expires, so do not use it. In Meta Business Settings open System users (under Users) and click Add to create a system user. Click Assign assets and give it Manage app on your app and Manage WhatsApp Business accounts on your WhatsApp account. Click Generate token and tick business_management, whatsapp_business_messaging and whatsapp_business_management. Copy the token now: it is the Access token and Meta does not show it again.
Copy the app secret
In your Meta app open App settings → Basic and click Show next to App secret. Bakasir uses it only to verify delivery status webhooks.
Connect in Bakasir
In Settings → Integrations click Connect on WhatsApp. On the WhatsApp Business page paste the Phone number ID, the WhatsApp Business Account ID (optional), the Access token and the App secret, then click Save and Test connection. A working connection shows the number name and its quality rating. The status badge changes from Saved, not verified yet to Connected.
Create the message templates
Meta must approve each template before it can be used, usually within 24 hours. In WhatsApp Manager click to create a template, choose the category Utility, and make one template per message type with exactly this many variables, in this order. The wording can change. Suggested texts:
| Message | Suggested template name | Variables, in order | Suggested text |
|---|---|---|---|
| Sales receipt | bakasir_receipt | 1 customer name, 2 receipt number, 3 total, 4 business name, 5 receipt link | Hello {{1}}, thank you for shopping with {{4}}. Your receipt {{2}} for {{3}} is ready: {{5}} |
| Purchase order | bakasir_purchase_order | 1 supplier name, 2 purchase order number, 3 total, 4 business name. Add a Document header (PDF): Bakasir attaches the PDF. | Hello {{1}}, please find purchase order {{2}} with a total of {{3}} from {{4}} attached. |
| Online order status | bakasir_order_status | 1 buyer name, 2 order number, 3 status, 4 business name | Hello {{1}}, your order {{2}} at {{4}} is now {{3}}. |
| Reservation reminder | bakasir_reservation_reminder | 1 guest name, 2 date and time, 3 business name | Hello {{1}}, this is a reminder of your reservation at {{3}} on {{2}}. |
Variables cannot contain line breaks. Bakasir replaces them with spaces.
Tell Bakasir which templates to use
In the What to send section of the Bakasir page, switch on each message type you want, enter the exact Template name and choose the Template language (id, en or en_US) that you used in Meta. Click Save. A message type that is off, or has no template name, falls back to the WhatsApp chat link.
Send a test
In Send a test enter your own phone number, choose a Message type and click Send. It sends one real message using the saved template, so Meta may charge your account. Open the Message log (the last 100 messages) and click Refresh to see its status.
Optional: delivery status webhook
To see Sent, Delivered, Read and Failed in the log, save the app secret in Bakasir first. Then in your Meta app open WhatsApp → Configuration (new apps: Use cases → Customize → Configuration). Paste the Callback URL and Verify token shown in Bakasir, click Verify and save, then subscribe to the messages field. Some webhooks are not sent while the Meta app is in Development mode, so switch the app to Live if statuses never arrive.
What your customers and suppliers will see. A WhatsApp message from your business number with your approved template text. Receipt via WhatsApp on a sale or an online order sends it directly instead of opening a chat. Online buyers also get a message when their order is placed and whenever its status changes. A purchase order goes to the supplier with the PDF attached.
Costs. Meta bills per delivered message, based on the template category and the recipient's country. Utility templates are charged, and each business number gets a monthly allowance of free service messages. Rates and rules change, so read WhatsApp pricing. Bakasir adds no fee.
Common problems
| What you see | Cause and fix |
|---|---|
| phone_number_id and access_token are required | Save the Phone number ID and the Access token before Test connection. |
| The WhatsApp access token is invalid or expired | You used the temporary token, or the system user lost access. Generate a permanent token again and paste it. |
| The WhatsApp template is missing, not approved, or has a different number of variables | The template name or language does not match Meta, Meta has not approved it yet, or the variables differ from the table above. |
| That phone number is not on WhatsApp or cannot receive this message | Check the number includes the country code. The person may not use WhatsApp. |
| WhatsApp only allows approved templates outside a 24 hour chat window | The message type has no template, or it is not enabled. Fill in and enable it under What to send. |
| WhatsApp is limiting your messages, try again later | Meta is rate limiting your number. Wait and retry, and avoid sending many messages at once. |
| Your Meta account has a payment issue, fix it in Meta Business Suite | Add or fix the payment method in Meta Business Suite. |
| WhatsApp is not connected or this message type is not enabled | Connect WhatsApp, and switch the message type on. |
| Enter the approved template name before turning this on | A message type cannot be on without a template name. |
| WhatsApp Cloud API is unreachable, try again later | A temporary problem on Meta's side. Retry later. |
| Delivery statuses never change from Sent | The webhook is not set. Do the optional webhook step and subscribe to messages. |
SMTP
SMTP stores the login of your own mail server. Today Send Test is the only thing that uses it: it sends one real email to your account email. Bakasir does not send receipts or notifications through this server yet, so connecting it changes nothing else. You can connect it now so it is ready.
Prepare before you start
- An account at an email provider, or the SMTP details of your own server.
- A sender address or domain you have verified with that provider. Providers reject mail from an unverified sender.
- Time: about 10 minutes.
Provider guide. Bakasir fills in the host, port and encryption when you pick a provider.
| Provider | Host and port | Username | Password | Links |
|---|---|---|---|---|
| Brevo | smtp-relay.brevo.com, 587, STARTTLS | The SMTP login shown on the SMTP tab | An SMTP key (not an API key) | Sign up, SMTP & API settings, Brevo SMTP guide, pricing |
| SendGrid | smtp.sendgrid.net, 587, STARTTLS | apikey | A SendGrid API key with Mail Send permission | Sign up, API keys, SMTP guide, verify a sender, pricing |
| Gmail | smtp.gmail.com, 587, STARTTLS | Your full Gmail address | A Google app password | Turn on 2-Step Verification, create an app password, app passwords page, Gmail SMTP limits |
| Mailtrap | live.smtp.mailtrap.io, 587, STARTTLS | api | An API token of your sending domain | Sign up, SMTP integration, verify a sending domain, pricing |
| Postmark | smtp.postmarkapp.com, 587, STARTTLS | The Server API Token | The same Server API Token | Sign up, SMTP guide, sender signatures, pricing |
| Custom server | Your host, and a port from 25, 465, 587 or 2525 | From your provider | From your provider | Ask your hosting provider |
Create SMTP credentials
Follow the row of your provider in the table. In short: Brevo, open SMTP & API → SMTP and generate an SMTP key. SendGrid, open Settings → API Keys and create a key with Mail Send permission. Gmail, turn on 2-Step Verification, then create an app password (Google may hide the option on work or school accounts). Mailtrap, open Sending Setup (API/SMTP), pick your verified domain and the Transactional stream, switch to SMTP, and copy the API token. Postmark, copy the Server API Token from the server's message stream Settings, and make sure SMTP access is enabled on the server.
Verify your sender
Add and verify the address or domain you will send from: SendGrid Settings → Sender Authentication, Mailtrap Domains → Add Domain (add the DNS records it shows), Postmark a sender signature or domain, Brevo a sender in your account. Without this, the test fails at the provider.
Pick the provider in Bakasir
In Settings → Integrations click Connect on SMTP / Email and choose your provider in SMTP Provider (Brevo, SendGrid, Gmail, Mailtrap, Postmark or Custom server). SMTP Host, Port and Encryption fill in for you. Match the port: STARTTLS (587) or SSL/TLS (465).
Fill the login and sender
Enter the Username and Password, then Sender Name and Sender Email. The sender must be an address or domain you verified with your provider.
Send a test
Click Send Test. Bakasir saves the values and sends one real email to your account email. Check your inbox (and spam), then click Save. The card shows Connected.
Costs. Free plans exist at some providers, for example Mailtrap (4,000 emails a month, 150 a day) and Postmark (100 a month) at the time of writing. See each provider's pricing page in the table.
Common problems
| What you see | Cause and fix |
|---|---|
| port 123 is not an SMTP port: use 25, 465, 587 or 2525 | Use one of these ports. Use 587 with STARTTLS, or 465 with SSL/TLS. |
| cannot resolve smtp host or resolves to a non-public address | The host name is wrong, or it points to a private address, which Bakasir cloud does not allow. |
| your account has no email address to send the test to | Add an email to your profile first. |
| host is required or from_email is required | Fill in the SMTP Host and the Sender Email. |
| The test fails at the provider (a message from the provider's server) | The username, password or sender is not accepted. Verify the sender in the provider dashboard, and check you used an SMTP key (Brevo) or app password (Gmail), not your normal password. |
| Gmail refuses the login | 2-Step Verification must be on and you must use an app password. |
Twilio
Twilio stores and checks your Twilio API key. Bakasir does not send SMS yet, so no feature uses it today. You can connect it now so it is ready.
Prepare before you start
- A Twilio account. Time: about 10 minutes.
Links you will need
- Sign up: twilio.com/try-twilio. Console: console.twilio.com.
- Twilio guides: API keys overview and create an API key in the Console.
- Prices: SMS pricing for Indonesia.
Create an API key
In the Twilio Console open Settings → Account settings → API keys & auth tokens (older consoles: Account → API keys & tokens) and click Create API key. Give it a name and choose the Standard type.
Copy the values
Copy the SID (it starts with SK, and is not your Account SID) into API Key, and the Secret into API Secret. Twilio shows the secret only once: copy it before you close the window.
Test and save
Click Test Connection, then Save.
Common problems
| What you see | Cause and fix |
|---|---|
| api_key is required or api_secret is required | Fill in both fields before Test Connection. |
| An error starting with 401 | The SID or the secret is wrong. Use the key SID that starts with SK (not the Account SID), and copy the secret again. If you lost it, create a new key. |
Google Analytics
Google Analytics measures visits to your online store. Bakasir adds your Measurement ID to every public storefront page. The Portal and the POS are not measured. For live visitors inside Bakasir, see the Web Analytics plugin in the plugin catalog.
Prepare before you start
- A Google account. Time: about 5 minutes. Google Analytics is free for normal use.
Links you will need
- Open Google Analytics: analytics.google.com.
- Google guides: set up Analytics for a website, find your Measurement ID, the Realtime report.
Create the property and web stream
In Google Analytics click Admin, then Create → Property and follow the prompts. Under Data collection and modification click Data streams, then Add stream → Web. Enter your store address (for example my-store.bakasir.com) and a name, and click Create stream. You need the Editor role or higher on the property.
Find the Measurement ID
Open Admin → Data collection and modification → Data streams, click your web stream, and copy the Measurement ID in the stream details. It looks like G-XXXXXXXXXX.
Save it in Bakasir
Click Connect on Google Analytics, paste the ID and click Save. Open your store, then check the Realtime report in Google Analytics: your visit should appear within a minute or two.
Common problem: "measurement id must look like G-XXXXXXXXXX". Only Google Analytics 4 IDs that start with G- are accepted. IDs that start with UA- (old Universal Analytics) or AW- (Google Ads) do not work.
Tips
- Test in Sandbox first. Make a test order from your store and pay it with the provider's simulator before you use Production keys.
- One gateway at a time. Customers pay through the active gateway only.
- Production needs its own setup. Keys, notification URLs and webhooks are separate in Sandbox and Production. Repeat every step in Production.
- Keep keys private. Never share server keys or tokens, including with Bakasir support.
- Rotating a key. If a key leaks, create a new one at the provider, paste it in Bakasir and delete the old one at the provider.

