# Dokumentasi blockwallets: cara integrasi

> Pilih cara integrasi: tautan pembayaran, POS, dan tombol sematan tanpa kode; API kompatibel Cryptomus atau REST API native; API kompatibel untuk Cryptomus, NOWPayments, dan Coinbase Commerce; prompt AI, AGENTS.md, dan MCP.
>
> HTML: https://blockwallets.io/docs?lang=id · English: https://blockwallets.io/docs.md?lang=en

## Dokumentasi

blockwallets memungkinkan Anda menerima USDT dan USDC, plus BTC, LTC, dan koin native (dikreditkan dalam dolar AS dengan kurs yang dikunci). Setiap integrasi di bawah membuat jenis tagihan yang sama di halaman pembayaran yang sama, dengan konfirmasi, biaya, dan saldo yang sama; bedanya hanya pada cara sistem Anda berbicara dengan kami. Pilih yang paling cocok, lalu ikuti halamannya.

### Pilih integrasi

Dikelompokkan menurut titik awal Anda. Setiap kartu membuka panduan lengkapnya.

#### Tanpa kode

Terima pembayaran dari dasbor merchant; tidak ada yang perlu dipasang.

- [Tautan pembayaran](https://blockwallets.io/docs?lang=id#links): Masukkan jumlah (atau biarkan pembayar mengetiknya) lalu bagikan tautan atau kode QR. Setiap kunjungan membuat tagihan baru.

- [POS untuk toko](https://blockwallets.io/docs?lang=id#pos): Staf membuka tautan POS di ponsel atau tablet, mengetik jumlah, dan pelanggan memindai kode QR.

- [Tombol sematan](https://blockwallets.io/docs?lang=id#embed): Tempel tombol “Bayar” atau “Donasi” ke situs mana pun: HTML biasa, atau HTML plus satu tag script.

#### Integrasi API baru

Anda menulis integrasinya dari awal.

- [REST API native](https://blockwallets.io/docs/api?lang=id): Kunci Bearer, jumlah dalam sen, `ref` idempoten, webhook HMAC-SHA256, dan events API. Kunci dibuat sendiri di dasbor.

- [API kompatibel Cryptomus](https://blockwallets.io/docs/cryptomus?lang=id): POST + JSON dengan tanda tangan md5. Kredensial dibuat sendiri di dasbor, setiap endpoint utama punya panel “Coba”.

#### Pindah dari gateway lain

Pertahankan kode Anda: API kompatibel, jadi Anda hanya mengganti base URL dan kunci.

- [Dari Cryptomus](https://blockwallets.io/docs/cryptomus?lang=id#cryptomus): Ganti `https://api.cryptomus.com` dengan `https://blockwallets.io` dan pakai merchant serta API key baru. Path, parameter, `sign`, dan webhook tetap sama.

- [Dari NOWPayments](https://blockwallets.io/docs/nowpayments?lang=id): Ganti `https://api.nowpayments.io/v1` dengan `https://blockwallets.io/nowpayments/v1` dan pakai API key serta IPN secret baru. `x-nowpayments-sig` tetap sama.

- [Dari Coinbase Commerce](https://blockwallets.io/docs/coinbase-commerce?lang=id): Berikan `https://blockwallets.io/coinbase/` sebagai base URL SDK dan pakai API key serta webhook shared secret baru. `X-CC-Webhook-Signature` tetap sama.

#### Biar AI yang mengintegrasikan

Untuk yang tidak menulis kode tetapi memakai alat coding AI.

- [Pembuat prompt](https://blockwallets.io/docs/ai?lang=id): Pilih situs, gaya pembayaran, dan alat AI Anda; salin prompt yang dibuat untuk Claude Code, Codex, Cursor, atau ChatGPT.

- [AGENTS.md](https://blockwallets.io/agents.md): Aturan integrasi, kesalahan umum, dan daftar periksa penerimaan; simpan di root proyek Anda untuk coding agent.

- [MCP server](https://blockwallets.io/docs/mcp?lang=id): Biarkan alat AI mencari dokumentasi ini dan membuat tagihan uji langsung.

#### Alat

Bantuan debugging yang berjalan di browser Anda.

- [Pemeriksa tanda tangan](https://blockwallets.io/docs/sign?lang=id): Tempel body permintaan atau webhook untuk melihat setiap langkah penandatanganan dan di mana milik Anda berbeda. API key tidak pernah meninggalkan browser Anda.

### Kompatibel Cryptomus atau native?

Keduanya membuat tagihan yang sama di halaman pembayaran yang sama, dengan biaya dan saldo yang sama. Bedanya ada pada gaya permintaan, format webhook, dan cara Anda mendapatkan kredensial.

|  | Kompatibel Cryptomus | REST native |
| --- | --- | --- |
| Kredensial | Buat sendiri di dasbor pada “Developer › Integrasi & kunci” (satu set untuk Live, satu untuk Test) | Juga dibuat sendiri di dasbor pada “Developer › Integrasi & kunci”: satu kunci Live dan satu kunci Test (`bw_live_…` / `bw_test_…`) beserta webhook signing secret-nya |
| Permintaan | Setiap panggilan adalah `POST` + JSON, dengan header `merchant` dan `sign` = `md5(base64(body permintaan) + API key)` | REST (`GET` / `POST`) dengan `Authorization: Bearer`; awalan kunci menentukan Live atau Test |
| Jumlah | String desimal seperti `"42.00"`, dalam USD, USDT, atau USDC (semuanya 1:1) | Bilangan bulat dalam sen AS, seperti `4200`; hanya USD |
| Percobaan ulang | `order_id` yang sama mengembalikan tagihan yang sudah ada | `ref` yang sama dengan parameter yang sama mengembalikan invoice yang sudah ada; parameter berbeda mengembalikan 409 |
| Webhook | Dikirim ke `url_callback` setiap tagihan; tanda tangannya adalah field `sign` di body | Dikirim ke URL webhook yang diatur di dasbor; `X-BW-Signature` = HMAC-SHA256 dengan timestamp; daftar dan kirim ulang lewat `/v1/events` |
| Alamat statis | `/v1/wallet`: satu jaringan per panggilan | `/v1/deposit-accounts`: semua jaringan sekaligus untuk satu pelanggan |
| Perangkat | Panel “Coba”, pemeriksa tanda tangan, prompt AI, dan MCP server; SDK dan plugin Cryptomus yang ada bisa dipakai | Referensi ini beserta contoh kodenya |

Mulai dari awal? Pakai REST API native: jumlah dalam sen, `ref` idempoten, tanda tangan webhook bercap waktu, dan kunci yang Anda buat sendiri di dasbor. Sudah memakai Cryptomus, atau ingin memakai SDK atau plugin Cryptomus yang ada? Pakai API kompatibel Cryptomus.

### Mulai cepat

Dari nol sampai pembayaran uji dalam lima langkah (API kompatibel Cryptomus; API lain mengikuti langkah yang sama dengan kredensialnya sendiri).

- Minta akses di [beranda](https://blockwallets.io/?lang=id#join). Setelah disetujui, masuk ke [dasbor merchant](https://blockwallets.io/dashboard).

- Buka “Developer › Integrasi & kunci” di dasbor, buat merchant dan API key di kolom Test, lalu tambahkan domain situs Anda.

- Server Anda membuat tagihan dengan `POST /v1/payment` dan mengarahkan pelanggan ke `result.url`.

- Bayar dengan “Simulasikan pembayaran” di halaman pembayaran, lalu pastikan handler webhook Anda memverifikasi `sign` dan mengkreditkan sesuai `payment_amount_usd`.

- Beralih ke kredensial di kolom Live dan bayar sejumlah kecil uang sungguhan satu kali (“Coba satu pembayaran” di beranda dasbor).

```http
POST https://blockwallets.io/v1/payment
merchant: <merchant>
sign: md5(base64(body) + API key)
Content-Type: application/json

{
  "amount": "42.00",
  "currency": "USD",
  "order_id": "order_1042",
  "url_callback": "https://shop.example/webhooks/crypto",
  "url_return": "https://shop.example/cart",
  "url_success": "https://shop.example/thanks?order=1042"
}
```

Kode Node.js, PHP, dan Python untuk setiap langkah ada di dokumentasi [API kompatibel Cryptomus](https://blockwallets.io/docs/cryptomus?lang=id#api); jika Anda lebih suka AI yang mengerjakannya, mulai dengan [pembuat prompt](https://blockwallets.io/docs/ai?lang=id).

### Tautan pembayaran (tanpa kode)

Dasbor merchant → “Pembayaran › Tautan pembayaran” → isi keterangan dan jumlah (tentukan jaringan atau biarkan pelanggan memilih) → buat. Setiap tautan punya URL dan kode QR.

- Setiap kali seseorang membuka tautan, tagihan baru dibuat, jadi satu tautan bisa dipakai berulang (misalnya “Keanggotaan $99”).

- Setiap pembayaran muncul di “Pembayaran › Pembayaran masuk”; tarik ke dompet Anda dari “Dana › Saldo & penarikan”.

- Jika Anda sudah membuat kredensial dan URL webhook di “Developer › Integrasi & kunci”, pembayaran lewat tautan juga diberitahukan, dalam [format webhook kompatibel Cryptomus](https://blockwallets.io/docs/cryptomus?lang=id#webhooks).

- Untuk berhenti menerima, klik “Nonaktifkan” dan tautan langsung tidak berfungsi.

### POS untuk toko

Untuk meja kasir dan lapak: dasbor merchant → “Pembayaran › Kasir POS” → buka terminal dan dapatkan tautan POS. Staf membukanya di ponsel atau tablet, mengetik jumlah, lalu kode QR pembayaran muncul; saat pelanggan membayar, layar menampilkan “Paid”.

- Tagihan POS berlaku 30 menit. Dana masuk ke saldo Anda dan muncul di “Pembayaran › Pembayaran masuk”, dan Anda diberi tahu di URL webhook seperti tautan pembayaran.

- Tautan POS hanya bisa menerima pembayaran: tidak bisa melihat saldo, penarikan, pesanan lain, pengaturan, atau kredensial Anda.

- Perangkat hilang, atau staf sudah keluar? Cabut terminal itu di dasbor dan tautannya langsung berhenti berfungsi.

### Tombol sematan

Dasbor merchant → “Pembayaran › Tautan pembayaran” → “Tombol sematan”: pilih teks, warna, ukuran, dan bentuk lalu salin snippet-nya. Mengklik tombol membuka halaman pembayaran dari tautan pembayaran itu.

- HTML biasa: satu tautan bergaya tanpa script, sehingga berfungsi di mana pun HTML bisa ditempel (pembuat situs, forum, tanda tangan email).

- Dengan script: tambahkan `data-blockwallets` dan satu tag `/embed.js`; di desktop halaman pembayaran terbuka di jendela kecil di tengah, di ponsel terbuka seperti biasa.

- Script tidak mengirim permintaan, tidak menyetel cookie, dan tidak menambah iframe. Jika halaman memblokirnya, tombol tetap berupa tautan biasa yang berfungsi.

Pada cuplikan di bawah, ganti `/l/pl_…` dengan alamat tautan pembayaran Anda sendiri.

#### HTML biasa

```html
<a href="https://blockwallets.io/l/pl_…" target="_blank" rel="noopener nofollow"
   style="display:inline-flex;align-items:center;height:44px;padding:0 22px;border-radius:999px;background:#1f5a3d;color:#ffffff;font:600 16px/1 sans-serif;text-decoration:none">Pay with crypto</a>
```

#### HTML + script

```html
<a href="https://blockwallets.io/l/pl_…" target="_blank" rel="noopener nofollow"
   data-blockwallets data-color="green" data-size="m" data-shape="pill">Pay with crypto</a>
<script src="https://blockwallets.io/embed.js" async></script>
```
