Changes for page card-transaction
Last modified by David Persson on 2024/02/21 07:48
From empty
To version 84.1
edited by David Persson
on 2021/09/21 13:23
on 2021/09/21 13:23
Change comment: There is no comment for this version
Summary
-
Page properties (6 modified, 0 added, 0 removed)
-
Attachments (0 modified, 3 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,882 @@ 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:1583697961121-375.png||height="352" width="428"]] 15 + 16 +---- 17 + 18 += Changelog = 19 + 20 +2020-05-19 21 +PointOfSale property added to the resources **purchase, cash-withdrawal** and **reversal** 22 + 23 +2020-05-14 24 +Changed instructions of extracting AcquireBatchId from RKHA file 25 + 26 +2020-05-07 27 +Added CardAuthenticationMethod and Channel to Purchase resource (offlineinfo) 28 + 29 +2020-04-15 30 +Added CardAuthenticationMethod and Channel to Authorizations resource 31 + 32 +2020-03-06 33 +Cancellations resource added, cancels the authorization when posted 34 + 35 + 36 +== Summary == 37 + 38 +(% class="box successmessage" %) 39 +((( 40 +The card transaction api is used for making card payments against credit-accounts, it uses card terminology. All card transactions ends up on a credit-account that maintains all balances. [[Complete mapping of the card-transactions to the account>>https://developer.payex.com/xwiki/wiki/developer/view/Main/credit-account/api/card-transaction/#HMappingcard-transactiontocredit-account]]. 41 +))) 42 + 43 +The card transactions has two major concepts Authorizations and Financial Transactions. 44 + 45 + 46 +===== **Authorizations** ===== 47 + 48 +Validates if payments can be done, account has sufficient funds etc..The authorizations will end up as reservations on the credit-account. Authorization will in most cases end up in financial transaction, a "Purchase". 49 + 50 +Authorizations and Cancellations are the only real-time transactions, they take place instantly on at the point of sale (POS) (eg. cache register or online payment). 51 + 52 + 53 +===== **Financial transactions** ===== 54 + 55 +The financial transactions are the actual monetary transactions. There are three different type of financial transactions: Purchase, Cache-Withdrawals and Reversals. Each financial transaction can be reversed using reversals. 56 + 57 + 58 +====== //Transaction flow// ====== 59 + 60 +Most transactions follow the flow where a authorization is initially made and is later followed by a financial transaction, however there are cases with financial transactions without corresponding authorizations. The typical scenario is when a POS-Terminal loses connection with the internet. To prevent an all-stand-still at the point of sales, the cards can contain an offline-limit.The offline-limit restricts maximum amount of a purchase that can be made unauthorized. (% class="small" %)The offline-limit (if such exist) is regulated in the agreement between the card-issuer and the consumer. 61 + 62 +=== 63 +Authorizations === 64 + 65 +(% class="wikigeneratedid" %) 66 +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. 67 + 68 +==== Post authorizations ==== 69 + 70 +{{code language="http" title="**Request**"}} 71 +POST /ledger/card-transaction/v1/XXX/authorizations HTTP/1.1 72 +Host: - 73 +Authorization: Bearer <Token> 74 +Content-Type: application/json 75 + 76 +{ 77 + "sourceAuthorizationTransactionId": "789", 78 + "sellerNumber": "654", 79 + "cardToken": "5646735165", 80 + "type": "Purchase|Reversal|CashWithdrawal", 81 + "pointOfSale": "Testshop", 82 + "authorizationAmount": 300.0, 83 + "currency": "SEK", 84 + "cardAuthenticationMethod": "ChipPin|ChipSign|PanCvcExpr|RecurringToken|MagStripePin", 85 + "channel": "POS|UnattendedPOS|EcomĀ " 86 +} 87 +{{/code}} 88 + 89 + 90 +{{code language="http" title="**Response**"}} 91 +HTTP/1.1 201 CREATED 92 +Content-Type: application/json 93 + 94 +{ 95 + "authorizationId": "YYY", 96 + "@id": "/ledger/card-transaction/v1/XXX/authorizations/YYY", 97 + "parentHREF": "/", 98 + "operations": [] 99 +} 100 +{{/code}} 101 + 102 +==== 103 +Get authorizations ==== 104 + 105 +{{code language="http" title="**Request**"}} 106 +GET /ledger/card-transaction/v1/XXX/authorizations/YYY HTTP/1.1 107 +Host: - 108 +Authorization: Bearer <Token> 109 +Content-Type: application/json 110 +{{/code}} 111 + 112 +==== ==== 113 + 114 +{{code language="http" title="**Response**"}} 115 +HTTP/1.1 200 OK 116 +Content-Type: application/json 117 + 118 +{ 119 + "sourceAuthorizationTransactionId": "789", 120 + "authorizationId": 123, 121 + "sellerNumber": "654", 122 + "cardToken": "546415646315", 123 + "type": "Purchase|Reversal|CashWithdrawal", 124 + "pointOfSale": "Testshop", 125 + "validToDate": "2019-11-28", 126 + "authorizationAmount": 300.0, 127 + "remainingAmount" : 150.0, 128 + "currency": "SEK", 129 + "cardAuthenticationMethod": "ChipPin|ChipSign|PanCvcExpr|RecurringToken|MagStripePin", 130 + "channel": "POS|UnattendedPOS|EcomĀ ", 131 + "@id": "/ledger/card-transaction/v1/XXX/authorizations/NNN", 132 + "purchases": "/ledger/card-transaction/v1/XXX/purchases?authorizationId=123", 133 + "cash-withdrawals": "/ledger/card-transaction/v1/XXX/cash-withdrawals?authorizationId=123", 134 + "reversals": "/ledger/card-transaction/v1/XXX/reversals?authorizationId=123", 135 + "parentHREF": "/", 136 + "operations": [] 137 +} 138 +{{/code}} 139 + 140 + 141 +==== Resource properties authorizations ==== 142 + 143 +(% class="table-bordered table-striped" %) 144 +|=(% style="width: 215px;" %)Property|=(% style="width: 114px;" %)Data type|=(% style="width: 118px;" %)Format|=(% style="width: 586px;" %)Description 145 +|(% style="width:215px" %)@id |(% style="width:114px" %)string|(% style="width:118px" %)Uri |(% style="width:586px" %) 146 +|(% 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) 147 +Used for [[idempotency>>https://developer.payex.com/xwiki/wiki/developer/view/Main/credit-account/api/#HPropertiesusedforidempotency]] 148 +|(% 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) 149 +|(% style="width:215px" %)sellerNumber|(% style="width:114px" %)string|(% style="width:118px" %)Maxlength: 15|(% style="width:586px" %)Identifier of the current seller/merchant 150 +|(% 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 151 +|(% style="width:215px" %)type|(% style="width:114px" %)string|(% style="width:118px" %) |(% style="width:586px" %)((( 152 +type of authorization 153 + 154 +* Purchase 155 +* Reversal 156 +* CashWithdrawal 157 +))) 158 +|(% 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 159 +|(% 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 160 +|(% style="width:215px" %)authorizeAmount|(% style="width:114px" %)decimal|(% style="width:118px" %)Amount|(% style="width:586px" %)Original authorized amount 161 +|(% style="width:215px" %)remainingAmount|(% style="width:114px" %)decimal|(% style="width:118px" %)Amount|(% style="width:586px" %)Amount left on the authorization that can be Purchased 162 +|(% style="width:215px" %)currency|(% style="width:114px" %)string|(% style="width:118px" %)[[ISO 4217>>url:https://sv.wikipedia.org/wiki/ISO_4217]]|(% style="width:586px" %) 163 +|(% style="width:215px" %)purchases|(% style="width:114px" %)string|(% style="width:118px" %)Uri|(% style="width:586px" %) 164 +|(% style="width:215px" %)cash-withdrawals|(% style="width:114px" %)string|(% style="width:118px" %)Uri|(% style="width:586px" %) 165 +|(% style="width:215px" %)reversals|(% style="width:114px" %)string|(% style="width:118px" %)Uri|(% style="width:586px" %) 166 +|(% style="width:215px" %)cardAuthenticationMethod|(% style="width:114px" %)string|(% style="width:118px" %) |(% style="width:586px" %)((( 167 +((( 168 +Method of authentication (optional) 169 + 170 +* ChipPin //(Normal transaction in store / terminal)// 171 +* ChipSign// (Transaction made in a store / terminal where the buyer shows his identification and gives his signature)// 172 +* PanCvcExpr// (E-com transaction. Transaction made online by entering the cards pan, cvc and expiredate)// 173 +* RecurringToken 174 +* MagStripePin 175 +))) 176 +))) 177 +|(% style="width:215px" %)channel|(% style="width:114px" %)string|(% style="width:118px" %) |(% style="width:586px" %)((( 178 +((( 179 +Type of channel (optional) 180 + 181 +* POS 182 +* UnattendedPOS 183 +* Ecom 184 +))) 185 +))) 186 + 187 +---- 188 + 189 +== Cancellations == 190 + 191 +The authorization must be cancelled if the seller aborts the process (for any reason) after a successful call to authorizations has been made. 192 +This is done by sending a post request to the cancellation URL that was provided in the response of the actual authorization call. 193 + 194 +==== Post cancellations ==== 195 + 196 +{{code language="http" title="**Request**"}} 197 +POST /ledger/card-transaction/v1/XXX/authorizations/NNN/cancellations HTTP/1.1 198 +Host: - 199 +Authorization: Bearer <Token> 200 +Content-Type: application/json 201 +{{/code}} 202 + 203 +==== Get cancellations ==== 204 + 205 +{{code language="http" title="**Request**"}} 206 +GET /ledger/card-transaction/v1/XXX/authorizations/NNN/cancellations/NNN HTTP/1.1 207 +Host: - 208 +Authorization: Bearer <Token> 209 +Content-Type: application/json 210 + 211 +{{/code}} 212 + 213 +==== Resource cancellations ==== 214 + 215 +{{code language="http" title="**Response**"}} 216 +HTTP/1.1 200 OK 217 +Content-Type: application/json 218 + 219 +{ 220 + "cancellationDate" : "2019-11-20", 221 + "@id" : "/ledger/card-transaction/v1/XXX/authorizations/NNN/cancellations", 222 + "parentHREF" : "/ledger/card-transaction/v1/XXX/authorizations/NNN" 223 +} 224 +{{/code}} 225 + 226 +==== Resource properties cancellations ==== 227 + 228 +(% class="table-bordered table-striped" %) 229 +|=(% style="width: 215px;" %)Property|=(% style="width: 114px;" %)Data type|=(% style="width: 118px;" %)Format|=(% style="width: 586px;" %)Description 230 +|(% style="width:215px" %)@id |(% style="width:114px" %)string|(% style="width:118px" %)Uri|(% style="width:586px" %) 231 +|(% style="width:215px" %)cancellationDate|(% 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" %) Date when the cancellation was made 232 + 233 +---- 234 + 235 +== Purchases == 236 + 237 +==== Post purchases ==== 238 + 239 +{{code language="http" title="**Request**"}} 240 +POST /ledger/card-transaction/v1/XXX/purchases HTTP/1.1 241 +Host: - 242 +Authorization: Bearer <Token> 243 +Content-Type: application/json 244 + 245 +{ 246 + "authorizationId" : "AUTH71", 247 + "sourcePurchaseTransactionId" : "534313", 248 + "sellerReceiptId": "58743597125", 249 + "additionalReferences":{ 250 + "acquirerBatchId": "200206885010", 251 + "acquirerTransactionId" : "534313" 252 + }, 253 + "amount": 200.0, 254 + "date": "2019-11-28", 255 + "pointOfSale": "Testshop", 256 + "offlineInfo" : { 257 + "pointOfSale": "Testshop", 258 + "cardToken": "5646735165", 259 + "sellerNumber": "654", 260 + "currency": "SEK", 261 + "cardAuthenticationMethod": "ChipPin|ChipSign|PanCvcExpr|RecurringToken|MagStripePin", 262 + "channel": "POS|UnattendedPOS|EcomĀ " 263 + } 264 +} 265 +{{/code}} 266 + 267 +==== Get purchases ==== 268 + 269 +{{code language="http" title="**Request**"}} 270 +GET /ledger/card-transaction/v1/XXX/purchases/YYY HTTP/1.1 271 +Host: - 272 +Authorization: Bearer <Token> 273 +Content-Type: application/json 274 + 275 +{{/code}} 276 + 277 +==== List purchases ==== 278 + 279 +{{code language="http" title="**Request**"}} 280 +GET /ledger/card-transaction/v1/XXX/purchases HTTP/1.1 281 +Host: - 282 +Authorization: Bearer <Token> 283 +Content-Type: application/json 284 + 285 +{{/code}} 286 + 287 +==== Resource purchases ==== 288 + 289 +{{code language="http" title="**Response**"}} 290 +HTTP/1.1 201 CREATED 291 +Content-Type: application/json 292 + 293 +{ 294 + "description": "stora butiken test, kƶpref. 12345689", 295 + "authorizationId" : "AUTH71", 296 + "sourcePurchaseTransactionId" : "534313", 297 + "sellerReceiptId": "58743597125", 298 + "additionalReferences":{ 299 + "acquirerBatchId": "200206885010", 300 + "acquirerTransactionId" : "534313" 301 + }, 302 + "amount": 200.0, 303 + "date": "2019-11-28", 304 + "pointOfSale": "Testshop", 305 + "offlineInfo" : { 306 + "pointOfSale": "Testshop", 307 + "cardToken": "5646735165", 308 + "sellerNumber": "654", 309 + "currency": "SEK", 310 + "cardAuthenticationMethod": "ChipPin|ChipSign|PanCvcExpr|RecurringToken|MagStripePin", 311 + "channel": "POS|UnattendedPOS|EcomĀ " 312 + }, 313 + "corrections": "/ledger/card-transaction/v1/XXX/purchases/YYY/corrections", 314 + "@id": "/ledger/card-transaction/v1/XXX/purchases/YYY", 315 + "operations": [ 316 + { 317 + "rel": "create-correction", 318 + "method": "post", 319 + "href": "/ledger/card-transaction/v1/XXX/authorizations/NNN/purchases/YYY/corrections" 320 + } 321 + ] 322 +} 323 +{{/code}} 324 + 325 +==== Resource properties purchases ==== 326 + 327 +(% class="table-bordered table-striped" %) 328 +|=(% style="width: 337px;" %)Property|=(% style="width: 121px;" %)Data type|=(% style="width: 164px;" %)Format|=(% style="width: 1156px;" %)Description 329 +|(% style="width:337px" %)@id |(% style="width:121px" %)string|(% style="width:164px" %)Uri|(% style="width:1156px" %) 330 +|(% 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 331 +|(% 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) 332 +|(% style="width:337px" %)((( 333 +(% style="background-color:transparent" %)sourcePurchaseTransactionId 334 +)))|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 50|(% style="width:1156px" %)Unique identifier of the Purchase transaction 335 +Used for [[idempotency>>https://developer.payex.com/xwiki/wiki/developer/view/Main/credit-account/api/#HPropertiesusedforidempotency]] 336 +|(% style="width:337px" %)((( 337 +additionalReferences.acquirerBatchId 338 +)))|(% 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 339 +|(% style="width:337px" %)additionalReferences.acquirerTransactionId|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 50|(% style="width:1156px" %)Unique acquirer identifier of the transaction. Equals field "BABS reference number" position 18-28 in the RKHAS400 Original transaction 340 +|(% style="width:337px" %)sellerReceiptId|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 50|(% style="width:1156px" %)Equals field āRetrieval reference numberā position 333-344 in the RKHAS400 Original transaction 341 +|(% style="width:337px" %)amount|(% style="width:121px" %)decimal|(% style="width:164px" %) |(% style="width:1156px" %) 342 +|(% 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 343 +|(% style="width:215px" %)pointOfSale|(% style="width:114px" %)string|(% style="width:118px" %)Maxlength: 50|(% style="width:586px" %)Name of the location/point/shop of sale. This new property will replace the below property, however both should be set in an transition period. 344 +|(% 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. This property is to be removed after the above property (PointOfSale) has been fully implemented in all systems (VAS/PxR), but should be set as before until then. 345 +|(% 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 346 +|(% style="width:337px" %)offlineInfo.sellerNumber|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 15|(% style="width:1156px" %)Identifier of the current seller/merchant 347 +|(% style="width:337px" %)offlineInfo.currency|(% style="width:121px" %)string|(% style="width:164px" %)[[ISO 4217>>url:https://sv.wikipedia.org/wiki/ISO_4217]]|(% style="width:1156px" %) 348 +|(% style="width:215px" %)offlineInfo.cardAuthenticationMethod|(% style="width:114px" %)string|(% style="width:118px" %) |(% style="width:586px" %)((( 349 +((( 350 +Method of authentication (optional) 351 + 352 +* ChipPin //(Normal transaction in store / terminal)// 353 +* ChipSign// (Transaction made in a store / terminal where the buyer shows his identification and gives his signature)// 354 +* PanCvcExpr// (E-com transaction. Transaction made online by entering the cards pan, cvc and expiredate)// 355 +* RecurringToken 356 +* MagStripePin 357 +))) 358 +))) 359 +|(% style="width:215px" %)offlineInfo.channel|(% style="width:114px" %)string|(% style="width:118px" %) |(% style="width:586px" %)((( 360 +((( 361 +Type of channel (optional) 362 + 363 +* POS 364 +* UnattendedPOS 365 +* Ecom 366 +))) 367 +))) 368 +|(% style="width:337px" %)corrections|(% style="width:121px" %)string|(% style="width:164px" %)Uri|(% style="width:1156px" %) 369 + 370 +---- 371 + 372 +== Cash-withdrawals == 373 + 374 +==== Post cash-withdrawals ==== 375 + 376 +{{code language="http" title="**Request**"}} 377 +POST /ledger/card-transaction/v1/XXX/cash-withdrawals HTTP/1.1 378 +Host: - 379 +Authorization: Bearer <Token> 380 +Content-Type: application/json 381 + 382 +{ 383 + "authorizationId" : "AUTH71", 384 + "sourceCashWithdrawalTransactionId" : "534313", 385 + "sellerReceiptId": "54313546", 386 + "additionalReferences":{ 387 + "acquirerBatchId": "fdsfsdfsd", 388 + "acquirerTransactionId" : "534313" 389 + }, 390 + "amount": 200.0, 391 + "date": "2019-11-28", 392 + "pointOfSale": "Testshop" 393 +} 394 +{{/code}} 395 + 396 +==== Get cash-withdrawals ==== 397 + 398 +{{code language="http" title="**Request**"}} 399 +GET /ledger/card-transaction/v1/XXX/cash-withdrawals/YYY HTTP/1.1 400 +Host: - 401 +Authorization: Bearer <Token> 402 +Content-Type: application/json 403 + 404 +{{/code}} 405 + 406 +==== List cash-withdrawals ==== 407 + 408 +{{code language="http" title="**Request**"}} 409 +GET /ledger/card-transaction/v1/XXX/cash-withdrawals HTTP/1.1 410 +Host: - 411 +Authorization: Bearer <Token> 412 +Content-Type: application/json 413 + 414 +{{/code}} 415 + 416 +==== Resource cash-withdrawals ==== 417 + 418 +{{code language="http" title="**Response**"}} 419 +HTTP/1.1 201 CREATED 420 +Content-Type: application/json 421 + 422 +{ 423 + "description": "stora butiken test, kƶpref. 12345689", 424 + "authorizationId" : "AUTH71", 425 + "sourceCashWithdrawalTransactionId" : "534313", 426 + "sellerReceiptId": "541687421", 427 + "additionalReferences":{ 428 + "acquirerBatchId": "200206885020", 429 + "acquirerTransactionId" : "534313" 430 + }, 431 + "amount": 200.0, 432 + "date": "2019-11-28", 433 + "pointOfSale": "Testshop", 434 + "corrections": "/ledger/card-transaction/v1/XXX/cash-withdrawals/YYY/corrections", 435 + "@id": "/ledger/card-transaction/v1/XXX/cash-withdrawals/YYY", 436 + "operations": [ 437 + { 438 + "rel": "create-correction", 439 + "method": "post", 440 + "href": "/ledger/card-transaction/v1/XXX/cash-withdrawals/YYY/corrections" 441 + } 442 + ] 443 +} 444 +{{/code}} 445 + 446 +==== Resource properties cash-withdrawals ==== 447 + 448 +(% class="table-bordered table-striped" %) 449 +|=(% style="width: 337px;" %)Property|=(% style="width: 121px;" %)Data type|=(% style="width: 164px;" %)Format|=(% style="width: 1156px;" %)Description 450 +|(% style="width:337px" %)@id |(% style="width:121px" %)string|(% style="width:164px" %)Uri|(% style="width:1156px" %) 451 +|(% 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 452 +|(% 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 453 +|(% style="width:337px" %)((( 454 +(% style="background-color:transparent" %)sourceCashWithdrawalTransactionId 455 +)))|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 50|(% style="width:1156px" %)Unique identifier of the cash-withdrawal transaction. Used for [[idempotency>>https://developer.payex.com/xwiki/wiki/developer/view/Main/credit-account/api/#HPropertiesusedforidempotency]] 456 +|(% style="width:337px" %)((( 457 +additionalReferences.acquirerBatchId 458 +)))|(% 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 459 +|(% style="width:337px" %)additionalReferences.acquirerTransactionId|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 50|(% style="width:1156px" %)Unique acquirer identifier of the transaction. 460 +|(% style="width:337px" %)sellerReceiptId|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 50|(% style="width:1156px" %) 461 +|(% style="width:337px" %)amount|(% style="width:121px" %)decimal|(% style="width:164px" %) |(% style="width:1156px" %) 462 +|(% 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 463 +|(% style="width:215px" %)pointOfSale|(% style="width:114px" %)string|(% style="width:118px" %)Maxlength: 50|(% style="width:586px" %)Name of the location/point/shop of sale 464 +|(% style="width:337px" %)corrections|(% style="width:121px" %)string|(% style="width:164px" %)Uri|(% style="width:1156px" %) 465 + 466 +---- 467 + 468 +=== Reversals === 469 + 470 +Used to refund a purchase for any reason 471 + 472 +==== Create reversals ==== 473 + 474 +Execute post towards this resource to add the amount on the card (account) specified in the authorization 475 + 476 +{{code language="http" title="**Request**"}} 477 +POST /ledger/card-transaction/v1/XXX/reversals HTTP/1.1 478 +Host: - 479 +Authorization: Bearer <Token> 480 +Content-Type: application/json 481 + 482 +{ 483 + "authorizationId" : "AUTH71", 484 + "sellerReceiptId": "12345689", 485 + "additionalReferences":{ 486 + "acquirerBatchId": "200206885020", 487 + "acquirerTransactionId" : "534313" 488 + }, 489 + "sourceReversalTransactionId" : "534312", 490 + "amount": 200.0, 491 + "date": "2019-11-28", 492 + "pointOfSale": "Testshop" 493 +} 494 +{{/code}} 495 + 496 +==== Get reversals ==== 497 + 498 +{{code language="http" title="**Request**"}} 499 +GET /ledger/card-transaction/v1/XXX/reversals/YYY HTTP/1.1 500 +Host: - 501 +Authorization: Bearer <Token> 502 +Content-Type: application/json 503 + 504 +{{/code}} 505 + 506 +==== List reversals ==== 507 + 508 +{{code language="http" title="**Request**"}} 509 +GET /ledger/card-transaction/v1/XXX/reversals HTTP/1.1 510 +Host: - 511 +Authorization: Bearer <Token> 512 +Content-Type: application/json 513 + 514 +{{/code}} 515 + 516 +==== Resource reversals ==== 517 + 518 +{{code language="http" title="**Response**"}} 519 +HTTP/1.1 200 OK 520 +Content-Type: application/json 521 + 522 +{ 523 + "authorizationId" : "AUTH71", 524 + "sellerReceiptId": "12345689", 525 + "additionalReferences":{ 526 + "acquirerBatchId": "200206885020", 527 + "acquirerTransactionId" : "534313" 528 + }, 529 + "sourceReversalTransactionId" : "534312", 530 + "amount": 200.0, 531 + "date": "2019-11-28", 532 + "pointOfSale": "Testshop", 533 + "@id" : "/ledger/card-transaction/v1/XXX/reversals/YYY", 534 + "operations" : [ 535 + { 536 + "rel": "create-correction", 537 + "method": "post", 538 + "href": "/ledger/card-transaction/v1/XXX/reversals/YYY/corrections" 539 + } 540 + ] 541 +} 542 +{{/code}} 543 + 544 +==== Resource reversals properties ==== 545 + 546 +(% class="table-bordered table-striped" %) 547 +|=(% style="width: 215px;" %)Property|=(% style="width: 114px;" %)Data type|=(% style="width: 118px;" %)Format|=(% style="width: 586px;" %)Description 548 +|(% style="width:215px" %)@id |(% style="width:114px" %)string|(% style="width:118px" %)Maxlength: |(% style="width:586px" %) 549 +|(% 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 550 +|(% style="width:337px" %)sellerReceiptId|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 50|(% style="width:1156px" %)Equals field āRetrieval reference numberā position 333-344 in the RKHAS400 Original transaction 551 +|(% style="width:337px" %)((( 552 +additionalReferences.acquirerBatchId 553 +)))|(% 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 554 +|(% style="width:337px" %)additionalReferences.acquirerTransactionId|(% style="width:121px" %)string|(% style="width:164px" %)Maxlength: 50|(% style="width:1156px" %)Unique acquirer identifier of the transaction. Equals field "BABS reference number" position 18-28 in the RKHAS400 Original transaction 555 +|(% style="width:215px" %)sourceReversalTransactionId|(% style="width:114px" %)string|(% style="width:118px" %)Maxlength: 50|(% style="width:586px" %)Unique identifier of the Reversal transaction. Used for [[idempotency>>https://developer.payex.com/xwiki/wiki/developer/view/Main/credit-account/api/#HPropertiesusedforidempotency]] 556 +|(% style="width:215px" %)amount|(% style="width:114px" %)decimal|(% style="width:118px" %) |(% style="width:586px" %) 557 +|(% 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 558 +|(% style="width:215px" %)pointOfSale|(% style="width:114px" %)string|(% style="width:118px" %)Maxlength: 50|(% style="width:586px" %)Name of the location/point/shop of sale. 559 + 560 +=== Corrections === 561 + 562 +Each type of transactions can be corrected by making a POST call against its correction resource 563 + 564 +==== Create purchase corrections ==== 565 + 566 +{{code language="http" title="**Request**"}} 567 +POST /ledger/card-transaction/v1/XXX/purchases/YYY/corrections HTTP/1.1 568 +Host: - 569 +Authorization: Bearer <Token> 570 +Content-Type: application/json 571 + 572 +{ 573 + "additionalReferences":{ 574 + "acquirerBatchId": "200206885020", 575 + "acquirerTransactionId" : "534313" 576 + }, 577 + "sourceCorrectionTransactionId" : "534313", 578 + "amount": 200.0, 579 + "date": "2019-11-28" 580 +} 581 +{{/code}} 582 + 583 +==== Create cash-withdrawal corrections ==== 584 + 585 +{{code language="http" title="**Request**"}} 586 +POST /ledger/card-transaction/v1/XXX/cash-withdrawals/YYY/corrections HTTP/1.1 587 +Host: - 588 +Authorization: Bearer <Token> 589 +Content-Type: application/json 590 + 591 +{ 592 + "additionalReferences":{ 593 + "acquirerBatchId": "200206885020", 594 + "acquirerTransactionId" : "534313" 595 + }, 596 + "sourceCorrectionTransactionId" : "534313", 597 + "amount": 200.0, 598 + "date": "2019-11-28" 599 +} 600 +{{/code}} 601 + 602 +==== Create reversal corrections ==== 603 + 604 +{{code language="http" title="**Request**"}} 605 +POST /ledger/card-transaction/v1/XXX/reversals/YYY/corrections HTTP/1.1 606 +Host: - 607 +Authorization: Bearer <Token> 608 +Content-Type: application/json 609 + 610 +{ 611 + "additionalReferences":{ 612 + "acquirerBatchId": "200206885020", 613 + "acquirerTransactionId" : "534313" 614 + }, 615 + "sourceCorrectionTransactionId" : "534313", 616 + "amount": 200.0, 617 + "date": "2019-11-28" 618 +} 619 +{{/code}} 620 + 621 +==== Corrections resource properties ==== 622 + 623 +(% class="table-bordered table-striped" %) 624 +|=(% style="width: 215px;" %)((( 625 +Property 626 +)))|=(% style="width: 114px;" %)((( 627 +Data type 628 +)))|=(% style="width: 118px;" %)((( 629 +Format 630 +)))|=(% style="width: 586px;" %)((( 631 +Description 632 +))) 633 +|(% style="width:215px" %)((( 634 +@id 635 +)))|(% style="width:114px" %)((( 636 +string 637 +)))|(% style="width:118px" %)((( 638 +Maxlength: 639 +)))|(% style="width:586px" %)((( 640 + 641 +))) 642 +|(% style="width:337px" %)((( 643 +additionalReferences.acquirerBatchId 644 +)))|(% style="width:121px" %)((( 645 +string 646 +)))|(% style="width:164px" %)((( 647 +Maxlength: 50 648 +)))|(% style="width:1156px" %)((( 649 +Used for reconciling acquirer transactions. See [[RKHA21>>||anchor="HRKHA21format"]] section on this page for more information 650 +))) 651 +|(% style="width:337px" %)((( 652 +additionalReferences.acquirerTransactionId 653 +)))|(% style="width:121px" %)((( 654 +string 655 +)))|(% style="width:164px" %)((( 656 +Maxlength: 50 657 +)))|(% style="width:1156px" %)((( 658 +Unique acquirer identifier of the transaction. 659 +))) 660 +|(% style="width:215px" %)((( 661 +sourceCorrectionTransactionId 662 +)))|(% style="width:114px" %)((( 663 +string 664 +)))|(% style="width:118px" %)((( 665 +Maxlength: 50 666 +)))|(% style="width:586px" %)((( 667 +Unique identifier of the correction transaction. Used for [[idempotency>>https://developer.payex.com/xwiki/wiki/developer/view/Main/credit-account/api/#HPropertiesusedforidempotency]] 668 +))) 669 +|(% style="width:215px" %)((( 670 +amount 671 +)))|(% style="width:114px" %)((( 672 +decimal 673 +)))|(% style="width:118px" %)((( 674 + 675 +)))|(% style="width:586px" %)((( 676 + 677 +))) 678 +|(% 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 679 + 680 +== == 681 + 682 += Mapping card-transaction to credit-account = 683 + 684 +|=(% style="width: 233px;" %)Card Transaction Api (this api)|=(% style="width: 134px;" %)Type|=(% style="width: 256px;" %)Credit Account Api|=(% style="width: 1043px;" %)Description 685 +|(% style="width:233px" %)[[../authorizations>>https://developer.payex.com/xwiki/wiki/developer/view/Main/credit-account/api/card-transaction/#HAuthorizations]]|(% style="width:134px" %)(% class="small" %)Authorization|(% style="width:256px" %)[[../reservations>>https://developer.payex.com/xwiki/wiki/developer/view/Main/credit-account/api/credit-account/#HReservations]]|(% style="width:1043px" %)(% class="small" %)Successful authorizations will end up as reservations in the credit-account api. The credit account/accounts api will also include a property with the total reservation amount that has not yet received a corresponding financial transaction in [[the "(% class="small small small small small small small small small small small small small small small small small small small small small small small small small small small small small small small" %)##reservedAmount##" property>>https://developer.payex.com/xwiki/wiki/developer/view/Main/credit-account/api/credit-account/#HAccounts]](%%). 686 +|(% style="width:233px" %)[[../authorization/../cancellations>>https://developer.payex.com/xwiki/wiki/developer/view/Main/credit-account/api/card-transaction/#HCancellations]]|(% style="width:134px" %)(% class="small" %)Authorization|(% style="width:256px" %)n/a|(% style="width:1043px" %)(% class="small" %)Cancellations are used to free up authorizations/reservations, if the consumer of the api know that a financial transaction will not occur. Authorizations automatically times-out after a configurable time. 687 +|(% style="width:233px" %)[[../purchases>>https://developer.payex.com/xwiki/wiki/developer/view/Main/credit-account/api/card-transaction/#HPurchases]]|(% style="width:134px" %)(% class="small" %)Financial Transaction|(% style="width:256px" %)((( 688 +[[../transactions>>https://developer.payex.com/xwiki/wiki/developer/view/Main/credit-account/api/credit-account/#HTransactions]] (% class="small" %)##**"type" : "purchase"**## 689 +)))|(% style="width:1043px" %)(% class="small" %)Purchase is the financial clearing-transaction describing a purchase 690 +|(% style="width:233px" %)[[../purchases/../corrections>>https://developer.payex.com/xwiki/wiki/developer/view/Main/credit-account/api/card-transaction/#HCorrections]]|(% style="width:134px" %)(% class="small" %)Financial Transaction|(% style="width:256px" %)((( 691 +[[../transactions>>https://developer.payex.com/xwiki/wiki/developer/view/Main/credit-account/api/credit-account/#HTransactions]] (% class="small" %)##**"type" : "credit"**## 692 +)))|(% style="width:1043px" %)(% class="small" %)A correction of a purchase transaction, 693 +|(% style="width:233px" %)[[../cash-withdrawals>>https://developer.payex.com/xwiki/wiki/developer/view/Main/credit-account/api/card-transaction/#HCash-withdrawals]]|(% style="width:134px" %)(% class="small" %)Financial Transaction|(% style="width:256px" %)((( 694 +[[../transactions>>https://developer.payex.com/xwiki/wiki/developer/view/Main/credit-account/api/credit-account/#HTransactions]] (% class="small" %)##**"type" : "purchase"**## 695 +)))|(% style="width:1043px" %)(% class="small" %)Cash-withdrawal is the financial clearing transaction describing a cash-withdrawal at point of sales.(%%) (% class="small" %)//Requires special agreement.// 696 +|(% style="width:233px" %)[[../cash-withdrawals/../corrections>>https://developer.payex.com/xwiki/wiki/developer/view/Main/credit-account/api/card-transaction/#HCorrections]]|(% style="width:134px" %)(% class="small" %)Financial Transaction|(% style="width:256px" %)((( 697 +[[../transactions>>https://developer.payex.com/xwiki/wiki/developer/view/Main/credit-account/api/credit-account/#HTransactions]] (% class="small" %)##**"type" : "credit"**## 698 +)))|(% style="width:1043px" %)(% class="small" %)A correction of a cash-withdrawal transaction. 699 +|(% style="width:233px" %)[[../reversals>>https://developer.payex.com/xwiki/wiki/developer/view/Main/credit-account/api/card-transaction/#HReversals]]|(% style="width:134px" %)(% class="small" %)Financial Transaction|(% style="width:256px" %)((( 700 +[[../transactions>>https://developer.payex.com/xwiki/wiki/developer/view/Main/credit-account/api/credit-account/#HTransactions]] (% class="small" %)##**"type" : "credit"**## 701 +)))|(% style="width:1043px" %)(% class="small" %)Reversal is the financial clearing-transaction describing a deposit/return at point of sale 702 +|(% style="width:233px" %)[[../reversals/../corrections>>https://developer.payex.com/xwiki/wiki/developer/view/Main/credit-account/api/card-transaction/#HCorrections]]|(% style="width:134px" %)(% class="small" %)Financial Transaction|(% style="width:256px" %)[[../transactions>>https://developer.payex.com/xwiki/wiki/developer/view/Main/credit-account/api/credit-account/#HTransactions]] (% class="small" %)##**"type" : "purchase"**##|(% style="width:1043px" %)(% class="small" %)A correction of a reversal transaction. 703 + 704 +//Complete specification of credit-account-api can be found [[here>>doc:Main.credit-account.api.credit-account.WebHome]].// 705 + 706 +(% class="box infomessage" %) 707 +((( 708 +Financial card-transactions will end up on the account-statement/bill, along with other financial transactions associated to the account. 709 +Financial card-transactions of type purchase that do not have a corresponding authorization are usually subject to liability shift, meaning that if the transaction I disputed by the consumer the financial risk is held by the merchants. 710 +Financial card-transactions are batch processed in clearing files and do not occur in real time. 711 +))) 712 + 713 +== == 714 + 715 +== RKHA21 format == 716 + 717 +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. 718 + 719 +AcquirerBatchId = [Processing date][Sender][**1:st** character of Cycle] 720 + 721 +For the example values in the table below the AcquirerBatchId will be "**20020688502**". 722 + 723 +**RKHA21 file header row description** 724 + 725 +(% class="table-bordered table-striped" %) 726 +|=(% style="width: 113px;" %)((( 727 +Position 728 +)))|=(% style="width: 226px;" %)((( 729 +Field 730 +)))|=(% style="width: 118px;" %)((( 731 +Format 732 +)))|=(% style="width: 586px;" %)((( 733 +Description 734 +)))|=(% style="width: 586px;" %)((( 735 +Example 736 +))) 737 +|(% style="width:113px" %)((( 738 +1 739 +)))|(% style="width:226px" %)((( 740 +Transaction code 741 +)))|(% style="width:118px" %)((( 742 +2 N 743 +)))|(% style="width:586px" %)((( 744 +01 745 +)))|(% style="width:586px" %)((( 746 + 747 +))) 748 +|(% style="width:113px" %)((( 749 +3 750 +)))|(% style="width:226px" %)((( 751 +Processing date 752 +)))|(% style="width:118px" %)((( 753 +6 N 754 +)))|(% style="width:586px" %)((( 755 +YYMMDD 756 +)))|(% style="width:586px" %)((( 757 +200206 758 +))) 759 +|(% style="width:113px" %)((( 760 +9 761 +)))|(% style="width:226px" %)((( 762 +Sender 763 +)))|(% style="width:118px" %)((( 764 +4 N 765 +)))|(% style="width:586px" %)((( 766 +"8850" (Babs) 767 +)))|(% style="width:586px" %)((( 768 +8850 769 +))) 770 +|(% style="width:113px" %)((( 771 +13 772 +)))|(% style="width:226px" %)((( 773 +Cycle 774 +)))|(% style="width:118px" %)((( 775 +2 AN 776 +)))|(% style="width:586px" %)((( 777 +10/20 778 +)))|(% style="width:586px" %)((( 779 +20 780 +))) 781 +|(% style="width:113px" %)((( 782 +15 783 +)))|(% style="width:226px" %)((( 784 +Filler 785 +)))|(% style="width:118px" %)((( 786 +26 AN 787 +)))|(% style="width:586px" %)((( 788 +Space characters 789 +)))|(% style="width:586px" %)((( 790 + 791 +))) 792 +|(% style="width:113px" %)((( 793 +41 794 +)))|(% style="width:226px" %)((( 795 +Vers.nr/serial number 796 +)))|(% style="width:118px" %)((( 797 +6 N 798 +)))|(% style="width:586px" %)((( 799 +File serial number 800 +)))|(% style="width:586px" %)((( 801 + 802 +))) 803 +|(% style="width:113px" %)((( 804 +47 805 +)))|(% style="width:226px" %)((( 806 +Transaction entry 807 +)))|(% style="width:118px" %)((( 808 +1 AN 809 +)))|(% style="width:586px" %)((( 810 + 811 +)))|(% style="width:586px" %)((( 812 + 813 +))) 814 +|(% style="width:113px" %)((( 815 +48 816 +)))|(% style="width:226px" %)((( 817 +Filler 818 +)))|(% style="width:118px" %)((( 819 +333 AN 820 +)))|(% style="width:586px" %)((( 821 +Space characters 822 +)))|(% style="width:586px" %)((( 823 + 824 +))) 825 + 826 +(% class="box successmessage" %) 827 +((( 828 +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. 829 +))) 830 + 831 +== Problems == 832 + 833 +All errors from the api are returned in the form of "problems" (response body), except for the http status code itself. 834 +The problem object contain more detailed info on what the error is. The "type" property can be used to programmatically interpret the error as it contains a code definition of the problem. 835 +Other properties can be useful for logging and subsequent troubleshooting. Some problems are extended with additional parameters so it may be a good idea to log response body as raw data to include these. 836 + 837 +=== Example === 838 + 839 +{{code language="http" title="**Response**"}} 840 +HTTP/1.1 400 Error 841 +Content-Type: application/problem+json 842 + 843 +{ 844 + "Type" : "ledger.card-transaction.validation", 845 + "Title" : "A validation error occurred", 846 + "Status" : 400, 847 + "Instance" : "215d4206-ca35-4f43-85ad-169c8f6d4ec1", 848 + "Detail" : "A validation error occurred. Please fix the problems mentioned in the 'problems' property below.", 849 + "Problems" : [ 850 + { 851 + "amount" : "Expected value between [0,01]-[79228162514264337593543950335] actual [0]" 852 + } 853 + ] 854 +} 855 +{{/code}} 856 + 857 +=== Problem types === 858 + 859 +(% class="box infomessage" %) 860 +((( 861 +Note, each problem typecode is preceded by "ledger.card-transaction." in this API, e.g. the error "validation" in the table below will appear as typecode "ledger.card-transaction.validation". 862 +))) 863 + 864 +(% class="table-bordered table-striped" %) 865 +|=(% style="width: 537px;" %)Problem type (code)|=(% style="width: 172px;" %)Httpstatus|=(% style="width: 796px;" %)Description 866 +|(% style="width:537px" %)validation|(% style="width:172px" %)400|(% style="width:796px" %)occurs if any of the inputvalidation fails 867 +|(% style="width:537px" %)card-token-not-found|(% style="width:172px" %)400|(% style="width:796px" %)Occurs on post towards "authorizations" when no card could be found according to the specified cardToken. 868 +|(% style="width:537px" %)seller-no-not-registered|(% style="width:172px" %)501|(% style="width:796px" %) 869 +|(% style="width:537px" %)currency-not-supported|(% style="width:172px" %)422|(% style="width:796px" %) 870 +|(% style="width:537px" %)company-not-configured|(% style="width:172px" %)501|(% style="width:796px" %) 871 +|(% style="width:537px" %)duplicate-authorization|(% style="width:172px" %)409|(% style="width:796px" %)occurs if specified SourceAuthorizationTransactionId hase already has been used on another authorization 872 +|(% style="width:537px" %)duplicate-transaction-reference|(% style="width:172px" %)409|(% style="width:796px" %)occurs if any of the references that is required to be unique already has been used on another transaction of the same type 873 +|(% style="width:537px" %)insufficient-funds|(% style="width:172px" %)409|(% style="width:796px" %)occurs if there is not enough funds in the account. Depending on the type of account, the reason may be that there is not enough prepaid funds or that the total debt (including the new authorization) exceeds the creditlimit of the account 874 +|(% style="width:537px" %)authorization-not-found|(% style="width:172px" %)422|(% style="width:796px" %)occurs when trying to execute purchase (or other transaction) on authorization that does not exists 875 +|(% style="width:537px" %)authorization-has-been-used|(% style="width:172px" %)409|(% style="width:796px" %)the referenced authorization has already been used (captured) 876 +|(% style="width:537px" %)authorization-not-active|(% style="width:172px" %)409|(% style="width:796px" %)transaction cannot be executed toward the specified authorization since it is not active 877 +|(% style="width:537px" %)authorization-expired|(% style="width:172px" %)422|(% style="width:796px" %)transaction cannot be executed toward the specified authorization since it has expired 878 +|(% style="width:537px" %)cancel-authorization-prohibited|(% style="width:172px" %)422|(% style="width:796px" %)cancellation cannot be made on the specified authorization (for any reason) 879 +|(% style="width:537px" %)authorization-type-invalid|(% style="width:172px" %)409|(% style="width:796px" %)Occurs when trying to execute transaction on authorization of an another type (i.e. purchase transaction towards authorization of type reversal) 880 +|(% style="width:537px" %)account-blocked|(% style="width:172px" %)409|(% style="width:796px" %)Occurs when trying to execute transaction on an account with a claim level blocked for new purchases. 881 + 882 +
- 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
- 1583697961121-375.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.dap - Size
-
... ... @@ -1,0 +1,1 @@ 1 +0 bytes - Content