المحتوى عن 'دفع'.



مزيد من الخيارات

  • ابحث بالكلمات المفتاحية

    أضف وسومًا وافصل بينها بفواصل ","
  • ابحث باسم الكاتب

نوع المُحتوى


التصنيفات

  • التخطيط وسير العمل
  • التمويل
  • فريق العمل
  • دراسة حالات
  • نصائح وإرشادات
  • التعامل مع العملاء
  • التعهيد الخارجي
  • التجارة الإلكترونية
  • الإدارة والقيادة
  • مقالات ريادة أعمال عامة

التصنيفات

  • PHP
    • Laravel
    • ووردبريس
  • جافاسكريبت
    • Node.js
    • jQuery
    • AngularJS
    • Cordova
  • HTML5
  • CSS
    • Sass
    • إطار عمل Bootstrap
  • SQL
  • سي شارب #C
    • منصة Xamarin
  • بايثون
    • Flask
    • Django
  • لغة روبي
    • إطار العمل Ruby on Rails
  • لغة Go
  • لغة جافا
  • لغة Kotlin
  • برمجة أندرويد
  • لغة Swift
  • لغة R
  • لغة TypeScript
  • سير العمل
    • Git
  • صناعة الألعاب
    • Unity3D
  • مقالات برمجة عامة

التصنيفات

  • تجربة المستخدم
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
    • كوريل درو
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب
  • التصميم ثلاثي الأبعاد
    • 3Ds Max
    • Blender
  • مقالات تصميم عامة

التصنيفات

  • خواديم
    • الويب HTTP
    • قواعد البيانات
    • البريد الإلكتروني
    • DNS
    • Samba
  • الحوسبة السّحابية
    • Docker
  • إدارة الإعدادات والنّشر
    • Chef
    • Puppet
    • Ansible
  • لينكس
  • FreeBSD
  • حماية
    • الجدران النارية
    • VPN
    • SSH
  • مقالات DevOps عامة

التصنيفات

  • التسويق بالأداء
    • أدوات تحليل الزوار
  • تهيئة محركات البحث SEO
  • الشبكات الاجتماعية
  • التسويق بالبريد الالكتروني
  • التسويق الضمني
  • التسويق بالرسائل النصية القصيرة
  • استسراع النمو
  • المبيعات
  • تجارب ونصائح

التصنيفات

  • إدارة مالية
  • الإنتاجية
  • تجارب
  • مشاريع جانبية
  • التعامل مع العملاء
  • الحفاظ على الصحة
  • التسويق الذاتي
  • مقالات عمل حر عامة

التصنيفات

  • الإنتاجية وسير العمل
    • مايكروسوفت أوفيس
    • ليبر أوفيس
    • جوجل درايف
    • شيربوينت
    • Evernote
    • Trello
  • تطبيقات الويب
    • ووردبريس
    • ماجنتو
  • أندرويد
  • iOS
  • macOS
  • ويندوز

التصنيفات

  • شهادات سيسكو
    • CCNA
  • شهادات مايكروسوفت
  • شهادات Amazon Web Services
  • شهادات ريدهات
    • RHCSA
  • شهادات CompTIA
  • مقالات عامة

أسئلة وأجوبة

  • الأقسام
    • أسئلة ريادة الأعمال
    • أسئلة العمل الحر
    • أسئلة التسويق والمبيعات
    • أسئلة البرمجة
    • أسئلة التصميم
    • أسئلة DevOps
    • أسئلة البرامج والتطبيقات
    • أسئلة الشهادات المتخصصة

التصنيفات

  • ريادة الأعمال
  • العمل الحر
  • التسويق والمبيعات
  • البرمجة
  • التصميم
  • DevOps

