Lựa chọn thay thế
Lựa chọn thay thế Coinbase Commerce: Crypto Merchant và Coinbase Commerce (2026)
Coinbase Commerce đã đóng cửa sau ngày 31 tháng 3 năm 2026: Coinbase gộp dịch vụ này vào Coinbase Business, vốn chỉ chấp nhận doanh nghiệp đã đăng ký tại Mỹ và Singapore, và yêu cầu những người bán khác “chuyển sang một nhà cung cấp thay thế”. Crypto Merchant phù hợp với người bán ở ngoài hai quốc gia đó muốn tiếp tục nhận USDC và các coin khác qua API hoặc liên kết thanh toán. Đây không phải lựa chọn phù hợp nếu bạn muốn tự giữ khóa như khi dùng Commerce, hoặc bạn cần plugin hay tất toán về ngân hàng.
Kiểm tra lần cuối: 29 tháng 10, 2026
Bảng so sánh này do Crypto Merchant biên soạn, và chúng tôi không liên kết với bất kỳ cổng thanh toán nào được nêu ở đây. Mọi thông tin về đối thủ đều lấy từ chính các trang của nhà cung cấp, được liên kết bên dưới bảng. Giá và điều khoản có thể thay đổi, vì vậy hãy kiểm tra trước khi bạn quyết định.
Crypto Merchant so với Coinbase Commerce như thế nào?
Coinbase Business, dịch vụ kế nhiệm Commerce, là dịch vụ lưu ký giống Crypto Merchant, nhưng chỉ phục vụ Mỹ và Singapore và chỉ nhận USDC và USDT. Crypto Merchant nhận đăng ký từ mọi quốc gia và chấp nhận 11 coin, nhưng không có plugin hay chi trả về ngân hàng.
| Tính năng | Crypto Merchant | Coinbase Business |
|---|---|---|
| Phí thanh toán | 1% trên mỗi hóa đơn đã thanh toán, bằng coin được thanh toán, khấu trừ khi được cộng vào số dư. Hóa đơn hết hạn hoặc bị hủy không mất phí. | 1% cho người bán chuyển từ Commerce sang. Không có mức phí công khai cho người bán mới: Coinbase yêu cầu đăng nhập để xem phí hiện hành.[1][2] |
| Phí hằng tháng và phí thiết lập | Không có, và không có phí thiết lập. Không cần thanh toán để kích hoạt: tài khoản được kích hoạt ngay khi thiết lập xong. | “Không có phí nộp đơn”. Phí hằng tháng chưa xác nhận.[2] |
| Chuyển đổi | Tùy chọn: hoán đổi tất cả sang một coin nắm giữ. Tỷ giá là giá thị trường trực tiếp và đã bao gồm biên phí dịch vụ 1%. | Thanh toán được tất toán bằng USDC. Chuyển đổi tự động từ USDC sang USD “có tính phí”; mức phí không công khai.[2][3] |
| Chi trả và rút tiền | Bất cứ lúc nào, có phí gas cho mỗi lần chi trả. Chi trả thủ công không có mức tối thiểu cố định; chi trả tự động chờ đủ 5 $ mỗi coin. Mỗi coin về địa chỉ riêng, hoặc hoán đổi sang một coin nắm giữ trước. | Rút về ngân hàng của bạn “bất cứ lúc nào”, với “không khóa tiền, không mức tối thiểu”, và có sản phẩm Payouts. Công cụ rút tiền cũ của Commerce bị vô hiệu hóa vĩnh viễn sau ngày 31 tháng 3 năm 2026.[1][2][3] |
| KYC hoặc KYB khi đăng ký | Email, tên và tên doanh nghiệp. Chúng tôi không yêu cầu giấy tờ tùy thân khi bạn tạo tài khoản. | Một pháp nhân doanh nghiệp đã đăng ký và một tài khoản ngân hàng doanh nghiệp.[1][2] |
| Lưu ký | Lưu ký. Chúng tôi giữ khóa; mọi ví đều được tạo từ một cụm từ khôi phục được lưu ngoại tuyến trên giấy. Các khoản thanh toán được tập trung vào một ví pool dành riêng cho doanh nghiệp của bạn. | Chỉ lưu ký. Commerce (cũ) là dịch vụ tự lưu ký.[1] |
| Coin và mạng | 11 coin trên 11 mạng. USDT trên Ethereum, BNB Smart Chain, Polygon, Arbitrum One, Tron và Solana. USDC trên Ethereum, BNB Smart Chain, Polygon, Base, Arbitrum One và Solana. Cùng với BTC, ETH, LTC, SOL, XRP, BNB, TRX, POL và GRAM (TON). | USDC trên Ethereum, Base, Polygon, Optimism, Avalanche và Arbitrum. USDT chỉ trên Ethereum, tại Mỹ và một số khu vực pháp lý nhất định. Không nêu việc nhận BTC, ETH, SOL hay TRX.[3] |
| Giới hạn quốc gia | Bất kỳ ai, ở bất kỳ quốc gia nào, cũng có thể đăng ký. Điều khoản cấm hàng hóa bất hợp pháp, gian lận và lẩn tránh lệnh trừng phạt. | Chỉ doanh nghiệp tại Mỹ và Singapore.[2] |
| Plugin thương mại điện tử | Không có: không có plugin WooCommerce, Shopify hay WHMCS. Hãy dùng liên kết thanh toán, trang thanh toán được lưu trữ sẵn hoặc API. | WooCommerce, Magento (Adobe Commerce) và WHMCS, cùng phần mềm kế toán QuickBooks và Xero.[1][3] |
| Tất toán bằng tiền pháp định (ngân hàng) | Không. Chỉ crypto: chi trả được gửi đến địa chỉ crypto. | Có: rút tiền về tài khoản ngân hàng doanh nghiệp của bạn.[1][3] |
| API và webhook | REST API với khóa Bearer cho hóa đơn, liên kết thanh toán, số dư và coin. Webhook được ký bằng HMAC-SHA256, được thử lại trong khoảng hai ngày. | Checkouts API và thanh toán qua agent x402.[3] |
| Liên kết thanh toán | Có: liên kết giá cố định hoặc trả tùy ý, trang thanh toán được lưu trữ sẵn và hóa đơn. | Có: liên kết thanh toán và lập hóa đơn.[3] |
Nguồn
Mọi thông tin về Coinbase Commerce trong bảng đều lấy từ các trang này, được kiểm tra ngày 29 tháng 10, 2026. “Chưa xác nhận” nghĩa là không trang nào trong số đó nêu điều này.
- [1]Trợ giúp Coinbase: chuyển từ Commerce sang 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
Khi nào Coinbase Commerce là lựa chọn tốt hơn?
Coinbase Business là lựa chọn tốt hơn nếu doanh nghiệp của bạn đăng ký tại Mỹ hoặc Singapore và bạn muốn tiền về tài khoản ngân hàng.
- Doanh nghiệp của bạn đăng ký tại Mỹ hoặc Singapore và có tài khoản ngân hàng doanh nghiệp. Bạn có thể chuyển sang Coinbase Business, và Coinbase cho biết người bán chuyển từ Commerce sang được giữ mức phí 1%.
- Bạn muốn có đô la trong ngân hàng: Coinbase Business rút tiền về tài khoản ngân hàng của bạn. Crypto Merchant chỉ chi trả bằng crypto.
- Bạn dùng WooCommerce, Magento hoặc WHMCS, hoặc ghi sổ sách trên QuickBooks hay Xero. Coinbase Business hoạt động với các nền tảng này; Crypto Merchant không có plugin.
- Bạn muốn một nhà cung cấp đã có thành tích hoạt động và đánh giá. Crypto Merchant ra mắt ngày 28 tháng 10 năm 2026 và hiện chưa có cả hai.
Khi nào Crypto Merchant phù hợp hơn?
Crypto Merchant phù hợp hơn nếu bạn ở ngoài Mỹ và Singapore, hoặc khách hàng của bạn thanh toán bằng nhiều loại hơn USDC.
- Doanh nghiệp của bạn ở ngoài Mỹ và Singapore. Bất kỳ ai, ở bất kỳ quốc gia nào, cũng có thể đăng ký, và chúng tôi không yêu cầu giấy tờ tùy thân khi bạn tạo tài khoản.
- Khách hàng của bạn trả USDT trên Tron hoặc một mạng khác, hoặc trả bằng BTC, ETH, SOL, LTC, XRP, BNB, TRX, POL hay GRAM. Coinbase Business nhận USDC, và USDT chỉ trên Ethereum.
- Bạn muốn một mức giá được công bố: 1% mỗi hóa đơn đã thanh toán và không phí hằng tháng.
- Bạn đang chuyển một tích hợp dành cho nhà phát triển. Hóa đơn, REST API và webhook có chữ ký đáp ứng những gì một tích hợp Commerce từng làm, và hướng dẫn bên dưới đối chiếu từng bước.
Làm thế nào để chuyển từ Coinbase Commerce sang Crypto Merchant?
Đăng ký, hoàn tất thiết lập, rồi trỏ trang thanh toán và webhook của bạn sang Crypto Merchant. Không có plugin nào cần cài đặt: bạn dùng liên kết thanh toán, trang thanh toán được lưu trữ sẵn hoặc API.
- 1
Tạo tài khoản
Đăng ký bằng email, tên của bạn và tên doanh nghiệp. Chúng tôi không yêu cầu giấy tờ tùy thân khi bạn tạo tài khoản.
- 2
Chọn coin của bạn
Bật các coin và mạng bạn muốn. Không cần thanh toán để kích hoạt: tài khoản của bạn được kích hoạt ngay khi thiết lập xong.
- 3
Bắt đầu nhận thanh toán
Chia sẻ trang thanh toán của bạn, tạo liên kết thanh toán hoặc hóa đơn trong cổng quản lý, hoặc tạo hóa đơn từ trang web của bạn bằng API.
- 4
Trỏ webhook của bạn
Thêm địa chỉ HTTPS của máy chủ trong mục Nhà phát triển, kiểm tra header
CM-Signaturetrên mọi sự kiện, và xử lý đơn hàng khi nhậninvoice.paid. Webhook có thông tin chi tiết. - 5
Chuyển tích hợp của bạn
Nếu trang web của bạn tạo charge Commerce qua API, hãy làm theo hướng dẫn chuyển đổi bên dưới. Nếu không, hãy thay các liên kết thanh toán hoặc nút cũ trên trang web bằng liên kết thanh toán của Crypto Merchant hoặc trang thanh toán của bạn.
Làm thế nào để chuyển từ Coinbase Commerce sang Crypto Merchant?
Tích hợp Commerce của bạn tạo các charge và nhận webhook. Với Crypto Merchant, bạn tạo một hóa đơn cho mỗi đơn hàng, đưa khách hàng đến trang thanh toán của hóa đơn, và xử lý webhook có chữ ký. Các bước dưới đây đối chiếu từng việc với API của chúng tôi; Tài liệu tham khảo API có mọi trường.
Cái gì thay thế cái gì
| Việc trong tích hợp cũ của bạn | Với Crypto Merchant |
|---|---|
| Tạo một khoản thanh toán cho đơn hàng | POST /invoicesTạo hóa đơn với số tiền, loại tiền tệ và mã đơn hàng của bạn. |
| Đưa khách hàng đến trang thanh toán | checkout_urlChuyển hướng đến URL thanh toán của hóa đơn. |
| Lưu dữ liệu riêng của bạn cùng khoản thanh toán | metadataBất kỳ đối tượng JSON nào tối đa 4 KB, được trả về trên hóa đơn và trong webhook. |
| Nhận biết khi một khoản thanh toán hoàn tất | invoice.paidMột endpoint webhook kiểm tra chữ ký, rồi xử lý đơn hàng khi nhận sự kiện này. |
| Kiểm tra một khoản thanh toán | GET /invoices/{id}Lấy thông tin hóa đơn. |
| Đối chiếu khoản thanh toán với đơn hàng | GET /invoices?status=paidLiệt kê các hóa đơn đã thanh toán, từng trang một. |
| Rút lại một yêu cầu thanh toán chưa được trả | POST /invoices/{id}/cancelHủy hóa đơn, trước khi phát hiện bất kỳ khoản thanh toán nào. |
1. Tạo hóa đơn thay vì charge
Tạo khóa API trong cổng quản lý tại mục Nhà phát triển (khóa live bắt đầu bằng cm_live_) và giữ khóa trên máy chủ của bạn. Tài khoản của bạn phải được kích hoạt trước: cho đến khi thiết lập hoàn tất, API sẽ trả về 403 với mã merchant_not_live. Sau đó, ở mọi chỗ mã của bạn từng tạo charge, hãy tạo hóa đơn. Số tiền phải có giá trị ít nhất 0.50 đô la Mỹ.
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",
…
}Phản hồi, với trạng thái 201, là đối tượng hóa đơn. Lưu id của hóa đơn cùng đơn hàng. Trạng thái ban đầu là open.
2. Đưa khách hàng đến URL thanh toán
Chuyển hướng khách hàng đến checkout_url của hóa đơn. Tại đó họ chọn coin và mạng, nhận một địa chỉ nạp chỉ dùng cho hóa đơn này, và thấy số tiền chính xác theo tỷ giá đã khóa. Đặt redirect_url để đưa họ quay lại trang web của bạn sau khi thanh toán. Nếu không phát hiện khoản thanh toán nào trước expires_at, hóa đơn sẽ hết hạn.
Commerce chạy trên Ethereum, Polygon và Base, và Crypto Merchant chấp nhận USDC trên cả ba mạng. Để bỏ qua bước chọn coin, hãy truyền coin, ví dụ USDC.BASE: khi đó pay_address và pay_amount được trả về sẵn, để bạn có thể tự hiển thị thông tin thanh toán.
// 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. Xác minh chữ ký webhook
Thêm địa chỉ HTTPS của endpoint trong mục Nhà phát triển. Mỗi endpoint có khóa bí mật ký riêng, bắt đầu bằng whsec_. Mọi sự kiện đều là một POST với header CM-Signature: t= là dấu thời gian Unix tính bằng giây, sau đó v1= là HMAC-SHA256 dạng hex của dấu thời gian, một dấu chấm và body thô, dùng khóa bí mật của endpoint làm khóa.
Tính chữ ký trên body thô trước khi phân tích JSON, so sánh bằng phép so sánh thời gian hằng định (constant-time), và từ chối dấu thời gian cũ hơn năm phút. Trả lời bằng trạng thái 2xx trong vòng 10 giây; mọi phản hồi khác sẽ được thử lại, tối đa tám lần trong khoảng hai ngày.
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. Đối chiếu trạng thái thanh toán
Chỉ xử lý đơn hàng khi nhận invoice.paid, và đối chiếu các trạng thái khác với hệ thống đơn hàng của bạn như bên dưới. Một hóa đơn thanh toán thiếu vẫn có thể trở thành đã thanh toán nếu khách hàng gửi phần còn lại đến cùng địa chỉ.
| Trạng thái | Sự kiện webhook | Ý nghĩa | Hệ thống đơn hàng của bạn nên làm gì |
|---|---|---|---|
open | invoice.created | Đã tạo. Khách hàng chưa chọn coin. | Đang chờ thanh toán. |
awaiting_payment | Không có | Đã chọn coin, đã gán địa chỉ nạp và đã chốt tỷ giá. | Vẫn đang chờ: khách hàng đã chọn cách thanh toán. |
confirming | invoice.confirming | Đã thấy một khoản thanh toán on-chain và đang chờ xác nhận. | Hiển thị “đã nhận thanh toán, đang xác nhận”. Chưa giao hàng. |
underpaid | invoice.underpaid | Khoản thanh toán đã xác nhận thiếu nhiều hơn mức dung sai của bạn. Khách hàng có thể trả phần còn lại hoặc yêu cầu hoàn tiền. | Không giao hàng. Khách hàng có thể trả phần còn lại hoặc yêu cầu hoàn tiền. |
paid | invoice.paid | Đã thanh toán và xác nhận. Số tiền, sau khi trừ phí, đã vào số dư của bạn. Hoàn tiền một phần vẫn giữ trạng thái này. | Đánh dấu là đã thanh toán và xử lý đơn hàng. |
expired | invoice.expired | Đã hết thời gian trước khi thấy khoản thanh toán nào. | Giải phóng hàng tồn kho hoặc hủy đơn hàng. |
cancelled | invoice.cancelled | Hóa đơn đã bị hủy trước khi thấy khoản thanh toán nào. | Hủy đơn hàng. |
refunded | invoice.refunded | Khách hàng đã được hoàn lại số đã gửi cho một hóa đơn thanh toán thiếu, hoặc bạn đã hoàn toàn bộ số bạn giữ lại từ một hóa đơn đã thanh toán. | Hủy đơn hàng: khách hàng đã nhận lại coin của mình. |
5. Xử lý webhook trùng lặp và sai thứ tự
Sự kiện có thể đến nhiều lần, và không phải lúc nào cũng theo thứ tự. Lưu id của mỗi sự kiện (cũng được gửi trong header CM-Event-Id) dưới một khóa duy nhất, trong cùng giao dịch cơ sở dữ liệu với việc cập nhật đơn hàng, và bỏ qua các sự kiện bạn đã lưu. Chỉ cho phép thay đổi trạng thái theo một chiều, để một invoice.confirming đến muộn không bao giờ đưa đơn hàng đã thanh toán quay lại. Trước khi giao một món hàng giá trị, hãy lấy hóa đơn từ API để kiểm tra lại trạng thái.
6. Đối soát
Liệt kê các hóa đơn đã thanh toán, mỗi lần 100 hóa đơn, theo starting_after chừng nào has_more còn là true, và đối chiếu từng hóa đơn với một đơn hàng theo order_id hoặc 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;
}Số dư của bạn được cộng số tiền của hóa đơn (hoặc số tiền nhận được thấp hơn một chút, nếu một khoản thiếu trong mức dung sai của bạn được chấp nhận), trừ đi phí 1%, bằng coin được thanh toán. Các khoản trả thừa không được cộng cho bạn: Crypto Merchant giữ phần thừa cho khách hàng, người có thể rút phần đó từ trang hóa đơn. Trang Báo cáo trong cổng quản lý cung cấp tổng doanh thu, phí và số tiền thực nhận cho bất kỳ khoảng thời gian nào dưới dạng CSV, và GET /balances cho biết số dư hiện tại của bạn.
Câu hỏi thường gặp
Điều gì đã xảy ra với Coinbase Commerce?
Lựa chọn thay thế Coinbase Commerce tốt nhất bên ngoài Mỹ là gì?
Coinbase Business thu phí bao nhiêu?
Crypto Merchant có phải là dịch vụ lưu ký giống Coinbase Business không?
Tôi có thể tiếp tục nhận USDC trên Base không?
Các cổng khác được so sánh
- Crypto Merchant và NOWPayments
- Crypto Merchant và CoinGate
- Crypto Merchant và BitPay
- Crypto Merchant và Cryptomus
- Crypto Merchant và Plisio
- Crypto Merchant và CoinPayments
- Crypto Merchant và OxaPay
- Crypto Merchant và Binance Pay
- Crypto Merchant và BTCPay Server
- Crypto Merchant và Heleket
- Crypto Merchant và Coinremitter
Tất cả các cổng trong một bảng
Bắt đầu nhận crypto ngay hôm nay
Thiết lập miễn phí, không cần giấy tờ khi đăng ký, 1% mỗi hóa đơn đã thanh toán và chi trả bất cứ khi nào bạn muốn.