我想制作程序以在不使用任何第三方工具的情况下在银行和 POS 终端设备之间进行通信。假设,目前,该程序仅用于通过银行切换IP地址+端口号与特定银行通话。
首先,假设我通过在 POS 终端刷信用卡来获得此输出。
%B1234123412341234
^CardUser/John^030510100000019301000000877000000?;1234123412341234=0305101193010877?
然后我根据这个wiki 链接将这些原始数据分类为 Track 1、Format B 和 Track 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 消息中。
我的问题是:
这是与银行互动的正确业务流程吗?我想得到任何建议。
是否可以将其中两个项目合并到一个 ISO 消息中,然后发送到银行?
请给我建议、任何参考资料或任何网页链接。