⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme

📁 pos机交易实现源代码 含金融卡交易8583协议实现 开发环境:linux 典型应用:嵌入系统开发 仅供参考
💻
字号:
$Id: README,v 1.1 2000/03/04 00:03:44 apr Exp $So you need to pack and unpack ISO-8583 messages ...The good news is that after running this 'simplepack' exampleyou will be packing and unpacking ISO-8583 messages.The bad news... packing and unpacking ISO-8583 messagesis just a little part of your financial interchange requirements. There are many other things such as messagetransmission, message framing, low level wire protocols, higher level business logic, transaction batches, reconcilliation, etc. that you will have to take careabout.A. Packing----------   1) Create an ISOPackager instance (can be reused within application)   2) Create and populate an ISOMsg instance   3) Assign previously created ISOPackager to ISOMsg   4) Call pack() on your ISOMsg instance and you'll get      a byte[] with your packed ISO-8583 messageB. Unpacking------------   1) Create an ISOPackager instance (can be reused within application)   2) Create a new ISOMsg instance   3) Call unpack(byte[]) on your ISOMsg instance giving a previously      packed ISO-8583 image as a parameter.   4) Your ISOMsg instance gets populated and you can work with it.      (setting/unsetting fields, merging, cloning, etc. See 'isomsg'      example)Message Packagers (ISOPackager) and Field Packager (ISOFieldPackager)---------------------------------------------------------------------   There are many out-of-the-box easy-to-extend ISOPackagersavailable on jPOS distribution. They are located atorg.jpos.iso package.As for jPOS v1.2 we have:   --[ standard packagers ]--   ISO87APackager : ISO8583 version 1987 ASCII Packager   ISO87BPackager : ISO8583 version 1987 Binary packager   X92Packager    : ANSI X9.2   --[ customized contributed packagers ]--   BASE24Packager : BASE24 Packager (trademark of ACI)   PostPackager   : Postillion Packager (trademark of Mosaic Software)   VAPSMSPackager : VISA's VAP SMS Packager   VAPVIPPackager : VISA's VAP VIP Packager   VISA1Packager  : VISA1 to ISO-8583 AdapterAll of them implements ISOPackager so you can easily      ISOPackager packager = new ISO87APackager();Have a look now at any ISOPackager implementation (such asISO87APackager) available at org.jpos.iso.ISO87APackager.java.You'll find something like this:    protected ISOFieldPackager fld[] = {            new IFA_NUMERIC (  4, "MESSAGE TYPE INDICATOR"),            new IFA_BITMAP  ( 16, "BIT MAP"),            new IFA_LLNUM   ( 19, "PAN - PRIMARY ACCOUNT NUMBER"),            new IFA_NUMERIC (  6, "PROCESSING CODE"),            new IFA_NUMERIC ( 12, "AMOUNT, TRANSACTION"),	    ....	    ....You will find an ISOFieldPackager array that describe how topack and unpack every possible ISO-8583 message field.You should _double check_ that information toward the specificationgiven by your acquirer/financial interchange counterpart.The naming convention used for ISOFieldPackager implementationsis "similar" to what you'll see in your interchange documents.They start with "IF" (that stands for Iso Fieldpackager).For example:  IF_CHAR is a fixed length character field  IFA_NUMERIC is a fixed length numeric field  IFB_NUMERIC is a fixed length numeric field packed as BCDWe use IFA_* and IFB_ for ASCII fields and BCD or what weinternally call "Binary" fields.ISO87BPackager uses IFB* field packagers while ISO87APackageruses IFA* field packager.Then it comes the LL, LLL, LLLL fields (see ISO-8583 specs fordetails).As for jPOS v1.2 we have:IFA_AMOUNT      IFA_LLNUM       IFB_LLHFBINARYIFA_BINARY      IFA_NUMERIC     IFB_LLHNUMIFA_BITMAP      IFB_AMOUNT      IFB_LLLBINARYIFA_FLLCHAR     IFB_BINARY      IFB_LLLCHARIFA_FLLNUM      IFB_BITMAP      IFB_LLLNUMIFA_LLCHAR      IFB_CHAR        IFB_LLNUMIFA_LLLBINARY   IFB_LLBINARY    IFB_NUMERICIFA_LLLCHAR     IFB_LLCHAR      IF_CHARIFA_LLLLCHAR    IFB_LLHBINARY   IF_ECHARIFA_LLLLLCHAR   IFB_LLHCHAR     IF_NOPIFA_LLLNUM      IFB_LLHECHARSpecial cases are:  IF_NOP  : it is a No Operation field. It is usefull when mapping            ISO-8583 messages to legacy systems with fixed length            structures.  IF?_*E* : converts to/from EBCDIC  IF?_*H* : weird name for weird packaging. Specifies variable length            of LL* messages in BCD instead of BINARY or ASCII.	    I'm yet to find out why I've choosed "H" as a name,	    kinda "Hexadecimal" but it is not hexadecimal, it's BCD	    (will be deprecated in favor of a better name).Packaging nested Messages -------------------------jPOS can handle nested ISO-8583 messages. In order to pack a nested message you'll have to useISOMsgFieldPackager in your outter message(have a look at PostPackager.java or VIPVAPPackager.java)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -