مطابقة المدفوعات لتجار العملات الرقمية
كيف تطابق مدفوعات العملات الرقمية مع طلباتك ورصيدك: ما الذي تسجّله، والفحوص اليومية، وكيف تجد الـ webhook الفائتة والمدفوعات الناقصة، وكيف تحاسب الرسوم والسحوبات.

تجيب المطابقة عن سؤال واحد: هل كل طلب تعدّه مدفوعًا يقابله دفعة وصلت فعلًا، وهل كل دفعة وصلت يقابلها طلب؟ مع العملات الرقمية الأمر ليس صعبًا، لأن كل دفعة تحمل رقم طلبك الخاص، لكنه ينجح فقط إن سجّلت الأمور الصحيحة وفحصت وفق جدول. يعرض هذا الدليل ما تدوّنه، وأي الفحوص تُجري، وكيف تفسّر الفروق التي تجدها.
ما الذي تطابقه
ثلاث مجموعات من السجلات يجب أن تتفق:
- طلباتك: ما بعته، بالدولار الأمريكي، وأيها تعدّه مدفوعًا.
- سجل الـ webhook لديك: الإشعارات التي أرسلها Qvard إليك وما فعلته بكل منها.
- لوحة Qvard: المدفوعات والرصيد كما تراها البوابة.
ليس في الواجهة العامة مسار لسرد المدفوعات أو قراءتها، لذا لا تستطيع جلب جانب البوابة إلى سكربت. تطابق طلباتك وسجل الـ webhook الخاص بك بعضهما مع بعض، ثم تقارن الإجماليات بما تعرضه اللوحة.
ما الذي تسجّله لتصبح المطابقة ممكنة
المطابقة سهلة إن وُجدت البيانات ومؤلمة إن لم توجد.
- استخدم رقم طلبك الخاص كـ id للدفعة. يذهب إلى Qvard عند إنشاء الدفعة ويعود في الـ webhook، فهو المفتاح الذي يربط كل شيء.
- سجّل كل webhook، مع
idوstatusوالوقت وقرارك: طُبّق، تكرار، طلب مجهول، أو مفتاح مرفوض. لا تسجّل مفتاحك السري أبدًا. - احتفظ بقيمة الطلب بالدولار وقت الطلب، ووقت وضع علامة «مدفوع» عليه.
- احتفظ بمعرّف دفعة Qvard من الاستجابة إن أردته للدعم.
ضع علامة «مدفوع» على الطلب من الـ webhook فقط، الذي يرسله Qvard عند اكتمال الدفعة، واجعل المعالج idempotent. التفاصيل في كيف تؤمّن webhook مدفوعات العملات الرقمية.
الفحوص اليومية
ثلاثة استعلامات صغيرة تلتقط تقريبًا كل شيء؛ ويعرضها المثال.
- طلبات غير مدفوعة تجاوزت نافذة السعر. سعر الصرف في صفحة الدفع ثابت لمدة ساعة. طلب ما زال ينتظر بعد ذلك إما تُرك وإما فات إشعاره. انظر إلى تلك الدفعات في اللوحة.
- طلبات مدفوعة بلا حدث «completed». إن وضعت علامة «مدفوع» على طلب ولا يوجد في سجلك إشعار اكتمال، فقد تجاوز شيء ما الـ webhook، وهذا لا يجب أن يحدث أبدًا. تحقق قبل أن تشحن المزيد.
- الإجمالي اليومي. قارن عدد ومجموع الدولارات للطلبات التي وضعت عليها علامة «مدفوع» بالمدفوعات التي تعرضها اللوحة لليوم نفسه.
حين تعرض اللوحة دفعة مكتملة ويظل طلبك غير مدفوع فقد فات الإشعار: أعد إرساله من اللوحة ودع المعالج idempotent يطبّقه.
-- Your side: every webhook you receive is logged with your decision.
CREATE TABLE qvard_events (
id BIGSERIAL PRIMARY KEY,
order_id TEXT NOT NULL, -- the id you sent to Qvard
status TEXT NOT NULL, -- completed, ...
decision TEXT NOT NULL, -- applied | repeat | unknown_order | rejected_key
received_at TIMESTAMPTZ NOT NULL DEFAULT now()
);
-- 1. Orders still unpaid after the rate window: candidates for a missed notification.
SELECT id, amount_usd, created_at
FROM orders
WHERE state = 'awaiting_payment'
AND created_at < now() - interval '1 hour'
ORDER BY created_at;
-- 2. Orders you consider paid, with no logged "completed" event: investigate before fulfilling more.
SELECT o.id, o.amount_usd, o.paid_at
FROM orders o
LEFT JOIN qvard_events e ON e.order_id = o.id AND e.status = 'completed'
WHERE o.state = 'paid' AND e.id IS NULL;
-- 3. The daily total to compare with the Qvard cabinet.
SELECT date_trunc('day', paid_at) AS day, count(*) AS orders, sum(amount_usd) AS usd
FROM orders
WHERE state = 'paid'
GROUP BY 1
ORDER BY 1 DESC;تفسير الفروق التي تجدها
لمعظم الفجوات قائمة قصيرة من الأسباب.
- دفعة ناقصة. وصل أقل من المبلغ كاملًا، فللدفعة الحالة
partialولم يُرسل webhook الاكتمال. الطلب غير مدفوع؛ اطلب الفرق أو أعد المال. انظر كيف تتعامل مع نقص مدفوعات USDT. - إشعار فائت. كان خادمك متوقفًا أطول من نافذة إعادة المحاولة (خمس محاولات في نحو ست دقائق)، أو ردّ بغير HTTP 200 بالضبط. انظر استراتيجية إعادة محاولة الـ webhook في أنظمة الدفع.
- تكرار. وصل الحدث نفسه مرتين. المعالج الصحيح يسجله كتكرار ولا يغيّر شيئًا.
- طلب مجهول. إشعار بـ id لا تملكه. افحص الأخطاء المطبعية في الـ id الذي ترسله والمدفوعات المنشأة من نظام آخر بالمفتاح نفسه.
- استرداد. الاسترداد تحويل ترسله بنفسك؛ سجّله على الطلب الأصلي لتبقى الإجماليات تفسّر نفسها.
الرسوم والأرصدة والسحوبات
القيمة بالدولار للطلبات ليست هي المال في محفظتك.
- العمولة. لا توجد رسوم اشتراك؛ والعمولة فردية لمشروعك، وبحسب صفحة الأسعار تبدأ من 1% ويمكن أن تنخفض إلى 0.1%. سجّلها كسطر مستقل.
- رسوم الشبكة. يدفع العميل رسوم شبكة التحويل. وتدفع أنت رسوم الشبكة فقط عند السحب إلى محفظتك الخاصة.
- السحوبات. سجّل كل واحد بتاريخه وشبكته ورسومه. السحب إلى حساب مصرفي بالعملة الورقية غير متاح؛ وإن حوّلت إلى نقد فتلك الخطوة تحدث خارج Qvard ولها سجلاتها.
- العملة والشبكة. تتراكم المدفوعات في الشبكات المختلفة على نحو منفصل. افحص الأرصدة بحسب الأصل والشبكة، كما في رسوم الشبكة في عمليات المدفوعات بالعملات الرقمية.
أبقِ محاسبك على اطلاع أيضًا: تعتمد المعالجة الضريبية والمحاسبية لمقبوضات العملات الرقمية على بلدك.
FAQ
هل يمكنني جلب مدفوعاتي عبر الـ API للمطابقة؟
ليس في الواجهة العامة مسار لسرد المدفوعات أو قراءتها. طابق طلباتك وسجل الـ webhook الخاص بك، وقارن الإجماليات بالمدفوعات والرصيد في لوحة Qvard.
كيف أطابق دفعة مع طلب؟
بالـ id. ترسل رقم طلبك الخاص عند إنشاء الدفعة، ويعود الـ id نفسه في الـ webhook.
ماذا لو عرضت اللوحة دفعة مكتملة وطلبي غير مدفوع؟
فات الإشعار. أعد إرساله من اللوحة؛ والمعالج idempotent يطبّقه بأمان.
كم مرة يجب أن أطابق؟
يوميًا خيار افتراضي معقول، مع تنبيه عندما تتلقى سلسلة طلبات webhook خطأً.