【解決方法】既存の POS ソフトウェアにアドオンとしての C# アプリケーション

プログラミングQA


こんにちは、

C# の MS POS.net ライブラリを使用した POS アプリケーションの開発に関する記事をたくさん読みました。 ただし、私の要件は少し異なります。

既存の POS ソフトウェア (任意の POS デバイス上) へのアドオンとしてインストールされる C# アプリケーションを構築したいと考えています。 請求書と顧客に関する追加の詳細をデータベースに記録するためのアドオンを構築しています。

次のような疑問があります

1. 可能ですか?
2. 1 の答えが「はい」の場合、POS デバイスからイベントを受信できるソフトウェアは 2 つありますか? バーコードがスキャンされるようなものですか?

助けていただければ幸いです

よろしく
ターヘル

解決策 1

1. 可能ですか?

の上 どれでも POSデバイス? いいえ。

世界中で最も一般的な POS デバイスは、古き良き時代のレジです。 その上で C# アプリケーションを実行することはできません。

おそらく世界中で次に最も一般的な POS デバイスは、NCR のような企業が提供し、大手小売店に設置されている独自の POS システムです。 必ずしも Windos が実行されるわけではありません。また、たとえ Windows が実行されるとしても、サードパーティのアドオンをインストールできるように構成されません。

平均的な中小企業では、レジを使用するか、NCR や HP などの企業から POS デバイスを購入し、それを実行するソフトウェアも販売しています。 ソフトウェアは最低限、在庫を追跡したり、販売レポートを生成したりします。 そして、同じベンダーには、追加の詳細を追跡するソフトウェア オプションがあり、すでにそのシステムと統合され、動作しています。 それらのベンダーには、自社のシステムに追加するためのオープン API を提供する動機があまりないでしょう。また、平均的な企業が、同じベンダーから入手できるサードパーティの解決策を使用するリスクを負う可能性も低いでしょう。 。

それで、何をターゲットにしていますか?

実際に、アプリケーションを開発したい POS デバイスを見つけてください。

それは単なるバーコード リーダー、磁気ストリップ リーダー、そして Windows ベースの PC 上で実行されるソフトウェアでしょうか?

その場合、はい、そうです 可能 どれだけの仕事をしたいかによって異なります。

(ただし、先に進む前に、あなたが考えているものを実際に使用する人がいるかどうかを調べてください。その種の POS システムを導入している企業はどれくらいありますか? 元のベンダーは、あなたが考えているものと同様のソフトウェア オプションをすでに提供していますか? いくつかの企業にアンケートを行ってください。 (a) あなたが考えているものをその企業が必要としているか、または望んでいるのか、(b) 元のベンダーからではなくあなたから購入するのかどうかを調べます。)

2. 1 の答えが「はい」の場合、POS デバイスからイベントを受信できるソフトウェアは 2 つありますか? バーコードがスキャンされるようなものですか?

はい、ただし、そのためには独自のデバイス ドライバーを作成する必要がある場合があります。

既存の POS ソフトウェアに、データを取得するだけのオープン API がある可能性はほとんどありません。 また、POS ソフトウェアのオリジナルの作成者が、磁気ストライプ リーダーとバーコード リーダーを別のソフトウェア パッケージと共有するという考えでシステムを設計したとは考えにくいです。

その場合でも、それらのデバイスの既存のデバイス ドライバーを置き換えることができます (あるいは、おそらくもっと簡単に、デバイスのデバイス ドライバー チェーンにドライバーを追加することもできます)。これにより、デバイスからデータが送信されるときにインターセプトできるようになります。他のソフトウェアパッケージ。

(私が何について話しているのかを理解していただくために、キーストロークのインターセプトに関するコード プロジェクトの記事を次に示します。

キーストロークの監視[^]

他のデバイスからのデータの傍受はおそらくより複雑ですが、概念は同じです)。

必要なことを行うためにカーネル レベルのドライバーを作成する必要がある場合、最終的には C# ではなくネイティブ C または C++ で作成することになります。

したがって、答えは次のとおりです。

はい、可能です。
しかし、本当にそうしなければならない理由がない限り、それにかかる労力に見合う価値はありません。

解決策 2

それは絶対に可能です! POS コンポーネントがどのように連携して機能するかを理解してください。 1) レジ係が動作している POS インターフェイス。 2) POS 端末、ピンパッド、バーコード リーダー、スケールに接続し、プロセッサ/銀行などに接続する EPS または支払いシステム。多くのプロセッサが特定のネットワークを使用しているため、TCP/IP パケットのフォーマットを調べます。プロトコル – XML からある種の TLV プロトコルなど。EPS からプロセッサに送られるパケットをインターセプトし、DB に保存したい必要なデータを抽出してパケットをプロセッサに転送するクライアント/サーバー アプリケーションを作成します。次にプロセッサから応答を受信し、それを POS に送り返します。
注 – これはすべて、暗号化が関与していないことを前提としています。 また、このアプローチでは、考えられるすべての宛先に「スニファー」を追加しない限り、現金、小切手、またはギフト カードの取引は別のプロセッサを通じて処理される可能性があるため、その取引について知ることはできません。

POS —>EPS —->あなたのスニファー —>プロセッサ —>銀行 : そして戻ります。

コメント

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