الإيصالات في متجرك الإلكتروني
لا تقتصر قوالب إيصالات WCPOS على POS. يمكن لعملاء المتجر الإلكتروني عرض إيصال طلبهم أو فاتورتهم وتنزيله من حسابي أو من صفحة تأكيد الطلب، باستخدام قالب مخصص من WP Admin → POS → القوالب.
يتوفر وصول إيصالات المتجر الإلكتروني — زر حسابي والرمز المختصر [wcpos_receipt] — مع WCPOS 1.9.11. أُضيف إعداد السماح للعملاء بتنزيل الإيصالات ومحدد قالب الإيصال للعملاء الموضحان أدناه في الإصدار 1.9.12؛ في الإصدار 1.9.11 يكون الزر مفعّلًا افتراضيًا ولا يتوفر إعداد للتحكم فيه. تعرض الإصدارات الأقدم الإيصالات داخل POS فقط.
لا يحتاج أمناء الصندوق والموظفون إلى أي من ذلك — إذ تعرض شاشة الطلبات في POS جميع طلبات WooCommerce، بما فيها الطلبات الإلكترونية، ويمكن عرض إيصالها أو طباعته أو إرساله بالبريد الإلكتروني من قائمة النقاط الثلاث. تتناول هذه الصفحة الاتجاه الآخر: تمكين العملاء من تنزيل الإيصال بأنفسهم من موقعك الإلكتروني.
زر التنزيل في حسابي
يكون زر الإيصال معطّلًا افتراضيًا. فعّله من POS > الإعدادات > عام، في قسم العملاء: فعّل السماح للعملاء بتنزيل الإيصالات. بعد تفعيله، يظهر للعملاء المسجلين زر الإيصال بجوار الطلبات المؤهلة في حسابي → الطلبات، ويؤدي النقر عليه إلى تنزيل ملف PDF (receipt-1234.pdf) معروض باستخدام قالب الإيصال لديك.
يظهر الزر للطلبات ذات الحالة قيد المعالجة ومكتمل وتم رد المبلغ — وهي الحالات التي تم فيها دفع الطلب. ولا يظهر للطلبات المعلقة أو الملغاة أو الفاشلة. (يمكن للمطور تغيير الحالات التي يظهر فيها.)
يلزم أيضًا وجود قالب إيصال نشط — فإذا لم يكن هناك قالب نشط، فلا يوجد ما يمكن عرضه، لذلك يبقى الزر مخفيًا حتى عند تفعيل الإعداد.
يعمل الرمز المختصر [wcpos_receipt] أدناه سواء كان هذا الإعداد مفعّلًا أم لا — إذ لا يتحكم المفتاح إلا في زر حسابي التلقائي.
الرمز المختصر [wcpos_receipt]
لإضافة رابط إيصال إلى صفحة تأكيد الطلب («شكرًا لك») أو صفحة حسابي → عرض الطلب، استخدم:
[wcpos_receipt]
من دون سمات، يكتشف الرمز المختصر الطلب الحالي تلقائيًا في كلتا الصفحتين ويعرض رابط تنزيل الإيصال (PDF). ولا يعرض شيئًا في الصفحات الأخرى. ولا يعمل order_id الصريح إلا مع عميل مسجل الدخول يملك ذلك الطلب.
السمات
| السمة | القيمة الافتراضية | وظيفتها |
|---|---|---|
order_id | (يُكتشف تلقائيًا) | رابط إلى طلب محدد. لا يعمل إلا مع العملاء المسجلين الدخول الذين يملكون الطلب. |
link_text | Download receipt (PDF) | نص الرابط. |
format | pdf | ينزّل pdf ملف PDF؛ بينما يفتح html عرض الإيصال القابل للطباعة بدلاً من ذلك. |
template | (الإعداد الافتراضي للواجهة) | يعرض باستخدام معرّف قالب محدد بدلاً من الإعداد الافتراضي للواجهة. |
class | wcpos-receipt-link | فئة CSS للرابط. |
id | (لا شيء) | معرّف HTML id للرابط. |
أمثلة
رابط تنزيل في صفحة تأكيد الطلب:
[wcpos_receipt link_text="Download your invoice"]
رابط إلى الإيصال المعروض على الشاشة (القابل للطباعة) بدلاً من ملف PDF:
[wcpos_receipt format="html" link_text="View your receipt"]
العرض باستخدام قالب محدد — مثل قالب فاتورة A4 بدلاً من إيصال صندوق البيع بعرض 80mm:
[wcpos_receipt template="123" link_text="Download invoice (PDF)"]
معرّف القالب هو الرقم الموجود في عنوان URL لشاشة تحرير القالب (post=123) ضمن WP Admin → POS → القوالب.
أي قالب يحصل عليه العملاء؟
أسفل المفتاح مباشرةً، يحدد قالب الإيصال للعملاء القالب الذي يستخدمه التنزيل. والإعداد الافتراضي هو استخدام قالب الإيصال النشط، لذا يحصل العملاء على القالب نفسه الذي يستخدمه POS — عند تغيير القالب النشط، تتغير إيصالاتهم تلقائيًا معه.
لإضفاء مظهر مختلف على الطلبات عبر الإنترنت، اختر قالبًا محددًا من القائمة المنسدلة بدلاً من ذلك. عندها يستخدم تنزيل العميل هذا القالب دائمًا، بصرف النظر عن القالب الذي يختاره أمين الصندوق من القائمة المنسدلة في نقطة البيع. إذا كان قالب العميل إيصالًا ضيقًا بنمط حراري، فسيكون ملف PDF ضيقًا أيضًا — وقد يُفضّل للطلبات عبر الإنترنت مستند بصفحة كاملة، وقد صُمم قالب فاتورة في المعرض لمقاسي A4/Letter.
يتحكم هذا الإعداد في زر حسابي. ولإضافة رابط لمرة واحدة في صفحة محددة، لا يزال بالإمكان تجاوز القالب باستخدام السمة template للرمز القصير، أو تغييره على مستوى الموقع كله (بما في ذلك الزر) باستخدام عامل تصفية المطورين أدناه.
تُعرض القوالب باستخدام حمولة بيانات الإيصال نفسها التي يستخدمها POS، لذا ينتقل شعارك وهوية متجرك وإعدادات الضرائب والتخصيصات كلها.
الأمان
تتضمن روابط الإيصالات المفتاح الفريد للطلب — وهي الآلية نفسها التي يستخدمها WooCommerce لصفحات تأكيد الطلب — لذا يمكن للضيوف الذين أتموا الدفع دون حساب استخدام الرابط من صفحة التأكيد. ويجب على أي شخص لا يملك الرابط تسجيل الدخول بصفته عميل الطلب. ولا تُعرض الرموز القصيرة ذات order_id الصريح إلا لمالك ذلك الطلب الذي سجّل دخوله.
مثل جميع صفحات الدفع في WCPOS، يستخدم عنوان URL للإيصال قواعد إعادة كتابة WordPress. تحتاج المواقع التي تستخدم الروابط الدائمة العادية (الإعدادات → الروابط الدائمة) إلى التبديل إلى أي بنية أخرى للروابط الدائمة.
للمطورين
تتحكم ثلاثة عوامل تصفية في واجهات المتجر. وهي تُطبَّق فوق الإعدادات أعلاه، وتفيد في المنطق الشرطي الذي لا يمكن التعبير عنه عبر الإعدادات (لكل طلب أو لكل عميل، وما إلى ذلك):
// Force the My Account Receipt button on or off, overriding the setting.
// The filter's default value is the "Let customers download receipts" setting,
// so you only need this to override it — e.g. show the button for one user role.
add_filter( 'woocommerce_pos_storefront_receipt_my_account_button', '__return_true' );
// Change which order statuses show the button (default: processing, completed, refunded).
add_filter( 'woocommerce_pos_storefront_receipt_order_statuses', function ( $statuses, $order ) {
$statuses[] = 'on-hold';
return $statuses;
}, 10, 2 );
// Use a different template for storefront PDF downloads, overriding the
// "Receipt template for customers" setting. Receives and returns the full
// template array (null when none is configured).
add_filter( 'woocommerce_pos_storefront_receipt_template', function ( $template, $order ) {
return \WCPOS\WooCommercePOS\Templates::get_template( 123 );
}, 10, 2 );
مسار PDF نفسه هو /wcpos-checkout/wcpos-receipt/{order_id}?key={order_key}&format=pdf — وهي نقطة النهاية نفسها المحمية بمفتاح الطلب التي يستخدمها POS للإيصالات، حيث يعيد format=pdf ملف PDF المُنشأ بدلاً من العرض على الشاشة.