Alternatif
Alternatif Coinbase Commerce: Crypto Merchant vs Coinbase Commerce (2026)
Coinbase Commerce ditutup setelah 31 Maret 2026: Coinbase menggabungkannya ke dalam Coinbase Business, yang hanya menerima bisnis terdaftar di AS dan Singapura, dan meminta merchant lain untuk “beralih ke penyedia alternatif”. Crypto Merchant cocok untuk merchant di luar kedua negara tersebut yang ingin tetap menerima USDC dan koin lain melalui API atau link pembayaran. Crypto Merchant bukan pilihan yang tepat jika Anda ingin memegang kunci sendiri seperti saat menggunakan Commerce, atau jika Anda memerlukan plugin atau penyelesaian ke bank.
Terakhir diperiksa: 29 Oktober 2026
Perbandingan ini ditulis oleh Crypto Merchant, dan kami tidak berafiliasi dengan gateway mana pun yang disebutkan di sini. Setiap fakta tentang pesaing berasal dari halaman milik vendor itu sendiri, yang ditautkan di bawah tabel. Harga dan ketentuan dapat berubah, jadi periksa kembali sebelum Anda memutuskan.
Bagaimana perbandingan Crypto Merchant dengan Coinbase Commerce?
Coinbase Business, penerus Commerce, bersifat kustodian seperti Crypto Merchant, tetapi hanya melayani AS dan Singapura dan hanya menerima USDC dan USDT. Crypto Merchant menerima pendaftaran dari negara mana pun dan menerima 11 koin, tetapi tidak memiliki plugin atau pencairan ke bank.
| Fitur | Crypto Merchant | Coinbase Business |
|---|---|---|
| Biaya pembayaran | 1% dari setiap invoice lunas, dalam koin yang dibayarkan, dipotong saat dikreditkan. Invoice yang kedaluwarsa atau dibatalkan tidak dikenai biaya. | 1% untuk merchant yang pindah dari Commerce. Tidak ada tarif publik untuk merchant baru: Coinbase meminta Anda login untuk melihat biaya saat ini.[1][2] |
| Biaya bulanan dan biaya pendaftaran | Tidak ada, dan tidak ada biaya pendaftaran. Tidak ada pembayaran aktivasi: akun langsung aktif begitu penyiapan selesai. | “Tanpa biaya pengajuan”. Biaya bulanan belum terkonfirmasi.[2] |
| Konversi | Opsional: konversikan semuanya ke satu koin simpanan. Kursnya adalah harga pasar live dan sudah termasuk margin layanan sebesar 1%. | Pembayaran diselesaikan dalam USDC. Konversi otomatis dari USDC ke USD “dikenai biaya”; jumlahnya tidak dipublikasikan.[2][3] |
| Pencairan dan penarikan | Kapan saja, dengan biaya gas per pencairan. Tanpa minimum tetap untuk pencairan manual; pencairan otomatis menunggu $5 per koin. Setiap koin ke alamatnya sendiri, atau dikonversi terlebih dahulu ke satu koin simpanan. | Tarik ke bank Anda “kapan saja”, dengan “tanpa penguncian, tanpa minimum”, dan produk Payouts. Alat penarikan Commerce yang lama dinonaktifkan secara permanen setelah 31 Maret 2026.[1][2][3] |
| KYC atau KYB untuk mendaftar | Email, nama, dan nama bisnis. Kami tidak meminta dokumen identitas saat Anda membuat akun. | Badan usaha terdaftar dan rekening bank bisnis.[1][2] |
| Kustodian | Kustodian. Kami memegang kuncinya; setiap dompet berasal dari satu frasa pemulihan yang disimpan secara offline di atas kertas. Pembayaran terkumpul di dompet pool khusus untuk bisnis Anda. | Hanya kustodian. Commerce (lama) bersifat self-custodial.[1] |
| Koin dan jaringan | 11 koin di 11 jaringan. USDT di Ethereum, BNB Smart Chain, Polygon, Arbitrum One, Tron, dan Solana. USDC di Ethereum, BNB Smart Chain, Polygon, Base, Arbitrum One, dan Solana. Ditambah BTC, ETH, LTC, SOL, XRP, BNB, TRX, POL, dan GRAM (TON). | USDC di Ethereum, Base, Polygon, Optimism, Avalanche, dan Arbitrum. USDT hanya di Ethereum, di AS dan yurisdiksi tertentu. Penerimaan BTC, ETH, SOL, atau TRX tidak disebutkan.[3] |
| Batasan negara | Siapa pun, di negara mana pun, dapat mendaftar. Ketentuan melarang barang ilegal, penipuan, dan penghindaran sanksi. | Hanya bisnis di AS dan Singapura.[2] |
| Plugin e-commerce | Tidak ada: tidak ada plugin WooCommerce, Shopify, atau WHMCS. Gunakan link pembayaran, checkout yang di-hosting, atau API. | WooCommerce, Magento (Adobe Commerce), dan WHMCS, ditambah akuntansi QuickBooks dan Xero.[1][3] |
| Penyelesaian fiat (bank) | Tidak. Hanya kripto: pencairan dikirim ke alamat kripto. | Ya: penarikan ke rekening bank bisnis Anda.[1][3] |
| API dan webhook | REST API dengan kunci Bearer untuk invoice, link pembayaran, saldo, dan koin. Webhook ditandatangani dengan HMAC-SHA256, dicoba ulang selama sekitar dua hari. | Checkouts API dan pembayaran agen x402.[3] |
| Link pembayaran | Ya: link harga tetap atau bayar sesuka hati, halaman checkout yang di-hosting, dan invoice. | Ya: link pembayaran dan penagihan.[3] |
Sumber
Setiap fakta tentang Coinbase Commerce di tabel berasal dari halaman-halaman ini, diperiksa pada 29 Oktober 2026. “Belum terkonfirmasi” berarti tidak satu pun halaman tersebut menyatakannya.
- [1]Coinbase Help: transisi dari Commerce ke Business: https://help.coinbase.com/en/transitioning-from-coinbase-commerce-to-coinbase-business
- [2]Coinbase Business: https://www.coinbase.com/business
- [3]Coinbase Business: checkout: https://www.coinbase.com/business/features-checkouts
Kapan Coinbase Commerce menjadi pilihan yang lebih baik?
Coinbase Business adalah pilihan yang lebih baik jika bisnis Anda terdaftar di AS atau Singapura dan Anda ingin uangnya masuk ke rekening bank.
- Bisnis Anda terdaftar di AS atau Singapura dan memiliki rekening bank bisnis. Anda dapat pindah ke Coinbase Business, dan Coinbase menyatakan bahwa merchant yang pindah dari Commerce tetap mendapat tarif 1%.
- Anda menginginkan dolar di bank: Coinbase Business melakukan penarikan ke rekening bank Anda. Crypto Merchant hanya melakukan pencairan dalam kripto.
- Anda menggunakan WooCommerce, Magento, atau WHMCS, atau mencatat pembukuan di QuickBooks atau Xero. Coinbase Business dapat digunakan dengan semuanya; Crypto Merchant tidak memiliki plugin.
- Anda menginginkan penyedia dengan rekam jejak dan ulasan. Crypto Merchant diluncurkan pada 28 Oktober 2026 dan belum memiliki keduanya.
Kapan Crypto Merchant lebih cocok?
Crypto Merchant lebih cocok jika Anda berada di luar AS dan Singapura, atau pelanggan Anda membayar dengan koin selain USDC.
- Bisnis Anda berada di luar AS dan Singapura. Siapa pun, di negara mana pun, dapat mendaftar, dan kami tidak meminta dokumen identitas saat Anda membuat akun.
- Pelanggan Anda membayar USDT di Tron atau jaringan lain, atau membayar dengan BTC, ETH, SOL, LTC, XRP, BNB, TRX, POL, atau GRAM. Coinbase Business menerima USDC, dan USDT hanya di Ethereum.
- Anda menginginkan harga yang dipublikasikan: 1% per invoice lunas dan tanpa biaya bulanan.
- Anda memindahkan integrasi developer. Invoice, REST API, dan webhook bertanda tangan mencakup apa yang dilakukan integrasi Commerce, dan panduan di bawah memetakan setiap langkahnya.
Bagaimana cara beralih dari Coinbase Commerce ke Crypto Merchant?
Daftar, selesaikan penyiapan, lalu arahkan checkout dan webhook Anda ke Crypto Merchant. Tidak ada plugin yang perlu dipasang: Anda menggunakan link pembayaran, checkout yang di-hosting, atau API.
- 1
Buat akun
Daftar dengan email, nama, dan nama bisnis Anda. Kami tidak meminta dokumen identitas saat Anda membuat akun.
- 2
Pilih koin Anda
Aktifkan koin dan jaringan yang Anda inginkan. Tidak ada pembayaran aktivasi: akun Anda langsung aktif begitu penyiapan selesai.
- 3
Mulai menerima pembayaran
Bagikan halaman checkout Anda, buat link pembayaran atau invoice di portal, atau buat invoice dari situs Anda dengan API.
- 4
Arahkan webhook Anda
Tambahkan alamat HTTPS server Anda di menu Developer, periksa header
CM-Signaturepada setiap event, dan proses pesanan saatinvoice.paid. Webhook berisi detailnya. - 5
Pindahkan integrasi Anda
Jika situs Anda membuat charge Commerce melalui API, ikuti panduan migrasi di bawah. Jika tidak, ganti link pembayaran atau tombol lama di situs Anda dengan link pembayaran Crypto Merchant atau halaman checkout Anda.
Bagaimana cara bermigrasi dari Coinbase Commerce ke Crypto Merchant?
Integrasi Commerce Anda membuat charge dan menerima webhook. Dengan Crypto Merchant, Anda membuat invoice untuk setiap pesanan, mengarahkan pelanggan ke halaman checkout-nya, dan menangani webhook bertanda tangan. Langkah-langkah di bawah memetakan setiap tugas ke API kami; Referensi API berisi semua field.
Apa yang menggantikan apa
| Tugas di integrasi lama Anda | Dengan Crypto Merchant |
|---|---|
| Membuat pembayaran untuk pesanan | POST /invoicesBuat invoice dengan jumlah, mata uang, dan ID pesanan Anda. |
| Mengarahkan pelanggan untuk membayar | checkout_urlArahkan ke URL checkout invoice tersebut. |
| Menyimpan data Anda sendiri bersama pembayaran | metadataObjek JSON apa pun hingga 4 KB, dikembalikan pada invoice dan di webhook. |
| Mengetahui saat pembayaran selesai | invoice.paidEndpoint webhook yang memeriksa tanda tangan, lalu memproses pesanan pada event ini. |
| Memeriksa satu pembayaran | GET /invoices/{id}Ambil invoice-nya. |
| Mencocokkan pembayaran dengan pesanan | GET /invoices?status=paidTampilkan daftar invoice lunas, satu halaman setiap kali. |
| Menarik permintaan pembayaran yang belum dibayar | POST /invoices/{id}/cancelBatalkan invoice, sebelum ada pembayaran yang terdeteksi. |
1. Buat invoice, bukan charge
Buat kunci API di portal pada menu Developer (kunci live diawali dengan cm_live_) dan simpan di server Anda. Akun Anda harus sudah aktif terlebih dahulu: sampai penyiapan selesai, API menjawab 403 dengan kode merchant_not_live. Lalu, di setiap tempat kode Anda membuat charge, buat invoice. Nilai jumlahnya minimal harus 0.50 dolar AS.
curl https://cryptomerchant.online/api/v1/invoices \
-H "Authorization: Bearer $CM_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": "49.90",
"currency": "USD",
"order_id": "1042",
"redirect_url": "https://yourstore.example/orders/1042",
"metadata": { "cart_id": "c_8812" }
}'{
"id": "inv_…",
"object": "invoice",
"status": "open",
"amount": "49.9",
"currency": "USD",
"amount_usd": "49.9",
"order_id": "1042",
"metadata": { "cart_id": "c_8812" },
"coin": null,
"pay_address": null,
"pay_amount": null,
"checkout_url": "https://cryptomerchant.online/pay/i/inv_…",
"redirect_url": "https://yourstore.example/orders/1042",
"expires_at": "2026-10-30T10:30:00.000Z",
…
}Respons, dengan status 201, adalah objek invoice. Simpan id-nya bersama pesanan Anda. Statusnya dimulai sebagai open.
2. Arahkan pelanggan ke URL checkout
Arahkan pelanggan ke checkout_url invoice tersebut. Di sana mereka memilih koin dan jaringan, mendapatkan alamat deposit yang hanya digunakan untuk invoice ini, dan melihat jumlah tepat dengan kurs yang dikunci. Atur redirect_url untuk mengembalikan mereka ke situs Anda setelah membayar. Jika tidak ada pembayaran yang terdeteksi sebelum expires_at, invoice akan kedaluwarsa.
Commerce berjalan di Ethereum, Polygon, dan Base, dan Crypto Merchant menerima USDC di ketiganya. Untuk melewati pemilihan koin, kirim coin, misalnya USDC.BASE: pay_address dan pay_amount kemudian dikembalikan dalam keadaan terisi, sehingga Anda dapat menampilkan detail pembayaran sendiri.
// orders: your own data layer
app.post("/orders/:id/pay", async (req, res) => {
const order = await orders.find(req.params.id);
const r = await fetch("https://cryptomerchant.online/api/v1/invoices", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.CM_SECRET_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
amount: order.total, // for example "49.90"
currency: "USD",
order_id: order.id,
redirect_url: `https://yourstore.example/orders/${order.id}`,
}),
});
if (!r.ok) {
const { error } = await r.json();
throw new Error(`${error.code}: ${error.message}`);
}
const invoice = await r.json();
await orders.update(order.id, { invoiceId: invoice.id });
res.redirect(303, invoice.checkout_url);
});3. Verifikasi tanda tangan webhook
Tambahkan alamat HTTPS endpoint Anda di menu Developer. Setiap endpoint mendapat secret penandatanganan sendiri, yang diawali dengan whsec_. Setiap event adalah POST dengan header CM-Signature: t= timestamp Unix dalam detik, lalu v1= HMAC-SHA256 dalam format hex dari timestamp, sebuah titik, dan body mentah, dengan secret endpoint Anda sebagai kunci.
Hitung tanda tangan dari body mentah sebelum mem-parsing JSON, bandingkan dengan perbandingan waktu-konstan, dan tolak timestamp yang lebih dari lima menit. Balas dengan status 2xx dalam 10 detik; balasan lain akan dicoba ulang, hingga delapan kali selama sekitar dua hari.
import crypto from "node:crypto";
import express from "express";
// CM-Signature: t=<unix seconds>,v1=<hex HMAC-SHA256 of "<t>.<raw body>">
function verify(rawBody, header, secret) {
const parts = Object.fromEntries(
String(header ?? "").split(",").map((p) => p.trim().split("=")),
);
if (!parts.t || !parts.v1) return false;
const expected = crypto
.createHmac("sha256", secret) // your endpoint secret, whsec_…
.update(`${parts.t}.${rawBody}`)
.digest("hex");
const a = Buffer.from(expected);
const b = Buffer.from(parts.v1);
if (a.length !== b.length || !crypto.timingSafeEqual(a, b)) return false;
return Math.abs(Date.now() / 1000 - Number(parts.t)) <= 300; // 5 minutes
}
const app = express();
// db, tx.webhookEvents, tx.orders: your own data layer
app.post(
"/webhooks/crypto-merchant",
express.raw({ type: "application/json" }), // keep the raw body for the signature
async (req, res) => {
const raw = req.body.toString("utf8");
if (!verify(raw, req.get("CM-Signature"), process.env.CM_WEBHOOK_SECRET)) {
return res.sendStatus(400);
}
const event = JSON.parse(raw);
const invoice = event.data;
try {
await db.transaction(async (tx) => {
// A unique key on the event id: a repeated delivery is skipped.
const isNew = await tx.webhookEvents.insertIfAbsent(event.id);
if (!isNew) return;
if (event.type === "invoice.paid") {
await tx.orders.markPaid(invoice.order_id, invoice.id); // one-way: never moves back
} else if (event.type === "invoice.expired" || event.type === "invoice.cancelled") {
await tx.orders.cancelIfUnpaid(invoice.order_id);
}
});
} catch {
return res.sendStatus(500); // not 2xx: Crypto Merchant tries again later
}
res.sendStatus(200); // within 10 seconds
},
);4. Petakan status pembayaran
Proses pesanan hanya saat invoice.paid, dan petakan status lainnya ke sistem pesanan Anda seperti di bawah. Invoice kurang bayar masih dapat menjadi lunas jika pelanggan mengirim sisanya ke alamat yang sama.
| Status | Event webhook | Artinya | Yang harus dilakukan sistem pesanan Anda |
|---|---|---|---|
open | invoice.created | Dibuat. Pelanggan belum memilih koin. | Menunggu pembayaran. |
awaiting_payment | Tidak ada | Koin sudah dipilih, alamat deposit sudah ditetapkan, dan kurs sudah dikunci. | Masih menunggu: pelanggan sudah memilih cara membayar. |
confirming | invoice.confirming | Pembayaran terdeteksi on-chain dan sedang menunggu konfirmasi. | Tampilkan “pembayaran diterima, sedang dikonfirmasi”. Jangan kirim barang dulu. |
underpaid | invoice.underpaid | Pembayaran yang dikonfirmasi kurang lebih dari toleransi Anda. Pelanggan dapat membayar sisanya atau meminta pengembalian dana. | Jangan kirim barang. Pelanggan dapat membayar sisanya atau meminta pengembalian dana. |
paid | invoice.paid | Lunas dan dikonfirmasi. Jumlahnya, dikurangi biaya, sudah masuk ke saldo Anda. Pengembalian dana sebagian tidak mengubah status ini. | Tandai sebagai lunas dan proses pesanan. |
expired | invoice.expired | Waktu habis sebelum ada pembayaran yang terdeteksi. | Lepaskan stok atau batalkan pesanan. |
cancelled | invoice.cancelled | Invoice dibatalkan sebelum ada pembayaran yang terdeteksi. | Batalkan pesanan. |
refunded | invoice.refunded | Pelanggan menerima pengembalian atas jumlah yang mereka kirim pada invoice kurang bayar, atau Anda mengembalikan seluruh jumlah yang Anda terima dari invoice yang lunas. | Batalkan pesanan: pelanggan sudah mendapatkan koinnya kembali. |
5. Tangani webhook duplikat dan yang tidak berurutan
Event dapat tiba lebih dari sekali, dan tidak selalu berurutan. Simpan id setiap event (juga dikirim di header CM-Event-Id) dengan kunci unik, dalam transaksi database yang sama dengan pembaruan pesanan, dan lewati event yang sudah Anda simpan. Buat perubahan status hanya berjalan satu arah, agar invoice.confirming yang terlambat tidak pernah mengembalikan pesanan yang sudah lunas. Sebelum mengirim barang bernilai tinggi, ambil invoice dari API untuk memeriksa ulang statusnya.
6. Rekonsiliasi
Tampilkan daftar invoice lunas 100 sekaligus, mengikuti starting_after selama has_more bernilai true, dan cocokkan setiap invoice dengan pesanan berdasarkan order_id atau metadata.
// Every paid invoice, newest first. Match each one to an order by order_id.
async function paidInvoices() {
const all = [];
let after = null;
do {
const url = new URL("https://cryptomerchant.online/api/v1/invoices");
url.searchParams.set("status", "paid");
url.searchParams.set("limit", "100");
if (after) url.searchParams.set("starting_after", after);
const r = await fetch(url, {
headers: { Authorization: `Bearer ${process.env.CM_SECRET_KEY}` },
});
const page = await r.json();
all.push(...page.data);
after = page.has_more ? page.data[page.data.length - 1].id : null;
} while (after);
return all;
}Saldo Anda dikreditkan sebesar jumlah invoice (atau jumlah yang sedikit lebih kecil yang diterima, jika kurang bayar dalam batas toleransi Anda diterima), dikurangi biaya 1%, dalam koin yang dibayarkan. Kelebihan bayar tidak dikreditkan kepada Anda: Crypto Merchant menyimpan kelebihannya untuk pelanggan, yang dapat menariknya dari halaman invoice. Halaman Laporan di portal memberikan bruto, biaya, dan neto untuk periode apa pun sebagai CSV, dan GET /balances menunjukkan apa yang Anda miliki saat ini.
Pertanyaan yang sering diajukan
Apa yang terjadi dengan Coinbase Commerce?
Apa alternatif Coinbase Commerce terbaik di luar AS?
Berapa biaya Coinbase Business?
Apakah Crypto Merchant bersifat kustodian seperti Coinbase Business?
Bisakah saya tetap menerima USDC di Base?
Gateway lain yang dibandingkan
- Crypto Merchant vs NOWPayments
- Crypto Merchant vs CoinGate
- Crypto Merchant vs BitPay
- Crypto Merchant vs Cryptomus
- Crypto Merchant vs Plisio
- Crypto Merchant vs CoinPayments
- Crypto Merchant vs OxaPay
- Crypto Merchant vs Binance Pay
- Crypto Merchant vs BTCPay Server
- Crypto Merchant vs Heleket
- Crypto Merchant vs Coinremitter
Semua gateway dalam satu tabel
Mulai terima kripto hari ini
Pendaftaran gratis tanpa perlu dokumen, 1% per invoice lunas, dan pencairan kapan pun Anda mau.