تمّ العثور على 3 نتائج

  1. في الدروس السابقة من سلسلة WooCommerce تعرّفنا على أنواع المنتجات التي يمكنك إنشاؤها على WooCommerce بالإضافة إلى طريقة إضافة كل نوع من تلك الأنواع. كما ألقينا نظرة على كيفية إدارة القسائم، الودجات، والشيفرات المختصرة. بعد أن تقوم بإنشاء المنتجات على متجرك ستبدأ باستقبال طلبات الشراء. وبالإضافة إلى عملية الشراء لا تخلو المتاجر من عملية استرداد الطلبات وإعادة الأموال إلى العملاء. لذلك تابع هذا الدرس لمعرفة كيف تتعامل مع الطلبات الواردة وكيف تعالج عملية استرداد الطلبات. إدارة الطلبات يتم إنشاء الطلبات عندما يقوم العميل بإنهاء عملية الدفع، وتكون الطلبات مرئية لمدير المتجر Admin والمستخدمين الذين تم تحديدهم كمدراء للمتجر Shop Manager. يُعطى كل طلب رقمًا تعريفيًا فريدًا Order ID مشابهًا للرقم التعريفي للمنشورات Post ID، وتكون هذه الأرقام غير متسلسلة. كما أنّ لكل طلب حالة Status تتيح لك معرفة المرحلة التي وصل إليها الطلب، من معلّق Pending إلى مكتمل Complete. لتبدأ بإدارة طلباتك اذهب إلى: WooCommerce > Orders ستكون نافذة الطلبات مألوفة بالنسبة لك، وستتمكّن من الاطلاع على جميع الطلبات على متجرك في لمحة: لنبدأ أولًا بخيارات التصفية: من قائمة Bulk Actions بإمكانك تنفيذ إجراءات شاملة على جميع الطلبات، كتغيير حالة الطلبات Status أو نقل الطلب إلى المهملات Move to Trash. اختر الإجراء الذي تريده ثم انقر على Apply. بإمكانك أيضًا عرض الطلبات لشهر معيّن باختيار الشهر المرغوب من قائمة All Dates المنسدلة. وكذلك بإمكانك عرض طلبات عميل محدد بإدخال اسمه أو عنوان بريده الإلكتروني في حقل البحث. بعد أن تحدّد معايير التصفية المذكورة، انقر على زر Filter. انتقل الآن إلى الجزء السفلي، والذي يحتوي على مجموعة أعمدة، أولها عمود حالة الطلب Status على جهة اليسار: كما ذكرنا تبدأ حالة جميع الطلبات من معلّق Pending وتنتهي بمكتمل Complete، وقد تنتهي بحالات أخرى إذا تم إلغاء الطلب أو استرداده. يمكنك معرفة حالة الطلب بتمرير الفأرة فوق الأيقونات في عمود الحالة: الحالات المضمّنة هي كالتالي: Pending Payment: الطلب مُستَلم لكنّه غير مدفوع. Failed: فشل عملية الدفع أو رفضها (غير مدفوع). علمًا أنّ هذه الحالة قد لا تظهر على الفور، وبدلا من ذلك تظهر الحالة pending حتى يتم التحقق منها (وهذا يحصل مع بوابات دفع معيّنة مثل PayPal). Processing: تم استلام المدفوعات وإنقاص المخزون، والطلب بانتظار الاستيفاء. Completed : الطلب مستوفى ومكتمل، ولا يتطلّب المزيد من الإجراءات. On-Hold: بانتظار الدفع. تم طرح الطلب من المخزون لكن يجب أن تقوم بتأكيد الدفع. Cancelled: الطلب ملغي من طرف المدير أو العميل، ولا تتطلب هذه الحالة إجراءات أخرى. Refunded: تم استرداد الطلب من قبل المدير، ولا تتطلب هذه الحالة إجراءات أخرى. العمود التالي هو Order ويحتوي على تفاصيل الطلب التي تتضمّن رقم الطلب، اسم المستخدم الخاص بالعميل وعنوان بريده الإلكتروني. يأتي بعده عمود Purchased الذي يحتوي على عدد السلع التي تم شراؤها، ثم عمود Ship To الذي يحتوي على عنوان الشحن وطريقة الشحن المختارة. الأيقونات التالية هي، من اليسار إلى اليمين، رسائل العميل Customer Message إذا قام بإرسال واحدة مع الطلب، تليها أيقونة ملاحظات الطلب Order Note وهي التي يقوم طاقم إدارة الطلبات بإضافتها: وأخيرًا يأتي عمود تاريخ الطلب Date، إجمالي مبلغ الطلب وطريقة الدفع المستخدمة Total، ثم عمود الإجراءات الذي يحتوي على أيقونات يمكنك استخدامها لتعيين حالة الطلب كجاري Processing، أو مكتمل Complete، أو عرض الطلب بالنقر على أيقونة العين: تستطيع عرض الطلبات إما بالنقر على أيقونة العين الموضّحة أو النقر على رقم الطلب تحت اسمه، وبذلك تظهر جميع التفاصيل الخاصة بالطلب: في قسم التفاصيل العامة General Details يوجد تاريخ ووقت الطلب Order Date، حالة الطلب Order Status (والذي يمكن تغييره من القائمة المنسدلة)، تفاصيل العميل صاحب الطلب Customer والتي تتضمن اسم المستخدم للعميل، رقمه التعريفي ID وعنوان بريده الإلكتروني. كما يوجد رابط View other orders والذي عند النقر عليه ستعرض جميع الطلبات من العميل الحالي. توجد تحت التفاصيل العامة تفاصيل الفوترة Billing Details وتفاصيل الشحن Shipping Details للعميل. بإمكانك استخدام تفاصيل الشحن لتوضيب طلب العميل وشحنه إلى العنوان المناسب. القسم التالي هو عناصر الطلب Order Items الذي يعرض جميع المنتجات التي يتضمّنها الطلب، حيث يمكنك رؤية اسم المنتج وصورته، بالإضافة إلى التغيرات variations التي تم طلبها إن كان المنتج يملك أيّة تغيرات: وكذلك يعرض هذا القسم أسعار المنتجات، كميّاتها، إجمالي كلفتها، بالإضافة إلى أسعار الضريبة: كما يتضّمن طريقة الشحن المختارة ورسوم الشحن، حيث يمكنك معرفة فيما إذا حصل الطلب على أي خصم Discount، بالإضافة إلى الاطلاع على إجمالي رسوم الشحن Shipping، إجمالي كلفة الطلب Total Order والمبالغ المُعادة Refunded. ومن هنا أيضًا يمكنك التحكم في الطلبات المستردة كما سنشرح في الفقرة التالية: ملاحظة: إذا رغبت في تعديل أي عنصر من عناصر الطلب، كإضافة منتج، تغيير منتج، أو حذف منتج، يجب أن تقوم أولًا بتغيير حالة الطلب من قائمة Order Status إلى Processing أو On-Hold. تحت قسم عناصر الطلب يأتي قسم رخص المنتج القابل للتحميل Downloadable Product Permissions: إذا كان الطلب يحتوي على منتجات قابلة للتحميل، يمكنك استخدام هذا الحقل لتعديل رخصة المستخدم في الوصول إلى التحميل Grant Access أو إبطال رخصة وصوله Revoke Access. وكذلك بإمكانك منح رخصة بالوصول إلى تحميلات جديدة. على جهة اليمين من نافذة عرض الطلب هناك قسمان آخران. الأول هو Order Actions: من هذا القسم يمكنك تحديد بعض الإجراءات لإرسال بريد إلكتروني إلى العميل يحتوي على تعليمات تتعلّق بالإجراء المحدد. على سبيل المثال عندما يتم شحن الطلب فهذا يعني أنّه مكتمل، قم بتحديد الإجراء Complete Order لتوليد بريد إلكتروني ثم انقر على أيقونة الدائرة وسيتم إرسال رسالة إلى العميل تخبره بأنّ الطلب اكتمل. وإذا قمت بتحديد الإجراء Generate Download Permissions سيتم إرسال بريد إلكتروني يحتوي على رابط التحميل للمنتج الذي تم شراؤه. يمكنك استخدام زر Save Order لحفظ أيّة تغييرات قمت بإجرائها على الطلب، انقر على هذا الزر لتحديث الطلب. القسم الثاني هو Order Notes: في هذا القسم تُعرض تحديثات حالة الطلب، الملاحظات المُستلمة من بوابات الدفع، إلخ. بإمكانك أيضًا أن تقوم بإضافة نوعين من الملاحظات هنا؛ ملاحظات العميل Customer Note والتي ستُرسل إلى العميل وتظهر مع الطلب إذا قام بعرضه من حسابه. أو ملاحظات خاصة Private Note والتي لا تُعرض سوى على مديري المتجر. بإمكانك وضع المؤشر داخل حقل الملاحظات لكتابة الملاحظة، ثم اختيار النوع المناسب للملاحظة والنقر على Add. استرداد الطلبات / إرجاع المبالغ المالية يعتبر استرداد الطلبات جزء لا يتجزأ من التعامل مع الطلبات، ومن السهل القيام بهذه العملية على WooCommerce. لتوضيح كيفية القيام بذلك سنقوم باسترداد أحد الطلبات. للبدء اذهب إلى: WooCommerce > Orders انقر على أيقونة العين المقابلة للطلب الذي تريد استرداده لعرضه ثم استرداده. انتقل إلى قسم Order Items ثم انقر على زر Refund في أسفل يمين هذا القسم لبدء عملية الاسترداد: عندما تنقر على هذا الزر لن يتم استرداد الطلب مباشرة، وإنّما ستُعرض بعض الحقول لاستخدامها في تحديد المنتج الذي تريد استرداده: كما تلاحظ، يملك كل منتج في الطلب حقل للكمية Qty وحقل لإجمالي الكلفة Total تحت القيم الأصلية للكمية وإجمالي الكلفة. وتحت هذه المنتجات يُعرض المبلغ الذي تم إعادته بالفعل Amount already refunded، المبلغ الكلي المتاح للإعادة Total available to refund، حقل للمبلغ الذي أنت على وشك إعادته Refund Amount، وحقل لسبب الاسترداد (اختياري) (Reason for Refund (optional. لنفترض أن العميل في هذا المثال يرغب في إعادة المنتج Woo Ninja. في حقل Qty سنضع الرقم 1 لأن الكمية التي طلبها العميل في الأصل 1، وسيتم حساب إجمالي المبلغ الذي سيُعاد إلى العميل تلقائيًا واعتمادًا على سعر المنتج. كما سيظهر خيار إعادة المنتج المستردّ إلى المخزون Restock refunded item وسيكون هذا الخيار مؤشر بشكل افتراضي (يمكنك إلغاء تأشيره إذا لم تكن ترغب في إعادة المنتج إلى المخزون). إذا كنت ترغب في إعادة مبلغ محدد، مثل 20% من إجمالي كلفة الطلب أو 15$ فقط، بإمكانك إدخال هذا المبلغ في حقل Refund Amount دون إدخال الكمية في حقل Qty، لأن المنتج لن يُسترد فعلًا في مثل هذه الحالات (أي يُصبح الاسترداد جزئي ببقاء المنتج مع العميل وإعادة جزء من مبلغ الشراء إليه): بعد أن تقوم بتحديد المبلغ المعاد، سيكون لديك خياران؛ إما استخدام زر الاسترداد اليدوي Refund […] manually، أو زر الاسترداد عبر بوابة الدفع التي استخدمها العميل عند الشراء […] Refund […] via وهي PayPal في هذا المثال (هذا الخيار لا يظهر إلا إذا كانت بوابة الدفع المستخدمة تتيح إمكانية الاسترداد (إرجاع المبالغ)، وفي هذه الحالة ستضطر إلى استرداد الطلب وإعادة المبلغ يدويًا). الاسترداد اليدوي يعني أن تقوم بتعيين خيارات الاسترداد بصورة صحيحة على WooCommerce ثم تقوم بتسجيل الدخول إلى بوابة الدفع وإعادة الأموال إلى عميلك من هناك. إذا كانت بوابة الدفع التي استخدمها العميل عند الدفع تدعم إعادة الأموال من على WooCommerce بإمكانك استخدام زر […] Refund […] via، وهو زر Refund $5.00 via PayPal في مثالنا هذا. في هذه الحالة سيتم إعادة الأموال إلى العميل من على WooCommerce بالإضافة إلى تحديث الطلب بصورة صحيحة بدلا عنك. ستلاحظ ظهور الكمية المستردة والمبلغ المعاد باللون الأحمر تحت المنتج المسترد، وكذلك سيعرض رقم عملية الاسترداد، تاريخها، وقتها، والمستخدم الذي قام بها، بالإضافة إلى إجمالي المبالغ المعادة Refunded تحت إجمالي مبلغ الطلب: إنّ عملية استرداد الطلبات بهذه الطريقة تحدث بالكامل داخل WooCommerce وهي بسيطة للغاية. لإنهاء عملية الاسترداد غيّر حالة الطلب Order Status إلى Refunded إذا كان قمت باسترداد الطلب بالكامل ثم انقر على Save Order: لكن في حالتنا هذه سنبقي الحالة Completed لأننا قمنا باسترداد منتج واحد من الطلب.
  2. في الدروس السابقة قمنا بتغطية خطوات تنصيب WooCommerce على مواقع ووردبريس، بالإضافة إلى ضبط إعدادات المنتجات Products وضبط إعدادات الضرائب Taxes. وفي هذا الدرس سنواصل ما بدأناه ونناقش خيارات الدفع للمتاجر على WooCommerce. توجد العديد من بوابات الدفع checkout gateways التي يتم تثبيتها تلقائيًا مع WooCommerce وكل بوابة لها إعداداتها الخاصة حيث يمكنك إدارة طرق الدفع على متجرك. لنلقِ نظرة عليها: قم أولا بتسجيل الدخول إلى موقعك ثم اذهب إلى: Dashboard > WooCommerce > Settings > Checkout خيارات الدفع العامة توجد هذه الخيارات ضمن تبويب Checkout Options الفرعي، والذي يحتوي على عدة أقسام: القسائم Coupons إذا كنت تنوي استخدام القسائم قم بتأشير الخيار Enable the use of coupons (سنشرح طريقة إنشاء القسائم في درس لاحق -إن شاء الله-). بعدها قم بتأشير الخيار Calculate coupon discounts sequentially إذا رغبت في أن يتم حساب تخفيض القسائم بالتتابع. على سبيل المثال، لنفترض أنّ السعر الكلي لطلب المشتري 100$، وكانت لديه قسيمة تخفيض 10%، وأخرى 20%. سيتم أولا تطبيق القسيمة الأولى على السعر الكلّي، وبذلك يخفّض السعر إلى 90$. ثم يتم تطبيق القسيمة الثانية على السعر المخفّض (أي على 90$)، وبذلك يصبح السعر الكلّي للطلب بعد استخدام القسائم 72$. إذا تركت الخيار أعلاه غير مؤشر، سيتم جمع قيم القسائم معًا ثم تُطبّق على السعر الكلي. أي تصبح قيمة القسيمة للمثال أعلاه 30% (10% +20%)، وعند تطبيق القسيمة على 100$، سيُخفّض إلى 70$. تُعتبر القسائم من الأجزاء الفعّالة في استراتيجياتك في التسويق والمبيعات، لذلك اختر ما تراه مناسبًا لمتجرك. الدفع Checkout من هذا القسم يمكنك تأشير الخيار Enable guest checkout والذي عند تفعيله ستتيح للعملاء إمكانية الدفع دون الحاجة إلى إنشاء حساب وتسجيل الدخول. وبخلاف ذلك، عند إلغاء تأشيره سيتطلّب من العميل تسجيل الدخول قبل الدفع. الخيار الثاني في هذا القسم هو Force secure checkout والذي ننصحك باستخدامه بشدّة. إذا كانت بوابات الدفع التي تستخدمها تقبل تفاصيل البطاقة على الموقع onsite، فهذا الخيار مطلوب بالإضافة إلى شهادة SSL. حتّى وإن كانت عملية الدفع لا تتم بالكامل على الموقع offsite ننصح باستخدام هذا الخيار، لأنّ صفحة الدفع لمتجرك ستقوم بجمع بيانات شخصية يتوّقع عملاؤك أن تقوم بحمايتها. تأكّد فقط من تثبيت شهادة SSL من طرف المضيف host الذي تستخدمه أو من طرفك. عند تأشير الخيار أعلاه سيظهر خيار آخر، وهو Force HTTP when leaving the checkout. عند تأشير هذا الخيار ستُجبر جميع الصفحات على متجرك (باستثناء صفحات الدفع) على التحميل عبر HTTP بدلًا من (SSL (HTTPS. وهو مفيد إذا كانت بعض بوابات الدفع تتطلب هذا الأمر. صفحات الدفع Checkout Pages إذا قمت باستخدام مرشد التهيئة عند تثبيت ملحق WooCommerce (كما شرحنا في الدرس الأول)، ستجد أن صفحات السلة Cart والدفع Checkout معَدّة مسبقًا. مع ذلك يمكنك من هذا القسم اختيار الصفحات التي تريد من WooCommerce أن يستخدمها لصفحة السّلة، الدفع، أو الأحكام والشروط Terms and Conditions. تأكّد من وجود صفحتي السّلة والدفع، وإلّا لن يتمكّن العميل من الشراء والدفع. أما صفحة الأحكام والشروط فهي اختيارية، لكن عند إنشائها، سيُطلب من العملاء تأشير حقل I read & accept the terms & conditions (قرأت الشروط والأحكام وأوافق عليها) قبل أن يقوموا بإتمام عملية الدفع. ويمكنهم أيضًا الوصول إلى صفحة الشروط والأحكام من صفحة الدفع لكي يتمكّنوا من الاطلاع عليها: Checkout Endpoints في هذا القسم تتحّكم في endpoints الخاصة بإجراءات عملية الدفع. يمكن تعريف checkout endpoints بأنّها أجزاء إضافية تُلحق بعنوان URL صفحة الدفع لمعالجة إجراء محدّد أثناء عملية الدفع. يمكنك إدخال endpoint لإجراء الدفع Pay، الطلبات المستلمة Order Received وطريقة إضافة المدفوعات Add Payment Method: إذا كنت تريد إنشاء endpoints مخصصة، تأكّد من كونها فريدة، ولا تُستخدم في صفحة أخرى على الموقع، وإلّا ستواجه مشاكل في عملية الدفع. بوابات الدفع Checkout Gateways يغطّي هذا القسم بوابات الدفع التي تملكها على متجرك. يتضمّن WooCommerce خمس بوابات أساسية، ثلاث منها offline، والذي يعني أنّ الدفع لا يتم عبر الإنترنت؛ وهي BACS (تحويل مصرفي مباشر)، Cheque (الصكوك)، و Cash on Delivery (الدفع نقدًا عند التسليم). والبوابتان المتبقيتان هي online، والذي يعني أنّ الدفع يتم عبر الإنترنت؛ وهي PayPal و Simplify Commerce (الدفع باستخدام بطاقة ائتمانية): ملاحظة: الدفع بواسطة البطاقات الائتمانية Credit Card متاح فقط في الولايات المتحدة، المملكة المتحدة، وكندا. لذلك لا يظهر هذا الخيار في صفحة الدفع للمتاجر التي تم تحديد موقعها غير المواقع المذكورة. من هذا القسم يمكنك إعادة ترتيب بوابات الدفع لمتجرك، معرفة رمزها التعريفي ID، ومعرفة البوابات المفعّلة في لمحة واحدة. يمكنك ترتيب البوابات بالنقر على أيقونة التطابق (≡) بجانب اسم البوابة والسحب ثم الإفلات عند الترتيب المرغوب. ستكون البوابة التي تضعها في الترتيب الأول هي الخيار الافتراضي للدفع، إذا كانت مفعّلة، عندما يقوم العميل بالدفع: يمكنك الانتقال إلى إعدادات بوابة محددة إما بالنقر على اسم البوابة من القائمة، أو اذهب إلى أعلى الصفحة وانقر على التبويب الفرعي الخاص بتلك البوابة. وسنغطّي إعدادات كل بوابة على حِدة في الفقرات التالية: خيارات استلام المدفوعات عبر التحويل المصرفي المباشر BACS تحت تبويب Checkout الرئيسي انقر على التبويب الفرعي BACS: قم بتأشير الخيار الأول Enable Bank Transfer لإتاحة للعميل إمكانية الدفع بواسطة التحويل المصرفي. وإذا قمت بتفعيله تأكّد من إدخال عنوان مناسب في حقل Title، وصف مختصر في حقل Description، بالإضافة إلى التعليمات Instruction عند الحاجة. سيظهر العنوان لعملائك على صفحة الدفع، وعند النقر عليه سيظهر الوصف تحته: أما التعليمات فستظهر على صفحة استلام الطلب، وستُرسل بواسطة البريد الإلكتروني: في قسم تفاصيل الحساب Account Details قم بإدخال اسم الحساب Account Name، رقم الحساب Account Number، اسم المصرف Bank name، الرقم التعريفي للمصرف أو فرعه Sort Code، رقم الحساب المصرفي الدولي IBAN، ورمز تعريف المصرف BIC/Swift. قم بإدخال هذه المعلومات لكل حساب مصرفي تستقبل عن طريقه المدفوعات. يجب أن تلاحظ أنّ هذه البوابة لا تقوم بمعالجة عملية الدفع بصورة تلقائية. فهي تتطلّب أن تقوم بالتحقق من المدفوعات والموافقة عليها من داخل الحساب المصرفي الذي قمت بتحديده لاستقبال المدفوعات. ومن ثم تقوم بإدارة الطلبات وحالتها (جارية، مكتملة، ملغية...إلخ) يدويًا. بعد الانتهاء تأكد من حفظ التغييرات بالنقر على Save Changes. وبهذا قد أصبحت جاهزًا لاستقبال حوالات مصرفية من عملائك. خيارات استلام المدفوعات عبر الصكوك Cheques تحت تبويب Checkout الرئيسي انقر على التبويب الفرعي Cheque: قم بتأشير الخيار الأول، Enable Cheque Payment، إذا كنت تريد تمكين العميل من الدفع بواسطة صك. كما أنّ هذا الخيار يسهّل عليك تقديم طلبات تجريبية لاختبار أشياء مثل رسائل البريد الإلكتروني أو صفحات نجاح الطلب. إذا قمت بتفعيل هذا الخيار تأكّد من إضافة عنوان في حقل Title ووصف مختصر في حقل Description. في حقل التعليمات Instructions أدخل عنوان متجرك (أو العنوان الذي تريد أن يتم إرسال الصك إليه) وأية إرشادات أخرى. سيظهر عنوان طريقة الدفع هذه للعميل على صفحة الدفع، وعند النقر عليه سيظهر الوصف تحته: أما التعليمات فستظهر على صفحة استلام الطلب، وستُرسل بواسطة البريد الإلكتروني. وكما هو الحال في البوابة السابقة، هذه البوابة لا تعالج عملية الدفع تلقائيًا. وستتمّكن من استلام الصكوك وسحب المدفوعات نقدًا بنجاح حسب المعلومات التي قمت بإدخالها في حقل التعليمات. لكي تقوم باستلام المدفوعات بنجاح، ننصحك أن تقوم بصرف الصكوك قبل الشحن، فبهذه الطريقة ستضمن الدفع مقابل الطلب. وكذلك سيتوجّب عليك، عند تفعيل هذه البوابة، أن تقوم بإدارة الطلبات يدويًا. احفظ التغييرات بالنقر على Save Changes. خيارات استلام المدفوعات نقدا عند التسليم Cash on Delivery تحت تبويب Checkout الرئيسي انقر على التبويب الفرعي Cash on Delivery: قم بتأشير الخيار الأول، Enable Cash on Delivery، لتمكين العميل من الدفع عن تسليم الطلب. وهذا الخيار أيضًا يسهّل عليك تقديم طلبات تجريبية لاختبار أشياء مثل رسائل البريد الإلكتروني أو صفحات نجاح الطلب. إذا قمت بتفعيل هذا الخيار تأكّد من إدخال عنوان مناسب في حقل Title، وصف مختصر في حقل Description، بالإضافة إلى التعليمات Instruction عند الحاجة. سيظهر العنوان للعميل على صفحة الدفع، وعند النقر عليه سيظهر الوصف تحته. أما التعليمات فستظهر على صفحة استلام الطلب، وستُرسل بواسطة البريد الإلكتروني: بإمكانك أيضًا تفعيل هذه البوابة لطرق شحن محددة تقوم بإعدادها من خلال تبويب Shipping (أي يكون استلام المدفوعات نقدًا عند التسليم مقتصرًا على طرق الشحن التي تحددها من قائمة Enable for shipping methods): وكذلك بإمكانك تفعيل هذه البوابة للطلبات الافتراضية/القابلة للتنزيل بتأشير الخيار Accept for virtual orders. هذه البوابة كسابقاتها لا تعالج عملية الدفع تلقائيًا، ولذلك يتطلّب منك تأكيد إتمام عملية الدفع بالطريقة التي تراها مناسبة، ومن ثم إدارة حالة الطلب يدويًا في WooCommerce. احفظ التغييرات بالنقر على Save Changes قبل الانتقال إلى التبويب الفرعي التالي. خيارات استلام المدفوعات عبر PayPal يعتبر باي بال خيار الدفع الأكثر شعبية لأنّه يوفّر أمان تام فيما يتعلّق بالمعاملات المالية. انقر على التبويب الفرعي PayPal تحت التبويب الرئيسي Checkout. تتضمّن خيارات هذه البوابة عدة أقسام: PayPal قم بتأشير الخيار الأول، Enable PayPal standard، لاستقبال المدفوعات عبر باي بال، ثم قم بإدخال عنوان للبوابة في حقل Title، ووصف مختصر في حقل Description. في حقل PayPal Email، وهو الخيار الأهم في هذا القسم، تأكّد من إدخال عنوان البريد الإلكتروني الذي قمت بإعداده لاستقبال المدفوعات في حسابك على باي بال، وإلّا لن تذهب المدفوعات إلى الحساب الصحيح. قم بتأشير الخيار Enable PayPal Sandbox لكي تتمكّن من اختبار المدفوعات على موقعك أثناء مرحلة التطوير قبل أن تقوم بإطلاقه وطلب الأموال مقابل الطلبات. يتطلّب هذا الخيار التسجيل للحصول على حساب مطوّر developer account بالنقر على رابط here الموجود أسفل الخيار. قم بتأشير الخيار Enable Logging للسماح لباي بال بتسجيل جميع الأحداث في ملف محدد على خادومك، وهذا الأمر مفيد لمعالجة المشاكل التي قد تواجهك. خيارات متقدمة Advanced options يحتوي هذا القسم على بعض الخيارات المفيدة التي يمكنك استخدامها عند الحاجة: في حقل Receiver Email تستطيع إدخال عنوان بريد إلكتروني آخر والذي يمكن استلام المدفوعات عليه إذا كان عنوان البريد الإلكتروني الذي قمت بإدخاله سابقًا (في حقل PayPal Email) ليس هو العنوان الرئيسي لاستلام المدفوعات. انتبه فقط إلى أنّ العنوان الذي تقوم بإدخال في حقل Receiver Email سيُستخدم للتحقق من طلبات (IPN (Instant Payment Notification بدلًا من العنوان الأصلي في حقل PayPal Email. إذا كانت لديك مشاكل تتعلّق بإشعار الدفع الفوري IPN، بإمكانك استخدام حقل PayPal Identity Token. ويتطلّب ذلك تفعيل خيار Payment Data Transfer في حسابك على PayPal. سجّل الدخول إلى حسابك على PayPal ثم اذهب إلى: Settings > Website Payment Preferences قم بتفعيل Payment Data Transfer قم انسخ الرمز من حقل Identity Token: الصق الرمز في حقل PayPal Identity Token على WooCommerce. في حقل Invoice Prefix قم بإدخال رمز بادئ فريد خاص بموقعك. هذا الخيار مفيد وضروري إذا كانت لديك العديد من المتاجر التي تستخدم نفس حساب PayPal لاستقبال المدفوعات. في هذه الحالة تأكّد من إدخال الرمز البادئ لأنّ باي بال لا يسمح بالطلبات التي تحمل نفس رقم الفاتورة. يمكنك تجنّب هذه المشكلة باستخدام بادئة فريدة لفواتير كل متجر. إذا كنت تستخدم باي بال لمساعدتك في إنشاء ملصقات الشحن، سيفيدك الخيار Send shipping details to PayPal instead of billing والذي عند تفعيله سيقوم WooCommerce بإرسال عنوان الشحن الخاص بالعميل إلى باي بال بدلًا من إرسال الفواتير. بالرغم من أننا نوصي بإبقاء الخيار Address Override غير مفعّل، إلا أنّه خيار مُتاح لك إذا كنت ترغب في منع تغيير معلومات عناوين العملاء بين موقعك وباي بال. وبما أنّ باي بال يقوم بالتحقق من العناوين، يمكن أن يسبب هذا الخيار المشاكل بين موقعك وباي بال، لذلك من الأفضل عدم تفعيله. من قائمة Payment Action تحدد فيما إذا كنت تريد تقييد المدفوعات لحساب باي بال على الفور باختيار Capture، أو الحصول على موافقة يدوية أولًا بتحديد الخيار Authorize. أما خيار Page Style فهو اختياري ومنه يمكنك إدخال اسم لنمط الصفحة التي تقوم بإعدادها من حسابك على باي بال، مما يتيح لك المزيد من التحكّم في مظهر الصفحة التي يوجَّه إليها العملاء لإنهاء الطلب. توجد على باي بال مختلف أنماط الصفحات المعرّفة التي تجدها على حسابك. ألق نظرة عليها وادخل اسم النمط المرغوب في الحقل المذكور. API Credentials هذه الإعدادات مهمة لمعالجة عملية استرداد الأموال عبر باي بال. انقر على رابط here في وصف الإعدادات للعثور على اسم مستخدم API، الكلمة السرّية Password والتوقيع Signature الخاصة بحسابك على موقع باي بال: انسخ هذه البيانات وألصقها في حقولها المخصصة، ثم انقر على Save Changes لحفظ التغييرات. خيارات الدفع عبر البطاقة الائتمانية Simplify Commerce قبل أن نبدأ في ضبط الإعدادات، نودّ الإشارة إلى أنّ بوّابة Simplify Commerce (وهي التي تُستخدم لاستلام المدفوعات عبر البطاقة الائتمانية) لها بعض المتطلبات التقنية: استفسر من المضيف HOST فيما إذا كانت لخادومك دعم CURL، فهو يُستخدم للاتصال بواجهة برمجة التطبيق API لهذه البوابة. تأكّد من أنّ المضيف يستخدم إصدار PHP 5.3 أو الأحدث منه، وهذا من متطلبات استخدام حزمة أدوات تطوير البرمجيات SDK. تأكّد من استخدام إصدار WooCommerce 2.0 أو الأحدث منه. يوصى باستخدام شهادة SSL/HTTPS للحفاظ على بيانات العملاء مؤمّنة ومحمية. فهذه البوابة تتيح للعملاء إمكانية الدفع على الموقع مباشرة، لذلك اطلب من مضيفك المساعدة في تنصيب شهادة SSL. نأتي الآن إلى الإعدادات. تحتاج أولا إلى إنشاء حساب على موقع Simplify Commerce، وستجد رابط التسجيل في صفحة إعدادات بوابة Simplify Commerce. الآن انقر على تبويب Simplify Commerce الفرعي تحت تبويب Checkout الرئيسي: انقر على زر Sign up for Simplify Commerce لتبدأ بإنشاء الحساب. بعد إنشاء الحساب، قم بتأشير الخيار Enable Simplify Commerce لكي تتيح للعملاء إمكانية اختيار هذه الطريقة للدفع. ومن ثم قم بإضافة عنوان للبوابة في حقل Title ووصف في حقل Description: الخيار التالي هو أسلوب الدفع Payment Mode وهو الخاص بطريقة عرض البطاقة. بإمكانك اختيار أحد الخيارين، Standard أو Hosted Payments، إذا كانت لديك شهادة SSL مثبّتة. وبخلاف ذلك ليس لديك خيار سوى استخدام Hosted Payments. إذا كانت لديك شهادة SSL مثبّتة، سيُظهر أسلوب Standard نموذج بطاقة ائتمانية على صفحة الدفع، وسيستخدم أسلوب Hosted Payments مربّع حوار نموذجي لجمع معلومات الدفع. أما عند عدم تثبيت شهادة SSL، يجب أن تستخدم أسلوب Hosted Payments، وفي هذه الحالة سيتم توجيه العملاء إلى موقع Simplify Commerce حيث يمكنهم إدخال تفاصيل بطاقاتهم بأمان. لديك أيضًا إمكانية اختيار لون للنموذج من حقل Modal Color، وهذا فقط في حالة اختيار أسلوب Hosted Payments من قائمة Payment Mode. الخيار التالي هو Enable Sandbox Mode والذي عند تأشيره ستتُاح لك إمكانية اختبار الطلبات. لاحظ فقط أنّه عند تفعيل هذا الخيار لن تؤخذ أي مدفوعات حقيقية (كما قلنا هذا الخيار لأغراض الاختبار في مرحلة التطوير). بعد ذلك قم بإدخال رموز Sandbox Public Key و Sandbox Private Key (هذان الحقلان لا يظهران إلا عند تأشير الخيار Enable Sandbox Mode) والتي يمكنك الحصول عليها من حسابك على موقع Simplify Commerce: إذا لم تقم بتأشير الخيار Enable Sandbox Mode، ستتحول الحقول أعلاه إلى Public Key و Privet Key: هذه الحقول مهمة جدًا، تأكّد من إدخال الرموز التي تستطيع الوصول إليها من حسابك على Simplify Commerce. بعد الانتهاء انقر على Save Change لحفظ التغييرات. في النهاية، نود الإشارة إلى أنّه لا يُشترط استخدام جميع بوابات الدفع، قم بتفعيل البوابات التي تجدها مناسبة لمتجرك فقط. بهذه الخطوة نكون قد وصلنا إلى نهاية الدرس. لا تنس أن تتابع معنا الدرس القادم والذي سنغطّي فيه إعدادات الشحن Shipping.
  3. يجب أن تعرف كيف تدير المستودعات البعيدة لتكون قادرا على التعاون في مشروع يستخدم Git. المستودعات البعيدة هي نسخ من المشروع مضافة على خادوم غير جهازك المحلي. يمكن أن يكون لديك أكثر من مستودع بعيد، وهو إما أن يكون للقراءة فقط Read-only أو للقراءة والكتابة. يستدعي التعاون مع الآخرين إدارةَ المستودعات ودفع Push البيانات إليها أو جلبها منها Pull لمشاركة مساهماتك مع بقية الفريق. تتضمن إدارة المستودعات البعيدة معرفة كيفية إضافتها، حذفها عندما تصبح غير صالحة، إدارة الفروع Branches البعيدة ومتابعتها Tracking إضافةً لأمور أخرى. يعرِض هذا المقال لمهارات أساسية لإدارة المستودعات البعيدة. عرض المستودعات البعيدة يعرِض الأمر git remote الخواديم البعيدة المضبوطة لديك. ينتج عن تنفيذ الأمر إظهار لائحة بأسماء مختصرة لكل خادوم بعيد ضبطته. إن كنت نسخت مستودعا فسترى على الأقل الاسم المختصر origin، وهو الاسم المختصر الافتراضي الذي يعطيه Git للخادوم الذي نسخت منه المستودع. يستخدَم الاسم المختصر مرجعا للدلالة على المستودع بدلا من كتابة مساره كاملا. في المثال التالي ننسخ المستودع ticgit ثم نلج إلى مجلد المستودع وننفذ أمر git remote: git clone https://github.com/schacon/ticgit Cloning into 'ticgit'... remote: Reusing existing pack: 1857, done. remote: Total 1857 (delta 0), reused 0 (delta 0) Receiving objects: 100% (1857/1857), 374.35 KiB | 268.00 KiB/s, done. Resolving deltas: 100% (772/772), done. Checking connectivity... done. cd ticgit git remote origin لاحظ الاسم المختصر origin. يمكن أيضا استخدام الخيار v- الذي يُظهر مسارات URL التي خزنها Git للاستخدام عند القراءة من المستودع أو الكتابة فيه: git remote -v origin https://github.com/schacon/ticgit (fetch) origin https://github.com/schacon/ticgit (push) إن كان لديك أكثر من مستودع بعيد فسيسرُدها الأمر جميعا. على سبيل المثال، إن كان لمستودع واحد خواديم بعيدة متعدّدة للعمل مع متعاونين مختلفين فستكون نتيجة تنفيذ الأمر كالتالي: cd grit git remote -v bakkdoor https://github.com/bakkdoor/grit (fetch) bakkdoor https://github.com/bakkdoor/grit (push) cho45 https://github.com/cho45/grit (fetch) cho45 https://github.com/cho45/grit (push) defunkt https://github.com/defunkt/grit (fetch) defunkt https://github.com/defunkt/grit (push) koke git://github.com/koke/grit.git (fetch) koke git://github.com/koke/grit.git (push) origin git@github.com:mojombo/grit.git (fetch) origin git@github.com:mojombo/grit.git (push) يعني هذا أن بإمكاننا جلب مساهمات أي واحد من هؤلاء المتعاونين بسهولة. إضافة مستودعات بعيدة ذكرنا في الفقرات السابقة كيفية إضافة مستودعات بعيدة باختصار؛ في الفقرات التالية سنفصِّل في الكيفية. استخدم الأمر التالي لإضافة مستودع جديد باسم مختصر يمكنك جعله مرجعا للمستودع: git remote add [shortname] [url] مثلا: git remote origin git remote add pb https://github.com/paulboone/ticgit git remote -v origin https://github.com/schacon/ticgit (fetch) origin https://github.com/schacon/ticgit (push) pb https://github.com/paulboone/ticgit (fetch) pb https://github.com/paulboone/ticgit (push) يمكنك الآن استخدام الاسم pb بدلا من العنوان الكامل في سطر الأوامر. استخدم الأمر التالي لإحضار جميع البيانات الموجودة في المستودع البعيد الذي أضفته أعلاه والتي لا توجد لديك محليًّا: git fetch pb remote: Counting objects: 43, done. remote: Compressing objects: 100% (36/36), done. remote: Total 43 (delta 10), reused 31 (delta 5) Unpacking objects: 100% (43/43), done. From https://github.com/paulboone/ticgit * [new branch] master -> pb/master * [new branch] ticgit -> pb/ticgit يمكن الآن الوصول إلى الفرع الرئيس من المستودع عبر pb/master . جلب مستودعات بعيدة ودفع البيانات إليها يمكن جلب بيانات مستودع بعيد بتنفيذ الأمر: git fetch [remote-name] يذهب Git بعد تنفيذ الأمر أعلاه إلى المستودع البعيد وينزل جميع بياناته التي لا توجد لديك حتى الآن. تحصُل بعد تنفيذ الأمر على مراجع (أسماء مختصرة) لجميع الفروع يمكن بعد ذلك دمجها أو فحصها في أي وقت. يضيف أمر النسخ git clone الاسم المختصر origin للمستودع البعيد تلقائيا. يجلب أمر git fetch origin أي بيانات جديدة دُفِعت إلى الخادوم بعد نسخ المستودع (أو بعد آخر جلب منه). من المهم ملاحظة أن git fetch تضيف البيانات إلى المستودع المحلي، ولا تدمجها تلقائيا مع أي من أعمالك؛ كما أنها لا تعدل على ما تعمل عليه. يعني هذا أن عليك دمجها يدويا عندما تكون جاهزا. إن كان لديك فرع معدّ لتتبع مستودع بعيد فيمكنك استخدام git pull لجلب البيانات من المستودع البعيد ودمجها مع الفرع الحالي. يُعِد أمر git clone تلقائيا الفرع الرئيس المحلي لتتبع الفرع الرئيس على الخادوم البعيد الذي نُسخ المستودع منه. يجلب أمر git pull البيانات من الخادوم الذي نُسخ أصلا منه المستودع ويحاول تلقائيا دمجها إلى الشفرة البرمجية التي تعمل عليها حاليا. دفع البيانات إلى المستودع البعيد يجب دفع المشروع إلى الخادوم عندما يكون جاهزا لتشاركه مع الآخرين، بتنفيذ الأمر التالي: git push [remote-name] [branch-name] حيث [remote-name] يمثل الفرع على الخادوم البعيد و[branch-name] على الخادوم المحلي، مع التذكير أن نسخ المستودع يضبط الاسمين تلقائيا كما أشرنا أعلاه. عندما تريد دفع الفرع الرئيس إلى الخادوم الأصلي فيمكنك تنفيذ الأمر التالي لدفع الإيداعات التي أنجزتها إلى الخادوم: git push origin master يعمل الأمر السابق فقط إن كنت نسخت المستودع من خادوم لديك صلاحيات الكتابة عليه، مع شرط ألا يكون أي شخص آخر دفع بيانات جديدة للمستودع البعيد بعد آخر عملية جلب قمت بها. إذا نسخت المستودع أنت وشخص آخر في نفس الوقت ثم أضاف هو إيداعات جديدة بدفعها إلى المستودع ثم أتيت لدفع بياناتك فإن المستودع لن يقبلها. يجب عليك في هذه الحالة جلب إيداعات الشخص الآخر أولا إلى جهازك المحلي ثم تضمينها لديك في المشروع ثم دفعه من جديد. فحص مستودع بعيد إن أردت الحصول على معلومات أكثر تفصيلا عن مستودع بعيد فالأمر التالي يؤدي هذه المهمة: git remote show [remote-name] إن نفذت الأمر مع اسم مختصر مثل origin فستحصل على نتيجة شبيهة بالتالي: git remote show origin * remote origin Fetch URL: https://github.com/schacon/ticgit Push URL: https://github.com/schacon/ticgit HEAD branch: master Remote branches: master tracked dev-branch tracked Local branch configured for 'git pull': master merges with remote master Local ref configured for 'git push': master pushes to master (up to date) يظهر في نتيجة الأمر مسار المستودع البعيد إضافة إلى معلومات خاصة بفرع التتبع. يخبرك الأمر أيضا أنك إن نفذت الأمر git pull على الفرع الرئيس master فسيدمجه تلقائيا في الفرع الرئيس في المستودع البعيد بعد أن يجلب جميع المراجع البعيدة؛ كما أنه يسرد قائمة بجميع المراجع البعيدة التي جلبها. إن كنت تستخدم Git كثيرا فستظهر معلومات أكثر تفصيلا من المثال غير المعقد أعلاه: git remote show origin * remote origin URL: https://github.com/my-org/complex-project Fetch URL: https://github.com/my-org/complex-project Push URL: https://github.com/my-org/complex-project HEAD branch: master Remote branches: master tracked dev-branch tracked markdown-strip tracked issue-43 new (next fetch will store in remotes/origin) issue-45 new (next fetch will store in remotes/origin) refs/remotes/origin/issue-11 stale (use 'git remote prune' to remove) Local branches configured for 'git pull': dev-branch merges with remote dev-branch master merges with remote master Local refs configured for 'git push': dev-branch pushes to dev-branch (up to date) markdown-strip pushes to markdown-strip (up to date) master pushes to master (up to date) يعرض الأمر الفروع التي ستُدفَع إليها البيانات تلقائيا عند تنفيذ الأمر git push على فروع معيَّنة. كما يُظهر أيضا الفروع الموجودة على الخادوم التي لا توجد لديك حتى الآن، الفروع التي حذفت من الخادوم ولكنها لا زالت لديك محليًّا والفروع المختلفة التي دُمجت تلقائيا عند تنفيذ الأمر git pull. حذف المستودعات البعيدة وإعادة تسميتها يتيح الأمر git remote rename إمكانية تغيير الاسم المختصر الخاص بالمستودع البعيد. إن أردت مثلا تغيير pb إلى paul فيجب تنفيذ الأمر على النحو التالي: git remote rename pb paul git remote origin paul ينتج عن الأمر أيضا التعديل على أسماء الفروع أيضا، مثلا pb/master تصبح paul/master عند تعديل الاسم المختصر من pb إلى paul. استخدم الأمر git remote rm لحذف مستودع بعيد : git remote rm paul git remote origin ترجمة -وبتصرف- للفصل Git Basics - Working with Remotes من كتاب Pro Git لصاحبه Scott Chacon.