Changes for page card-transaction

Last modified by David Persson on 2024/02/21 07:48
From empty
To version 35.1
edited by Magnus Kull
on 2020/03/02 14:15
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,0 +1,1 @@
1 +../card-transaction
Parent
... ... @@ -1,0 +1,1 @@
1 +Main.credit-account.api.WebHome
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.XWikiGuest
1 +xwiki:XWiki.otr
Default language
... ... @@ -1,0 +1,1 @@
1 +en
Tags
... ... @@ -1,0 +1,1 @@
1 +px-custom-page-content
Content
... ... @@ -1,0 +1,712 @@
1 +(% class="jumbotron" %)
2 +(((
3 +(% class="container" %)
4 +(((
5 +
6 +
7 +Integrate to **PayEx Ledger Card transaction API **
8 +)))
9 +)))
10 +
11 +(% class="lead" %)
12 +The card transaction api contains functions that are used in payment scenarios: online, in-store and offline. Before transactions can be created an account must exists with associated cards.
13 +
14 +[[image:1582269692453-459.png||height="344" width="459"]]
15 +
16 +----
17 +
18 += Changelog =
19 +
20 +
21 +== Authorizations ==
22 +
23 +(% class="wikigeneratedid" %)
24 +An authorization is done as the first step in using an account as payment. A successful authorization leads to a reservation on the account, the account is identified through the **cardToken.** The authorization is not a financial transaction, to make the financial transaction a Purchase (or other type of transaction) must be posted on the authorization.
25 +
26 +==== Post authorizations ====
27 +
28 +{{code language="http" title="**Request**"}}
29 +POST /ledger/card-transaction/v1/XXX/authorizations HTTP/1.1
30 +Host: -
31 +Authorization: Bearer <Token>
32 +Content-Type: application/json
33 +
34 +{
35 + "sourceAuthorizationTransactionId": "789",
36 + "sellerNumber": "654",
37 + "cardToken": "5646735165",
38 + "type": "Purchase|Reversal|CashWithdrawal",
39 + "pointOfSale": "Testshop",
40 + "authorizationAmount": 300.0,
41 + "currency": "SEK"
42 +}
43 +{{/code}}
44 +
45 +
46 +{{code language="http" title="**Response**"}}
47 +HTTP/1.1 201 CREATED
48 +Content-Type: application/json
49 +
50 +{
51 + "@id": "/ledger/card-transaction/v1/XXX/authorization/YYY",
52 +}
53 +{{/code}}
54 +
55 +====
56 +Get authorizations ====
57 +
58 +{{code language="http" title="**Request**"}}
59 +GET /ledger/card-transaction/v1/XXX/authorizations/YYY HTTP/1.1
60 +Host: -
61 +Authorization: Bearer <Token>
62 +Content-Type: application/json
63 +{{/code}}
64 +
65 +==== ====
66 +
67 +{{code language="http" title="**Response**"}}
68 +HTTP/1.1 200 OK
69 +Content-Type: application/json
70 +
71 +{
72 + "sourceAuthorizationTransactionId": "789",
73 + "authorizationId": 123,
74 + "sellerNumber": "654",
75 + "cardToken": "546415646315",
76 + "type": "Purchase|Reversal|CashWithdrawal",
77 + "pointOfSale": "Testshop",
78 + "validToDate": "2019-11-28",
79 + "authorizationAmount": 300.0,
80 + "remainingAmount" : 150.0,
81 + "currency": "SEK",
82 + "@id": "/ledger/card-transaction/v1/XXX/authorizations/NNN",
83 + "purchases": "/ledger/card-transaction/v1/XXX/purchases?authorizationId=123",
84 + "cash-withdrawals": "/ledger/card-transaction/v1/XXX/cash-withdrawals?authorizationId=123",
85 + "reversals": "/ledger/card-transaction/v1/XXX/reversals?authorizationId=123",
86 + "parentHREF": "/",
87 + "operations": []
88 +}
89 +{{/code}}
90 +
91 +
92 +==== Resource properties authorizations ====
93 +
94 +(% class="table-bordered table-striped" %)
95 +|=(% style="width: 215px;" %)Property|=(% style="width: 114px;" %)Data type|=(% style="width: 118px;" %)Format|=(% style="width: 586px;" %)Description
96 +|(% style="width:215px" %)@id |(% style="width:114px" %)string|(% style="width:118px" %)Uri |(% style="width:586px" %)
97 +|(% style="width:215px" %)sourceAuthorizationTransactionId|(% style="width:114px" %)string|(% style="width:118px" %)Maxlength: 50|(% style="width:586px" %)Unique identifier of the specific authorization, generated by source (typically the integrating system)
98 +|(% style="width:215px" %)authorizationId|(% style="width:114px" %)string|(% style="width:118px" %)Maxlength: 6|(% style="width:586px" %)Unique identifier of the authorization, generated by PayEx. Should be stored and must be set when transactions is to be created (except for purchases in offline mode)
99 +|(% style="width:215px" %)sellerNumber|(% style="width:114px" %)string|(% style="width:118px" %)Maxlength: 15|(% style="width:586px" %)Identifier of the current seller/merchant
100 +|(% style="width:215px" %)cardToken|(% style="width:114px" %)string|(% style="width:118px" %) |(% style="width:586px" %)Identifier of the card. The aurhotization is made on the account that the card is linked to
101 +|(% style="width:215px" %)type|(% style="width:114px" %)string|(% style="width:118px" %) |(% style="width:586px" %)(((
102 +type of authorization
103 +
104 +* Purchase
105 +* Reversal
106 +* CashWithdrawal
107 +)))
108 +|(% style="width:215px" %)pointOfSale|(% style="width:114px" %)string|(% style="width:118px" %)Maxlength: 50|(% style="width:586px" %)Name of the location/point/shop of sale, will be returned in reservation resource
109 +|(% style="width:215px" %)validToDate|(% style="width:114px" %)date|(% style="width:118px" %)[[ISO 8601>>url:http://en.wikipedia.org/wiki/ISO_8601||rel="noreferrer" title="ISO8601 on Wikipedia"]]|(% style="width:586px" %)Purchase can not be executed after this date
110 +|(% style="width:215px" %)authorizeAmount|(% style="width:114px" %)decimal|(% style="width:118px" %)Amount|(% style="width:586px" %)Original authorized amount
111 +|(% style="width:215px" %)remainingAmount|(% style="width:114px" %)decimal|(% style="width:118px" %)Amount|(% style="width:586px" %)Amount left on the authorization that can be Purchased
112 +|(% style="width:215px" %)currency|(% style="width:114px" %)string|(% style="width:118px" %)[[ISO 4217>>url:https://sv.wikipedia.org/wiki/ISO_4217]]|(% style="width:586px" %)
113 +|(% style="width:215px" %)purchases|(% style="width:114px" %)string|(% style="width:118px" %)Uri|(% style="width:586px" %)
114 +|(% style="width:215px" %)cash-withdrawals|(% style="width:114px" %)string|(% style="width:118px" %)Uri|(% style="width:586px" %)
115 +|(% style="width:215px" %)reversals|(% style="width:114px" %)string|(% style="width:118px" %)Uri|(% style="width:586px" %)
116 +
117 +----
118 +
119 +== Purchases ==
120 +
121 +==== Post purchases ====
122 +
123 +{{code language="http" title="**Request**"}}
124 +POST /ledger/card-transaction/v1/XXX/purchases HTTP/1.1
125 +Host: -
126 +Authorization: Bearer <Token>
127 +Content-Type: application/json
128 +
129 +{
130 + "authorizationId" : "AUTH71",
131 + "sourcePurchaseTransactionId" : "534313",
132 + "sellerReceiptId": "58743597125",
133 + "additionalReferences":{
134 + "acquirerBatchId": "200206885010",
135 + "acquirerTransactionId" : "534313"
136 + },
137 + "amount": 200.0,
138 + "date": "2019-11-28",
139 + "offlineInfo" : {
140 + "pointOfSale": "Testshop",
141 + "cardToken": "5646735165",
142 + "sellerNumber": "654",
143 + "currency": "SEK",
144 + }
145 +}
146 +{{/code}}
147 +
148 +==== Get purchases ====
149 +
150 +{{code language="http" title="**Request**"}}
151 +GET /ledger/card-transaction/v1/XXX/purchases/YYY HTTP/1.1
152 +Host: -
153 +Authorization: Bearer <Token>
154 +Content-Type: application/json
155 +
156 +{{/code}}
157 +
158 +==== List purchases ====
159 +
160 +{{code language="http" title="**Request**"}}
161 +GET /ledger/card-transaction/v1/XXX/purchases HTTP/1.1
162 +Host: -
163 +Authorization: Bearer <Token>
164 +Content-Type: application/json
165 +
166 +{{/code}}
167 +
168 +==== Resource purchases ====
169 +
170 +{{code language="http" title="**Response**"}}
171 +HTTP/1.1 201 CREATED
172 +Content-Type: application/json
173 +
174 +{
175 + "description": "stora butiken test, köpref. 12345689",
176 + "authorizationId" : "AUTH71",
177 + "sourcePurchaseTransactionId" : "534313",
178 + "sellerReceiptId": "58743597125",
179 + "additionalReferences":{
180 + "acquirerBatchId": "200206885010",
181 + "acquirerTransactionId" : "534313"
182 + },
183 + "amount": 200.0,
184 + "date": "2019-11-28",
185 + "offlineInfo" : {
186 + "pointOfSale": "Testshop",
187 + "cardToken": "5646735165",
188 + "sellerNumber": "654",
189 + "currency": "SEK",
190 + },
191 + "corrections": "/ledger/card-transaction/v1/XXX/purchases/YYY/corrections",
192 + "@id": "/ledger/card-transaction/v1/XXX/purchases/YYY",
193 + "operations": [
194 + {
195 + "rel": "create-correction",
196 + "method": "post",
197 + "href": "/ledger/card-transaction/v1/XXX/authorizations/NNN/purchases/YYY/corrections"
198 + }
199 + ]
200 +}
201 +{{/code}}
202 +
203 +==== Resource properties purchases ====
204 +
205 +(% class="table-bordered table-striped" %)
206 +|=(% style="width: 337px;" %)Property|=(% style="width: 121px;" %)Data type|=(% style="width: 164px;" %)Format|=(% style="width: 1156px;" %)Description
207 +|(% style="width:337px" %)@id |(% style="width:121px" %)string|(% style="width:164px" %)Uri|(% style="width:1156px" %)
208 +|(% style="width:337px" %)description|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 200|(% style="width:1156px" %)Describes the current Purchase (derives from info sent in the authorization), may be printed on the bill, output only
209 +|(% style="width:337px" %)authorizationId|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 6|(% style="width:1156px" %)The id of the authorization from which this purchase originated from (not required if the purchase was made offline)
210 +|(% style="width:337px" %)(((
211 +(% style="background-color:transparent" %)sourcePurchaseTransactionId
212 +)))|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 50|(% style="width:1156px" %)Unique identifier of the Purchase transaction
213 +|(% style="width:337px" %)(((
214 +additionalReferences.acquirerBatchId
215 +)))|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 50|(% style="width:1156px" %)Used for reconciling acquirer transactions. See [[RKHA21>>||anchor="HRKHA21format"]] section on this page for more information
216 +|(% style="width:337px" %)additionalReferences.acquirerTransactionId|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 50|(% style="width:1156px" %)Unique acquirer identifier of the transaction
217 +|(% style="width:337px" %)sellerReceiptId|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 50|(% style="width:1156px" %)
218 +|(% style="width:337px" %)amount|(% style="width:121px" %)decimal|(% style="width:164px" %) |(% style="width:1156px" %)
219 +|(% style="width:337px" %)date|(% style="width:121px" %)date|(% style="width:164px" %)[[ISO 8601>>url:http://en.wikipedia.org/wiki/ISO_8601||rel="noreferrer" title="ISO8601 on Wikipedia"]]|(% style="width:1156px" %)valuedate of the transaction
220 +|(% style="width:337px" %)offlineInfo.pointOfSale|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 50|(% style="width:1156px" %)Name of the location/point/shop of sale, will be returned in reservation resource
221 +|(% style="width:337px" %)offlineInfo.cardToken|(% style="width:121px" %)string|(% style="width:164px" %) |(% style="width:1156px" %)Identifier of the card. The purchase will be made on the account that the card is linked to
222 +|(% style="width:337px" %)offlineInfo.sellerNumber|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 15|(% style="width:1156px" %)Identifier of the current seller/merchant
223 +|(% style="width:337px" %)corrections|(% style="width:121px" %)string|(% style="width:164px" %)Uri|(% style="width:1156px" %)
224 +
225 +----
226 +
227 +== Cash-withdrawals ==
228 +
229 +==== Post cash-withdrawals ====
230 +
231 +{{code language="http" title="**Request**"}}
232 +POST /ledger/card-transaction/v1/XXX/cash-withdrawals HTTP/1.1
233 +Host: -
234 +Authorization: Bearer <Token>
235 +Content-Type: application/json
236 +
237 +{
238 + "authorizationId" : "AUTH71",
239 + "sourceCashWithdrawalTransactionId" : "534313",
240 + "sellerReceiptId": "54313546",
241 + "additionalReferences":{
242 + "acquirerBatchId": "fdsfsdfsd",
243 + "acquirerTransactionId" : "534313"
244 + },
245 + "amount": 200.0,
246 + "date": "2019-11-28"
247 +}
248 +{{/code}}
249 +
250 +==== Get cash-withdrawals ====
251 +
252 +{{code language="http" title="**Request**"}}
253 +GET /ledger/card-transaction/v1/XXX/cash-withdrawals/YYY HTTP/1.1
254 +Host: -
255 +Authorization: Bearer <Token>
256 +Content-Type: application/json
257 +
258 +{{/code}}
259 +
260 +==== List cash-withdrawals ====
261 +
262 +{{code language="http" title="**Request**"}}
263 +GET /ledger/card-transaction/v1/XXX/cash-withdrawals HTTP/1.1
264 +Host: -
265 +Authorization: Bearer <Token>
266 +Content-Type: application/json
267 +
268 +{{/code}}
269 +
270 +==== Resource cash-withdrawals ====
271 +
272 +{{code language="http" title="**Response**"}}
273 +HTTP/1.1 201 CREATED
274 +Content-Type: application/json
275 +
276 +{
277 + "description": "stora butiken test, köpref. 12345689",
278 + "authorizationId" : "AUTH71",
279 + "sourceCashWithdrawalTransactionId" : "534313",
280 + "sellerReceiptId": "541687421",
281 + "additionalReferences":{
282 + "acquirerBatchId": "200206885020",
283 + "acquirerTransactionId" : "534313"
284 + },
285 + "amount": 200.0,
286 + "date": "2019-11-28",
287 + "corrections": "/ledger/card-transaction/v1/XXX/cash-withdrawals/YYY/corrections",
288 + "@id": "/ledger/card-transaction/v1/XXX/cash-withdrawals/YYY",
289 + "operations": [
290 + {
291 + "rel": "create-correction",
292 + "method": "post",
293 + "href": "/ledger/card-transaction/v1/XXX/cash-withdrawals/YYY/corrections"
294 + }
295 + ]
296 +}
297 +{{/code}}
298 +
299 +==== Resource properties cash-withdrawals ====
300 +
301 +(% class="table-bordered table-striped" %)
302 +|=(% style="width: 337px;" %)Property|=(% style="width: 121px;" %)Data type|=(% style="width: 164px;" %)Format|=(% style="width: 1156px;" %)Description
303 +|(% style="width:337px" %)@id |(% style="width:121px" %)string|(% style="width:164px" %)Uri|(% style="width:1156px" %)
304 +|(% style="width:337px" %)description|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 200|(% style="width:1156px" %)Describes the current cash-withdrawals (derives from info sent in the authorization), may be printed on the bill, output only
305 +|(% style="width:337px" %)authorizationId|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 6|(% style="width:1156px" %)The id of the authorization from which this cash-withdrawal transaction originated from
306 +|(% style="width:337px" %)(((
307 +(% style="background-color:transparent" %)sourceCashWithdrawalTransactionId
308 +)))|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 50|(% style="width:1156px" %)Unique identifier of the cash-withdrawal transaction
309 +|(% style="width:337px" %)(((
310 +additionalReferences.acquirerBatchId
311 +)))|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 50|(% style="width:1156px" %)Used for reconciling acquirer transactions. See [[RKHA21>>||anchor="HRKHA21format"]] section on this page for more information
312 +|(% style="width:337px" %)additionalReferences.acquirerTransactionId|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 50|(% style="width:1156px" %)Unique acquirer identifier of the transaction
313 +|(% style="width:337px" %)sellerReceiptId|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 50|(% style="width:1156px" %)
314 +|(% style="width:337px" %)amount|(% style="width:121px" %)decimal|(% style="width:164px" %) |(% style="width:1156px" %)
315 +|(% style="width:337px" %)date|(% style="width:121px" %)date|(% style="width:164px" %)[[ISO 8601>>url:http://en.wikipedia.org/wiki/ISO_8601||rel="noreferrer" title="ISO8601 on Wikipedia"]]|(% style="width:1156px" %)valuedate of the transaction
316 +|(% style="width:337px" %)corrections|(% style="width:121px" %)string|(% style="width:164px" %)Uri|(% style="width:1156px" %)
317 +
318 +----
319 +
320 +=== Reversals ===
321 +
322 +Used to refund a purchase for any reason
323 +
324 +==== Create reversals ====
325 +
326 +Execute post towards this resource to add the amount on the card (account) specified in the authorization
327 +
328 +{{code language="http" title="**Request**"}}
329 +POST /ledger/card-transaction/v1/XXX/reversals HTTP/1.1
330 +Host: -
331 +Authorization: Bearer <Token>
332 +Content-Type: application/json
333 +
334 +{
335 + "authorizationId" : "AUTH71",
336 + "sellerReceiptId": "12345689",
337 + "additionalReferences":{
338 + "acquirerBatchId": "200206885020",
339 + "acquirerTransactionId" : "534313",
340 + },
341 + "sourceReversalTransactionId" : "534312",
342 + "amount": 200.0,
343 + "date": "2019-11-28"
344 +}
345 +{{/code}}
346 +
347 +==== Get reversals ====
348 +
349 +{{code language="http" title="**Request**"}}
350 +GET /ledger/card-transaction/v1/XXX/reversals/YYY HTTP/1.1
351 +Host: -
352 +Authorization: Bearer <Token>
353 +Content-Type: application/json
354 +
355 +{{/code}}
356 +
357 +==== List reversals ====
358 +
359 +{{code language="http" title="**Request**"}}
360 +GET /ledger/card-transaction/v1/XXX/reversals HTTP/1.1
361 +Host: -
362 +Authorization: Bearer <Token>
363 +Content-Type: application/json
364 +
365 +{{/code}}
366 +
367 +==== Resource reversals ====
368 +
369 +{{code language="http" title="**Response**"}}
370 +HTTP/1.1 200 OK
371 +Content-Type: application/json
372 +
373 +{
374 + "authorizationId" : "AUTH71",
375 + "sellerReceiptId": "12345689",
376 + "additionalReferences":{
377 + "acquirerBatchId": "200206885020",
378 + "acquirerTransactionId" : "534313",
379 + },
380 + "sourceReversalTransactionId" : "534312",
381 + "amount": 200.0,
382 + "date": "2019-11-28",
383 + "@id" : "/ledger/card-transaction/v1/XXX/reversals/YYY",
384 + "operations" : [
385 + {
386 + "rel": "create-correction",
387 + "method": "post",
388 + "href": "/ledger/card-transaction/v1/XXX/reversals/YYY/corrections"
389 + }
390 + ]
391 +}
392 +{{/code}}
393 +
394 +==== Resource reversals properties ====
395 +
396 +(% class="table-bordered table-striped" %)
397 +|=(% style="width: 215px;" %)Property|=(% style="width: 114px;" %)Data type|=(% style="width: 118px;" %)Format|=(% style="width: 586px;" %)Description
398 +|(% style="width:215px" %)@id |(% style="width:114px" %)string|(% style="width:118px" %)Maxlength: |(% style="width:586px" %)
399 +|(% style="width:337px" %)authorizationId|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 6|(% style="width:1156px" %)The id of the authorization from which this reversal originated from
400 +|(% style="width:337px" %)sellerReceiptId|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 50|(% style="width:1156px" %)
401 +|(% style="width:337px" %)(((
402 +additionalReferences.acquirerBatchId
403 +)))|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 50|(% style="width:1156px" %)Used for reconciling acquirer transactions. See [[RKHA21>>||anchor="HRKHA21format"]] section on this page for more information
404 +|(% style="width:337px" %)additionalReferences.acquirerTransactionId|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 50|(% style="width:1156px" %)Unique acquirer identifier of the transaction
405 +|(% style="width:215px" %)sourceReversalTransactionId|(% style="width:114px" %)string|(% style="width:118px" %)Maxlength: 50|(% style="width:586px" %)
406 +|(% style="width:215px" %)amount|(% style="width:114px" %)decimal|(% style="width:118px" %) |(% style="width:586px" %)
407 +|(% style="width:337px" %)date|(% style="width:121px" %)date|(% style="width:164px" %)[[ISO 8601>>url:http://en.wikipedia.org/wiki/ISO_8601||rel="noreferrer" title="ISO8601 on Wikipedia"]]|(% style="width:1156px" %)valuedate of the transaction
408 +
409 +=== Corrections ===
410 +
411 +Each type of transactions can be corrected by making a POST call against its correction resource
412 +
413 +==== Create purchase corrections ====
414 +
415 +{{code language="http" title="**Request**"}}
416 +POST /ledger/card-transaction/v1/XXX/purchases/YYY/corrections HTTP/1.1
417 +Host: -
418 +Authorization: Bearer <Token>
419 +Content-Type: application/json
420 +
421 +{
422 + "additionalReferences":{
423 + "acquirerBatchId": "200206885020",
424 + "acquirerTransactionId" : "534313",
425 + },
426 + "sourceCorrectionTransactionId" : "534313",
427 + "amount": 200.0,
428 + "date": "2019-11-28"
429 +}
430 +{{/code}}
431 +
432 +==== Create cash-withdrawal corrections ====
433 +
434 +{{code language="http" title="**Request**"}}
435 +POST /ledger/card-transaction/v1/XXX/cash-withdrawal/YYY/corrections HTTP/1.1
436 +Host: -
437 +Authorization: Bearer <Token>
438 +Content-Type: application/json
439 +
440 +{
441 + "additionalReferences":{
442 + "acquirerBatchId": "200206885020",
443 + "acquirerTransactionId" : "534313",
444 + },
445 + "sourceCorrectionTransactionId" : "534313",
446 + "amount": 200.0,
447 + "date": "2019-11-28"
448 +}
449 +{{/code}}
450 +
451 +==== Create reversal corrections ====
452 +
453 +{{code language="http" title="**Request**"}}
454 +POST /ledger/card-transaction/v1/XXX/reversals/YYY/corrections HTTP/1.1
455 +Host: -
456 +Authorization: Bearer <Token>
457 +Content-Type: application/json
458 +
459 +{
460 + "additionalReferences":{
461 + "acquirerBatchId": "200206885020",
462 + "acquirerTransactionId" : "534313",
463 + },
464 + "sourceCorrectionTransactionId" : "534313",
465 + "amount": 200.0,
466 + "date": "2019-11-28"
467 +}
468 +{{/code}}
469 +
470 +==== Corrections resource properties ====
471 +
472 +(% class="table-bordered table-striped" %)
473 +|=(% style="width: 215px;" %)(((
474 +Property
475 +)))|=(% style="width: 114px;" %)(((
476 +Data type
477 +)))|=(% style="width: 118px;" %)(((
478 +Format
479 +)))|=(% style="width: 586px;" %)(((
480 +Description
481 +)))
482 +|(% style="width:215px" %)(((
483 +@id
484 +)))|(% style="width:114px" %)(((
485 +string
486 +)))|(% style="width:118px" %)(((
487 +Maxlength:
488 +)))|(% style="width:586px" %)(((
489 +
490 +)))
491 +|(% style="width:337px" %)(((
492 +additionalReferences.acquirerBatchId
493 +)))|(% style="width:121px" %)(((
494 +string
495 +)))|(% style="width:164px" %)(((
496 +Maxlength: 50
497 +)))|(% style="width:1156px" %)(((
498 +Used for reconciling acquirer transactions. See [[RKHA21>>||anchor="HRKHA21format"]] section on this page for more information
499 +)))
500 +|(% style="width:337px" %)(((
501 +additionalReferences.acquirerTransactionId
502 +)))|(% style="width:121px" %)(((
503 +string
504 +)))|(% style="width:164px" %)(((
505 +Maxlength: 50
506 +)))|(% style="width:1156px" %)(((
507 +Unique acquirer identifier of the transaction
508 +)))
509 +|(% style="width:215px" %)(((
510 +sourceCorrectionTransactionId
511 +)))|(% style="width:114px" %)(((
512 +string
513 +)))|(% style="width:118px" %)(((
514 +Maxlength: 50
515 +)))|(% style="width:586px" %)(((
516 +
517 +)))
518 +|(% style="width:215px" %)(((
519 +amount
520 +)))|(% style="width:114px" %)(((
521 +decimal
522 +)))|(% style="width:118px" %)(((
523 +
524 +)))|(% style="width:586px" %)(((
525 +
526 +)))
527 +|(% style="width:337px" %)date|(% style="width:121px" %)date|(% style="width:164px" %)[[ISO 8601>>url:http://en.wikipedia.org/wiki/ISO_8601||rel="noreferrer" title="ISO8601 on Wikipedia"]]|(% style="width:1156px" %)valuedate of the transaction
528 +
529 +== RKHA21 format ==
530 +
531 +If the original source for the transactions towards purchases/cash-withdrawals/reversals/corrections is the RKHA21 file the below rules should be used to set the AcquirerBatchId.
532 +
533 +AcquirerBatchId = [Processing date][Sender][Cycle]
534 +
535 +For the example values in the table below the AcquirerBatchId will be "**200206885020**".
536 +
537 +**RKHA21 file header row description**
538 +
539 +(% class="table-bordered table-striped" %)
540 +|=(% style="width: 113px;" %)(((
541 +Position
542 +)))|=(% style="width: 226px;" %)(((
543 +Field
544 +)))|=(% style="width: 118px;" %)(((
545 +Format
546 +)))|=(% style="width: 586px;" %)(((
547 +Description
548 +)))|=(% style="width: 586px;" %)(((
549 +Example
550 +)))
551 +|(% style="width:113px" %)(((
552 +1
553 +)))|(% style="width:226px" %)(((
554 +Transaction code
555 +)))|(% style="width:118px" %)(((
556 +2 N
557 +)))|(% style="width:586px" %)(((
558 +01
559 +)))|(% style="width:586px" %)(((
560 +
561 +)))
562 +|(% style="width:113px" %)(((
563 +3
564 +)))|(% style="width:226px" %)(((
565 +Processing date
566 +)))|(% style="width:118px" %)(((
567 +6 N
568 +)))|(% style="width:586px" %)(((
569 +YYMMDD
570 +)))|(% style="width:586px" %)(((
571 +200206
572 +)))
573 +|(% style="width:113px" %)(((
574 +9
575 +)))|(% style="width:226px" %)(((
576 +Sender
577 +)))|(% style="width:118px" %)(((
578 +4 N
579 +)))|(% style="width:586px" %)(((
580 +"8850" (Babs)
581 +)))|(% style="width:586px" %)(((
582 +8850
583 +)))
584 +|(% style="width:113px" %)(((
585 +13
586 +)))|(% style="width:226px" %)(((
587 +Cycle
588 +)))|(% style="width:118px" %)(((
589 +2 AN
590 +)))|(% style="width:586px" %)(((
591 +10/20
592 +)))|(% style="width:586px" %)(((
593 +20
594 +)))
595 +|(% style="width:113px" %)(((
596 +15
597 +)))|(% style="width:226px" %)(((
598 +Filler
599 +)))|(% style="width:118px" %)(((
600 +26 AN
601 +)))|(% style="width:586px" %)(((
602 +Space characters
603 +)))|(% style="width:586px" %)(((
604 +
605 +)))
606 +|(% style="width:113px" %)(((
607 +41
608 +)))|(% style="width:226px" %)(((
609 +Vers.nr/serial number
610 +)))|(% style="width:118px" %)(((
611 +6 N
612 +)))|(% style="width:586px" %)(((
613 +File serial number
614 +)))|(% style="width:586px" %)(((
615 +
616 +)))
617 +|(% style="width:113px" %)(((
618 +47
619 +)))|(% style="width:226px" %)(((
620 +Transaction entry
621 +)))|(% style="width:118px" %)(((
622 +1 AN
623 +)))|(% style="width:586px" %)(((
624 +
625 +)))|(% style="width:586px" %)(((
626 +
627 +)))
628 +|(% style="width:113px" %)(((
629 +48
630 +)))|(% style="width:226px" %)(((
631 +Filler
632 +)))|(% style="width:118px" %)(((
633 +333 AN
634 +)))|(% style="width:586px" %)(((
635 +Space characters
636 +)))|(% style="width:586px" %)(((
637 +
638 +)))
639 +
640 +(% class="box successmessage" %)
641 +(((
642 +The **rkha **format actually has a 28 character filler at position 13 by default, but for "Babs" the first two positions in this filler are redefined to be "cycle" (position 13 and 14), which leaves the Filler to be 26 characters instead of 28.
643 +)))
644 +
645 +== Problems ==
646 +
647 +If an error occur or any validation failed, a "problem" response will be returned.
648 +Below is a list of problems that can occur:
649 +
650 +**HttpStatus 401 Unauthorized**
651 +
652 +(((
653 +* Token expired
654 +* Token invalid
655 +* CompanyNumber does not match token
656 +)))
657 +
658 +**HttpStatus 400 Error**
659 +
660 +(((
661 +* Validation: Argument required
662 +* Validation: Invalid value
663 +)))
664 +
665 +**HttpStatus 409 Conflict**
666 +
667 +(((
668 +* Authorization declined
669 +* Card with token {cardtoken} does not exists
670 +* Duplicate authorization
671 +* Duplicate purchase
672 +* Duplicate cash-withdrawal
673 +* Duplicate reversal
674 +* Duplicate correction
675 +* Authorization has expired
676 +* Insufficient amount to correct
677 +* Insufficient amount on authorization
678 +)))
679 +
680 +**HttpStatus 501 NotImplemented**
681 +
682 +(((
683 +* CompanyNumber XXX not configured
684 +* SellerNumber XXX not configured at PayEx
685 +* CompanyNumber XXX missing configuration
686 +)))
687 +
688 +**HttpStatus 404 NotFound**
689 +
690 +* (((
691 +Authorization not found
692 +)))
693 +
694 +Below is an example of a problem that will be returned if acquirerBatchId is not valid.
695 +
696 +{{code language="http" title="**Response**"}}
697 +HTTP/1.1 400 Error
698 +Content-Type: application/problem+json
699 +
700 +{
701 + "Type": "http://[DNS]/ledger/card-transaction/problems/validation",
702 + "Title": "A validation error occurred",
703 + "Status": 400,
704 + "Instance": null,
705 + "Detail": "A validation error occurred. Please fix the problems mentioned in the 'problems' property below.",
706 + "Problems": [
707 + {
708 + "additionalReferences.acquirerBatchId": "Not a valid acquirerBatchId"
709 + }
710 + ]
711 +}
712 +{{/code}}
1582184597141-697.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.dap
Size
... ... @@ -1,0 +1,1 @@
1 +0 bytes
Content
1582269692453-459.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.dap
Size
... ... @@ -1,0 +1,1 @@
1 +0 bytes
Content