# blockwallets — Terima pembayaran kripto tanpa perlu paham kripto

> Pelanggan membayar dengan USDT, USDC, BTC, dan 14 koin lain di 15 jaringan. Dana masuk ke saldo Anda dalam dolar AS dan Anda tarik ke dompet sendiri. Tautan pembayaran tidak perlu kode; API yang kompatibel dengan Cryptomus, NOWPayments, dan Coinbase Commerce mengotomatiskan sisanya. Kunci yang bisa memindahkan dana tidak pernah berada di server yang terhubung ke internet.
>
> HTML: https://blockwallets.io/?lang=id · English: https://blockwallets.io/index.md?lang=en

## Pembayarankripto

Pelanggan membayar dengan USDT, USDC, BTC, dan 14 koin lain di 15 jaringan. Setiap pembayaran masuk ke saldo Anda dalam dolar AS. **Tanpa perlu paham blockchain, dan kunci yang bisa memindahkan dana tidak pernah berada di server yang terhubung ke internet.**
 Minta aksesLihat cara dana masuk

Beta tertutup · 1% per pembayaran, turun hingga 0.5% sesuai volume bulanan · tanpa biaya bulanan, penarikan gratis

0baris kode untuk mulai. Cukup kirim tautan pembayaran

17koin diterima: stablecoin, BTC, dan koin native

2sumber independen mengonfirmasi setiap pembayaran

15jaringan. Pelanggan bayar lewat yang mereka pakai

Baru mengenal kripto?

### Tiga hal yang perlu diketahui.

Anda tidak perlu memahami blockchain untuk dibayar. Tiga hal ini cukup untuk memulai.

Dihitung dalam USD

#### Naik-turun harga bukan urusan Anda

Anda memasang harga dalam dolar dan menerima kredit dalam dolar. USDT, USDC, dan stablecoin lainnya dihitung 1:1; BTC dan koin lain dikonversi dengan kurs yang dikunci selama 30 menit.

Pindai & bayar

#### Pelanggan bayar dari aplikasi yang sudah mereka pakai

Mereka memindai kode QR di aplikasi exchange atau dompet kripto. Tanpa batas negara, tanpa jam operasional bank; sebagian besar pembayaran masuk dalam sekitar satu menit.

Final

#### Tanpa chargeback

Transfer yang sudah dikonfirmasi tidak bisa ditarik kembali seperti pembayaran kartu, jadi tidak ada sengketa chargeback. Mau refund atau tidak, Anda yang menentukan.

Cara menerima

### Mulai dengan tautan. Otomatiskan nanti.

Pakai tautan pembayaran hari ini dan sambungkan API saat butuh otomatisasi. Keduanya masuk ke saldo yang sama.

Tanpa kode
#### Tautan pembayaran

Masukkan jumlah di dasbor dan dapatkan tautan serta kode QR. Bagikan di chat, di situs, atau profil Anda; pelanggan membukanya lalu membayar.
 blockwallets.io/l/pl_940219e083e7b45cea11**Coba ↗** Keanggotaan tahunan+99.00

Uang muka · pesanan 1042+42.00

Untuk pengembang

#### Integrasi API

Panggil satu endpoint saat checkout dan arahkan pelanggan ke halaman pembayaran kami. Saat dana masuk, kami memberi tahu server Anda, jadi pesanan terkirim dan saldo terisi otomatis.

POST /v1/payment200

order_1042 · dikirim otomatis+42.00

topup_88 · ditambahkan ke saldo pengguna+150.00

Cara dana masuk

### Dari checkout ke saldo Anda, dalam empat langkah.

Anda memulai pembayaran dan menunggu dana. Alamat, memantau chain, pengecekan ganda, dan memberi tahu sistem Anda adalah urusan kami.

order_1042TRON · USDT · alamat sendiri TX7k…q3Fd$42.00

Sumber Atransfer sama · jumlah · alamat✓ terlihat

Sumber Bpenyedia independen✓ terlihat

Beri tahu server AndaPOST /webhooks/blockwallets200 OK

Keduanya cocok. Pembayaran dikonfirmasi.

- 1
#### Anda meminta pembayaran
Kirim jumlah dan nomor pesanan Anda; dengan tautan pembayaran, dasbor yang melakukannya. Nomor pesanan yang sama dikirim dua kali tetap hanya membuat satu tagihan.

- 2
#### Pelanggan memindai dan membayar
Di halaman pembayaran kami, mereka memilih koin dan jaringan lalu memindai. Setiap pesanan punya alamat sendiri, jadi pembayaran cocok dengan pesanan tanpa memo.

