Changes for page card-transaction
Last modified by David Persson on 2024/02/21 07:48
From empty
To version 33.1
edited by David Persson
on 2020/02/21 09:45
on 2020/02/21 09:45
Change comment: There is no comment for this version
Summary
-
Page properties (6 modified, 0 added, 0 removed)
-
Attachments (0 modified, 2 added, 0 removed)
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.XWikiGuest1 +xwiki:XWiki.dap - 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|cash-withdrawal", 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 200 OK 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|cash-withdrawal", 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 +* cash-withdrawal 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