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

IntegrationWhat depends on itDo you need it?Setup time
MidtransOnline 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
DOKUThe 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
BiteshipLive courier rates at checkout, shipments and waybills from the order.Only for the Shipping plugin.20 minutes, plus Biteship's live activation
WhatsAppReceipts, 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)
SMTPA 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
TwilioStores and checks your Twilio key. Bakasir does not send SMS yet.Optional, and nothing else uses it today.10 minutes
Google AnalyticsVisit 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

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/midtrans

Leave 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

  1. 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.
  2. Switch the Environment switch to Production, open Settings → Access Keys and copy the Production keys.
  3. 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.
  4. In the Production dashboard, set the Payment Notification URL again. Sandbox and Production keep separate settings.
  5. 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 seeCause and fix
midtrans rejected the server key: check the key and that it matches the selected modeThe 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 requiredYou clicked Test Connection with the Server Key empty. Paste it first.
Customer paid but the order stays unpaidCheck 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 checkoutYou 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 missingThat method is not active on your Midtrans account. Request it with + Payment Method in the Production dashboard.
the QRIS acquirer is gopay or airpay shopeeChoose 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

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 fieldWhere it goes in the DOKU dashboardURL
Notification URLSettings → 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 seeCause and fix
doku rejected the Client ID or private keyThe 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 modeCopy 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 PEMPaste the whole key block with the BEGIN and END lines, and no extra text.
client_id is required or secret_key is requiredYou clicked Test Connection with the field empty.
Virtual account payments are not confirmedCheck that both the notification URL (on the Virtual Account channel) and the token URL are set in DOKU.
QRIS or e-wallet payments stay unpaidCheck 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 checkoutYou 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

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 seeCause 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 checkoutBoth plugins must be active, and Charge shipping at checkout must be on.
Tracking never updatesThe webhook is missing or points to the wrong key. Add the Webhook URL again, or click Refresh tracking on the order.

WhatsApp

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

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:

MessageSuggested template nameVariables, in orderSuggested text
Sales receiptbakasir_receipt1 customer name, 2 receipt number, 3 total, 4 business name, 5 receipt linkHello {{1}}, thank you for shopping with {{4}}. Your receipt {{2}} for {{3}} is ready: {{5}}
Purchase orderbakasir_purchase_order1 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 statusbakasir_order_status1 buyer name, 2 order number, 3 status, 4 business nameHello {{1}}, your order {{2}} at {{4}} is now {{3}}.
Reservation reminderbakasir_reservation_reminder1 guest name, 2 date and time, 3 business nameHello {{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 seeCause and fix
phone_number_id and access_token are requiredSave the Phone number ID and the Access token before Test connection.
The WhatsApp access token is invalid or expiredYou 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 variablesThe 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 messageCheck the number includes the country code. The person may not use WhatsApp.
WhatsApp only allows approved templates outside a 24 hour chat windowThe 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 laterMeta 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 SuiteAdd or fix the payment method in Meta Business Suite.
WhatsApp is not connected or this message type is not enabledConnect WhatsApp, and switch the message type on.
Enter the approved template name before turning this onA message type cannot be on without a template name.
WhatsApp Cloud API is unreachable, try again laterA temporary problem on Meta's side. Retry later.
Delivery statuses never change from SentThe 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.

ProviderHost and portUsernamePasswordLinks
Brevosmtp-relay.brevo.com, 587, STARTTLSThe SMTP login shown on the SMTP tabAn SMTP key (not an API key)Sign up, SMTP & API settings, Brevo SMTP guide, pricing
SendGridsmtp.sendgrid.net, 587, STARTTLSapikeyA SendGrid API key with Mail Send permissionSign up, API keys, SMTP guide, verify a sender, pricing
Gmailsmtp.gmail.com, 587, STARTTLSYour full Gmail addressA Google app passwordTurn on 2-Step Verification, create an app password, app passwords page, Gmail SMTP limits
Mailtraplive.smtp.mailtrap.io, 587, STARTTLSapiAn API token of your sending domainSign up, SMTP integration, verify a sending domain, pricing
Postmarksmtp.postmarkapp.com, 587, STARTTLSThe Server API TokenThe same Server API TokenSign up, SMTP guide, sender signatures, pricing
Custom serverYour host, and a port from 25, 465, 587 or 2525From your providerFrom your providerAsk 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 seeCause and fix
port 123 is not an SMTP port: use 25, 465, 587 or 2525Use one of these ports. Use 587 with STARTTLS, or 465 with SSL/TLS.
cannot resolve smtp host or resolves to a non-public addressThe 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 toAdd an email to your profile first.
host is required or from_email is requiredFill 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 login2-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

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 seeCause and fix
api_key is required or api_secret is requiredFill in both fields before Test Connection.
An error starting with 401The 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

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.

Next steps

How is this guide?