- 3
#### Kami memastikan dana benar-benar masuk
Kami memeriksa chain setiap menit dan menunggu cukup konfirmasi, lalu sumber data independen kedua harus melihat transfer yang sama. Pembayaran palsu tidak akan lolos.

- 4
#### Dana milik Anda
Dana dikreditkan ke saldo Anda dalam dolar dan Anda bisa mengajukan penarikan kapan saja (setiap penarikan ditinjau oleh manusia; alamat penarikan baru menunggu 24 jam sebelum pembayaran pertamanya). Dengan API, server Anda menerima notifikasi bertanda tangan saat itu juga, dan dikirim ulang selama sekitar dua setengah hari jika server sedang mati.

Apakah dana saya aman?

0 
### 0 kunci privat di server yang terhubung internet. Kunci yang memindahkan dana hanya dipakai di lingkungan penandatanganan yang terisolasi.

Server online kami hanya menyimpan kunci baca-saja: bisa membuat alamat penerimaan dan melihat saldo, tetapi tidak bisa mengirim apa pun. Kunci yang memindahkan dana hanya dipakai di lingkungan penandatanganan yang terpisah dari layanan online kami. Penyapuan dana hanya dikirim ke alamat cold wallet yang tetap; pembayaran ke merchant disetujui oleh manusia dan hanya dikirim ke alamat penarikan yang didaftarkan merchant.

#### Online, hanya bisa menerima

Server hanya menyimpan kunci baca-saja (`xpub`). Kunci privat yang tidak sengaja ditempel akan ditolak.

#### Alamat Anda dikunci

Dompet penerima dikunci di konfigurasi deployment; dasbor maupun basis data tidak bisa mengubahnya.

#### Dua sumber harus cocok

Pembayaran baru dihitung jika dua sumber data independen sama-sama melihatnya. Satu node nakal tidak bisa memalsukannya.

#### Dana tidak harus mengendap

Ajukan penarikan kapan saja, atau biarkan pengajuan dibuat otomatis saat saldo mencapai jumlah pilihan Anda atau setiap hari. Setiap penarikan ditinjau oleh manusia, alamat baru menunggu 24 jam sebelum pembayaran pertamanya, dan setiap pembayaran keluar punya catatan on-chain.

#### Tujuan dibatasi

Transaksi yang memindahkan dana ditandatangani di lingkungan yang terisolasi dari layanan online. Penyapuan dana hanya dikirim ke alamat cold wallet yang tetap; pembayaran ke merchant disetujui oleh manusia dan hanya dikirim ke alamat penarikan yang didaftarkan merchant.

#### Lebih baik berhenti daripada berjudi

Jika ada pengaman yang hilang, jaringan itu menghentikan sementara penerimaan pembayaran.

Pengembang

### Dua potong kode. Itulah integrasinya.

Buat pembayaran dan dapatkan tautan halaman pembayaran; terima notifikasi, periksa tanda tangan, kirim pesanan. Coba gratis di testnet dulu.

- 
#### Cukup dua panggilan
Buat dengan jumlah dan nomor pesanan; verifikasi notifikasi lalu kirim pesanan sesuai nomornya.- 
#### Gratis di testnet
Kredensial uji berjalan di testnet publik, dan halaman pembayaran punya tombol “simulasikan pembayaran”.- 
#### Mengulang itu aman
`order_id` yang sama selalu mengembalikan tagihan yang sama.- 
#### Pindah dari gateway lain?
API kompatibel untuk Cryptomus, NOWPayments, dan Coinbase Commerce: path, parameter, tanda tangan, dan webhook sama. Cukup ganti domain dan kunci. - https://api.cryptomus.com/v1/payment

+ https://blockwallets.io/v1/payment
Panduan integrasi lengkap →

