home *** CD-ROM | disk | FTP | other *** search
/ The Hacker's Encyclopedia 1998 / hackers_encyclopedia.iso / zines / phrack2 / phrack46.015 < prev    next >
Encoding:
Text File  |  2003-06-11  |  49.2 KB  |  1,030 lines

  1.                               ==Phrack Magazine==
  2.  
  3.                  Volume Five, Issue Forty-Six, File 15 of 28
  4.  
  5. ****************************************************************************
  6.  
  7.                             visanetoperations; part1
  8.  
  9.                               obtainedandcompiled
  10.  
  11.                                        by
  12.  
  13.                                      icejey
  14.                                        /\
  15.    lowerfeldafederationforundercasing iiu delamolabz chuchofthenoncomformist
  16.                                        &&
  17.                          theilluminatibarbershopquartet
  18.  
  19.  greetz2; drdelam maldoror greenparadox kaleidox primalscream reddeath kerryk
  20. -------------------------- [ typed in true(c) 80 columns] ----------------------
  21. ---------------------------- [ comments appear in []s ] ------------------------
  22.  
  23.                                 [ section one ]
  24.                             [ from the word of god ]
  25.  
  26.           -------------------------------------------------------------
  27.           |  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  |
  28.           |  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  |
  29.           |    \\\\\     /////  /////  //////////// /////\\\\         |
  30.           |     \\\\\   /////  /////  /////        /////  \\\\\       |
  31.           |      \\\\\ /////  /////  ///////////  \\\\\\\\\\\\\\      |
  32.           |       \\\\\///   /////        /////  \\\\\\\\\\\\\\\\     |
  33.           |        \\\\\/   ///// ////////////  /////        \\\\\    |
  34.           |  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  |
  35.           |  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  |
  36.           -------------------------------------------------------------
  37.  
  38.                         EXTERNAL INTERFACE SPECIFICATION
  39.                         --------------------------------
  40.                                SECOND GENERATION
  41.                           AUTHORIZATION RECORD FORMATS
  42.  
  43.                                For Record Formats
  44.                            --------------------------
  45.                                 J - PS/2000 REPS
  46.                              G - VisaNet Dial Debit
  47.  
  48. 1.0 INTRODUCTION
  49.  
  50.  2.0 APPLICABLE DOCUMENTS
  51.     2.01 RELATED VISA DOCUMENTS FOR AUTHORIZATION
  52.     2.02 RELATED VISA DOCUMENTS FOR DATA CAPTURE
  53.  
  54. 3.0 AUTHORIZATION RECORD FORMATS
  55.     3.01 REQUEST RECORD FORMAT
  56.     3.02 RESPONSE RECORD FORMAT
  57.  
  58. 4.0 REQUEST RECORD DATA ELEMENT DEFINITIONS
  59.     4.01 RECORD FORMAT
  60.     4.02 APPLICATION TYPE
  61.     4.03 MESSAGE DELIMITER
  62.     4.04 ACQUIRER BIN
  63.     4.05 MERCHANT NUMBER
  64.     4.06 STORE NUMBER
  65.     4.07 TERMINAL NUMBER
  66.     4.08 MERCHANT CATEGORY CODE
  67.     4.09 MERCHANT COUNTRY CODE
  68.     4.10 MERCHANT CITY CODE
  69.     4.11 TIME ZONE DIFFERENTIAL
  70.     4.12 AUTHORIZATION TRANSACTION CODE
  71.     4.13 TERMINAL IDENTIFICATION NUMBER
  72.     4.14 PAYMENT SERVICE INDICATOR
  73.     4.15 TRANSACTION SEQUENCE NUMBER
  74.     4.16 CARDHOLDER IDENTIFICATION DATA
  75.     4.17 ACCOUNT DATA SOURCE
  76.     4.18 CUSTOMER DATA FIELD
  77.        4.18.1 TRACK 1 READ DATA
  78.        4.18.2 TRACK 2 READ DATA
  79.        4.18.3 MANUALLY ENTERED ACCOUNT DATA (CREDIT CARD)
  80.           4.18.3.1 MANUALLY ENTERED ACCOUNT NUMBER
  81.           4.18.3.2 MANUALLY ENTERED EXPIRATION DATE
  82.        4.18.4 CHECK ACCEPTANCE IDENTIFICATION NUMBER
  83.           4.18.4.1 CHECK ACCEPTANCE ID
  84.           4.18.4.2 MANUALLY ENTERED CHECK ACCEPTANCE DATA
  85.     4.19 FIELD SEPARATOR
  86.     4.20 CARDHOLDER IDENTIFICATION DATA
  87.        4.20.1 STATIC KEY WITH TWENTY THREE BYTE CARDHOLDER ID
  88.        4.20.2 STATIC KEY WITH THIRTY TWO BYTE CARDHOLDER ID
  89.        4.20.3 DUK/PT KEY WITH THIRTY TWO BYTE CARDHOLDER ID
  90.        4.20.4 ADDRESS VERIFICATION SERVICE DESCRIPTION [hmmm...]
  91.     4.21 FIELD SEPARATOR
  92.     4.22 TRANSACTION AMOUNT
  93.     4.23 FIELD SEPARATOR
  94.     4.24 DEVICE CODE/INDUSTRY CODE
  95.     4.25 FIELD SEPARATOR
  96.     4.26 ISSUING INSTITUTION ID/RECEIVING INSTITUTION ID
  97.     4.27 FIELD SEPARATOR
  98.     4.28 SECONDARY AMOUNT (CASHBACK)
  99.     4.29 FIELD SEPARATOR
  100.     4.30 MERCHANT NAME
  101.     4.31 MERCHANT CITY
  102.     4.32 MERCHANT STATE
  103.     4.33 SHARING GROUP
  104.     4.34 FIELD SEPARATOR
  105.     4.35 MERCHANT ABA NUMBER
  106.     4.36 MERCHANT SETTLEMENT AGENT NUMBER
  107.     4.37 FIELD SEPARATOR
  108.     4.38 AGENT NUMBER
  109.     4.39 CHAIN NUMBER
  110.     4.40 BATCH NUMBER
  111.     4.41 REIMBURSEMENT ATTRIBUTE
  112.     4.42 FIELD SEPARATOR
  113.     4.43 APPROVAL CODE
  114.     4.44 SETTLEMENT DATE
  115.     4.45 LOCAL TRANSACTION DATE
  116.     4.46 LOCAL TRANSACTION TIME
  117.     4.47 SYSTEM TRACE AUDIT NUMBER
  118.     4.48 ORIGINAL AUTHORIZATION TRANSACTION CODE
  119.     4.49 NETWORK IDENTIFICATION CODE
  120.     4.50 FIELD SEPARATOR
  121.  
  122. 5.0 RESPONSE RECORD DATA ELEMENT DEFINITIONS
  123.     5.01 PAYMENT SERVICE INDICATOR
  124.     5.02 STORE NUMBER
  125.     5.03 TERMINAL NUMBER
  126.     5.04 AUTHORIZATION SOURCE CODE
  127.     5.05 TRANSACTION SEQUENCE NUMBER
  128.     5.06 RESPONSE CODE
  129.     5.07 APPROVAL CODE
  130.     5.08 LOCAL TRANSACTION DATE
  131.     5.09 AUTHORIZATION RESPONSE CODE
  132.     5.10 AVS RESULT CODE
  133.     5.11 TRANSACTION IDENTIFIER
  134.     5.12 FIELD SEPARATOR
  135.     5.13 VALIDATION CODE
  136.     5.14 FIELD SEPARATOR
  137.     5.15 NETWORK IDENTIFICATION CODE
  138.     5.16 SETTLEMENT DATE
  139.     5.17 SYSTEM TRACE AUDIT NUMBER
  140.     5.18 RETRIEVAL REFERENCE NUMBER
  141.     5.19 LOCAL TRANSACTION TIME
  142.  
  143. 6.0 CONFIRMATION RECORD DATA ELEMENT DEFINITIONS
  144.     6.01 NETWORK IDENTIFICATION CODE
  145.     6.02 SETTLEMENT DATE
  146.     6.03 SYSTEM TRACE AUDIT NUMBER
  147.  
  148. 7.0 CHARACTER CODE DEFINITIONS
  149.     7.01 TRACK 1 CHARACTER DEFINITION
  150.     7.02 TRACK 2 CHARACTER DEFINITION
  151.     7.03 AUTHORIZATION MESSAGE CHARACTER SET
  152.     7.04 CHARACTER CONVERSION SUMMARY
  153.     7.05 ACCOUNT DATA LUHN CHECK
  154.     7.06 CALCULATING AN LRC
  155.     7.07 TEST DATA FOR RECORD FORMAT "J"
  156.       7.07.1 TEST DATA FOR A FORMAT "J" AUTHORIZATION REQUEST
  157.       7.07.2 RESPONSE MESSAGE FOR TEST DATA
  158.  
  159. -------------------------------------------------------------------------------
  160.  
  161. 1.0 INTRODUCTION
  162.  
  163. This document describes the request and response record formats for the VisaNet
  164. second generation Point-Of-Sale (POS) authorization terminals and VisaNet
  165. Authorization services.  This document describes only record formats.  Other
  166. documents describe communication protocols and POS equipment processing
  167. requirements.  Figure 1.0 represents the authorization request which is
  168. transmitted to VisaNet using public communication services and the
  169. authorization response returned by VisaNet.  Debit transactions include a
  170. third confirmation message.
  171.  
  172. POS DEVICE                                          VISANET
  173. ----------                                          -------
  174.  
  175. AUTHORIZATION
  176.   REQUEST
  177.     |           TRANSMITTED TO A
  178.     |---------->    VISANET                       AUTHORIZATION
  179.                  AUTHORIZATION                      RESPONSE
  180.                   HOST SYSTEM                          |
  181.                                                        |
  182.                              RETURNED BY THE           |
  183.                              VISANET HOST TO  <--------|
  184.                              THE POS TERMINAL
  185.  
  186. DEBIT RESPONSE
  187. CONFIRMATION--------------->TRANSMITTED TO
  188.                             HOST SYSTEM
  189.  
  190.                                    FIGURE 1.0
  191.                       Authorization request and response.
  192.  
  193. This document describes the record formats to be used for the development of
  194. new applications.  Current formats or transition formats will be provided on
  195. request.  The usage of some fields have changed with the new record formats.
  196. Applications which were developed to previous specifications will continue to
  197. be supported by VisaNet services.  The new formats and field usage is provided
  198. with the intention of moving all new applications developed to the new formats.
  199.  
  200. 2.0 APPLICABLE DOCUMENTS
  201.  
  202.    The following documents provide additional definitions and background.
  203.  
  204. 2.01 RELATED VISA DOCUMENTS FOR AUTHORIZATION
  205.  
  206.   1. EIS1051 - External Interface Specification
  207.                    Second Generation
  208.             Authorization Link Level Protocol
  209.  
  210. 2.02 RELATED VISA DOCUMENTS FOR DATA CAPTURE
  211.  
  212.    1. EIS1081 - External Interface Specification
  213.                     Second Generation
  214.               Data Capture Record Formats
  215.  
  216.    2. EIS1052 - External Interface Specification
  217.                     Second Generation
  218.               Data Capture Link Level Protocol
  219.  
  220. 3.0 AUTHORIZATION RECORD FORMATS
  221.  
  222. This section contains the record formats for the authorization request,
  223. response and confirmation records.  The ANSI X3.4 character set is used to
  224. represent all record data elements.  (See Section 7)
  225.  
  226. In the record formats on the following pages, the column heading FORMAT is
  227. defined as:
  228.  
  229. "NUM"  represents numeric data, the numbers 0 through 9, NO SPACES.
  230. "A/N"  represents alphanumeric data, the printing character set.
  231. "FS"   represents a field separator character as defined in ANSI X3.4 as
  232.        a "1C" hex
  233.  
  234. 3.01 REQUEST RECORD FORMAT
  235.  
  236. Table 3.01b provides the record format for the authorization request records.
  237. Section 4 provides the data element definitions.
  238.  
  239. The authorization request record is a variable length record.  The record
  240. length will depend on the source of the customer data and the type of
  241. authorization request.  Refer to Table 3.01c to determine which GROUPS to use
  242. from Table 3.01a
  243.  
  244. TABLE 3.01a IS PROVIDED FOR REFERENCE REASONS ONLY.  ALL NEW APPLICATIONS
  245.             SHOULD USE ONE OF THE FOLLOWING RECORD FORMATS:
  246.  
  247. RECORD  | APPLICATION |
  248. FORMAT  |    TYPE     | REMARKS
  249. -------------------------------------------------------------------------------
  250.    J    |   CREDIT    | All non-ATM card transactions (Visa cards, other credit
  251.         |             | cards, private label credit cards and check guarantee)
  252.    G    | DIAL DEBIT  | Visa supported ATM debit cards
  253.  
  254. The selection of format type J and G or any other value from Table 3.01a will
  255. depend on the VisaNet services that are desired.  Contact your Visa POS member
  256. support representative for assistance in determining the required formats.
  257.  
  258.                                   TABLE 3.01a
  259.                              Record Format Summary
  260.  
  261.  Non-CVV       CVV       Terminal
  262. Compliant   Compliant   Generation   Description
  263. -------------------------------------------------------------------------------
  264.                 0                    RESERVED
  265.     1           N         First      Vutran
  266.     2           8         First      Sweda
  267.     4           R         First      Verifone
  268.     6           P         First      Amex
  269.     7           3         First      Racal
  270.     A           Q         First      DMC
  271.     B           R         First      GTE & Omron    [velly intelestink]
  272.     C           9         First      Taltek
  273.     S           U         First      Datatrol - Standard Oil
  274.     D           T         First      Datatrol
  275.     E                                RESERVED
  276.     5           F         Second     Non-REPS-Phase 1 CVV
  277.                 G         Second     Dial Debit
  278.                 H         Second     Non-REPS-Phase 2 CVV
  279.                 I         Second     RESERVED - Non-REPS Controller
  280.                 J         Second     REPS - Terminal & Controller
  281.                 K         Second     RESERVED
  282.                 L         Second     RESERVED - Leased VAP
  283.                 M         Second     RESERVED - Member Format
  284.                N-O                   RESERVED
  285.                V-Y                   RESERVED
  286.                 Z         Second     RESERVED - SDLC Direct [hmmm]
  287. -------------------------------------------------------------------------------
  288.  
  289.                                   TABLE 3.01b
  290.              Second Generation Authorization Request Record Format
  291.  
  292.                                                                         see
  293. Group  Byte#  Length  Format  Name                                    section
  294. -------------------------------------------------------------------------------
  295.          1      1      A/N    Record Format                             4.01
  296.          2      1      A/N    Application Type                          4.02
  297.          3      1      A/N    Message Delimiter                         4.03
  298.         4-9     6      NUM    Acquirer Bin                              4.04
  299.        10-21   12      NUM    Merchant Number                           4.05
  300.        22-25    4      NUM    Store Number                              4.06
  301.        26-29    4      NUM    Terminal Number                           4.07
  302.        30-33    4      NUM    Merchant Category Code                    4.08
  303.        34-36    3      NUM    Merchant Country Code                     4.09
  304.        37-41    5      A/N    Merchant City Code (ZIP in the U.S.)      4.10
  305.        42-44    3      NUM    Time Zone Differential                    4.11
  306.        45-46    2      A/N    Authorization Transaction Code            4.12
  307.        47-54    8      NUM    Terminal Identification Number            4.13
  308.         55      1      A/N    Payment Service Indicator                 4.14
  309.        56-59    4      NUM    Transaction Sequence Number               4.15
  310.         60      1      A/N    Cardholder Identification Code            4.16
  311.         61      1      A/N    Account Data Field                        4.17
  312.      Variable  1-76           Customer Data Field                       4.18.x
  313.                               (See: DEFINITIONS in Table 3.01d)
  314.      Variable   1      "FS"   Field Separator                           4.19
  315.      Variable  0-32    A/N    Cardholder Identification Data            4.20
  316.      Variable   1      "FS"   Field Separator                           4.21
  317.      Variable  3-12    NUM    Transaction Amount                        4.22
  318.      Variable   1      "FS"   Field Separator                           4.23
  319.      Variable   2      A/N    Device Code/Industry Code                 4.24
  320.      Variable   1      "FS"   Field Separator                           4.25
  321.      Variable  0-6     NUM    Issuing/Receiving Institution ID          4.26
  322.  I   Variable   1      "FS"   Field Separator                           4.27
  323.      Variable  3-12    NUM    Secondary Amount (Cashback)               4.28
  324. II   Variable   1      "FS"   Field Separator                           4.29
  325.      Variable   25     A/N    Merchant Name                             4.30
  326.      Variable   13     A/N    Merchant City                             4.31
  327.      Variable   2      A/N    Merchant State                            4.33
  328.      Variable  1-14    A/N    Sharing Group                             4.33
  329.      Variable   1      "FS"   Field Separator                           4.34
  330.      Variable  0-12    NUM    Merchant ABA                              4.35
  331.      Variable  0-4     NUM    Merchant Settlement Agent Number          4.36
  332.      Variable   1      "FS"   Field Separator                           4.37
  333.      Variable   6      NUM    Agent Number                              4.38
  334.      Variable   6      NUM    Chain Number                              4.39
  335.      Variable   3      NUM    Batch Number                              4.40
  336.      Variable   1      A/N    Reimbursement Attribute                   4.41
  337. III  Variable   1      "FS"   Field Separator                           4.42
  338.      Variable   6      A/N    Approval Code                             4.43
  339.      Variable   4      NUM    Settlement Date (MMDD)                    4.44
  340.      Variable   4      NUM    Local Transaction Date (MMDD)             4.45
  341.      Variable   6      NUM    Local Transaction Time (HHMMSS)           4.46
  342.      Variable   6      A/N    System Trace Audit Number                 4.47
  343.      Variable   2      A/N    Original Auth. Transaction Code           4.48
  344.      Variable   1      A/N    Network Identification Code               4.49
  345. IV   Variable   1      "FS"   Field Separator                           4.50
  346.  
  347. NOTE: The maximum length request can be as long as 290 bytes for an Interlink
  348. Debit Cancel request (including the STX/ETX/LRC).  Since some terminals may be
  349. limited to a 256 byte message buffer, the following tips can save up to 36
  350. bytes:
  351.  
  352.      - Limit fields 4.22 and 4.28 to 7 digits
  353.      - Fields 4.26, 4.35 and 4.36 are not required for a debit request
  354.      - Field 4.33 can be limited to 10 bytes
  355.  
  356.                                   TABLE 3.01C
  357.                       Legend for GROUP (from Table 3.01b)
  358.  
  359. FOR THESE TRANSACTIONS, USE--------------------------------->GROUPS      RECORD
  360.                                                           I  II III IV   FORMAT
  361.  
  362. Check guarantee                                           X                J
  363.  
  364. Non-ATM card transactions (Visa cards, other              X  X             J
  365. credit cards, private label credit cards
  366.  
  367. Visa supported ATM debit cards: Purchase, Return          X  X   X         G
  368. and Inquiry Request
  369.  
  370. Visa supported ATM debit cards: Interlink Cancel          X  X   X   X     G
  371. Request
  372.  
  373.                                   TABLE 3.01d
  374.              Definitions for Customer Data Field (from Table 3.01b)
  375.  
  376. Length        Format        Field Name                                   See
  377.                                                                        Section
  378. MAGNETICALLY read credit cards (SELECT ONE):
  379. up to 76       A/N          Track 1 Read Data                           4.18.1
  380. up to 37       NUM          Track 2 Read Data                           4.18.2
  381.  
  382. MANUALLY entered credit cards:
  383. up to 28       NUM          Manually Entered Account Number            4.18.3.1
  384.    1           "FS"         Field Separator
  385.    4           NUM          Manually Entered Expiration Date (MMYY)   4.18.3.2
  386.  
  387. MACHINE read and MANUALLY entered check acceptance requests:
  388.  1 to 28       A/N          Check Acceptance ID                        4.18.4.1
  389.    1           "FS"         Field Separator                            4.18.4.2
  390.  3 to 6        A/N          Manually Entered Check Acceptance Data     4.18.4.2
  391.  
  392. MAGNETICALLY read ATM debit cards:
  393. up to 37       NUM          Track 2 Read Data                           4.18.2
  394.  
  395. 3.02 RESPONSE RECORD FORMAT
  396.  
  397. Table 3.02a provides the record format for the authorization response records.
  398. Section 5 provides the data element definitions.
  399.  
  400. The authorization response record is variable length for record formats "J" &
  401. "G".  Refer to Table 3.02b to determine which GROUPS to use from Table 3.02a.
  402.  
  403.                                   Table 3.02a
  404.                 Second Generation Authorization Response Record
  405.                                                                         see
  406. Group  Byte#  Length  Format  Name                                    section
  407. --------------------------------------------------------------------------------
  408.         1       1      A/N    Payment Service Indicator                 5.01
  409.        2-5      4      NUM    Store Number                              5.02
  410.        6-9      4      NUM    Terminal Number                           5.03
  411.         10      1      A/N    Authorization Source Code                 5.04
  412.       11-14     4      NUM    Transaction Sequence Number               5.05
  413.       15-16     2      A/N    Response Code                             5.06
  414.       17-22     6      A/N    Approval Code                             5.07
  415.       23-28     6      NUM    Local Transaction Date (MMDDYY)           5.08
  416.       29-44     16     A/N    Authorization Response Message            5.09
  417.        45       1      A/N    AVS Result Code                           5.10
  418.     Variable   0/15    NUM    Transaction Identifier                    5.11
  419.     Variable    1      "FS"   Field Separator                           5.12
  420.     Variable   0/4     A/N    Validation Code                           5.13
  421. I   Variable    1      "FS"   Field Separator                           5.14
  422.     Variable    1      A/N    Network Identification Code               5.15
  423.     Variable    4      NUM    Settlement Date (MMDD)                    5.16
  424.     Variable    6      A/N    System Trace Audit Number                 5.17
  425.     Variable    12     A/N    Retrieval Reference Number                5.18
  426. II  Variable    6      NUM    Local Transaction Time (HHMMSS)           5.19
  427.  
  428.                                   Table 3.02b
  429.                       Legend for GROUP (from Table 3.02a)
  430.  
  431. FOR THESE TRANSACTIONS, USE--------------------------------->GROUPS      RECORD
  432.                                                              I   II      FORMAT
  433.  
  434. All non-ATM card transactions (Visa cards, other credit      X             J
  435. cards, private label credit cards and check guarantee)
  436.  
  437. Visa supported ATM debit cards: Purchase, Return, Inquiry    X    X        G
  438. Request and Interlink Cancel Request
  439.  
  440. 3.03 CONFIRMATION RECORD FORMAT (ATM DEBIT ONLY)
  441.  
  442. Table 3.03 provides the record format for the second generation debit response
  443. confirmation record.  Section 6 provides the data element definitions.
  444.  
  445. The debit response confirmation record is a fixed length record.
  446.  
  447.                                    TABLE 3.03
  448.               Second Generation Debit Response Confirmation Record
  449.  
  450.                                                                         see
  451. Group  Byte#  Length  Format  Name                                    section
  452. --------------------------------------------------------------------------------
  453.          1      1      A/N    Network ID Code                           6.01
  454.         2-5     4      NUM    Settlement Date (MMDD)                    6.02
  455. I       6-11    6      A/N    System Trace Audit Number                 6.03
  456.  
  457. 4.0 REQUEST RECORD DATA ELEMENT DEFINITIONS
  458.  
  459. The following subsections will define the authorization request record data
  460. elements.
  461.  
  462. 4.01 RECORD FORMAT
  463.  
  464. There are several message formats defined within the VisaNet systems.  The
  465. second generation authorization format is specified by placing one of the
  466. defined values in the record format field.  Table 4.01 provides a brief summary
  467. of the current formats.
  468.  
  469.                                    TABLE 4.01
  470.                 VisaNet Authorization Record Format Designators
  471.  
  472. RECORD FORMAT                        RECORD DESCRIPTION
  473. --------------------------------------------------------------------------------
  474.       J             All non-ATM card transactions (Visa cards, other credit
  475.                     cards, private label credit cards and check guarantee)
  476.       G             Visa supported ATM debit cards
  477.  
  478. 4.02 APPLICATION TYPE
  479.  
  480. The VisaNet authorization system supports multiple application types ranging
  481. from single thread first generation authorization to interleaved leased line
  482. authorization processing.  Table 4.02 provides a summary of application type.
  483.  
  484.                                    TABLE 4.02
  485.                         VisaNet Application Designators
  486.  
  487. APPLICATION                                                        USE WITH
  488.    TYPE             APPLICATION DESCRIPTION                        REC. FMT.
  489. --------------------------------------------------------------------------------
  490.     0               Single authorization per connection             J and G
  491.     2               Multiple authorizations per connection          J and G
  492.                     single-threaded
  493.     4               Multiple authorizations per connect,               J
  494.                     interleaved
  495.     6               Reserved for future use                           ---
  496.     8               Reserved for future use                           ---
  497.  1,3,5,7            Reserved for VisaNet Central Data Capture (CDC)   ---
  498.     9               Reserved for VisaNet Down Line Load               ---
  499.    A-Z              Reserved for future use                           ---
  500.  
  501. 4.03 MESSAGE DELIMITER
  502.  
  503. The message delimiter separates the format and application type designators from
  504. the body of the message.  The message delimiter is defined as a "." (period)
  505.  
  506. 4.04 ACQUIRER BIN
  507.  
  508. This field contains the Visa assigned six-digit Bank Identification Number (BIN)
  509. The acquirer BIN identifies the merchant signing member that signed the merchant
  510. using the terminal.
  511.  
  512. NOTE: The merchant receives this number from their signing member.
  513.  
  514. 4.05 MERCHANT NUMBER
  515.  
  516. This field contains a NON-ZERO twelve digit number, assigned by the signing
  517. member and/or the merchant, to identify the merchant within the member systems.
  518. The combined Acquirer BIN and Merchant Number are required to identify the
  519. merchant within the VisaNet systems.
  520.  
  521. 4.06 STORE NUMBER
  522.  
  523. This field contains a NON-ZERO four-digit number assigned by the signing member
  524. and/or the merchant to identify the merchant store within the member systems.
  525. The combined Acquirer BIN, Merchant Number, and Store Number are required to
  526. identify the store within the VisaNet systems.
  527.  
  528. 4.07 TERMINAL NUMBER
  529.  
  530. This field contains a NON-ZERO four-digit number assigned by the signing member
  531. and/or the merchant to identify the merchant store within the member systems.
  532. This field can be used by systems which use controllers and/or concentrators to
  533. identify the devices attached to the controllers and/or concentrators.
  534.  
  535. 4.08 MERCHANT CATEGORY CODE
  536.  
  537. This field contains a four-digit number assigned by the signing member from a
  538. list of category codes defined in the VisaNet Merchant Data Standards Handbook
  539. to identify the merchant type.
  540.  
  541. 4.09 MERCHANT COUNTRY CODE
  542.  
  543. This field contains a three-digit number assigned by the signing member from a
  544. list of country codes defined in the VisaNet V.I.P. System Message Format
  545. Manuals to identify the merchant location country.
  546.  
  547. 4.10 MERCHANT CITY CODE
  548.  
  549. This field contains a five character code used to further identify the merchant
  550. location.  Within the United States, the give high order zip code digits of the
  551. address of the store location are used.  Outside of the United States, this
  552. field will be assigned by the signing member.
  553.  
  554. 4.11 TIME ZONE DIFFERENTIAL
  555.  
  556. This field contains a three-digit code used to calculate the local time within
  557. the VisaNet authorization system.  It is calculated by the signing member,
  558. providing the local time zone differential from Greenwich Mean Time (GMT).  The
  559. first two digits specify the magnitude of the differential.  Table 4.11 provides
  560. a brief summary of the Time Zone Differential codes.
  561.  
  562.                                    TABLE 4.11
  563.                        Time Zone Differential Code Format
  564.  
  565.    Byte #     Length     Format                     Contents
  566. --------------------------------------------------------------------------------
  567.      1          1        NUMERIC          DIRECTION
  568.                                           0 = Positive, Local Ahead of GMT,
  569.                                               offset in hours
  570.                                           1 = Negative, Local Time behind GMT,
  571.                                               offset in hours
  572.                                           2 = Positive, offset in 15 minute
  573.                                               increments
  574.                                           3 = Negative, offset in 15 minute
  575.                                               increments
  576.                                           4 = Positive, offset in 15 minute
  577.                                               increments, participating in
  578.                                               daylight savings time
  579.                                           5 = Negative, offset in 15 minute
  580.                                               increments, participating in
  581.                                               daylight savings time
  582.                                         6-9 = INVALID CODES
  583.    2-3           2       NUMERIC           MAGNITUDE
  584.                                            For Byte #1 = 0 or 1
  585.                                                0 <= MAGNITUDE <= 12
  586.                                            For Byte #1 = 2 through 5
  587.                                                0 <= MAGNITUDE <= 48
  588. --------------------------------------------------------------------------------
  589. A code of 108 indicates the local Pacific Standard time which is 8 hours behind
  590. GMT.
  591.  
  592. 4.12 AUTHORIZATION TRANSACTION CODE
  593.  
  594. This field contains a two-character code defined by VisaNet and generated by the
  595. terminal identifying the type of transaction for which the authorization is
  596. requested.  Table 4.12 provides a summary of the transaction codes.
  597.  
  598.                                    TABLE 4.12
  599.                         Authorization Transaction Codes
  600.  
  601. TRAN
  602. CODE       TRANSACTION DESCRIPTION
  603. -------------------------------------------------------------------------------
  604. 54         Purchase
  605. 55         Cash Advance
  606. 56         Mail/Telephone Order
  607. 57         Quasi Cash
  608. 58         Card Authentication - Transaction Amt & Secondary Amt must equal
  609.            $0.00, AVS may be requested [ah-hah!]
  610. 64         Repeat: Purchase
  611. 65         Repeat: Cash Advance
  612. 66         Repeat: Mail/Telephone Order (MO/TO)
  613. 67         Repeat: Quasi Cash
  614. 68         Repeat: Card Authentication - Transaction Amt & Secondary Amt must
  615.            equal $0.00, AVS may be requested
  616. 70         Check guarantee, must include RIID (field 4.26)
  617. 81         Proprietary Card
  618. 84         Private Label Purchase
  619. 85         Private Label, Cash Advance
  620. 86         Private Label Mail/Telephone Order (MO/TO)
  621. 87         Private Label Quasi Cash
  622. 88         Private Label Card Authentication - Transaction Amt & Secondary Amt
  623.            must equal $0.00, AVS may be requested
  624. 93         Debit Purchase
  625. 94         Debit Return
  626. 95         Interlink Debit Cancel (see NOTE below)
  627. --------------------------------------------------------------------------------
  628.  
  629. NOTE (for TRANSACTION CODE = 95)
  630. --------------------------------
  631.     - For Interlink Debit CANCEL request message, all of the fields in
  632.       Groups I and II will come from the original transaction request or the
  633.       original transaction response, with the exception of the following:
  634.          - The AUTHORIZATION TRANSACTION CODE will need to be changed to the
  635.            Debit CANCEL code.
  636.          - The TRANSACTION SEQUENCE NUMBER should be incremented in the
  637.            normal fashion.
  638.          - The CUSTOMER DATA FIELD and the CARDHOLDER IDENTIFICATION DATE
  639.            (PIN) will need to be re-entered.
  640.  
  641. 4.13 TERMINAL IDENTIFICATION NUMBER
  642.  
  643. This field contains an eight-digit code that must be greater than zero, defined
  644. by the terminal down line load support organization.  Support may be provided by
  645. the Visa's Merchant Assistance Center (MAC), the signing member, or a third
  646. party organization.  The terminal ID is used to uniquely identify the terminal
  647. in the terminal support system and identification for the VisaNet Central Data
  648. Capture (CDC).  The terminal ID may not be unique within the VisaNet system.
  649. Each terminal support provider and member that provides its own terminal support
  650. can assign potentially identical terminal IDs within its system.  The terminal
  651. ID can be used by the terminal down line load system to access the terminal
  652. application and parameter data from a system data base when down line loading a
  653. terminal. [huh?]
  654.  
  655. NOTE: It is recommended that [the] Terminal ID Number should be unique within
  656. the same Acquirer's BIN.
  657.  
  658. 4.14 PAYMENT SERVICE INDICATOR
  659.  
  660. This is a one-character field used to indicate a request for REPS qualification.
  661. Table 4.14 provides a summary of the codes.
  662.  
  663.                                    TABLE 4.14
  664.                         Payment Service Indicator Codes
  665.  
  666.                          RECORD
  667.                          FORMAT    VALUE    DESCRIPTION
  668.                          ------------------------------
  669.                            J         Y         Yes
  670.                            J         N         No
  671.                            G         Y         Yes
  672.                            G         N         No
  673.                          ------------------------------ [repetitive? you bet]
  674.  
  675. 4.15 TRANSACTION SEQUENCE NUMBER
  676.  
  677. This field contains a four-digit code which is generated by the terminal as the
  678. sequence number for the transaction.  The sequence number is used by the
  679. terminal to match request and response messages.  This field is returned by
  680. VisaNet without sequence verification.  The sequence number is incremented with
  681. wrap from 9999 to 0001.
  682.  
  683. 4.16 CARDHOLDER IDENTIFICATION CODE
  684.  
  685. This one-character field contains a code that indicates the method used to
  686. identify the cardholder.  Table 4.16 provides a summary of the codes.
  687.  
  688.                                    TABLE 4.16
  689.                         Cardholder Identification Codes
  690.  
  691.   ID CODE     IDENTIFICATION METHOD
  692. --------------------------------------------------------------------------------
  693.      A        Personal Identification Number-23 byte static key (non-USA) fnord
  694.      B        PIN at Automated Dispensing Machine - 32 byte static key
  695.      C        Self Svc Limited Amount Terminal (No ID method available)
  696.      D        Self-Service Terminal            (No ID method available)
  697.      E        Automated Gas Pump               (No ID method available)
  698.      K        Personal Identification Number - 32 byte DUK/PT
  699.      N        Customer Address via Address Verification Service (AVS)
  700.      S        Personal Identification Number - 32 byte static key
  701.      Z        Cardholder Signature - Terminal has a PIN pad
  702.      @        Cardholder Signature - No PIN pad available
  703. F-J,L,M,O-R   Reserved for future use
  704.     T-Y
  705. --------------------------------------------------------------------------------
  706.  
  707. 4.17 ACCOUNT DATA SOURCE
  708.  
  709. This field contains a one-character code defined by Visa and generated by the
  710. terminal to indicate the source of the customer data entered in field 4.18.
  711. Table 4.17 provides a summary of codes
  712.  
  713.                                    TABLE 4.17
  714.                            Account Data Source Codes
  715.  
  716. ACCOUNT DATA
  717. SOURCE CODE      ACCOUNT DATA SOURCE CODE DESCRIPTION
  718. --------------------------------------------------------------------------------
  719.      A           RESERVED - Bar-code read
  720.      B           RESERVED - OCR read
  721.      D           Mag-stripe read, Track 2
  722.      H           Mag-stripe read, Track 1
  723.      Q           RESERVED - Manually keyed, bar-code capable terminal
  724.      R           RESERVED - Manually keyed, OCR capable terminal
  725.      T           Manually keyed, Track 2 capable
  726.      X           Manually keyed, Track 1 capable
  727.      @           Manually keyed, terminal has no card reading capability
  728. C,E-G,I-P,S,     RESERVED for future use
  729. U-W,Y-Z,0-9
  730. --------------------------------------------------------------------------------
  731. NOTE:
  732.    - If a dual track reading terminal is being used, be sure to enter the
  733.      correct value of "D" or "H" for the magnetic data that is transmitted
  734.    - When data is manually keyed at a dual track reading terminal, enter either
  735.      a "T" or an "X"
  736.  
  737. 4.18 CUSTOMER DATA FIELD
  738.  
  739. This is a variable length field containing customer account or check acceptance
  740. ID data in one of three formats.  The cardholder account information can be read
  741. d from the card or it may be entered manually.  Additionally the terminal can be
  742. used for check authorization processing with the check acceptance identification
  743. number entered by the operator for transmission in this field.
  744.  
  745. NOTE: For all POS terminals operated under VISA U.S.A. Operating Regulations,
  746. the following requirement must be available as an operating option if the
  747. merchant location is found to be generating a disproportionately high percentage
  748. of Suspect Transactions [lets get downright hostile about it] as defined in
  749. chapter 9.10 of the VISA U.S.A. Operating Regulations.  Specifically, chapter
  750. 9.10.B.2 requires that:
  751.  
  752.    - The terminal must read the track data using a magnetic stripe reading
  753.      terminal
  754.    - The terminal must prompt the wage slave to manually enter the last four
  755.      digits of the account number
  756.    - The terminal must compare the keyed data with the last four digits of the
  757.      account number in the magnetic stripe
  758.    - If the compare is successful, the card is acceptable to continue in the
  759.      authorization process and the terminal must transmit the full, unaltered
  760.      contents of the magnetic stripe in the authorization message.
  761.    - If the compare fails, the card should not be honored at the Point of Sale
  762.  
  763. 4.18.1 TRACK 1 READ DATA
  764.  
  765. This is a variable length field with a maximum data length of 76 characters.
  766.  
  767. The track 1 data read from the cardholder's card is checked for parity and LRC
  768. errors and then converted from the six-bit characters encoded on the card to
  769. seven-bit characters as defined in ANSI X3.4.  The character set definitions are
  770. provided in section 7 for reference.  As part of the conversion the terminal
  771. will strip off the starting sentinel, ending sentinel, and LRC characters.  The
  772. separators are to be converted to a "^" (HEX 5E) character.  The entire
  773. track must be provided in the request message.  The character set and data
  774. content are different between track 1 and track 2.  The data read by a track 2
  775. device can not be correctly reformatted and presented as though it were read by
  776. a track 1 device.  [aw shucks]  The converted data can not be modified by adding
  777. or deleting non-framing characters and must be a one-for-one representation of
  778. the character read from the track.
  779.  
  780. 4.18.2 TRACK 2 READ DATA
  781.  
  782. This is a variable length field with a maximum data length of 37 characters.
  783.  
  784. The track 2 data read from the cardholder's card is checked for parity and LRC
  785. errors and then converted from the six-bit characters encoded on the card to
  786. seven-bit characters as defined in ANSI X3.4.  The character set definitions are
  787. provided in section 7 for reference.  As part of the conversion the terminal
  788. will strip off the starting sentinel, ending sentinel, and LRC characters.  The
  789. separators are to be converted to a  "^" (HEX 5E) character.  The entire
  790. track must be provided in the request message.  The character set and data
  791. content are different between track 2 and track 1.  The data read by a track 1
  792. device can not be correctly reformatted and presented as though it were read by
  793. a track 2 device.  The converted data can not be modified by adding or deleting
  794. non-framing characters and must be a one-for-one representation of the character
  795. read from the track. [repetitive? you bet]
  796.  
  797. 4.18.3 MANUALLY ENTERED ACCOUNT DATA (CREDIT CARD)
  798.  
  799. The customer credit card data may be key entered when the card can not be read,
  800. when a card is not present, or when a card reader is not available.
  801.  
  802. 4.18.3.1 MANUALLY ENTERED ACCOUNT NUMBER
  803.  
  804. This is a variable length field consisting of 5 to 28 alphanumeric characters.
  805.  
  806. The embossed cardholder data, that is key entered, is validated by the terminal
  807. using rules for each supported card type.  For example, both Visa and Master
  808. Card include a mod 10 check digit as the last digit of the Primary Account
  809. Number.  The Primary Account Number (PAN) is encoded as seven-bit characters
  810. as defined in ANSI X3.4.  The PAN is then provided in the manually entered
  811. record format provided in Table 3.01b.  The PAN must be provided without
  812. embedded spaces.
  813.  
  814. 4.18.3.2 MANUALLY ENTERED EXPIRATION DATE
  815.  
  816. This four-digit field contains the card expiration date in the form MMYY (month-
  817. month-year-year)
  818.  
  819. 4.18.4 CHECK ACCEPTANCE IDENTIFICATION NUMBER
  820.  
  821. The customer data may be card read or manually key entered for check acceptance
  822. transactions.
  823.  
  824. 4.18.4.1 CHECK ACCEPTANCE ID
  825.  
  826. This field is a variable length field consisting of 1 to 28 alphanumeric
  827. characters.  The check acceptance vendor will provide the data format and
  828. validation rules to be used by the terminal.  Typically the ID consists of a
  829. two-digit state code and an ID which may be the customer's drivers license
  830. number.
  831.  
  832. 4.18.4.2 MANUALLY ENTERED CHECK ACCEPTANCE DATA
  833.  
  834. This six-character field contains the customer birth date or a control code in
  835. the form specified by the check acceptance processor.
  836.  
  837. 4.19 FIELD SEPARATOR
  838.  
  839. The authorization record format specifies the use of the "FS" character.
  840.  
  841. 4.20 CARDHOLDER IDENTIFICATION DATA
  842.  
  843. This field will be 0, 23, 29 or 32 characters in length.  The cardholder ID
  844. codes shown in Table 4.16 indicates the type of data in this field.  Table
  845. 4.20 provides a brief summary of the current formats.
  846.  
  847.                                    TABLE 4.20
  848.                    Cardholder Identification Data Definitions
  849.  
  850. CARDHOLDER                                                       VALUE(S) FROM
  851. ID LENGTH     DESCRIPTION                                          TABLE 4.16
  852. --------------------------------------------------------------------------------
  853.    0          Signature ID used, No PIN pad is present             @,C,D or E
  854.    0          Signature ID used on a terminal with a PIN pad           Z
  855.   23          A PIN was entered on a STATIC key PIN pad                A
  856.   32          A PIN was entered on a STATIC key PIN pad                B
  857.   32          A PIN was entered on a DUK/PT key PIN pad                K
  858.   32          A PIN was entered on a STATIC key PIN pad                S
  859. 0 to 29       AVS was requested                                        N
  860. --------------------------------------------------------------------------------
  861.  
  862. 4.20.1 STATIC KEY WITH TWENTY THREE BYTE CARDHOLDER ID
  863.  
  864. NOTE: The 23 byte static key technology is NOT approved for use in terminals
  865. deployed in the Visa U.S.A. region.  [thanks nsa!]
  866.  
  867. When a PIN is entered on a PIN pad supporting 23 byte static key technology, the
  868. terminal will generate the following data:
  869.  
  870.    1JFxxyyaaaaaaaaaaaaaaaa
  871.  
  872.    Where:
  873.         1J   Header - PIN was entered
  874.  
  875.         f    Function Key Indicator - A single byte indicating which, if any,
  876.              function key was pressed on the PIN pad.  This field is currently
  877.              not edited.  Any printable character is allowed.
  878.  
  879.         xx   PIN Block Format - These two numeric bytes indicate the PIN
  880.              encryption method used to create the encrypted PIN block.  Visa
  881.              currently supports four methods; 01, 02, 03, & 04.  For more
  882.              information, please refer to the VisaNet Standards Manual, Card
  883.              Technology Standards, PIN and Security Standards, Section 2,
  884.              Chapter 3, PIN Block Formats
  885.  
  886.         aaaaaaaaaaaaaaaa   Expanded Encrypted PIN Block Data - The encrypted
  887.              PIN block format consists of 64 bits of data.  Since the VisaNet
  888.              Second Generation protocol allows only printable characters in
  889.              data fields, these 64 bits must be expanded to ensure that no
  890.              values less than hex "20" are transmitted.  To expand the 64 bit
  891.              encrypted PIN block, remove four bits at a time and convert them
  892.              to ANSI X3.4 characters using Table 4.20.  After this conversion,
  893.              the 64 bit encrypted PIN block will consist of 16 characters that
  894.              will be placed in the Expanded Encrypted PIN Block Data field.
  895.  
  896. 4.20.2 STATIC KEY WITH THIRTY TWO BYTE CARDHOLDER ID
  897.  
  898. When a PIN is entered on a PIN pad supporting 32 byte static key technology,
  899. the terminal will generate the following data:
  900.  
  901.        aaaaaaaaaaaaaaaa2001ppzz00000000
  902.  
  903.       Where:
  904.          aaaaaaaaaaaaaaaa - Expanded Encrypted PIN Block Data - The encrypted
  905.               PIN block format consists of 64 bits of data.  Since the
  906.               VisaNet Second Generation protocol allows only printable
  907.               characters in data fields, these 64 bits must be expanded to
  908.               ensure that no values less than hex "20" are transmitted.  To
  909.               expand the 64 bit encrypted PIN block, remove four bits at a
  910.               time and convert them to ANSI X3.4 characters using table 4.20.
  911.               After this conversion, the 64 bit encrypted PIN block will
  912.               consist of 16 characters that will be placed in the Expanded
  913.               Encrypted PIN Block Data field.
  914.  
  915.          20 - Security Format Code - This code defines that the Zone
  916.               Encryption security technique was used.
  917.  
  918.          01 - PIN Encryption Algorithm Identifier - This code defines that the
  919.               ANSI DES encryption technique was used.
  920.  
  921.          pp - PIN Block Format Code - This code describes the PIN block format
  922.               was used by the acquirer.  Values are:
  923.                  01 - Format is based on the PIN, the PIN length, selected
  924.                       rightmost digits of the account number and the pad
  925.                       characters "0" and "F"; combined through an exclusive
  926.                       "OR" operation.
  927.                  02 - Format is based on the PIN, the PIN length and a user
  928.                       specified numeric pad character.
  929.                  03 - Format is based on the PIN and the "F" pad character.
  930.                  04 - Format is the same as "01" except that the leftmost
  931.                       account number digits are selected.
  932.  
  933.          zz - Zone Key Index - This index points to the zone key used by the
  934.               acquirer to encrypt the PIN block.  Values are:
  935.                  01 - First key
  936.                  02 - Second key
  937.  
  938.          00000000 - Visa Reserved - Must be all zeros
  939.  
  940. For additional information, refer to the VisaNet manual V.I.P. System, Message
  941. Formats, Section B: Field Descriptions.  Specifically, fields 52 and 53;
  942. Personal Identification Number (PIN) Data and Security Related Control
  943. Information respectively.
  944.  
  945. 4.20.3 DUK/PT KEY WITH THIRTY TWO BYTE CARDHOLDER ID
  946.  
  947. When a PIN is entered on a PIN pad supporting DUK/PT technology, the terminal
  948. will generate the following 32 bytes:
  949.  
  950.      aaaaaaaaaaaaaaaakkkkkkssssssssss
  951.  
  952.      Where:
  953.          aaaaaaaaaaaaaaaa - Expanded Encrypted PIN Block Data - The encrypted
  954.               PIN block format consists of 64 bits of data.  Since the
  955.               VisaNet Second Generation protocol allows only printable
  956.               characters in data fields, these 64 bits must be expanded to
  957.               ensure that no values less than hex "20" are transmitted.  To
  958.               expand the 64 bit encrypted PIN block, remove four bits at a
  959.               time and convert them to ANSI X3.4 characters using table 4.20.
  960.               After this conversion, the 64 bit encrypted PIN block will
  961.               consist of 16 characters that will be placed in the Expanded
  962.               Encrypted PIN Block Data field.  [repetitive? you bet]
  963.  
  964.          kkkkkk - Key Set Identifier (KSID) - Is represented by a unique, Visa
  965.               Visa assigned, six digit bank identification number.
  966.  
  967.          ssssssssss - Expanded TRSM ID (PIN Pad Serial Number) & Expanded
  968.               Transaction Counter - Is represented by the concatenation of these
  969.               two hexadecimal fields.  The PIN pad serial number is stored as
  970.               five hex digits minus one bit for a total of 19 bits of data.  The
  971.               transaction counter is stored as five hex digits plus one bit for
  972.               a total of 21 bits of data.  These two fields concatenated
  973.               together will contain 40 bits.  Since the VisaNet Second
  974.               Generation protocol allows only printable characters in data
  975.               fields, these 40 bits must be expanded to ensure that no values
  976.               less than hex "20" are transmitted.  To expand this 40 bit field,
  977.               remove four bits at a time and convert them to ASCII characters
  978.               using table 4.20.  After this conversion, this 40 bit field will
  979.               consist of 10 characters that will be placed in the Expanded
  980.               TRSM ID & Expanded Transaction Counter Field.
  981.  
  982.                                    TABLE 4.20
  983.                            PIN Block conversion Table
  984.  
  985.                        HEXADECIMAL   |    ANSI X3.4
  986.                           DATA       |    CHARACTER
  987.                        --------------+----------------
  988.                           0000       |        0
  989.                           0001       |        1
  990.                           0010       |        2
  991.                           0011       |        3
  992.                           0100       |        4
  993.                           0101       |        5
  994.                           0110       |        6
  995.                           0111       |        7
  996.                           1000       |        8
  997.                           1001       |        9
  998.                           1010       |        A
  999.                           1011       |        B
  1000.                           1100       |        C
  1001.                           1101       |        D
  1002.                           1110       |        E
  1003.                           1111       |        F
  1004.                        -------------------------------
  1005.  
  1006. 4.20.4 ADDRESS VERIFICATION SERVICE DESCRIPTION [ah enlightenment]
  1007.  
  1008. When Address Verification Service is requested, this field will contain the
  1009. mailing address of the cardholder's monthly statement.  The format of this
  1010. field is:
  1011.                       <street address><apt no.><zip code>
  1012.                                        or
  1013.                        <post office box number><zipcode>
  1014.  
  1015. Numbers are not spelled out.  ("First Street" becomes "1ST Street", "Second"
  1016. becomes "2ND", etc)  "Spaces" are only required between a numeral and the ZIP
  1017. code.  For instance:
  1018.                              1391 ELM STREET 40404
  1019.      is equivalent to:       1931ELMSTREET40404
  1020.  
  1021.                              P.O. Box 24356 55555
  1022.      is not equivalent to    P.O.BOX2435655555
  1023.  
  1024. If a field is not available or not applicable, it may be skipped.  If nine
  1025. digits are available, the last five digits should always be used to pour more
  1026. sand into the wheels of progress.
  1027.  
  1028. 4.21 FIELD SEPARATOR
  1029.  
  1030. The authorization record format specifies the use of the "FS" character.