مرجع بيانات الإيصال
تُعرَض قوالب HTML بلا منطق وقوالب XML الحرارية في WCPOS من حمولة بيانات الإيصال القياسية نفسها. استخدم مسارات Mustache النقطية مثل {{order.number}} و{{store.name}} و{{totals.total_display}}. تُعرَض المصفوفات باستخدام الأقسام:
{{#lines}}
{{name}} x {{qty}} — {{line_total_display}}
{{/lines}}
يُنتَج العقد القياسي بواسطة منشئ بيانات الإيصال في WCPOS على الخادم ويُنسَخ بواسطة عارض الإيصالات في وضع عدم الاتصال داخل التطبيق. تُفتح الإيصالات فورًا من البيانات المحلية، ثم تُحدَّث باستجابة الخادم عند توفرها، لذا يجب أن تستخدم القوالب المخصّصة الحقول أدناه بدلًا من دوال طلبات PHP.
قواعد العرض
حقول العملة
تُحفظ حقول المبالغ الرقمية كأرقام، ويضيف العارض حقول _display المتوافقة مع الإعدادات المحلية لمخرجات القالب:
| الحقل الرقمي | حقل العرض |
|---|---|
totals.total | totals.total_display |
lines[].line_total | lines[].line_total_display |
payments[].amount | payments[].amount_display |
tax_summary[].tax_amount | tax_summary[].tax_amount_display |
يُفضَّل استخدام حقول _display عند طباعة الإيصالات. تُستخدم الحقول الرقمية فقط للأقسام الشرطية أو المخرجات القابلة للقراءة آليًا.
الحقول المتوافقة مع عرض الضريبة
تتوفّر لعدة حقول صيغ شاملة وحصرية للضريبة بالإضافة إلى قيمة عرض مُيسَّرة. تتبع قيمة العرض المُيسَّرة إعداد عرض ضريبة السلة في المتجر.
| الحقل المُيسَّر | الحقل الشامل للضريبة | الحقل الحصري للضريبة |
|---|---|---|
lines[].unit_price | lines[].unit_price_incl | lines[].unit_price_excl |
lines[].unit_subtotal | lines[].unit_subtotal_incl | lines[].unit_subtotal_excl |
lines[].line_subtotal | lines[].line_subtotal_incl | lines[].line_subtotal_excl |
lines[].discounts | lines[].discounts_incl | lines[].discounts_excl |
lines[].line_total | lines[].line_total_incl | lines[].line_total_excl |
fees[].total | fees[].total_incl | fees[].total_excl |
shipping[].total | shipping[].total_incl | shipping[].total_excl |
discounts[].total | discounts[].total_incl | discounts[].total_excl |
totals.subtotal | totals.subtotal_incl | totals.subtotal_excl |
totals.discount_total | totals.discount_total_incl | totals.discount_total_excl |
totals.total | totals.total_incl | totals.total_excl |
كائنات التاريخ
حقول التاريخ هي كائنات بعدة صيغ منسّقة مسبقًا. يتيح ذلك تجنّب تنسيق التاريخ داخل Mustache.
| الحقل | الوصف |
|---|---|
datetime، date، time | سلاسل التاريخ/الوقت الافتراضية |
datetime_short، datetime_long، datetime_full | صيغ مُجمَّعة مراعية للإعدادات المحلية |
date_short, date_long, date_full | تنسيقات التاريخ فقط حسب الإعدادات المحلية |
date_ymd, date_dmy, date_mdy | تنسيقات التاريخ بترتيب ثابت |
weekday_short, weekday_long | أسماء الأيام |
day, month, month_short, month_long, year | أجزاء التاريخ الفردية |
كائنات التاريخ المتاحة: order.created وorder.paid وorder.completed وorder.printed وrefunds[].date. يُحدَّث order.printed في وقت العرض، وهو مفيد لإعادة الطباعة.
الأقسام الرئيسية
| القسم | النوع | الوصف |
|---|---|---|
order | كائن | هوية الطلب وحالته وتواريخه وملاحظاته ومعلومات رابط الدفع |
store | كائن | هوية المتجر وعنوانه وبيانات الاتصال والأرقام الضريبية والشعار وساعات العمل ونص التذييل |
cashier | كائن | المستخدم الذي عالج الطلب |
customer | كائن | الاسم المعروض للعميل والعناوين والأرقام الضريبية |
lines | array | بنود المنتجات |
fees | array | صفوف الرسوم |
shipping | array | صفوف الشحن |
discounts | array | صفوف القسائم/الخصومات |
totals | object | إجماليات الطلب، وإجماليات الدفع، وملخص الاسترداد، وعدد العناصر |
tax | object | علامات وضع عرض الضريبة لحراسة الأقسام |
tax_summary | array | صفوف ملخص الضريبة حسب المعدل |
has_tax_summary | boolean | حارس مختصر لـ tax_summary |
payments | array | صفوف المدفوعات |
refunds | array | سجلات الاسترداد المطبّقة على الطلب |
fiscal | object | حقول اللقطة المالية التي تملؤها تكاملات الضرائب |
presentation_hints | object | تلميحات التنسيق والعرض |
i18n | object | تسميات مترجمة للقوالب المضمّنة والمخصّصة |
مرجع الحقول
مرجع الحقول الكامل مجمّع حسب القسم أدناه. كل شيء مطوي افتراضيًا — وسّع المجموعة التي تحتاجها.
order — الهوية والحالة والتواريخ
order
| الحقل | النوع | مثال / وصف |
|---|---|---|
order.id | number | 1234 |
order.number | string | رقم الطلب الظاهر للعميل، مثل "10045" |
order.currency | string | رمز العملة وفق معيار ISO، مثل "USD" |
order.customer_note | string | ملاحظة العميل/الطلب |
order.wc_status | string | رمز حالة WooCommerce الأصلي، مثل "processing" |
order.status_label | string | تسمية الحالة المترجمة، بما في ذلك الحالات المخصّصة |
order.created_via | string | المصدر/القناة، مثل "woocommerce-pos" |
order.needs_payment | boolean | ما إذا كان يجب عرض قسم الدفع |
order.payment_url | string | رابط دفع الطلب عند توفّره |
order.created | date object | تاريخ إنشاء الطلب |
order.paid | date object | تاريخ الدفع، سلاسل نصية فارغة عند عدم الدفع |
order.completed | date object | تاريخ الإكمال، سلاسل نصية فارغة عند عدم الإكمال |
order.printed | date object | الطابع الزمني للطباعة/إعادة الطباعة عند العرض |
store — الهوية والعنوان والاتصال وساعات العمل
store
| الحقل | النوع | مثال / وصف |
|---|---|---|
store.id | number | معرّف المتجر، أو المعرّف السابق للمتاجر المحذوفة |
store.name | string | اسم المتجر المعروض |
store.address.address_1 | string | سطر العنوان 1 |
store.address.address_2 | string | سطر الجناح/الوحدة |
store.address.city | string | المدينة/المنطقة المحلية |
store.address.state | string | الولاية/المنطقة |
store.address.postcode | string | الرمز البريدي |
store.address.country | string | رمز الدولة بتنسيق ISO |
store.address_lines | array | أسطر العنوان المنسّقة مسبقًا؛ يُوصى باستخدامها في معظم القوالب |
store.tax_ids | array | معرّفات الضريبة المنظّمة للنشاط التجاري؛ كرّر عبر هذه المصفوفة بدلًا من استخدام معرّف ضريبي واحد |
store.phone | string | هاتف المتجر |
store.email | string | البريد الإلكتروني للمتجر |
store.logo | string/null | عنوان URL لشعار المتجر أو معرّف URI للبيانات |
store.opening_hours | string/null | نص مختصر لساعات العمل |
store.opening_hours_vertical | string/null | كتلة ساعات العمل متعددة الأسطر |
store.opening_hours_inline | string/null | نص ساعات العمل مفصول بفواصل |
store.opening_hours_notes | string/null | ملاحظات نصية حرة حول ساعات العمل |
store.personal_notes | string/null | ملاحظة شخصية / تذييل الإيصال |
store.policies_and_conditions | string/null | نص الاسترجاع أو الإرجاع أو الشروط |
store.footer_imprint | string/null | البصمة القانونية في التذييل |
كائنات المعرّف الضريبي
يحتوي store.tax_ids وcustomer.tax_ids على كائنات بالبنية نفسها:
| الحقل | النوع | الوصف |
|---|---|---|
type | string | معرّف مثل eu_vat أو de_steuernummer أو au_abn أو br_cpf أو us_ein أو other |
value | string | قيمة المعرّف الضريبي المراد طباعتها |
country | string/null | رمز الدولة وفق معيار ISO عند توفّره |
label | string/null | تسمية العرض المحلية، تُحَلّ قبل العرض |
مثال:
{{#store.tax_ids}}
{{label}}: {{value}}
{{/store.tax_ids}}
cashier — المستخدم الذي عالج الطلب
cashier
| الحقل | النوع | مثال / وصف |
|---|---|---|
cashier.id | number | معرّف مستخدم WordPress، 0 عندما يكون غير معروف |
cashier.name | string | الاسم المعروض للصراف |
customer — الاسم والعناوين والأرقام الضريبية
customer
| الحقل | النوع | مثال / وصف |
|---|---|---|
customer.id | number/null | معرّف العميل، أو null للزوار |
customer.name | string | الاسم المعروض للعميل، أو تسمية الزائر |
customer.billing_address.* | object | حقول عنوان الفوترة في WooCommerce |
customer.shipping_address.* | object | حقول عنوان الشحن في WooCommerce |
customer.tax_ids | array | معرّفات الضريبة المنظّمة للعميل المأخوذة كلقطة من الطلب |
تشمل مفاتيح العنوان الشائعة first_name وlast_name وcompany وaddress_1 وaddress_2 وcity وstate وpostcode وcountry وemail وphone.
lines — بنود المنتجات
lines
كرّر باستخدام {{#lines}}...{{/lines}}.
| الحقل | النوع | الوصف |
|---|---|---|
key | string | مفتاح البند الثابت / معرّف عنصر الطلب |
sku | string | رمز SKU للمنتج |
name | string | اسم العرض للمنتج أو البند |
qty | number | الكمية المباعة |
qty_refunded | number | الكمية المستردة لهذا البند |
unit_subtotal / _incl / _excl | number | سعر الوحدة قبل الخصم |
unit_price / _incl / _excl | number | سعر الوحدة بعد الخصم |
line_subtotal / _incl / _excl | number | المجموع الفرعي للسطر قبل الخصم |
discounts / _incl / _excl | number | مبلغ الخصم كقيمة موجبة |
line_total / _incl / _excl | number | إجمالي السطر النهائي |
total_refunded | number | إجمالي المبلغ المسترد لهذا السطر كقيمة موجبة |
taxes | array | صفوف الضريبة حسب المعدل لهذا السطر |
meta | array | بيانات وصفية لعنصر الطلب كأزواج {key, value} |
attributes | array | سمات المنتج/المتغيّر كأزواج {key, value} |
تتضمّن الصيغ المنسّقة unit_subtotal_display وunit_price_display وline_subtotal_display وdiscounts_display وline_total_display، بالإضافة إلى صيغ _display الشاملة والحصرية للضريبة.
الرسوم والشحن
الرسوم والشحن
كرّر باستخدام {{#fees}}...{{/fees}} و{{#shipping}}...{{/shipping}}.
| الحقل | النوع | الوصف |
|---|---|---|
label | string | تسمية الرسوم أو اسم طريقة الشحن |
method_id | string | معرّف طريقة الشحن (للشحن فقط) |
total / _incl / _excl | number | الإجماليات المعروضة، والشاملة، والحصرية للضريبة |
taxes | array | صفوف الضرائب حسب المعدل |
meta | array | أزواج بيانات وصفية بصيغة {key, value} |
الصيغ المنسّقة: total_display وtotal_incl_display وtotal_excl_display.
discounts — صفوف القسائم/الخصومات
discounts
كرّر باستخدام {{#discounts}}...{{/discounts}}.
| الحقل | النوع | الوصف |
|---|---|---|
label | string | وصف القسيمة أو الرمز كقيمة بديلة |
code | string | رمز القسيمة |
codes | string | قيمة بديلة قديمة/للعرض للرموز المدمجة |
total / _incl / _excl | number | مبلغ الخصم كقيمة موجبة |
الصيغ المنسّقة: total_display وtotal_incl_display وtotal_excl_display. أضف علامة السالب الخاصة بك في القالب إذا أردت عرض الخصومات كصفوف سالبة.
totals — إجماليات الطلب والدفع والاسترداد والعناصر
totals
| الحقل | النوع | الوصف |
|---|---|---|
totals.subtotal / _incl / _excl | number | المجموع الفرعي للطلب قبل الخصومات |
totals.discount_total / _incl / _excl | number | إجمالي خصم الطلب كقيمة موجبة |
totals.tax_total | number | إجمالي مبلغ الضريبة |
totals.total / _incl / _excl | number | المجموع الإجمالي للطلب |
totals.paid_total | number | المبلغ المدفوع/المُطبَّق |
totals.change_total | number | الباقي المُعاد للعميل |
totals.refund_total | number | إجمالي المبلغ المسترد كقيمة موجبة |
totals.net_total | number | total - refund_total، مع تقييد الحد الأدنى بالصفر |
totals.total_qty | number | مجموع كميات بنود الطلب |
totals.line_count | number | عدد صفوف بنود المنتجات |
تتضمّن الصيغ المنسّقة subtotal_display وdiscount_total_display وtax_total_display وtotal_display وpaid_total_display وchange_total_display وrefund_total_display وnet_total_display، بالإضافة إلى الصيغ الشاملة/الحصرية للضريبة حيثما ينطبق ذلك.
tax and tax_summary — حراس العرض وصفوف كل معدل
tax and tax_summary
استخدم tax لحراس وضع العرض وtax_summary لصفوف معدلات الضريبة المفصّلة.
| حقل الضريبة | النوع | الوصف |
|---|---|---|
tax.display | string | incl أو excl |
tax.display_incl | boolean | صحيح عندما تُعرض الأسعار شاملة الضريبة |
tax.display_excl | boolean | صحيح عندما تُعرض الأسعار غير شاملة الضريبة |
tax.breakdown | string | hidden أو single أو itemized |
tax.breakdown_hidden | boolean | صحيح عندما يجب إخفاء صفوف الضريبة |
tax.breakdown_single | boolean | صحيح عندما يُفضَّل عرض إجمالي ضريبة واحد |
tax.breakdown_itemized | boolean | صحيح عندما تُفضَّل صفوف كل معدل |
has_tax_summary | boolean | صحيح عندما يحتوي tax_summary على صفوف |
كرّر tax_summary باستخدام {{#tax_summary}}...{{/tax_summary}}.
| الحقل | النوع | الوصف |
|---|---|---|
code | string | معرّف/رمز معدل الضريبة |
rate | number/null | النسبة المئوية للمعدل عند تحديدها |
label | string | تسمية معدل الضريبة |
compound | boolean | ما إذا كان المعدل مركبًا |
taxable_amount_excl | number/null | الوعاء الضريبي بدون الضريبة |
tax_amount | number | الضريبة المحصّلة |
taxable_amount_incl | number/null | الوعاء الضريبي شاملًا الضريبة |
الصيغ المنسّقة: taxable_amount_excl_display وtax_amount_display وtaxable_amount_incl_display.
payments — صفوف المدفوعات
payments
كرّر باستخدام {{#payments}}...{{/payments}}.
| الحقل | النوع | الوصف |
|---|---|---|
method_id | string | معرّف طريقة الدفع |
method_title | string | العنوان المعروض لطريقة الدفع |
amount | number | المبلغ المطبّق على الطلب |
transaction_id | string | معرّف معاملة البوابة |
tendered | number | المبلغ النقدي المقدَّم عند توفّره |
change | number | باقي المبلغ النقدي المُعاد عند توفّره |
الصيغ المنسّقة: amount_display وtendered_display وchange_display.
refunds — سجلات الاسترداد
refunds
كرّر باستخدام {{#refunds}}...{{/refunds}}. مبالغ الاسترداد هي قيم مطلقة موجبة؛ تحدّد القوالب ما إذا كان يُضاف رمز سالب أو يُعرَض قسم منفصل للأصناف المُعادة.
| الحقل | النوع | الوصف |
|---|---|---|
id | number | معرّف سجلّ الاسترداد |
date | date object | تاريخ إنشاء الاسترداد |
amount | number | إجمالي الاسترداد |
subtotal | number | المجموع الفرعي للبند المسترد |
tax_total | number | الضريبة المستردة |
shipping_total | number | مبلغ الشحن المسترد |
shipping_tax | number | ضريبة الشحن المستردة |
reason | string | سبب الاسترداد |
refunded_by_id | number/null | معرّف المستخدم الذي أصدر الاسترداد |
refunded_by_name | string | الاسم المعروض للمستخدم الذي أصدر الاسترداد |
refunded_payment | boolean | ما إذا تم استرداد الدفعة عبر البوابة |
destination | string | original_method أو cash أو manual |
gateway_id | string | معرّف البوابة المستخدمة للاسترداد |
gateway_title | string | العنوان المعروض للبوابة |
processing_mode | string | وضع المعالجة عبر المزوّد/يدوي |
lines | array | صفوف المنتجات المستردة |
fees | array | صفوف الرسوم المستردة |
shipping | array | صفوف الشحن المستردة |
تتضمّن حقول بند الاسترداد name وsku وqty وtotal وtotal_incl وtotal_excl وline_total وunit_total وtaxes. تستخدم صفوف الرسوم والشحن المستردة label وtotal وtotal_incl وtotal_excl وtaxes. تُضاف صيغ عرض للإجماليات ومبالغ الضرائب.
fiscal — لقطة التكامل المالي
fiscal
تكون الحقول المالية فارغة افتراضيًا وتملؤها التكاملات المالية أو إثراء لقطات WCPOS Pro.
| الحقل | النوع | الوصف |
|---|---|---|
fiscal.immutable_id | string | المعرّف المالي الثابت |
fiscal.receipt_number | string | رقم الإيصال المالي |
fiscal.sequence | number/null | عدّاد التسلسل |
fiscal.hash | string | قيمة التجزئة/التوقيع |
fiscal.qr_payload | string | حمولة رمز QR للتحقق المالي |
fiscal.tax_agency_code | string | رمز الجهة الضريبية |
fiscal.signed_at | string | الطابع الزمني للتوقيع المالي |
fiscal.signature_excerpt | string | مقتطف التوقيع المختصر للعرض |
fiscal.document_label | string | تسمية المستند، مثل فاتورة ضريبية |
fiscal.is_reprint | boolean | ما إذا كان هذا العرض إعادة طباعة |
fiscal.reprint_count | number | عدد مرات إعادة الطباعة |
fiscal.extra_fields | array/object | قيم خاصة بالولاية القضائية |
presentation_hints — تلميحات التنسيق والعرض
presentation_hints
تُستهلك هذه الحقول بشكل أساسي بواسطة المُصيِّر والمُنسِّق. وهي متاحة للقوالب عند الحاجة.
| الحقل | النوع | الوصف |
|---|---|---|
presentation_hints.display_tax | string | incl أو excl أو hidden أو itemized أو single |
presentation_hints.prices_entered_with_tax | boolean | ما إذا كانت أسعار الكتالوج تشمل الضريبة |
presentation_hints.rounding_mode | string | إعداد تقريب الضريبة في WooCommerce |
presentation_hints.locale | string | الإعدادات المحلية المستخدمة للتنسيق |
presentation_hints.timezone | string | المنطقة الزمنية للإيصال |
presentation_hints.currency_position | string | موضع رمز العملة |
presentation_hints.currency_symbol | string | رمز العملة |
presentation_hints.price_thousand_separator | string | فاصل الآلاف |
presentation_hints.price_decimal_separator | string | الفاصل العشري |
presentation_hints.price_num_decimals | number | عدد المنازل العشرية |
presentation_hints.price_display_suffix | string | لاحقة عرض السعر في WooCommerce |
presentation_hints.order_barcode_type | string | نوع الباركود المستخدم في قوالب المعرض |
i18n — التسميات المترجمة
i18n
استخدم تسميات i18n بدلًا من كتابة النصوص مباشرةً كلما أمكن:
{{i18n.order}} #{{order.number}}
{{i18n.cashier}}: {{cashier.name}}
{{i18n.total}}: {{totals.total_display}}
تتضمّن المفاتيح الشائعة order وdate وcashier وcustomer وitem وsku وqty وunit_price وdiscount وsubtotal وtotal وtax وpaid وtendered وchange وtax_summary وrefunded وnet_total وcustomer_note وthank_you_purchase وopening_hours، ومفاتيح تسميات المعرّف الضريبي مثل store_tax_id_label_eu_vat وcustomer_tax_id_label_other. يمكن أن تضيف الإضافات مفاتيح إضافية.