الفوترة بالعملات المشفرة لـ SaaS بين الشركات
كيف تتيح لعملاء B2B دفع فواتير SaaS بالعملات المشفرة: متى تنشئ الدفعة، وكيف تطابقها، وكيف تعالج الدفعات الناقصة والتجديدات والمبالغ المستردة.

يرغب بعض عملاء B2B في دفع فواتيرك بالعملات المشفرة: فرق دولية وشركات تعاني من عوائق مصرفية وشركات تعمل أصلًا في مجال العملات المشفرة. دعم هؤلاء العملاء ليس صعبًا، لكن الفواتير تختلف في سلوكها عن صفحة الدفع في المتجر، وتحدد بضعة قرارات تصميم ما إذا كان فريقك المالي سيرتاح لذلك أم سيتضايق منه. يتناول هذا الدليل تلك القرارات.
لماذا تقدّم شركة SaaS فوترة بالعملات المشفرة
نادرًا ما تكون العملات المشفرة الطريقة الرئيسية التي تحصّل بها شركة SaaS مستحقاتها، وليس مطلوبًا منها ذلك. تفيد كخيار إضافي عندما:
- يكون العملاء في بلدان تكون فيها البطاقات أو الحوالات المصرفية بطيئة أو مكلفة أو غير موثوقة؛
- يكون المشتري شركة تعمل أصلًا في مجال العملات المشفرة وتدفع لمورّديها بالعملات المستقرة بالفعل؛
- تريد مدفوعات لا تعتمد على ساعات البنوك ولا يمكن ارتجاعها عبر chargeback.
أبقِ البطاقات والحوالات المصرفية لبقية العملاء. العملات المشفرة مجرد سطر إضافي في قائمة «طرق الدفع» على فاتورتك.
كيف تختلف الفاتورة عن صفحة الدفع
تنشئ صفحة الدفع في المتجر الدفعة لحظة الشراء. أما الفاتورة فتُصدَر أولًا وتُدفع بعد أيام أو أسابيع، غالبًا من فريق مالي يتبع إجراءً داخليًا. وهذا يغيّر عدة أمور:
- يُثبَّت المبلغ بالدولار لا بالعملات. تسعّر الفاتورة بالدولار ويرسل الدافع ما يعادله بالأصل الذي يستخدمه.
- لا يمكن الاحتفاظ بسعر الصرف أسابيع. في Qvard يُثبَّت السعر لمدة ساعة من إنشاء الدفعة. وسعر يُحدَّد عند إصدار الفاتورة سيكون قديمًا جدًا حين تُدفع.
- هناك رقم مرجعي. تحتاج الفرق المالية إلى رقم فاتورة في كل دفعة لتطابقها.
- يخضع الدافعون لمسارات موافقة. قد يدفعون على دفعات أو بتأخير، لذا تحتاج إلى قواعد واضحة للدفعات الجزئية.
أنشئ الدفعة عندما يكون العميل مستعدًا للدفع
القرار التصميمي الأساسي: لا تنشئ دفعة العملات المشفرة عند إصدار الفاتورة. أنشئها عندما يختار العميل أن يدفع.
ضع زر «الدفع بالعملات المشفرة» في صفحة الفاتورة. عندما ينقر العميل عليه ينشئ خادمك الخلفي دفعة برقم الفاتورة بوصفه id والمبلغ المستحق بالدولار ثم يوجّه العميل إلى صفحة الدفع. يُثبَّت السعر حينئذ للساعة التالية، وهي بالضبط النافذة التي يحتاجها العميل لإرسال التحويل.
لاستخدام رقم الفاتورة كـ id ميزتان. إذا نقر العميل مرتين أو أُعيد إرسال طلبك يعيد Qvard الدفعة الموجودة لنفس id وطريقة الدفع بدل إنشاء نسخة مكررة. ويحمل webhook الذي يبلّغ بالنتيجة الـ id نفسه، فتجد الفاتورة دون جدول مطابقة.
// Runs when the customer clicks "Pay with crypto" on invoice INV-2026-0142,
// not when the invoice is issued: the exchange rate is fixed for one hour.
async function payInvoiceWithCrypto(invoice) {
const res = await fetch('https://api.qvard.com/api/v1/payment', {
method: 'POST',
headers: { Authorization: 'Bearer ' + process.env.QVARD_API_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({
id: invoice.number, // "INV-2026-0142": clicking twice returns the same payment
price: invoice.amountUsd // amount due, in US dollars
})
});
if (!res.ok) throw new Error('Qvard ' + res.status);
return (await res.json()).redirectUrl; // open this payment page for the customer
}طابق باستخدام webhook
عند اكتمال الدفعة يرسل Qvard webhook إلى خادمك مع id (رقم فاتورتك) والحالة. يضع معالجك علامة «مدفوعة» على الفاتورة ويسجل المعاملة. ثلاث عادات تجعل ذلك موثوقًا:
- تحقّق من التوقيع في ترويسة
X-Qvard-Signatureالمرافقة للـ webhook (HMAC-SHA256 بمفتاحك السري) وارفض ما لا يطابق. - ردّ بـ HTTP 200 تحديدًا؛ وإلا أُعيد إرسال الإشعار، حتى خمس محاولات خلال نحو ست دقائق.
- اجعل المعالج idempotent حتى لا يسجّل حدث مكرر الدفعة مرتين.
يبلّغ webhook عن الدفعة لا عن الفاتورة، لذا احفظ بجانب الفاتورة id الدفعة وتاريخها وحالتها. بذلك يكون لدى محاسبيك سطر واحد لكل دفعة يطابقونه مع الكشف الذي يتوقعونه. المعالج الكامل في كيف تقبل المدفوعات بالعملات المشفرة على موقع إلكتروني.
الدفعات الناقصة ورسوم البورصات
أشيع طلبات الدعم في الفوترة بالعملات المشفرة هي الدفعة الناقصة. يرسل الدافع أقل قليلًا من المطلوب فلا تُسدَّد الفاتورة. الأسباب المعتادة:
- دفع العميل من حساب في بورصة، وخصمت البورصة رسوم السحب من المبلغ المرسل؛
- قرّب العميل المبلغ؛
- أرسل العميل التحويل على جزأين.
تظهر الدفعة الناقصة بالحالة partial. حدّد سياستك مسبقًا واكتبها على الفاتورة: إما تبقى الفاتورة مفتوحة حتى يصل الفرق، أو تقبل الدفعات ضمن هامش تسامح صغير. اجعل صفحة الفاتورة تعرض ما استُلم وما يزال مستحقًا، ليستكمل العميل دون مراسلة الدعم.
نصيحة يمكنك طباعتها على الفاتورة: إذا دفعت من بورصة فأضف رسوم السحب إلى المبلغ.
التجديدات والاشتراكات
مع البطاقة يخصم الاشتراك من العميل تلقائيًا. أما الدفع بالعملات المشفرة فمختلف: يرسل العميل التحويل بنفسه في كل مرة، لذا لا يمكن «سحب» التجديد من محفظته.
النمط العملي أن تصدر فاتورة التجديد كالمعتاد وترسل للعميل رابطًا لدفعها، بالزر نفسه وإنشاء الدفعة نفسه كما في الفاتورة الأولى. ينشئ Qvard دفعة واحدة لكل طلب ترسله؛ أما الفوترة المتكررة فيتولاها نظام الفوترة لديك، وهو ينشئ دفعة جديدة لكل فترة. ذكّر العميل قبل موعد الاستحقاق، وإن كنت تقدم خصمًا على الخطة السنوية المدفوعة بالعملات المشفرة فأظهره في الفاتورة.
المبالغ المستردة والإشعارات الدائنة
تحويل العملات المشفرة المؤكد نهائي، لذا فالاسترداد تحويل جديد منك إلى العميل. اتفق على العنوان مع العميل كتابةً لأن التحويل إلى عنوان خاطئ لا يمكن استرجاعه. تتضمن واجهة API في Qvard استدعاء صرف (payout) لإرسال الأموال من رصيدك إلى عنوان، مع id خاص بك كي لا تُرسل الأموال مرتين عند إعادة المحاولة؛ ويمكنك أيضًا السحب يدويًا من لوحة التحكم.
سجّل الاسترداد مقابل الفاتورة الأصلية وأصدر الإشعار الدائن المعتاد، ليروي دفترك القصة نفسها التي يرويها البلوكشين.
قائمة للمحاسبة
اسأل محاسبك عن النقاط التي تتوقف على بلدك وجهّز البيانات التي سيحتاجها:
- رقم الفاتورة و
idالدفعة والتاريخ والمبلغ بالدولار والأصل والشبكة المستخدمين؛ - كيف تسجّل المقبوضات وأي تحويل إلى عملة ورقية؛
- كيف تُعامَل رسوم الشبكة التي دفعها العميل؛
- كيف ومتى تسحب إلى محفظتك.
هذه معلومات عامة وليست نصيحة ضريبية أو قانونية.
موقع Qvard من ذلك
Qvard بوابة دفع بالعملات المشفرة من نوع custodial: تنشئ دفعة عبر واجهة API ويدفع العميل في صفحة دفع مستضافة بـ USDT أو USDC على الشبكات الرئيسية (أو بـ BTC أو LTC)، وتصل الحالة النهائية إلى خادمك عبر webhook. تُضاف الأموال إلى رصيد التاجر لديك وتسحبها إلى محفظتك. وللفرق العاملة في SaaS تحديدًا راجع المدفوعات بالعملات المشفرة لـ SaaS، وللأساسيات ما هي بوابة الدفع بالعملات المشفرة.
FAQ
هل يمكنني إصدار فواتير بالعملات المشفرة بدل الدولار؟
تصدر الفاتورة بالدولار الأمريكي ويرسل الدافع ما يعادله بالأصل الذي يختاره. هذا يُبقي أسعارك مستقرة ودفاترك بعملة واحدة.
ما مدة صلاحية سعر الصرف؟
في Qvard يُثبَّت السعر لمدة ساعة من إنشاء الدفعة. أنشئ الدفعة عندما يكون العميل مستعدًا للدفع لا عند إصدار الفاتورة.
ماذا يحدث إذا دفع العميل أقل من الفاتورة؟
تظهر الدفعة بالحالة partial. يمكنك إبقاء الفاتورة مفتوحة حتى يصل الفرق أو قبولها ضمن هامش تسامح تحدده؛ اذكر القاعدة في الفاتورة.
هل يمكنني خصم اشتراك تلقائيًا؟
لا. دفعة العملات المشفرة يرسلها العميل بنفسه، فلا يمكن خصمها تلقائيًا من محفظة. يصدر نظام الفوترة لديك كل تجديد ويرسل للعميل رابط دفع.