```
<span class="cl"><span class="t-k">import</span> crypto <span class="t-k">from</span> <span class="t-s">"node:crypto"</span>;</span><span class="cl"></span><span class="cl"><span class="t-k">const</span> body = JSON.<span class="t-f">stringify</span>({</span><span class="cl">  order_id: <span class="t-s">"order_1042"</span>,       <span class="t-c">// idempotency key</span></span><span class="cl">  amount: <span class="t-s">"42.00"</span>,              <span class="t-c">// any amount, in USD</span></span><span class="cl">  currency: <span class="t-s">"USD"</span>,</span><span class="cl">  url_callback: <span class="t-s">"https://shop.example.com/webhooks/crypto"</span>,</span><span class="cl">});</span><span class="cl"><span class="t-k">const</span> sign = crypto.<span class="t-f">createHash</span>(<span class="t-s">"md5"</span>)</span><span class="cl">  .<span class="t-f">update</span>(Buffer.<span class="t-k">from</span>(body).<span class="t-f">toString</span>(<span class="t-s">"base64"</span>) + process.env.BW_API_KEY)</span><span class="cl">  .<span class="t-f">digest</span>(<span class="t-s">"hex"</span>);</span><span class="cl"></span><span class="cl"><span class="t-k">const</span> res = <span class="t-k">await</span> <span class="t-f">fetch</span>(<span class="t-s">"https://blockwallets.io/v1/payment"</span>, {</span><span class="cl">  method: <span class="t-s">"POST"</span>,</span><span class="cl">  headers: {</span><span class="cl">    merchant: process.env.BW_MERCHANT,</span><span class="cl">    sign,</span><span class="cl">    <span class="t-p">"content-type"</span>: <span class="t-s">"application/json"</span>,</span><span class="cl">  },</span><span class="cl">  body,</span><span class="cl">});</span><span class="cl"><span class="t-k">return</span> <span class="t-f">redirect</span>((<span class="t-k">await</span> res.<span class="t-f">json</span>()).result.url);</span>
```

```
<span class="cl"><span class="t-k">import</span> crypto <span class="t-k">from</span> <span class="t-s">"node:crypto"</span>;</span><span class="cl"></span><span class="cl"><span class="t-k">export</span> <span class="t-k">async</span> function <span class="t-k">POST</span>(req: Request) {</span><span class="cl">  <span class="t-k">const</span> { sign, ...data } = JSON.<span class="t-f">parse</span>(<span class="t-k">await</span> req.<span class="t-f">text</span>());</span><span class="cl">  <span class="t-k">const</span> json = JSON.<span class="t-f">stringify</span>(data).<span class="t-f">replaceAll</span>(<span class="t-s">"/"</span>, <span class="t-s">"\\/"</span>);</span><span class="cl">  <span class="t-k">const</span> expected = crypto.<span class="t-f">createHash</span>(<span class="t-s">"md5"</span>)</span><span class="cl">    .<span class="t-f">update</span>(Buffer.<span class="t-k">from</span>(json).<span class="t-f">toString</span>(<span class="t-s">"base64"</span>) + process.env.BW_API_KEY)</span><span class="cl">    .<span class="t-f">digest</span>(<span class="t-s">"hex"</span>);</span><span class="cl">  <span class="t-k">if</span> (sign !== expected) <span class="t-k">return</span> <span class="t-k">new</span> <span class="t-f">Response</span>(<span class="t-s">"bad sign"</span>, { status: <span class="t-n">401</span> });</span><span class="cl"></span><span class="cl">  <span class="t-k">if</span> (data.status === <span class="t-s">"paid"</span> || data.status === <span class="t-s">"paid_over"</span>) {</span><span class="cl">    <span class="t-k">await</span> <span class="t-f">credit</span>(data.order_id, data.payment_amount_usd);</span><span class="cl">  }</span><span class="cl">  <span class="t-k">return</span> <span class="t-k">new</span> <span class="t-f">Response</span>(<span class="t-s">"ok"</span>);</span><span class="cl">}</span>
```

```
<span class="cl"><span class="t-k">POST</span> /webhooks/crypto</span><span class="cl"><span class="t-h">Content-Type:</span> application/json</span><span class="cl"></span><span class="cl">{</span><span class="cl">  <span class="t-p">"type"</span>: <span class="t-s">"payment"</span>,</span><span class="cl">  <span class="t-p">"uuid"</span>: <span class="t-s">"6f1c2a7e…"</span>,</span><span class="cl">  <span class="t-p">"order_id"</span>: <span class="t-s">"order_1042"</span>,</span><span class="cl">  <span class="t-p">"amount"</span>: <span class="t-s">"42.00"</span>,</span><span class="cl">  <span class="t-p">"payment_amount_usd"</span>: <span class="t-s">"42.00"</span>,</span><span class="cl">  <span class="t-p">"status"</span>: <span class="t-s">"paid"</span>,</span><span class="cl">  <span class="t-p">"is_final"</span>: true,</span><span class="cl">  <span class="t-p">"network"</span>: <span class="t-s">"tron"</span>,</span><span class="cl">  <span class="t-p">"payer_currency"</span>: <span class="t-s">"USDT"</span>,</span><span class="cl">  <span class="t-p">"txid"</span>: <span class="t-s">"9c1e…"</span>,</span><span class="cl">  <span class="t-p">"sign"</span>: <span class="t-s">"5f0c9b…e9a1"</span></span><span class="cl">}</span>
```

