Skip to content

Latest commit

 

History

History
354 lines (261 loc) · 7.65 KB

File metadata and controls

354 lines (261 loc) · 7.65 KB

ArcPay Demo / Test Guide

Panduan ini dipakai untuk mencoba semua fitur utama ArcPay di browser. Tulisannya sengaja dibuat sederhana supaya mudah diikuti saat demo atau QA.

Sebelum Mulai

Siapkan dulu:

  • project sudah jalan di npm run dev
  • .env.local sudah terisi
  • wallet browser sudah terpasang kalau mau test signing
  • saldo native USDC Arc Testnet cukup kalau mau test transaksi

Urutan Test yang Disarankan

  1. Buka overview (dashboard langsung terbuka)
  2. Coba payment intent
  3. Coba connect wallet Arc
  4. Coba webhook
  5. Coba API keys
  6. Coba agents
  7. Coba contracts
  8. Cek health check

Penjelasan Fitur dengan Bahasa Sederhana

Bagian ini menjelaskan istilah yang muncul di dashboard.

Overview

Overview adalah halaman ringkasan.
Di sini kamu melihat kondisi umum ArcPay: payment, agent, webhook, network, dan status sistem.

Contoh mudah:

  • seperti dashboard utama
  • dipakai untuk cek cepat apakah sistem hidup

Payment Intent

Payment intent adalah rencana pembayaran sebelum uang benar-benar dikirim.

Kalau pakai bahasa sederhana:

  • intent = niat/rencana bayar
  • payment intent = catatan bahwa sistem ingin mengirim USDC
  • belum tentu uang sudah terkirim

Di UI, langkahnya biasanya begini:

  1. Prepare intent membuat catatan pembayaran di database.
  2. Send to wallet membuka wallet untuk benar-benar mengirim USDC.
  3. Setelah transaksi berhasil, status bisa berubah menjadi settled.

Jadi yang kamu lihat sebagai send USDC itu adalah bagian signing/transaksi wallet.
Sedangkan payment intent adalah catatan dan alur kontrol sebelum transaksi dikirim.

Contoh nyata:

  • Kamu mau bayar vendor 0.10 USDC
  • Sistem membuat payment intent dulu
  • Wallet diminta tanda tangan
  • USDC dikirim di Arc
  • Sistem menyimpan tx hash dan status

Send USDC

Send USDC adalah aksi transaksi wallet.
Ini bagian yang benar-benar mengirim dana dari wallet ke recipient.

Di Arc, USDC dipakai untuk:

  • nominal pembayaran
  • gas fee jaringan

Jadi saldo wallet harus cukup untuk amount + gas.

Agent

Agent adalah identitas service atau sistem otomatis yang boleh membuat pembayaran.

Contoh mudah:

  • bot pembelian data
  • AI agent yang bayar API
  • service backend yang otomatis bayar vendor

Agent biasanya punya:

  • wallet address
  • status aktif/throttled
  • API key

API Key

API key adalah kunci akses untuk agent atau service.

Contoh mudah:

  • seperti password khusus untuk backend
  • dipakai agar agent bisa membuat payment intent lewat API
  • bisa dibatasi scope-nya

Contoh scope:

  • intents:create boleh bikin payment intent
  • intents:read boleh baca intent
  • webhooks:write boleh mengatur webhook

Webhook

Webhook adalah cara ArcPay mengirim kabar ke sistem luar.

Contoh mudah:

  • payment berhasil
  • ArcPay mengirim HTTP POST ke endpoint kamu
  • endpoint kamu menerima event dan memprosesnya

Contoh event:

  • payment_intent.created
  • payment_intent.settled

Webhook di project ini sudah pakai signature HMAC, jadi penerima bisa cek apakah request benar dari ArcPay.

Webhook Worker

Webhook worker adalah proses yang benar-benar mengirim webhook.

Kalau webhook gagal:

  • status masuk retrying
  • worker bisa mencoba kirim lagi
  • setelah beberapa kali gagal, status bisa menjadi failed

Audit Log

Audit log adalah catatan aktivitas penting.

Contoh yang dicatat:

  • user membuat agent
  • user membuat API key
  • payment intent dibuat
  • webhook dibuat
  • contract deployment dicatat

Gunanya untuk monitoring dan investigasi kalau ada masalah.

Contract

Contract adalah smart contract Solidity yang bisa dideploy ke Arc.

Di dashboard, halaman contract dipakai untuk:

  • melihat daftar contract
  • copy command deploy
  • mencatat hasil deployment
  • membuka Arc explorer

Catatan:

  • tombol deploy di UI belum langsung deploy contract
  • deploy contract tetap lewat command Foundry

Health Check

