تطبيق C# كإضافة إلى برنامج نقاط البيع الموجود


أهلاً،

لقد قرأت الكثير من المقالات حول تطوير تطبيقات نقاط البيع باستخدام مكتبة MS POS.net بلغة C#. ومع ذلك، فإن متطلباتي مختلفة قليلاً.

أرغب في إنشاء تطبيق C# سيتم تثبيته كإضافة إلى برنامج نقطة البيع الحالي (على أي جهاز نقطة بيع). أقوم بإنشاء إضافة لتسجيل تفاصيل إضافية حول الفاتورة والعميل في قاعدة البيانات.

لدي الشكوك التالية

1. هل هذا ممكن؟
2. إذا كانت الإجابة بنعم، فهل يمكن أن يكون هناك برنامجان يمكنهما استقبال الأحداث من جهاز نقطة البيع؟ مثل الباركود الذي يتم مسحه ضوئيًا؟

أي مساعدة موضع تقدير كبير

يعتبر
طاهر

الحل 1

1. هل هذا ممكن؟

على أي جهاز نقاط البيع؟ لا.

جهاز نقاط البيع الأكثر شيوعًا في جميع أنحاء العالم هو جهاز تسجيل نقدي قديم الطراز. لا يمكنك تشغيل تطبيق C# على ذلك.

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

تستخدم شركتك الصغيرة إلى المتوسطة الحجم ماكينة تسجيل النقد، أو تشتري جهاز نقطة بيع من شخص مثل NCR أو HP الذي باع لهم أيضًا البرنامج الذي يقوم بتشغيله. على أقل تقدير، يقوم البرنامج بتتبع المخزون أو إنشاء تقارير المبيعات. وهذا البائع نفسه لديه خيار برنامج يتتبع التفاصيل الإضافية – وهو مدمج بالفعل ويعمل مع هذا النظام. من غير المحتمل أن يكون لدى هؤلاء البائعين حافز كبير لإعطائك واجهة برمجة تطبيقات مفتوحة لإضافتها إلى نظامهم – ومن غير المحتمل أيضًا أن يخاطر عملك العادي بالذهاب إلى حل طرف ثالث إذا كان بإمكانهم الحصول عليه من نفس البائع .

إذن ما الذي تستهدفه؟

في الواقع، ابحث عن جهاز نقطة البيع الذي تريد تطوير تطبيقك له.

هل هو مجرد قارئ باركود، بالإضافة إلى قارئ شريط مغناطيسي، بالإضافة إلى بعض البرامج التي تعمل على جهاز كمبيوتر يعمل بنظام Windows؟

في هذه الحالة، نعم، هو كذلك ممكن اعتمادًا على مقدار العمل الذي تريد القيام به.

(ولكن قبل أن تذهب إلى أبعد من ذلك، اكتشف ما إذا كان أي شخص سيستخدم بالفعل ما يدور في ذهنك. كم عدد الشركات التي لديها هذا النوع من نظام نقاط البيع؟ هل يوفر البائع الأصلي بالفعل خيارًا برمجيًا مشابهًا لما يدور في ذهنك؟ قم بمسح بعض من الشركات ومعرفة ما إذا (أ) كانوا بحاجة أو يريدون ما يدور في ذهنك و (ب) ما إذا كانوا سيشترونه منك بدلاً من البائع الأصلي.)

2. إذا كانت الإجابة بنعم، فهل يمكن أن يكون هناك برنامجان يمكنهما استقبال الأحداث من جهاز نقطة البيع؟ مثل الباركود الذي يتم مسحه ضوئيًا؟

نعم، ولكن قد يتعين عليك كتابة برنامج تشغيل جهازك الخاص للقيام بذلك.

من غير المرجح أن يحتوي برنامج نقطة البيع الحالي على واجهة برمجة تطبيقات مفتوحة يمكنك فقط الحصول على البيانات منها. ومن غير المرجح أيضًا أن يكون المؤلفون الأصليون لبرنامج POS قد صمموا النظام بفكرة أنهم سيشاركون قارئ الشريط المغناطيسي وقارئ الباركود مع حزمة برامج أخرى.

إذا كان الأمر كذلك، فلا يزال بإمكانك استبدال برامج تشغيل الأجهزة الموجودة لتلك الأجهزة (أو ربما بشكل أبسط، إضافة برنامج تشغيل إلى سلسلة برامج تشغيل الأجهزة للأجهزة) حتى تتمكن من اعتراض البيانات من الجهاز أثناء انتقالها إلى حزمة البرامج الأخرى.

(لإعطائك فكرة عما أتحدث عنه، إليك مقالة مشروع التعليمات البرمجية حول اعتراض ضغطات المفاتيح:

مراقبة ضغطات المفاتيح[^]

ربما يكون اعتراض البيانات من جهاز آخر أكثر تعقيدًا، لكن المفاهيم هي نفسها.)

إذا كان عليك كتابة برنامج تشغيل على مستوى kernel للقيام بما تريد، فسوف ينتهي بك الأمر إلى كتابته بلغة C أو C++ الأصلية بدلاً من C#.

إذن الإجابات هي:

انه من الممكن.
ولكن، ما لم يكن هناك سبب مقنع حقًا للقيام بذلك، فإنه لا يستحق حجم العمل المطلوب.

الحل 2

فمن الممكن تماما! تعرف على كيفية عمل مكونات نقطة البيع معًا. 1) واجهة نقاط البيع التي يعمل عليها أمين الصندوق. 2) EPS أو نظام الدفع الذي سيتم توصيله بمحطة نقطة البيع، ولوحة الدبوس، وقارئ الرمز الشريطي، والمقياس، والاتصال بالمعالج/البنك وما إلى ذلك. تعرف على تنسيق حزمة TCP/IP نظرًا لأن العديد من المعالجات تستخدم شبكة معينة البروتوكول – من XML إلى نوع ما من بروتوكول TLV وما إلى ذلك. قم بإنشاء تطبيق عميل/خادم لاعتراض الحزمة القادمة من EPS المتجهة إلى المعالج، واستخراج البيانات الضرورية التي تريد تخزينها في قاعدة بيانات وإعادة توجيه الحزمة إلى المعالج، ثم تلقي الرد من المعالج وإرساله مرة أخرى إلى نقطة البيع.
ملاحظة – كل هذا يفترض عدم وجود تشفير! أيضًا، باستخدام هذا الأسلوب، لن تعرف شيئًا عن معاملات النقد أو الشيكات أو بطاقات الهدايا حيث قد تتم معالجتها من خلال معالجات مختلفة ما لم تقم بإضافة “أداة الشم” لكل وجهة محتملة.

نقطة البيع—>EPS—->جهاز الشم الخاص بك—>المعالج—>البنك: ثم العودة.

コメント

タイトルとURLをコピーしました