Wiki source code of Payment Service provider API ISO8583_2 ( IFSF) H2H description
Version 7.1 by Kristian Lingsom on 2017/10/13 15:57
1 | (% class="WordSection1" %) |
2 | ((( |
3 | |
4 | |
5 | (% style="tab-stops:23.3pt" %)**OVERVIEW** |
6 | |
7 | (% class="MsoBodyText" style="margin-top:.45pt" %) |
8 | The purpose of the H2H PayEx link is to enable authorization and settlement of card transactions, where PayEx is end host for that card, or just an PSP. The third party host acts as a gateway in between payment terminals and PayEx. |
9 | |
10 | |
11 | [[image:pos server.png]] |
12 | |
13 | |
14 | * (% lang="EN-US" style="font-size:12pt; line-height:14.65pt; tab-stops:42.9pt 42.95pt" %)The third party host can be a single or dual host system. |
15 | * (% lang="EN-US" style="font-size:12pt; line-height:14.65pt; tab-stops:42.9pt 42.95pt" %)PayEx has a fully redundant system, with an active/active configuration. |
16 | * (% lang="EN-US" style="font-size:12pt; line-height:14.65pt; tab-stops:42.9pt 42.95pt" %)The third party host(s) connect to PayEx loadbalanser |
17 | |
18 | (% style="tab-stops:29.4pt" %)**MESSAGE LAYOUT** |
19 | |
20 | (% class="MsoBodyText" style="margin-top:.45pt" %) |
21 | This section covers message types and fields supported by PayEx |
22 | |
23 | (% class="MsoBodyText" style="margin-top:.2pt" %) |
24 | (% style="tab-stops:35.55pt" %)**G**(% lang="EN-US" style="font-size:9pt; tab-stops:35.55pt" %)**ENERAL** |
25 | |
26 | (% border="1" cellspacing="0" class="table-striped" style="border-collapse:collapse; border:solid gray 1.0pt; margin-left:12.3pt" %) |
27 | (% style="height:11.0pt" %)|(% style="background-color:#666666; background:#666666; border-style:solid; border-width:1.0pt; width:56.75pt" width="76" %)((( |
28 | (% class="TableParagraph" style="margin-top:0cm; margin-right:4.85pt; margin-bottom:.0001pt; margin-left:4.6pt; text-align:center; padding:0cm 0cm 0cm 0cm;text-align:center" %) |
29 | (% lang="EN-US" style="color:white; font-size:10pt; height:11pt; line-height:10.55pt" %)**Presence** |
30 | )))|(% style="background-color:#666666; background:#666666; border-left:none; border-style:solid; border-width:1.0pt; width:122.45pt" width="163" %)((( |
31 | (% class="TableParagraph" style="margin-left:5.0pt; padding:0cm 0cm 0cm 0cm" %) |
32 | (% lang="EN-US" style="color:white; font-size:10pt; height:11pt; line-height:10.55pt" %)**Title** |
33 | )))|(% style="background-color:#666666; background:#666666; border-left:none; border-style:solid; border-width:1.0pt; width:274.5pt" width="366" %)((( |
34 | (% class="TableParagraph" style="margin-left:5.0pt; padding:0cm 0cm 0cm 0cm" %) |
35 | (% lang="EN-US" style="color:white; font-size:10pt; height:11pt; line-height:10.55pt" %)**Description** |
36 | ))) |
37 | (% style="height:34.0pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:56.75pt" width="76" %)((( |
38 | (% class="TableParagraph" style="text-align:center; padding:0cm 0cm 0cm 0cm;text-align:center" %) |
39 | (% lang="EN-US" style="font-size:10pt; height:34pt; line-height:11.35pt" %)C |
40 | )))|(% style="border-bottom:solid gray 1.0pt; border-left:none; border-right:solid gray 1.0pt; border-top:none; width:122.45pt" width="163" %)((( |
41 | (% class="TableParagraph" style="margin-left:5.0pt; padding:0cm 0cm 0cm 0cm" %) |
42 | (% lang="EN-US" style="font-size:10pt; height:34pt; line-height:11.35pt" %)Conditional |
43 | )))|(% style="border-bottom:solid gray 1.0pt; border-left:none; border-right:solid gray 1.0pt; border-top:none; width:274.5pt" width="366" %)((( |
44 | (% class="TableParagraph" style="margin-left:5.0pt; padding:0cm 0cm 0cm 0cm" %) |
45 | (% lang="EN-US" style="font-size:10pt; height:34pt; line-height:11.35pt" %)The data element’s presence depends on specific |
46 | |
47 | (% class="TableParagraph" style="margin-top:.25pt; margin-right:4.6pt; margin-bottom:.0001pt; margin-left:5.0pt; padding:0cm 0cm 0cm 0cm" %) |
48 | (% lang="EN-US" style="font-size:10pt; height:34pt; line-height:11.4pt" %)circumstances. The circumstance is defined either directly or by reference to another section of the document |
49 | ))) |
50 | (% style="height:22.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:56.75pt" width="76" %)((( |
51 | (% class="TableParagraph" style="margin-top:0cm; margin-right:4.65pt; margin-bottom:.0001pt; margin-left:4.6pt; text-align:center; padding:0cm 0cm 0cm 0cm;text-align:center" %) |
52 | (% lang="EN-US" style="font-size:10pt; height:22.95pt; line-height:11.3pt" %)CE |
53 | )))|(% style="border-bottom:solid gray 1.0pt; border-left:none; border-right:solid gray 1.0pt; border-top:none; width:122.45pt" width="163" %)((( |
54 | (% class="TableParagraph" style="margin-left:5.0pt; padding:0cm 0cm 0cm 0cm" %) |
55 | (% lang="EN-US" style="font-size:10pt; height:22.95pt; line-height:11.3pt" %)Conditional echo |
56 | )))|(% style="border-bottom:solid gray 1.0pt; border-left:none; border-right:solid gray 1.0pt; border-top:none; width:274.5pt" width="366" %)((( |
57 | (% class="TableParagraph" style="margin-left:5.0pt; padding:0cm 0cm 0cm 0cm" %) |
58 | (% lang="EN-US" style="font-size:10pt; height:22.95pt; line-height:11.3pt" %)The response message must have the same data element |
59 | |
60 | (% class="TableParagraph" style="margin-top:.05pt; margin-right:0cm; margin-bottom:.0001pt; margin-left:5.0pt; padding:0cm 0cm 0cm 0cm" %) |
61 | (% lang="EN-US" style="font-size:10pt; height:22.95pt; line-height:10.65pt" %)if the data element is present in the original message |
62 | ))) |
63 | (% style="height:11.0pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:56.75pt" width="76" %)((( |
64 | (% class="TableParagraph" style="margin-right:.1pt; text-align:center; padding:0cm 0cm 0cm 0cm;text-align:center" %) |
65 | (% lang="EN-US" style="font-size:10pt; height:11pt" %)M |
66 | )))|(% style="border-bottom:solid gray 1.0pt; border-left:none; border-right:solid gray 1.0pt; border-top:none; width:122.45pt" width="163" %)((( |
67 | (% class="TableParagraph" style="margin-left:5.0pt; padding:0cm 0cm 0cm 0cm" %) |
68 | (% lang="EN-US" style="font-size:10pt; height:11pt" %)Mandatory |
69 | )))|(% style="border-bottom:solid gray 1.0pt; border-left:none; border-right:solid gray 1.0pt; border-top:none; width:274.5pt" width="366" %)((( |
70 | (% class="TableParagraph" style="margin-left:5.0pt; padding:0cm 0cm 0cm 0cm" %) |
71 | (% lang="EN-US" style="font-size:10pt; height:11pt" %)Data element must be present in the specified message |
72 | ))) |
73 | (% style="height:34.0pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:56.75pt" width="76" %)((( |
74 | (% class="TableParagraph" style="margin-top:0cm; margin-right:4.8pt; margin-bottom:.0001pt; margin-left:4.6pt; text-align:center; padding:0cm 0cm 0cm 0cm;text-align:center" %) |
75 | (% lang="EN-US" style="font-size:10pt; height:34pt; line-height:11.35pt" %)ME |
76 | )))|(% style="border-bottom:solid gray 1.0pt; border-left:none; border-right:solid gray 1.0pt; border-top:none; width:122.45pt" width="163" %)((( |
77 | (% class="TableParagraph" style="margin-left:5.0pt; padding:0cm 0cm 0cm 0cm" %) |
78 | (% lang="EN-US" style="font-size:10pt; height:34pt; line-height:11.35pt" %)Mandatory echo |
79 | )))|(% style="border-bottom:solid gray 1.0pt; border-left:none; border-right:solid gray 1.0pt; border-top:none; width:274.5pt" width="366" %)((( |
80 | (% class="TableParagraph" style="margin-left:5.0pt; padding:0cm 0cm 0cm 0cm" %) |
81 | (% lang="EN-US" style="font-size:10pt; height:34pt; line-height:11.5pt" %)The response message must have the same data element and value as sent in the original message request or advice message. |
82 | ))) |
83 | (% style="height:22.95pt" %)|(% style="border-style:solid; border-top:none; border-width:1.0pt; width:56.75pt" width="76" %)((( |
84 | (% class="TableParagraph" style="margin-right:.15pt; text-align:center; padding:0cm 0cm 0cm 0cm;text-align:center" %) |
85 | (% lang="EN-US" style="font-size:10pt; height:22.95pt; line-height:11.3pt" %)O |
86 | )))|(% style="border-bottom:solid gray 1.0pt; border-left:none; border-right:solid gray 1.0pt; border-top:none; width:122.45pt" width="163" %)((( |
87 | (% class="TableParagraph" style="margin-left:5.0pt; padding:0cm 0cm 0cm 0cm" %) |
88 | (% lang="EN-US" style="font-size:10pt; height:22.95pt; line-height:11.3pt" %)Optional |
89 | )))|(% style="border-bottom:solid gray 1.0pt; border-left:none; border-right:solid gray 1.0pt; border-top:none; width:274.5pt" width="366" %)((( |
90 | (% class="TableParagraph" style="margin-left:5.0pt; padding:0cm 0cm 0cm 0cm" %) |
91 | (% lang="EN-US" style="font-size:10pt; height:22.95pt; line-height:11.3pt" %)The data element may or may not be present in the |
92 | |
93 | (% class="TableParagraph" style="margin-left:5.0pt; padding:0cm 0cm 0cm 0cm" %) |
94 | (% lang="EN-US" style="font-size:10pt; height:22.95pt; line-height:10.65pt" %)message. |
95 | ))) |
96 | |
97 | (% class="MsoBodyText" style="margin-top:.35pt" %) |
98 | Requests received missing a mandatory field will be 904 - Format Error. |
99 | |
100 | (% class="MsoBodyText" style="margin-top:.55pt" %) |
101 | Optional fields may always be present in requests, even when not needed. In such case, they will be ignored. |
102 | |
103 | (% class="MsoBodyText" style="margin-top:.55pt" %) |
104 | The third party host must ignore unknown fields included in the response messages. |
105 | |
106 | (% class="MsoBodyText" style="margin-top:.55pt" %) |
107 | When no usage notes are given in the field description, the field should be used as described in IFSF [1]. |
108 | |
109 | (% class="MsoBodyText" style="margin-top:.55pt" %) |
110 | The “Format”-column can contain following info: |
111 | |
112 | * (% lang="EN-US" style="font-size:12pt; tab-stops:42.95pt" %)LL: Variable length field, max 99 bytes as data. The field contains 2 bytes holding the length of the data. Example: 303101 a one byte field with LL = 3031 and the data is 01. |
113 | ** (% lang="EN-US" style="font-size:12pt; line-height:14.65pt; tab-stops:42.9pt 42.95pt" %)Date/time field formats, YYMMDDhhmmss (or variations), where: |
114 | (% style="list-style-type:circle" %) |
115 | *** (% lang="EN-US" style="font-size:12pt; line-height:14.3pt; tab-stops:78.95pt" %)YY : Last 2 digits of the year, 00 through 99 |
116 | *** (% lang="EN-US" style="font-size:12pt; line-height:13.8pt; tab-stops:78.95pt" %)MM: Month, 01 through 12. |
117 | *** (% lang="EN-US" style="font-size:12pt; line-height:13.8pt; tab-stops:78.95pt" %)DD: Day, 01 through 31 |
118 | *** (% lang="EN-US" style="font-size:12pt; line-height:13.8pt; tab-stops:78.95pt" %)hh: Hour, 00 through 23 |
119 | *** (% lang="EN-US" style="font-size:12pt; line-height:13.8pt; tab-stops:78.95pt" %)mm: Minutes, 00 through 59 |
120 | *** (% lang="EN-US" style="font-size:12pt; line-height:14.35pt; tab-stops:78.95pt" %)ss: Seconds, 00 through 59 |
121 | ** (% lang="EN-US" style="font-size:12pt; line-height:98%; tab-stops:42.95pt" %)LLL: Variable length field, max 999 bytes as data. The field contains 3 bytes holding the length of the data. Example: 30303101 a one byte field with LLL = 303031 and the data is 01. |
122 | |
123 | (% class="MsoBodyText" style="margin-left:6.9pt" %) |
124 | The “Type”-column can contain: |
125 | |
126 | (% class="WordSection1" %) |
127 | ((( |
128 | * (% lang="EN-US" style="font-size:12pt; line-height:14.65pt; tab-stops:42.9pt 42.95pt" %)a : Alphabetic character [a..z,A..Z] |
129 | * (% lang="EN-US" style="font-size:12pt; line-height:14.6pt; tab-stops:42.9pt 42.95pt" %)n : Numeric BCD-digit. [0..9] |
130 | * (% lang="EN-US" style="font-size:12pt; line-height:14.65pt; tab-stops:42.9pt 42.95pt" %)ans: alphabetic, numeric and special characters |
131 | * (% lang="EN-US" style="font-size:12pt; line-height:14.65pt; tab-stops:42.9pt 42.95pt" %)an : alphabetic and numeric. |
132 | * (% lang="EN-US" style="font-size:12pt; line-height:14.6pt; tab-stops:42.9pt 42.95pt" %)s : Special characters. |
133 | * (% lang="EN-US" style="font-size:12pt; line-height:14.6pt; tab-stops:42.9pt 42.95pt" %)b : Binary |
134 | * (% lang="EN-US" style="font-size:12pt; line-height:14.6pt; tab-stops:42.9pt 42.95pt" %)p: pad character, space |
135 | * (% lang="EN-US" style="font-size:12pt; tab-stops:42.9pt 42.95pt" %)x: “C” for credit, “D” for debit and shall always be associated with a numerical amount data element. |
136 | ))) |
137 | ))) |
138 | |
139 | (% class="MsoBodyText" style="margin-left:6.9pt; text-align:justify" %) |
140 | The “Size”-column can contain: |
141 | |
142 | * (% lang="EN-US" style="font-size:12pt; tab-stops:42.9pt 42.95pt" %)Variable length fields have a size that looks like “..nn”, where nn is the maximum number of characters or bytes. |
143 | * (% lang="EN-US" style="font-size:12pt; line-height:97%; tab-stops:42.9pt 42.95pt" %)A fixed length field has “n” as size content, with n the number of characters or bytes. |
144 | |
145 | (% class="MsoBodyText" %) |
146 | All fixed length “n” data elements are assumed to be right justified with leading zeroes. All other fixed length data elements are left justified with trailing spaces. In all “b” data elements, blocks of 8 bits are assumed to be left justified with trailing zeroes. |
147 | |
148 | |
149 | (% class="MsoBodyText" %) |
150 | For technical reasons an advice can be declined if PayEx is unable to store the transaction. In this case the third party host need to retry the advice until manual intervention or the advice has been accepted. It’s expected that the third party implement a retry delay (to-be-defined). After 6 retry attemps have failed manual intervention by thirsd party and PayEx support must be initiated. |
151 | |
152 | (% class="WordSection1" %) |
153 | ((( |
154 | |
155 | |
156 | [[(% style="tab-stops:35.55pt" %)**N**(% lang="EN-US" style="font-size:9pt; tab-stops:35.55pt" %)**ETWORK **(% style="tab-stops:35.55pt" %)**M**(% lang="EN-US" style="font-size:9pt; tab-stops:35.55pt" %)**ANAGEMENT**>>doc:.Network Management.WebHome]] |
157 | |
158 | Message authentication is performed on network management requests to validate the MAC key issued by PayEx, and by the third patry to validate that the PayEx system is running as expected. Implementation of this message type is not mandatory. |
159 | |
160 | (% lang="EN-US" style="color:white; font-size:10pt; height:56pt; line-height:11.2pt" %)**ata element name** |
161 | ))) |
162 | |
163 | (% class="WordSection1" %) |
164 | ((( |
165 | (% style="tab-stops:35.55pt" %)**I**(% lang="EN-US" style="font-size:9pt; tab-stops:35.55pt" %)**NDOOR TRANSACTIONS** |
166 | |
167 | (% class="MsoBodyText" style="margin-top:.5pt" %) |
168 | [[(% style="tab-stops:44.75pt" %)**F**(% lang="EN-US" style="font-size:9pt; tab-stops:44.75pt" %)**INANCIAL TRANSACTION REQUEST **(% style="tab-stops:44.75pt" %)**1200/1210**>>FINANCIAL TRANSACTION REQUEST 1200/1210]] |
169 | |
170 | (% class="MsoBodyText" style="margin-top:.45pt" %) |
171 | (% style="tab-stops:44.75pt" %)**TO-DO create a F**(% lang="EN-US" style="font-size:9pt; tab-stops:44.75pt" %)**INANCIAL TRANSACTION ADVICE **(% style="tab-stops:44.75pt" %)**1220/1221/1230 page and link to it ** |
172 | ))) |
173 | |
174 | (% class="WordSection1" %) |
175 | ((( |
176 | TO-DO create (% style="tab-stops:44.75pt" %)**R**(% lang="EN-US" style="font-size:9pt; tab-stops:44.75pt" %)**EVERSAL **(% style="tab-stops:44.75pt" %)**A**(% lang="EN-US" style="font-size:9pt; tab-stops:44.75pt" %)**DVICE **(% style="tab-stops:44.75pt" %)**1420/1421/1430 page and link to it** |
177 | |
178 | |
179 | (% class="MsoBodyText" %) |
180 | (% style="tab-stops:35.55pt" %)**OUT**(% lang="EN-US" style="font-size:9pt; tab-stops:35.55pt" %)**DOOR TRANSACTIONS** |
181 | |
182 | (% class="MsoBodyText" %) |
183 | TO-DO create **A(% lang="EN-US" style="font-size:9pt; tab-stops:44.75pt" %)UTHORISATION REQUEST (%%)1100****/1110 page and link to it** |
184 | |
185 | TO-DO create a (% style="tab-stops:44.75pt" %)**F**(% lang="EN-US" style="font-size:9pt; tab-stops:44.75pt" %)**INANCIAL TRANSACTION ADVICE **(% style="tab-stops:44.75pt" %)**1220/1221/1230 page and link to it** |
186 | ))) |
187 | |
188 | TO-DO create a (% style="tab-stops:44.75pt" %)**R**(% lang="EN-US" style="font-size:9pt; tab-stops:44.75pt" %)**EVERSAL **(% style="tab-stops:44.75pt" %)**A**(% lang="EN-US" style="font-size:9pt; tab-stops:44.75pt" %)**DVICE **(% style="tab-stops:44.75pt" %)**1420/1421/1430 page and link to it - if this differe with inndoor reversal advice** |
189 | |
190 | |
191 | |
192 | |
193 |