المتجر والمنتجات·6 min read·

كيف أتعامل مع المبالغ المستردة وطلبات الإرجاع؟

أصدر استرداد Stripe كاملًا أو جزئيًا مباشرةً من شاشة الطلب، وافهم إعدادات سياسة الإرجاع، واطّلع على كيفية إبقاء الـ webhook الخاص بالاسترداد لمخزونك وضوابط الوصول في تزامن تام.

لا أحد يستمتع بعمليات الاسترداد، غير أن التعامل معها بنظافة واحترافية يبني ثقة العملاء أسرع من كثير مما يمكنك فعله بوصفك صاحب متجر. يتيح لك VeloCMS إصدار مبالغ Stripe المستردة مباشرةً من شاشة تفاصيل الطلب — دون الحاجة إلى تسجيل الدخول في Stripe بشكل منفصل، ودون خطر الخطأ في المبلغ. كل شيء يبقى متزامنًا تلقائيًا.

إصدار استرداد كامل

انتقل إلى Admin → Orders وانقر على أي صف طلب لفتح عرض التفاصيل. في الزاوية العلوية اليمنى ستجد زر 'Refund'. انقر عليه فتنزلق لوحة تعرض إجمالي الطلب مملوءًا مسبقًا — ما عليك سوى التأكيد والضغط على 'Process refund'. يستدعي VeloCMS واجهة Stripe البرمجية بالمبلغ الكامل للرسوم، ويضع حالة الطلب على 'refunded'، ويُرسل بريد إشعار للعميل عبر Resend. تكتمل العملية بأسرها في ثانيتين أو ثلاث.

بالنسبة لطلبات المنتجات الرقمية، يُلغي الاسترداد الكامل تلقائيًا جميع روابط التنزيل المرتبطة بذلك الطلب. أي نقرة على رابط مُلغى تعيد استجابة 410 Gone. يحدث هذا في آنٍ واحد مع استدعاء Stripe — لا توجد فترة فاصلة قد يتمكن فيها أحد من النقر بين الاسترداد والإلغاء.

الاسترداد الجزئي

اللوحة ذاتها، لكن بدلًا من قبول الإجمالي المملوء مسبقًا، تكتب مبلغًا أقل. هذا مفيد للنزاعات المتعلقة بالشحن، أو عيوب المنتج البسيطة التي تقدم فيها خصمًا بنية حسن النية بدلًا من الإرجاع الكامل، أو حين توصلت مع العميل إلى حلٍّ وسط. تبقى حالة الطلب على 'completed' (إذ لم يُستردّ كاملًا)، ويظهر سجل الاسترداد في الجدول الزمني للطلب مُبيِّنًا المبلغ الجزئي والتوقيت والسبب. يمكنك إصدار مبالغ مستردة جزئية متعددة على طلب واحد طالما لم يتجاوز الإجمالي التراكمي قيمة الرسوم الأصلية — Stripe يفرض هذا السقف.

تُخصَم المبالغ المستردة مباشرةً من رصيد Stripe الخاص بك. إن كان رصيدك منخفضًا نسبةً إلى مبلغ الاسترداد، قد يؤجل Stripe المعالجة حتى يُجدّد رصيدك دورةُ الدفع التالية. تحقق من Stripe Dashboard → Balance قبل إصدار مبالغ مستردة كبيرة بصورة غير اعتيادية.

الـ webhook الخاص بالاسترداد

خلف الكواليس، يستمع VeloCMS إلى حدث 'charge.refunded' الصادر من Stripe على نقطة النهاية /api/stripe/webhook. هذا يعني أن المبالغ المستردة التي تُصدرها خارج VeloCMS — مثلًا مباشرةً من لوحة تحكم Stripe لأي سبب — تُرصَد تلقائيًا أيضًا. يُحدّث معالج الـ webhook حالة الطلب، وينشئ سجل الاسترداد، ويتولى إلغاء الوصول للطلبات الرقمية. العملية لا تكرارية: إن وصل الحدث ذاته مرتين (تُعيد Stripe المحاولة عند الأعطال العابرة)، تصبح الاستجابة الثانية عملية لا أثر لها.

سياسات الإرجاع

لا يفرض VeloCMS نافذة إرجاع تلقائيًا — فالتنوع الهائل في ما يبيعه الناس يجعل أي تقييد مسبق متعسفًا. بدلًا من ذلك، انتقل إلى Admin → Settings → Store Policies والصق نص سياسة الإرجاع الخاصة بك أو اكتبها. تظهر على صفحة /policies/returns وتُرفَق في تذييل صفحة الدفع تلقائيًا. سواء أتحت إرجاعًا لمدة 30 يومًا دون أسئلة، أو اعتمدت سياسة عدم الاسترداد الصارمة للأعمال المخصصة، فالقرار عائد إليك بالكامل؛ المنصة تضمن فحسب أن يتمكن العملاء من العثور على سياستك بسهولة.

الإرجاع المادي والمخزون

لا يمتلك VeloCMS سير عمل مدمجًا لإدارة مرتجعات المنتجات المادية — فلا يوجد زر 'mark as returned' يُعيد المخزون تلقائيًا. الإجراء الموصى به: أصدر الاسترداد عبر Stripe من شاشة الطلب (وهو يتولى الجانب المالي)، ثم عدّل كمية المخزون يدويًا على متغير المنتج المعني حين يعود الصنف فعليًا إليك. إنها خطوتان، لكنهما تحافظان على دقة أرقام المخزون بدلًا من إعادة إضافته استباقيًا عند إصدار الاسترداد.