Health check adalah test cepat apakah backend dan Supabase hidup.

Kalau health check sukses:

  • API bisa diakses
  • Supabase service role bisa connect
  • app siap dipakai untuk test lanjutan

1. Overview

Halaman: /

Yang dites:

  • dashboard utama kebuka
  • kartu metrik tampil
  • tabel payment intent tampil
  • panel agent dan webhook tampil

Langkah:

  1. Buka /
  2. Lihat bagian ringkasan di atas
  3. Cek apakah navigation kiri tampil normal
  4. Klik tombol Run health check

Sukses kalau:

  • halaman tidak error
  • health check berstatus normal
  • data dari Supabase tampil

2. Payment Intent

Halaman: /intents

Yang dites:

  • buat payment intent
  • copy JSON intent
  • lihat timeline settlement
  • filter / reconcile button bisa dipakai

Langkah:

  1. Buka /intents
  2. Isi amount kecil, contoh 0.10
  3. Isi recipient address lengkap
  4. Isi kondisi
  5. Klik Prepare intent
  6. Klik Connect Arc wallet atau lanjut signing dari overview
  7. Kalau perlu, klik Send to wallet

Sukses kalau:

  • intent dibuat
  • status tampil di ledger
  • tidak ada error validasi

Catatan:

  • Arc memakai native USDC untuk amount dan gas
  • kalau amount terlalu besar, wallet bisa gagal karena saldo tidak cukup

3. Wallet Signing

Halaman: / atau /intents

Yang dites:

  • wallet bisa connect
  • network switch ke Arc Testnet
  • transaksi bisa disiapkan

Langkah:

  1. Klik Connect Arc wallet
  2. Approve request di wallet
  3. Pastikan chain yang aktif adalah Arc Testnet
  4. Klik Send to wallet

Sukses kalau:

  • wallet tersambung
  • transaksi muncul di wallet
  • status intent berubah ke settled setelah update

4. Webhooks

Halaman: /webhooks

Yang dites:

  • daftar endpoint tampil
  • form create endpoint bisa dipakai
  • test webhook mengirim request keluar
  • delivery queue dan audit trail tampil

Langkah:

  1. Buka /webhooks
  2. Isi URL endpoint HTTPS publik
  3. Isi event type
  4. Klik Save endpoint
  5. Klik Test payload

Sukses kalau:

  • endpoint tersimpan
  • webhook test mengirim request asli
  • delivery attempt muncul di tabel

Catatan:

  • endpoint lokal seperti localhost tidak boleh dipakai
  • webhook worker mengirim request luar dengan signature HMAC

5. API Keys

Halaman: /keys

Yang dites:

  • daftar key muncul
  • generate key baru
  • copy prefix
  • copy full key saat key baru dibuat
  • rotate key

Langkah:

  1. Buka /keys
  2. Pilih agent owner
  3. Klik Generate key
  4. Simpan token yang muncul
  5. Coba tombol Copy
  6. Coba tombol Rotate

Sukses kalau:

  • key baru muncul di list
  • prefix terlihat
  • token hanya tampil sekali saat dibuat

6. Agents

Halaman: /agents

Yang dites:

  • daftar agent tampil
  • register agent baru
  • toggle status agent
  • buka key page dari shortcut

Langkah:

  1. Buka /agents
  2. Coba register agent baru
  3. Isi wallet address valid
  4. Klik Create
  5. Coba tombol Throttle / Activate

Sukses kalau:

  • agent baru masuk list
  • status bisa berubah

7. Contracts

Halaman: /contracts

Yang dites:

  • info network Arc tampil
  • copy command deploy
  • open explorer
  • deployment record tampil kalau ada data

Langkah:

  1. Buka /contracts
  2. Cek detail network target
  3. Klik Copy command
  4. Klik Open explorer

Sukses kalau:

  • command deploy bisa disalin
  • link explorer terbuka
  • record deployment tampil jika sudah ada data

8. Health Check

Yang dites:

  • API health hidup
  • Supabase bisa diakses

Langkah:

  1. Klik Run health check di header
  2. Atau buka endpoint /api/health

Sukses kalau:

  • response ok
  • status Supabase terlihat normal

Checklist Demo Cepat

  • dashboard kebuka
  • payment intent bisa dibuat
  • wallet Arc bisa connect
  • webhook bisa disimpan dan dites
  • API key bisa dibuat
  • agent bisa ditambah
  • contract deploy command bisa dicopy
  • health check hijau

Kalau Ada Error

  • pastikan .env.local sudah benar
  • pastikan wallet sudah install
  • pastikan alamat recipient lengkap 42 karakter
  • pastikan amount kecil dulu, misalnya 0.10
  • pastikan endpoint webhook pakai HTTPS publik