Skip to main content
Panduan ini dipakai saat database di-reset (Neon baru / wipe) atau ganti akun Scalev — supaya batch di admin tidak masih mengarah ke store/variant lama.

Kapan perlu resync?

SituasiGejalaSolusi
Ganti SCALEV_API_KEY / tokoensure-scalev error Not FoundResync semua batch
Restore DB backup lamaTier punya store_TJH... (toko lama)Reset store + resync
Neon fresh + batch baruBelum ada produk di ScalevResync setelah batch dibuat
Tier menyimpan scalevStoreUniqueId per baris — mengalahkan SCALEV_STORE_UNIQUE_ID di env. DB lama + key baru = mismatch.

Env Scalev (shared .env)

PAYMENT_PROVIDER=scalev
SCALEV_API_KEY=sk_...
SCALEV_STORE_UNIQUE_ID=store_...    # dari GET /v3/stores/simplified
SCALEV_BUSINESS_ID=TUQ34D2CUIL8ILFX  # opsional, referensi dashboard
SCALEV_BASE_URL=https://api.scalev.com
SCALEV_WEBHOOK_SECRET=...           # webhook production
Cek key + store:
curl -s -H "Authorization: Bearer $SCALEV_API_KEY" \
  "https://api.scalev.com/v3/stores/simplified" | jq '.data[] | {name, unique_id}'

Alur: Neon DB baru (production)

neon-fresh-setup.sh menghapus semua data di DATABASE_URL yang aktif di apps/api/.env.
1

1. Isi .env Scalev

Pastikan API key dan SCALEV_STORE_UNIQUE_ID sudah benar di .env shared.
2

2. Wipe + migrate + seed

./thub env merge --prod
./scripts/fresh-neon-and-scalev.sh
Atau hanya DB: ./scripts/neon-fresh-setup.sh
3

3. Push secrets ke Cloudflare

./thub secrets generate
./thub secrets push
4

4. Deploy (jika perlu)

./thub deploy
Atau workflow Deploy Cloudflare di GitHub Actions.
5

5. Buat batch & tier di admin

Seed hanya demo batch — batch production buat lewat /admin/batches + tier. Lihat Admin playbook.
6

6. Resync Scalev otomatis

PW_BASE_URL=https://app.sertifikasitrainer.com ./scripts/pw-login.sh admin
./thub scalev resync
Atau: ./scripts/resync-all-scalev.shScript ini per batch:
  1. Clear scalevProductId batch
  2. Set tier → SCALEV_STORE_UNIQUE_ID dari .env, clear variant lama
  3. POST resync-scalev → buat produk + variant di Scalev
7

7. Verifikasi

  • Admin: Scalev health → “Siap checkout”
  • Test: POST /api/public/register → dapat providerOrderCode + URL bayar

Diagram

Resync manual (satu batch)

Di admin → detail batch → panel Scalev:
  1. Ensure Scalev
  2. Resync per tier
Kalau masih gagal, pastikan tier tidak masih pakai Store ID lama — edit tier atau jalankan ./thub scalev resync.

Dev lokal

Dev pakai PAYMENT_PROVIDER=manual di .env.development.local — resync Scalev tidak wajib untuk laptop. Untuk tes Scalev lokal: override sementara PAYMENT_PROVIDER=scalev di merge dev + jalankan resync ke API lokal (jarang dipakai).

Halaman terkait