サードパーティのツールを使用せずに、銀行と POS 端末デバイス間で通信するプログラムを作成したいと考えています。現在、このプログラムは、バンク スイッチング IP アドレス + ポート番号を介して特定のバンクと通信するためにのみ使用されると仮定しましょう。
まず、POS 端末でクレジット カードをスワイプしてこの出力を取得したとします。
%B1234123412341234
^CardUser/John^030510100000019301000000877000000?;1234123412341234=0305101193010877?
次に、このwiki リンクに従って、この生データをトラック 1、フォーマット B、およびトラック 2 に分類します。
トラック1 フォーマットB
%
B
1234123412341234
^
CardUser/John
^
0305
101
00000019301000000877000000
?
トラック 2
;
1234123412341234
=
0305
101
193010877
?
次に、このコードを使用して、C# プログラムを使用してこれらの形式を読み取ります。
protected void CardReader_OTC(object sender, EventArgs e)
{
bool CaretPresent = false;
bool EqualPresent = false;
CaretPresent = CardReader.Text.Contains("^");
EqualPresent = CardReader.Text.Contains("=");
if (CaretPresent)
{
string[] CardData = CardReader.Text.Split('^');
//B1234123412341234^CardUser/John^030510100000019301000000877000000?
PersonName.Text = FormatName(CardData[1]);
CardNumber.Text = FormatCardNumber(CardData[0]);
CardExpiration.Text = CardData[2].Substring(2, 2) + "/" + CardData[2].Substring(0, 2);
}
else if (EqualPresent)
{
string[] CardData = CardReader.Text.Split('=');
//1234123412341234=0305101193010877?
CardNumber.Text = FormatCardNumber(CardData[0]);
CardExpiration.Text = CardData[1].Substring(2, 2) + "/" + CardData[1].Substring(0, 2);
}
}
上記のすべてのコードの後、 ISO 8583 メッセージング プロトコルを使用してデータを銀行に送信する必要があると思います。
私のデータには以下が含まれます
- トラック 1 + トラック 2 の情報。
- あらゆる種類の購入プロセスで引き出す金額。
これらの項目のうち 2 つを、銀行に送信する ISO メッセージに含める必要があります。
私の質問は次のとおりです。
これは銀行とやり取りするための正しいビジネス フローですか? 何か提案があればお願いします。
これらのアイテムの 2 つを 1 つの ISO メッセージにまとめて、銀行に送ることはできますか?
提案、参考文献、または Web リンクを教えてください。