#### Salin satu prompt ke AI Anda
 
Tempel ke ChatGPT, Claude, Cursor, atau asisten coding apa pun. Ia membaca dokumentasi kami, menjalankan alur uji di testnet, lalu memberi Anda daftar periksa penerimaan.
 Buka di ChatGPT ↗Membuka obrolan yang membaca llms-full.txt Buka di Claude ↗Membuka obrolan yang membaca llms-full.txt
Buat prompt untuk stack Anda →

Integrasikan pembayaran kripto blockwallets ke proyek saya. 1. Baca dulu https://blockwallets.io/llms-full.txt dan https://blockwallets.io/agents.md. Ikuti keduanya, bukan apa yang kamu ingat tentang gateway pembayaran lain. 2. Mulai dengan kredensial uji di testnet (mode uji di dasbor blockwallets; halaman pembayaran punya tombol "simulasikan pembayaran"). Jangan sentuh kunci live sampai seluruh alur uji berhasil. 3. Buat pembayaran dengan POST https://blockwallets.io/v1/payment (amount, currency "USD", order_id, url_callback) lalu arahkan pelanggan ke result.url. 4. Verifikasi setiap webhook sebelum dipercaya: hapus "sign", encode sisanya ke JSON dengan setiap "/" di-escape menjadi "\/" (seperti json_encode($data, JSON_UNESCAPED_UNICODE) PHP: karakter non-ASCII dibiarkan apa adanya), ubah ke base64, tambahkan API key, hitung md5 dalam hex, lalu bandingkan dengan "sign". 5. Anggap status "paid" dan "paid_over" sebagai lunas. order_id yang sama selalu mengembalikan tagihan yang sama, jadi mengulang itu aman; kreditkan setiap pesanan hanya sekali. 6. Simpan merchant ID dan API key di variabel lingkungan, jangan pernah di kode. Setelah selesai, berikan saya daftar periksa penerimaan ini, tiap butir dicentang atau dijelaskan: - [ ] Pembayaran uji berhasil dibuat dan result.url membuka halaman pembayaran - [ ] "Simulasikan pembayaran" mengirim webhook dan tanda tangannya valid - [ ] Webhook dengan isi atau sign yang diubah ditolak - [ ] Pesanan ditandai lunas tepat sekali, meski webhook datang lagi - [ ] Kredensial diambil dari variabel lingkungan - [ ] Apa yang perlu saya ubah untuk mulai live Jaringan

### Apa pun yang mereka pakai, Anda menerima dolar.

Stablecoin dikreditkan setara nilainya, tanpa kurs atau selisih. BTC, LTC, dan koin native dihargai dengan kurs yang dikunci selama 30 menit.

| Jaringan | Koin | Waktu masuk | Minimum |
| --- | --- | --- | --- |
| TRON | USDTTRX | ~1 menit | $1.00 |
| BNB Smart Chain | USDTUSDCUSD1FDUSDBNB | ~1 menit | $1.00 |
| Ethereum | USDTUSDCDAIETH | ~1–18 menit | $5.00 |
| Base | USDCDAIETH | ~1–25 menit | $1.00 |
| Polygon PoS | USDTUSDCPOL | ~1 menit | $1.00 |
| Arbitrum One | USDTUSDCDAIETH | ~1–30 menit | $1.00 |
| OP Mainnet | USDTUSDCETH | ~1–25 menit | $1.00 |
| Avalanche C-Chain | USDTUSDCAVAX | ~1 menit | $1.00 |
| X Layer | USDTUSDCOKB | ~1–20 menit | $1.00 |
| Dogecoin | DOGE | ~1–40 menit | $1.00 |
| Solana | USDTUSDCSOL | ~1 menit | $1.00 |
| TON | USDTTON | ~1 menit | $1.00 |
| Litecoin | LTC | ~3–15 menit | $1.00 |
| Bitcoin | BTC | ~10–30 menit | $5.00 |
| Bitcoin Cash | BCH | ~10–60 menit | $1.00 |

Koin yang disorot adalah stablecoin, masing-masing dikreditkan 1:1 dalam dolar AS. Waktu yang lebih singkat berlaku untuk pembayaran di bawah $1,000. Mulai $1,000, dan sekali lagi mulai $5,000, kami menunggu lebih banyak konfirmasi, jadi pembayaran besar bisa memakan waktu hingga angka yang lebih lama.

