3

我想制作程序以在不使用任何第三方工具的情况下在银行和 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. 轨道 1 + 轨道 2 信息。
  2. 任何类型的购买过程中提取的金额。

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

我的问题是:

  1. 这是与银行互动的正确业务流程吗?我想得到任何建议。

  2. 是否可以将其中两个项目合并到一个 ISO 消息中,然后发送到银行?

请给我建议、任何参考资料或任何网页链接。

4

2 回答 2

6

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

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

    你可以用 DE35 或 De45 通过 DE2,但没有人同时通过 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(你用的是芯片、磁条、手动录入?)

    这是您应该遵循的最低要求,但是,这取决于收单银行,他们要求的最低规格是什么

  • 于 2011-12-31T07:55:59.423 回答
    3

    我不知道它现在是否会帮助你。因为它已经超过 2 年了,你可能已经找到了解决方案。我仍然试图给出简短的描述:

    首先,当在 POS 终端的 MSR 头部刷卡(借记卡/贷记卡)时,来自 T1 和 T2 的卡数据详细信息用于形成 ISO 8583 数据包。

    您必须决定您将使用哪个版本的 ISO 8583,并且必须遵循您的 POS 将要使用的支付开关。

    假设您使用的是 ISO 8583 v2003。

    现在刷卡时,您的 POS 终端将形成一个 ISO8583 数据包,将其加密并通过安全隧道(TCP-IP)发送到支付交换机。现在这个交换机将连接到支付网关(它可以连接到银行,或一个或多个 PG),请求将从支付交换机转发到 PG。

    授权和认证后,PG 将通过支付开关回复请求到 POS 终端。

    需要注意的一点: 1. 您的 POS 终端应通过 PCI PTS POI 认证,可合法刷任何 VISA/MC/Amex 卡 2. PCI PTS 有安全要求,您的设备应符合要求 3. ISO 8583 标准对不同类型有不同的 MTI的财务请求。对于前销售,您将必须发送 MTI 200/210,反转 MTI 420/430,用于登录和密钥交换 MTI 804/810 等。

    您必须对 8583 标准有深入的了解才能形成数据包。

    如果您希望我解释有关 ISO8583 的安全要求或更多信息,请告诉我。

    于 2013-08-01T07:50:14.760 回答