我想制作程序在不使用任何第三方工具的情况下在银行和 POS 终端设备之间进行对话。假设,目前该程序仅用于通过银行切换IP地址+端口号与特定银行通话。

首先,让我们假设我通过在 POS 终端刷信用卡来获得此输出。

%B1234123412341234
^CardUser/John^030510100000019301000000877000000?;1234123412341234=0305101193010877?

然后我根据这个 wiki link 将这些原始数据分类为 Track 1、Format B 和 Track 2。

音轨 1 格式 B
%
B
1234123412341234
^
CardUser/John
^
0305
101
00000019301000000877000000
?

轨道 2
;
1234123412341234
=
0305
101
193010877
?

然后,我将使用这个 code 来使用 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 messaging protocol 将我的数据发送到银行。

我的数据将包括
  • 轨道 1 + 轨道 2 信息。
  • 为任何类型的购买过程提取的金额。

  • 我希望将这些项目中的 2 个包含在我将发送给银行的 ISO 消息中。

    我的问题是:
  • 这是与银行互动的正确业务流程吗?我想得到任何建议。
  • 是否可以将这些项目中的两个合并到一个 ISO 消息中,然后将其存入银行?

  • 请给我建议、任何引用资料或任何网络链接。

    最佳答案

    如果要使用 ISO 8583 消息格式,则需要在以下字段之一中传递卡信息:

  • DE2 = 卡号
  • DE35 = 第二轨
  • DE45 = 轨道 I

    你可以通过 DE2 和 DE35 或 De45 但没有人同时通过 35 和 45

    接下来您需要传递存储在 DE14 中的到期日期

    您还需要传递这是什么类型的交易,这是DE3的前2位数字,购买时为00,手动取款时为11,其余可以是0000,或者如果您指定帐户类型,则数字3和4 代表账户类型,其余为 00,因为这些交易中没有 To-Account

    您需要在字段 DE4 中传递金额

    您需要在 DE11 中传递跟踪号

    字段 DE41、DE42 和 DE43 也用于识别您正在使用的终端和拥有此类终端的商家

    字段 DE7、DE12 用于指定交易的日期/时间

    字段 DE49 用于指定交易货币

    字段 DE18 对于指定您使用的 POS 终端的商户类别代码很重要,这是该商户遵循的事件类型

    DE19可用于指定国家

    DE25为录入方式(你用的是芯片、磁条、手动录入?)

    这是您应该遵循的最低要求,但是,这取决于收单银行,他们要求的最低规范是什么
  • 关于c# - POS终端与银行之间的支付,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8486129/

    10-12 07:09