Harga

### Hanya per pembayaran. Makin murah seiring Anda tumbuh.

Satu tingkat biaya untuk semua merchant, turun otomatis sesuai volume bulan lalu. Tidak perlu negosiasi.

1%per pembayaran
 
Hingga 0.5%. Pelanggan membayar biaya jaringan.
 Tanpa biaya bulananTanpa biaya pendaftaranPenarikan gratisTanpa volume minimum

Di bawah $50,0001%

$50,000+0.9%

$100,000+0.8%

$250,000+0.7%

$500,000+0.6%

$1,000,000+0.5%

Tanya jawab

### Jawaban singkat.

#### Koin apa saja yang bisa saya terima?

17 koin di 15 jaringan: USDT, USDC, USD1, FDUSD, DAI, BTC, LTC, DOGE, dan BCH serta koin native TRX, BNB, ETH, POL, AVAX, OKB, SOL, dan TON. Jaringan: TRON, BNB Smart Chain, Ethereum, Base, Polygon PoS, Arbitrum One, OP Mainnet, Avalanche C-Chain, X Layer, Dogecoin, Solana, TON, Litecoin, Bitcoin, dan Bitcoin Cash. Stablecoin dikreditkan 1:1 dalam dolar AS; koin lain dikonversi dengan kurs yang dikunci selama 30 menit.

#### Berapa biayanya?

1% per pembayaran, turun otomatis sesuai volume bulan lalu: 0.9% mulai $50,000, hingga 0.5%. Tanpa biaya bulanan atau pendaftaran, penarikan gratis. Pelanggan membayar biaya jaringan.

#### Apakah saya perlu memahami blockchain?

Tidak. Masukkan jumlah di dasbor untuk mendapat tautan pembayaran dan kode QR; pelanggan memindai dan membayar, lalu dana masuk ke saldo Anda dalam dolar AS. blockwallets mengurus alamat, konfirmasi, dan rekonsiliasi.

#### Bagaimana cara menarik dana?

Ajukan penarikan ke dompet Anda sendiri dari dasbor kapan saja, atau biarkan pengajuan dibuat otomatis saat saldo mencapai jumlah pilihan Anda, atau setiap hari. Setiap penarikan ditinjau oleh manusia, dan alamat penarikan baru menunggu 24 jam sebelum pembayaran pertamanya. Penarikan gratis dan masing-masing menampilkan transaksinya di chain.

#### Di mana kunci privat disimpan?

Kunci yang bisa memindahkan dana tidak pernah berada di server yang melayani publik: kunci itu hanya dipakai di lingkungan penandatanganan yang terisolasi dari layanan online. Penyapuan dana hanya dikirim ke alamat cold wallet yang tetap; pembayaran ke merchant disetujui oleh manusia dan hanya dikirim ke alamat penarikan yang didaftarkan merchant. Server yang terhubung ke internet hanya menyimpan kunci publik baca-saja (xpub): bisa membuat alamat penerimaan dan membaca saldo, tetapi tidak bisa mengirim dana.

#### Apa yang berubah jika pindah dari Cryptomus, NOWPayments, atau Coinbase Commerce?

Hanya domain API dan kunci. Kami punya API kompatibel untuk ketiganya: path, parameter, algoritme tanda tangan, dan format webhook sama dengan aslinya, jadi kode Anda tetap.

#### Apakah ada mode uji?

Ada. Mode uji punya kredensial sendiri di testnet publik, dan halaman pembayaran punya tombol “simulasikan pembayaran”, jadi Anda bisa menguji pembuatan pembayaran, pembayaran, webhook, dan pemeriksaan tanda tangan tanpa uang sungguhan.

### Mulaisekarang.
 
Kami membuka blockwallets untuk merchant secara bertahap. Ceritakan sedikit tentang bisnis Anda dan kami akan mengirim email untuk menyiapkan akun. Baru mengenal kripto? Tanyakan apa saja di catatan.
 
Biaya: 1% per pembayaran, turun menjadi 0.9% saat volume bulan lalu mencapai $50,000, dan hingga 0.5% seiring Anda tumbuh. [Lihat harga →](https://blockwallets.io/pricing?lang=id)
 - **1**Kami membaca setiap permintaan dan membalas lewat email.- **2**Setelah disetujui, coba semuanya di mode uji tanpa uang sungguhan.- **3**Mulai live saat Anda siap. Ajukan penarikan kapan saja.
