البدائل
بديل Coinbase Commerce: Crypto Merchant مقابل Coinbase Commerce (2026)
أُغلقت Coinbase Commerce بعد 31 مارس 2026: دمجتها Coinbase في Coinbase Business، التي لا تقبل إلا الأنشطة التجارية المسجلة في الولايات المتحدة وسنغافورة، وطلبت من التجار الآخرين «الانتقال إلى مزوّد بديل». تناسب Crypto Merchant التجار خارج هاتين الدولتين الذين يريدون مواصلة قبول USDC وعملات أخرى عبر API أو روابط الدفع. وليست الخيار المناسب إذا كنت تريد الاحتفاظ بمفاتيحك بنفسك كما كنت تفعل مع Commerce، أو إذا كنت تحتاج إلى إضافات أو تسوية مصرفية.
آخر تحقق: 29 أكتوبر 2026
كتبت Crypto Merchant هذه المقارنة، ولسنا تابعين لأي بوابة دفع مذكورة هنا. كل معلومة عن المنافسين مأخوذة من صفحات المزوّد نفسه، والروابط إليها أسفل الجدول. الأسعار والشروط تتغير، لذا تحقق منها قبل أن تقرر.
كيف تُقارن Crypto Merchant مع Coinbase Commerce؟
Coinbase Business، خليفة Commerce، تعمل بنظام الحفظ مثل Crypto Merchant، لكنها تخدم الولايات المتحدة وسنغافورة فقط ولا تقبل إلا USDC وUSDT. تقبل Crypto Merchant التسجيل من أي دولة وتقبل 11 عملة، لكن ليس لديها إضافات ولا صرف إلى البنوك.
| الميزة | Crypto Merchant | Coinbase Business |
|---|---|---|
| رسوم الدفع | 1% من كل فاتورة مدفوعة، بالعملة المدفوعة، تُخصم عند إضافتها إلى رصيدك. الفواتير المنتهية الصلاحية أو الملغاة لا تكلّف شيئًا. | 1% للتجار الذين انتقلوا من Commerce. لا يوجد سعر معلن للتجار الجدد: تقول Coinbase إن عليك تسجيل الدخول لرؤية الرسوم الحالية.[1][2] |
| الرسوم الشهرية ورسوم الإعداد | لا توجد، ولا رسوم إعداد. لا توجد أي دفعة للتفعيل: يصبح الحساب مفعّلًا بمجرد إتمام الإعداد. | «بلا رسوم طلب». الرسوم الشهرية غير مؤكدة.[2] |
| التحويل بين العملات | اختياري: مبادلة كل شيء إلى عملة احتفاظ واحدة. السعر هو سعر السوق الحالي ويتضمن هامش خدمة بنسبة 1%. | تُسوّى المدفوعات بعملة USDC. التحويل التلقائي من USDC إلى USD «يخضع لرسوم»؛ والمبلغ غير معلن.[2][3] |
| الصرف والسحب | في أي وقت، مع رسوم غاز على كل عملية صرف. لا حد أدنى محدد للصرف اليدوي؛ والصرف التلقائي ينتظر 5 دولارات لكل عملة. كل عملة إلى عنوانها الخاص، أو مبادلتها أولًا إلى عملة احتفاظ واحدة. | السحب إلى بنكك «في أي وقت»، «بلا فترات تجميد، بلا حدود دنيا»، ومنتج Payouts. أداة السحب القديمة في Commerce معطّلة نهائيًا بعد 31 مارس 2026.[1][2][3] |
| KYC أو KYB للتسجيل | البريد الإلكتروني والاسم واسم النشاط التجاري. لا نطلب وثائق هوية عند إنشاء حساب. | كيان تجاري مسجل وحساب بنكي تجاري.[1][2] |
| الحفظ | بنظام الحفظ. نحتفظ بالمفاتيح؛ وكل محفظة مشتقة من عبارة استرداد واحدة محفوظة دون اتصال على الورق. تتجمع المدفوعات في محفظة مجمّع مخصصة لنشاطك التجاري. | بنظام الحفظ فقط. كانت Commerce (القديمة) ذاتية الحفظ.[1] |
| العملات والشبكات | 11 عملة على 11 شبكة. USDT على Ethereum وBNB Smart Chain وPolygon وArbitrum One وTron وSolana. USDC على Ethereum وBNB Smart Chain وPolygon وBase وArbitrum One وSolana. بالإضافة إلى BTC وETH وLTC وSOL وXRP وBNB وTRX وPOL وGRAM (TON). | USDC على Ethereum وBase وPolygon وOptimism وAvalanche وArbitrum. USDT على Ethereum فقط، في الولايات المتحدة وولايات قضائية مختارة. لم يُذكر قبول BTC أو ETH أو SOL أو TRX.[3] |
| قيود الدول | يمكن لأي شخص، في أي دولة، التسجيل. تحظر الشروط السلع غير القانونية والاحتيال والتهرب من العقوبات. | الأنشطة التجارية في الولايات المتحدة وسنغافورة فقط.[2] |
| إضافات التجارة الإلكترونية | لا توجد: لا إضافة لـ WooCommerce أو Shopify أو WHMCS. استخدم روابط الدفع أو صفحة الدفع المستضافة أو API. | WooCommerce وMagento (Adobe Commerce) وWHMCS، بالإضافة إلى برنامجي المحاسبة QuickBooks وXero.[1][3] |
| التسوية بالعملات الورقية (البنك) | لا. العملات المشفرة فقط: يتم الصرف إلى عناوين عملات مشفرة. | نعم: السحب إلى حسابك البنكي التجاري.[1][3] |
| API وWebhooks | REST API بمفاتيح Bearer للفواتير وروابط الدفع والأرصدة والعملات. Webhooks موقّعة باستخدام HMAC-SHA256، وتُعاد محاولة إرسالها لمدة يومين تقريبًا. | Checkouts API ومدفوعات الوكلاء x402.[3] |
| روابط الدفع | نعم: روابط بسعر ثابت أو بمبلغ يحدده العميل، وصفحة دفع مستضافة، وفواتير. | نعم: روابط الدفع والفوترة.[3] |
المصادر
كل معلومة عن Coinbase Commerce في الجدول مأخوذة من هذه الصفحات، وتم التحقق منها في 29 أكتوبر 2026. تعني «غير مؤكد» أن أيًا منها لم يذكر ذلك.
- [1]مساعدة Coinbase: الانتقال من Commerce إلى Business: https://help.coinbase.com/en/transitioning-from-coinbase-commerce-to-coinbase-business
- [2]Coinbase Business: https://www.coinbase.com/business
- [3]Coinbase Business: صفحات الدفع (checkouts): https://www.coinbase.com/business/features-checkouts
متى تكون Coinbase Commerce الخيار الأفضل؟
Coinbase Business هي الخيار الأفضل إذا كان نشاطك التجاري مسجلًا في الولايات المتحدة أو سنغافورة وتريد الأموال في حساب بنكي.
- نشاطك التجاري مسجل في الولايات المتحدة أو سنغافورة ولديه حساب بنكي تجاري. يمكنك الانتقال إلى Coinbase Business، وتقول Coinbase إن التجار المنتقلين من Commerce يحتفظون بسعر 1%.
- تريد دولارات في البنك: تسحب Coinbase Business إلى حسابك البنكي. تصرف Crypto Merchant بالعملات المشفرة فقط.
- تستخدم WooCommerce أو Magento أو WHMCS، أو تمسك حساباتك في QuickBooks أو Xero. تعمل Coinbase Business معها؛ وليس لدى Crypto Merchant إضافات.
- تريد مزوّدًا لديه سجل حافل ومراجعات. انطلقت Crypto Merchant في 28 أكتوبر 2026 وليس لديها أي منهما بعد.
متى تكون Crypto Merchant الأنسب؟
Crypto Merchant الأنسب إذا كنت خارج الولايات المتحدة وسنغافورة، أو إذا كان عملاؤك يدفعون بعملات غير USDC.
- نشاطك التجاري خارج الولايات المتحدة وسنغافورة. يمكن لأي شخص، في أي دولة، التسجيل، ولا نطلب وثائق هوية عند إنشاء حساب.
- يدفع عملاؤك USDT على Tron أو شبكة أخرى، أو يدفعون بـ BTC أو ETH أو SOL أو LTC أو XRP أو BNB أو TRX أو POL أو GRAM. تقبل Coinbase Business عملة USDC، وUSDT على Ethereum فقط.
- تريد سعرًا معلنًا: 1% لكل فاتورة مدفوعة، بلا رسوم شهرية.
- تنقل تكاملًا برمجيًا. تغطي الفواتير وREST API وWebhooks الموقّعة ما كان يفعله تكامل Commerce، ويطابق الدليل أدناه كل خطوة.
كيف أنتقل من Coinbase Commerce إلى Crypto Merchant؟
سجّل، وأكمل الإعداد، ثم وجّه صفحة الدفع وWebhooks إلى Crypto Merchant. لا توجد إضافة لتثبيتها: تستخدم روابط الدفع أو صفحة الدفع المستضافة أو API.
- 1
أنشئ حسابًا
سجّل باستخدام بريدك الإلكتروني واسمك واسم نشاطك التجاري. لا نطلب وثائق هوية عند إنشاء حساب.
- 2
اختر عملاتك
فعّل العملات والشبكات التي تريدها. لا توجد أي دفعة للتفعيل: يصبح حسابك مفعّلًا بمجرد إتمام الإعداد.
- 3
- 4
وجّه Webhooks الخاصة بك
أضف عنوان HTTPS لخادمك ضمن المطورون، وتحقق من ترويسة
CM-Signatureفي كل حدث، ونفّذ الطلبات عندinvoice.paid. التفاصيل في Webhooks. - 5
انقل تكاملك
إذا كان موقعك ينشئ عمليات دفع (charges) في Commerce عبر API، فاتبع دليل الترحيل أدناه. وإن لم يكن كذلك، فاستبدل روابط الدفع أو الأزرار القديمة في موقعك بـ روابط دفع من Crypto Merchant أو بصفحة الدفع الخاصة بك.
كيف أنتقل من Coinbase Commerce إلى Crypto Merchant؟
كان تكامل Commerce الخاص بك ينشئ عمليات دفع (charges) ويتلقى Webhooks. مع Crypto Merchant تنشئ فاتورة لكل طلب، وتوجّه العميل إلى صفحة الدفع الخاصة بها، وتعالج Webhooks الموقّعة. تطابق الخطوات أدناه كل مهمة مع API لدينا؛ ويتضمن مرجع API كل الحقول.
ما الذي يحل محل ماذا
| المهمة في تكاملك القديم | مع Crypto Merchant |
|---|---|
| إنشاء دفعة لطلب | POST /invoicesأنشئ فاتورة بالمبلغ والعملة ومعرّف طلبك. |
| توجيه العميل للدفع | checkout_urlأعد التوجيه إلى رابط صفحة الدفع الخاص بالفاتورة. |
| الاحتفاظ ببياناتك الخاصة مع الدفعة | metadataأي كائن JSON حتى 4 KB، يُعاد في الفاتورة وفي Webhooks. |
| معرفة اكتمال الدفعة | invoice.paidنقطة نهاية Webhook تتحقق من التوقيع، ثم تنفّذ الطلب عند هذا الحدث. |
| التحقق من دفعة واحدة | GET /invoices/{id}استرجع الفاتورة. |
| مطابقة المدفوعات مع الطلبات | GET /invoices?status=paidاعرض الفواتير المدفوعة، صفحة تلو الأخرى. |
| سحب طلب دفع لم يُدفع | POST /invoices/{id}/cancelألغِ الفاتورة، قبل رصد أي دفعة. |
1. أنشئ فاتورة بدلًا من عملية دفع (charge)
أنشئ مفتاح API في البوابة ضمن المطورون (تبدأ المفاتيح الحية بـ cm_live_) واحتفظ به على خادمك. يجب أن يكون حسابك مفعّلًا أولًا: إلى أن يكتمل الإعداد، تُجيب API بالحالة 403 مع الرمز merchant_not_live. ثم، في كل موضع كان الكود فيه ينشئ عملية دفع (charge)، أنشئ فاتورة. يجب ألا تقل قيمة المبلغ عن 0.50 دولار أمريكي.
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",
…
}الاستجابة، بالحالة 201، هي كائن الفاتورة. احفظ id الخاص بها مع طلبك. تبدأ حالتها بـ open.
2. وجّه العملاء إلى رابط صفحة الدفع
أعد توجيه العميل إلى checkout_url الخاص بالفاتورة. هناك يختار عملة وشبكة، ويحصل على عنوان إيداع يُستخدم لهذه الفاتورة فقط، ويرى المبلغ الدقيق بسعر مثبّت. عيّن redirect_url لإعادته إلى موقعك بعد الدفع. إذا لم تُرصد أي دفعة بحلول expires_at، تنتهي صلاحية الفاتورة.
كانت Commerce تعمل على Ethereum وPolygon وBase، وتقبل Crypto Merchant عملة USDC على الثلاث كلها. لتخطي اختيار العملة، مرّر coin، مثل USDC.BASE: عندها تعود pay_address وpay_amount معبّأتين، فيمكنك عرض تفاصيل الدفع بنفسك.
// 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. تحقق من توقيع Webhook
أضف عنوان HTTPS لنقطة النهاية الخاصة بك ضمن المطورون. تحصل كل نقطة نهاية على سرّ توقيع خاص بها، يبدأ بـ whsec_. كل حدث عبارة عن طلب POST مع ترويسة CM-Signature تتضمن t= وهو طابع زمني Unix بالثواني، ثم v1= وهو قيمة HMAC-SHA256 بالنظام الست عشري للطابع الزمني متبوعًا بنقطة ثم النص الخام، باستخدام سرّ نقطة النهاية كمفتاح.
احسبها على النص الخام قبل تحليل JSON، وقارنها في زمن ثابت، وارفض الطوابع الزمنية التي يزيد عمرها على خمس دقائق. ردّ بحالة 2xx خلال 10 ثوانٍ؛ وأي رد آخر تُعاد محاولته، حتى ثماني مرات على مدى يومين تقريبًا.
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. طابق حالات الدفع
نفّذ الطلبات فقط عند invoice.paid، وطابق الحالات الأخرى مع نظام الطلبات لديك كما هو موضح أدناه. يمكن أن تصبح الفاتورة المدفوعة دفعًا ناقصًا مدفوعةً إذا أرسل العميل الباقي إلى العنوان نفسه.
| الحالة | حدث Webhook | ما تعنيه | ما يجب أن يفعله نظام الطلبات لديك |
|---|---|---|---|
open | invoice.created | تم إنشاؤها. لم يختر العميل عملة بعد. | بانتظار الدفع. |
awaiting_payment | لا يوجد | تم اختيار عملة، وتخصيص عنوان الإيداع، وتثبيت السعر. | لا يزال بالانتظار: اختار العميل طريقة الدفع. |
confirming | invoice.confirming | تم رصد دفعة على السلسلة وهي بانتظار التأكيدات. | اعرض «تم استلام الدفعة، جارٍ التأكيد». لا تشحن بعد. |
underpaid | invoice.underpaid | النقص في الدفعة المؤكدة يتجاوز هامش التسامح الخاص بك. يمكن للعميل دفع الباقي أو طلب استرداد. | لا تشحن. يمكن للعميل دفع الباقي أو طلب استرداد. |
paid | invoice.paid | مدفوعة ومؤكدة. المبلغ، بعد خصم الرسوم، في رصيدك. الاسترداد الجزئي يُبقي هذه الحالة. | علّمه كمدفوع ونفّذ الطلب. |
expired | invoice.expired | انتهى الوقت قبل رصد أي دفعة. | حرّر المخزون أو ألغِ الطلب. |
cancelled | invoice.cancelled | أُلغيت الفاتورة قبل رصد أي دفعة. | ألغِ الطلب. |
refunded | invoice.refunded | استرد العميل ما أرسله على فاتورة مدفوعة دفعًا ناقصًا، أو استرددت أنت كل ما احتفظت به من فاتورة مدفوعة. | ألغِ الطلب: استعاد العميل عملاته. |
5. تعامل مع Webhooks المكررة وغير المرتبة
قد تصل الأحداث أكثر من مرة، وليس دائمًا بالترتيب. خزّن id لكل حدث (يُرسل أيضًا في ترويسة CM-Event-Id) تحت مفتاح فريد، في معاملة قاعدة البيانات نفسها التي تحدّث الطلب، وتخطَّ الأحداث التي خزّنتها من قبل. اجعل تغييرات الحالة في اتجاه واحد، حتى لا يعيد حدث invoice.confirming متأخر طلبًا مدفوعًا إلى الوراء. قبل شحن شيء ثمين، اجلب الفاتورة من API للتحقق مجددًا من حالتها.
6. طابق الحسابات
اعرض الفواتير المدفوعة 100 في كل مرة، متتبعًا starting_after ما دامت has_more بقيمة true، وطابق كل فاتورة مع طلب عبر order_id أو 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;
}يُضاف إلى رصيدك مبلغ الفاتورة (أو المبلغ المستلم الأقل قليلًا، إذا قُبل دفع ناقص ضمن هامش التسامح الخاص بك)، مخصومًا منه رسوم 1%، بالعملة المدفوعة. لا يُضاف الدفع الزائد إلى رصيدك: تحتفظ Crypto Merchant بالمبلغ الزائد لصالح العميل، الذي يمكنه سحبه من صفحة الفاتورة. تقدّم صفحة التقارير في البوابة الإجمالي والرسوم والصافي لأي فترة كملف CSV، ويعرض GET /balances ما تملكه الآن.
الأسئلة الشائعة
ماذا حدث لـ Coinbase Commerce؟
ما أفضل بديل لـ Coinbase Commerce خارج الولايات المتحدة؟
كم تفرض Coinbase Business؟
هل تعمل Crypto Merchant بنظام الحفظ مثل Coinbase Business؟
هل يمكنني مواصلة قبول USDC على Base؟
بوابات أخرى تمت مقارنتها
- Crypto Merchant مقابل NOWPayments
- Crypto Merchant مقابل CoinGate
- Crypto Merchant مقابل BitPay
- Crypto Merchant مقابل Cryptomus
- Crypto Merchant مقابل Plisio
- Crypto Merchant مقابل CoinPayments
- Crypto Merchant مقابل OxaPay
- Crypto Merchant مقابل Binance Pay
- Crypto Merchant مقابل BTCPay Server
- Crypto Merchant مقابل Heleket
- Crypto Merchant مقابل Coinremitter
ابدأ قبول العملات المشفرة اليوم
إعداد مجاني، بلا وثائق مطلوبة للتسجيل، 1% لكل فاتورة مدفوعة، وصرف متى شئت.