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

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

أصدر استردادات Stripe كاملة أو جزئية من شاشة الطلب، ويُبقي webhook الاسترداد مخزونك وضوابط الوصول متزامنة تلقائيًا.

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

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

انتقل إلى لوحة التحكم ← الطلبات وانقر على أي صف طلب لفتح عرض التفاصيل. في الزاوية العلوية اليمنى ستجد زر «إصدار استرداد». انقر عليه فتنزلق لوحة تعرض إجمالي الطلب مملوءًا مسبقًا — ما عليك سوى التأكيد بالنقر على «تأكيد الاسترداد». يستدعي VeloCMS واجهة Stripe البرمجية بالمبلغ الكامل للرسوم، ويضبط حالة الطلب على «مُسترجَع»، ويُرسل بريد إشعار للعميل عبر Resend. تستغرق العملية بأكملها ثانيتين أو ثلاث.

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

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

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

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

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

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

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

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

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

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