Skip to content

Build commerce for Indonesia

Choose the Indonesia packages for local payments, shipping, IDR tax evidence, regional addresses, PDP operations, and consent-aware WhatsApp notifications.

Adocommerce Kit keeps Indonesia-specific behavior outside the generic commerce core. Add only the packages your host needs, register them through the same payment, shipping, tax, jobs, and event ports, and keep provider credentials and policy decisions in the host application.

Capability map

Need Package What it supplies Host responsibility
QRIS, virtual accounts, GoPay, retail channels @adocommercekit/midtrans Midtrans Core API v2 deferred-payment driver Merchant account, enabled channels, keys, refunds, and customer UX
QRIS, virtual accounts, OVO, DANA @adocommercekit/xendit Xendit Payment Requests 2024-11-11 driver Account configuration, callback token, and redirect UX
Kode unik bank transfer @adocommercekit/id Collision-safe 001999 leases and operator settlement Receiving account, reconciliation, authorization, and manual refunds
Rates and fulfillment @adocommercekit/biteship Biteship API v1 quotes, shipment preparation, tracking, COD, and insurance fields Origin, courier enablement, webhook verification, and operations
Rates and available tracking @adocommercekit/rajaongkir Komerce RajaOngkir API v1 quote provider Destination mapping; no emulated fulfillment, COD, or insurance
Regions and Indonesian addresses @adocommercekit/id Licensed-data importer, lookup service, validator, and host-owned route stubs Source license, updates, publication, authorization, and rate limits
IDR and PPN evidence Core + @adocommercekit/id Exponent-0 money, PMK 131/2024 calculator, adjustment metadata, and CSV audit Taxability, invoices, filing, accounting review, PPnBM, and Coretax
UU PDP operations @adocommercekit/id Consent receipts, rights workflows, retention, legal holds, and portability Lawful basis, notices, identity checks, deadlines, processors, and counsel
WhatsApp order updates @adocommercekit/whatsapp Consent-gated Cloud API templates dispatched through the jobs port Approved templates, recipient mapping, Graph API version, and fallback

Install a coherent package set

Install every selected @adocommercekit/* package at the same exact version. The current source tree is pre-release; review stability and compatibility before a controlled deployment.

pnpm add @adocommercekit/core @adocommercekit/storefront-api
pnpm add @adocommercekit/id @adocommercekit/midtrans
pnpm add @adocommercekit/biteship @adocommercekit/whatsapp

node ace configure @adocommercekit/core
node ace configure @adocommercekit/storefront-api
node ace configure @adocommercekit/id
node ace configure @adocommercekit/midtrans
node ace configure @adocommercekit/biteship
node ace configure @adocommercekit/whatsapp
node ace migration:run
node ace commerce:doctor

Add Xendit or RajaOngkir instead of, or alongside, the providers above when the merchant contract requires them. Configuration publishes reviewable host files; it does not silently mount a storefront or decide which channels to expose.

Production baseline

Before accepting a real Indonesian checkout:

  1. Use IDR amounts and confirm the host never formats them with fractional digits.
  2. Import a region source whose redistribution and update rights the merchant has approved. No region rows are bundled.
  3. Run payment providers in sandbox, then complete controlled production purchases and the supported refund paths.
  4. Use jobs.dispatcher: "queue" for deferred-payment expiry, webhooks, retention, and WhatsApp delivery.
  5. Persist the signed shipping selection returned by the quote flow; do not trust a price sent back by the browser.
  6. Review PPN adjustment evidence with the merchant’s accountant. The package does not calculate PPnBM or produce certified Coretax mappings.
  7. Have Indonesian counsel approve PDP purposes, notice versions, retention, processors, and incident handling.
  8. Run node ace commerce:doctor after configuration, migration, and every provider change.

Choose the next guide

Navigation

Type to search…

↑↓ navigate↵ selectEsc close